Package::pool bytecode | tide- Move path
- 0x6470…8cdd::pool
- Functions
- 76 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 64704f2f04f580cdfde7583bc35de88d4d47fe7280aa9d7939cd54da44cb8cdd.pool {
3use 0000000000000000000000000000000000000000000000000000000000000001::type_name;
4use 0000000000000000000000000000000000000000000000000000000000000001::vector;
5use 0000000000000000000000000000000000000000000000000000000000000002::balance;
6use 0000000000000000000000000000000000000000000000000000000000000002::coin;
7use 0000000000000000000000000000000000000000000000000000000000000002::event;
8use 0000000000000000000000000000000000000000000000000000000000000002::object;
9use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
10use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
11
12struct Pool<phantom Ty0> has key {
17struct AccessList has store, key {
22struct FlashLoanEvent<phantom Ty0> has copy, drop {
28public new_access_list(Arg0: &mut TxContext) {
29L1: loc0: vector<address>
310CopyLoc[0](Arg0: &mut TxContext)
332Call tx_context::sender(&TxContext): address
343LdConst[0](address: 0xae..)
407MoveLoc[0](Arg0: &mut TxContext)
429LdConst[1](u64: 1000..)
4511LdConst[0](address: 0xae..)
4612Call vector::singleton<address>(address): vector<address>
4713StLoc[1](loc0: vector<address>)
4814MoveLoc[0](Arg0: &mut TxContext)
4915Call object::new(&mut TxContext): UID
5016MoveLoc[1](loc0: vector<address>)
5218Call transfer::share_object<AccessList>(AccessList)
56public access_list_add(Arg0: &mut AccessList, Arg1: address, Arg2: &mut TxContext) {
580MoveLoc[2](Arg2: &mut TxContext)
602Call tx_context::sender(&TxContext): address
613LdConst[0](address: 0xae..)
677MoveLoc[0](Arg0: &mut AccessList)
699LdConst[1](u64: 1000..)
7211MoveLoc[0](Arg0: &mut AccessList)
7312MutBorrowField[0](AccessList.list: vector<address>)
7413MoveLoc[1](Arg1: address)
79public access_list_add_vec(Arg0: &mut AccessList, Arg1: vector<address>, Arg2: &mut TxContext) {
810MoveLoc[2](Arg2: &mut TxContext)
832Call tx_context::sender(&TxContext): address
843LdConst[0](address: 0xae..)
907MoveLoc[0](Arg0: &mut AccessList)
929LdConst[1](u64: 1000..)
9511MoveLoc[0](Arg0: &mut AccessList)
9612MutBorrowField[0](AccessList.list: vector<address>)
9713MoveLoc[1](Arg1: vector<address>)
9814Call vector::append<address>(&mut vector<address>, vector<address>)
102is_valid(Arg0: &AccessList, Arg1: &TxContext): bool {
104L3: loc1: &vector<address>
105L4: loc2: vector<address>
1070MoveLoc[0](Arg0: &AccessList)
1081ImmBorrowField[0](AccessList.list: vector<address>)
1103StLoc[4](loc2: vector<address>)
1114ImmBorrowLoc[4](loc2: vector<address>)
1125StLoc[3](loc1: &vector<address>)
1136MoveLoc[1](Arg1: &TxContext)
1147Call tx_context::sender(&TxContext): address
1158StLoc[2](loc0: address)
1169MoveLoc[3](loc1: &vector<address>)
11710ImmBorrowLoc[2](loc0: address)
11811Call vector::contains<address>(&vector<address>, &address): bool
122public new_pool<Ty0>(Arg0: Coin<Ty0>, Arg1: &mut TxContext) {
1240MoveLoc[1](Arg1: &mut TxContext)
1251Call object::new(&mut TxContext): UID
1262MoveLoc[0](Arg0: Coin<Ty0>)
1273Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
1284PackGeneric[0](Pool<Ty0>)
1295Call transfer::share_object<Pool<Ty0>>(Pool<Ty0>)
133public loan<Ty0>(Arg0: &AccessList, Arg1: &mut Pool<Ty0>, Arg2: u64, Arg3: &mut TxContext): Coin<Ty0> {
1350MoveLoc[0](Arg0: &AccessList)
1361CopyLoc[3](Arg3: &mut TxContext)
1383Call is_valid(&AccessList, &TxContext): bool
1436MoveLoc[1](Arg1: &mut Pool<Ty0>)
1458MoveLoc[3](Arg3: &mut TxContext)
14710LdConst[3](u64: 1000..)
15012MoveLoc[1](Arg1: &mut Pool<Ty0>)
15113MutBorrowFieldGeneric[0](Pool.balance: Balance<Ty0>)
15214MoveLoc[2](Arg2: u64)
15315MoveLoc[3](Arg3: &mut TxContext)
15416Call coin::take<Ty0>(&mut Balance<Ty0>, u64, &mut TxContext): Coin<Ty0>
158public repay<Ty0>(Arg0: &mut Pool<Ty0>, Arg1: Coin<Ty0>, Arg2: u64, Arg3: &mut TxContext) {
1610ImmBorrowLoc[1](Arg1: Coin<Ty0>)
1621Call coin::value<Ty0>(&Coin<Ty0>): u64
1643CopyLoc[4](loc0: u64)
1654CopyLoc[2](Arg2: u64)
1718MoveLoc[0](Arg0: &mut Pool<Ty0>)
17310LdConst[2](u64: 1000..)
17612MoveLoc[0](Arg0: &mut Pool<Ty0>)
17713MutBorrowFieldGeneric[0](Pool.balance: Balance<Ty0>)
17814MoveLoc[1](Arg1: Coin<Ty0>)
17915Call coin::put<Ty0>(&mut Balance<Ty0>, Coin<Ty0>)
18016Call type_name::get<Ty0>(): TypeName
18117MoveLoc[2](Arg2: u64)
18218MoveLoc[4](loc0: u64)
18319PackGeneric[1](FlashLoanEvent<Ty0>)
18420Call event::emit<FlashLoanEvent<Ty0>>(FlashLoanEvent<Ty0>)
189 0 => address: 0xaecdaa08f1b9f4469aa3abe357a0ec105152a9b72129245a2e3277c98e4f3914
190 1 => u64: 10000000000
191 2 => u64: 10000000001
192 3 => u64: 10000000002
193 4 => u128: 4295048016
194 5 => u128: 79226673515401279992447579055