Package::pool bytecode | tide- Move path
- 0xf086…7127::pool
- Functions
- 85 public, 0 entry
- Structs
- 3
- Friend modules
- None
pool
The on-chain disassembly. Offsets are bytecode positions within each function.
1// Move bytecode v6
2module f0865c67c2bf2dfa10e131f939aea54e06ea7825d2cb66afc4e5652b6b727127.pool {
3use 0000000000000000000000000000000000000000000000000000000000000001::vector;
4use 0000000000000000000000000000000000000000000000000000000000000002::balance;
5use 0000000000000000000000000000000000000000000000000000000000000002::coin;
6use 0000000000000000000000000000000000000000000000000000000000000002::event;
7use 0000000000000000000000000000000000000000000000000000000000000002::object;
8use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
9use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
10
11struct Pool<phantom Ty0> has key {
12 id: UID,
13 balance: Balance<Ty0>
16struct AccessList has store, key {
21struct FlashLoanEvent<phantom Ty0> has copy, drop {
26init(Arg0: &mut TxContext) {
280MoveLoc[0](Arg0: &mut TxContext)
291Call new_access_list(&mut TxContext)
33new_access_list(Arg0: &mut TxContext) {
34L1: loc0: vector<address>
360LdConst[0](address: 0xae..)
371Call vector::singleton<address>(address): vector<address>
382StLoc[1](loc0: vector<address>)
393MoveLoc[0](Arg0: &mut TxContext)
404Call object::new(&mut TxContext): UID
415MoveLoc[1](loc0: vector<address>)
437Call transfer::share_object<AccessList>(AccessList)
47public access_list_add(Arg0: &mut AccessList, Arg1: address, Arg2: &mut TxContext) {
490MoveLoc[2](Arg2: &mut TxContext)
512Call tx_context::sender(&TxContext): address
523LdConst[0](address: 0xae..)
587MoveLoc[0](Arg0: &mut AccessList)
609LdConst[1](u64: 1000..)
6311MoveLoc[0](Arg0: &mut AccessList)
6412MutBorrowField[0](AccessList.list: vector<address>)
6513MoveLoc[1](Arg1: address)
70public access_list_add_vec(Arg0: &mut AccessList, Arg1: vector<address>, Arg2: &mut TxContext) {
720MoveLoc[2](Arg2: &mut TxContext)
742Call tx_context::sender(&TxContext): address
753LdConst[0](address: 0xae..)
817MoveLoc[0](Arg0: &mut AccessList)
839LdConst[1](u64: 1000..)
8611MoveLoc[0](Arg0: &mut AccessList)
8712MutBorrowField[0](AccessList.list: vector<address>)
8813MoveLoc[1](Arg1: vector<address>)
8914Call vector::append<address>(&mut vector<address>, vector<address>)
93is_valid(Arg0: &mut AccessList, Arg1: &mut TxContext): bool {
95L3: loc1: &vector<address>
96L4: loc2: vector<address>
980MoveLoc[0](Arg0: &mut AccessList)
991ImmBorrowField[0](AccessList.list: vector<address>)
1013StLoc[4](loc2: vector<address>)
1024ImmBorrowLoc[4](loc2: vector<address>)
1035StLoc[3](loc1: &vector<address>)
1046MoveLoc[1](Arg1: &mut TxContext)
1068Call tx_context::sender(&TxContext): address
1079StLoc[2](loc0: address)
10810MoveLoc[3](loc1: &vector<address>)
10911ImmBorrowLoc[2](loc0: address)
11012Call vector::contains<address>(&vector<address>, &address): bool
114public new_pool<Ty0>(Arg0: Coin<Ty0>, Arg1: &mut TxContext) {
1160MoveLoc[1](Arg1: &mut TxContext)
1171Call object::new(&mut TxContext): UID
1182MoveLoc[0](Arg0: Coin<Ty0>)
1193Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
1204PackGeneric[0](Pool<Ty0>)
1215Call transfer::share_object<Pool<Ty0>>(Pool<Ty0>)
125public loan<Ty0>(Arg0: &mut AccessList, Arg1: &mut Pool<Ty0>, Arg2: u64, Arg3: &mut TxContext): Coin<Ty0> {
1270MoveLoc[0](Arg0: &mut AccessList)
1281CopyLoc[3](Arg3: &mut TxContext)
1292Call is_valid(&mut AccessList, &mut TxContext): bool
1345MoveLoc[1](Arg1: &mut Pool<Ty0>)
1367MoveLoc[3](Arg3: &mut TxContext)
1389LdConst[3](u64: 1000..)
14111MoveLoc[1](Arg1: &mut Pool<Ty0>)
14212MutBorrowFieldGeneric[0](Pool.balance: Balance<Ty0>)
14313MoveLoc[2](Arg2: u64)
14414MoveLoc[3](Arg3: &mut TxContext)
14515Call coin::take<Ty0>(&mut Balance<Ty0>, u64, &mut TxContext): Coin<Ty0>
149public repay<Ty0>(Arg0: &mut Pool<Ty0>, Arg1: Coin<Ty0>, Arg2: u64, Arg3: &mut TxContext) {
1520ImmBorrowLoc[1](Arg1: Coin<Ty0>)
1531Call coin::value<Ty0>(&Coin<Ty0>): u64
1553CopyLoc[4](loc0: u64)
1564CopyLoc[2](Arg2: u64)
1628MoveLoc[0](Arg0: &mut Pool<Ty0>)
16410LdConst[2](u64: 1000..)
16712MoveLoc[0](Arg0: &mut Pool<Ty0>)
16813MutBorrowFieldGeneric[0](Pool.balance: Balance<Ty0>)
16914MoveLoc[1](Arg1: Coin<Ty0>)
17015Call coin::put<Ty0>(&mut Balance<Ty0>, Coin<Ty0>)
17116MoveLoc[2](Arg2: u64)
17217MoveLoc[4](loc0: u64)
17318PackGeneric[1](FlashLoanEvent<Ty0>)
17419Call event::emit<FlashLoanEvent<Ty0>>(FlashLoanEvent<Ty0>)
179 0 => address: 0xaecdaa08f1b9f4469aa3abe357a0ec105152a9b72129245a2e3277c98e4f3914
180 1 => u64: 10000000000
181 2 => u64: 10000000001
182 3 => u64: 10000000002
183 4 => u128: 4295048016
184 5 => u128: 79226673515401279992447579055