Package::flash_loan bytecode | tide- Move path
- 0x9029…df56::flash_loan
- Functions
- 66 public, 0 entry
- Structs
- 0
- Friend modules
- None
flash_loan
The on-chain disassembly. Offsets are bytecode positions within each function.
1// Move bytecode v6
2module 90290fb6f7accea21c865ccd177fd56b9073e84e86b0751b7a3a53641e02df56.flash_loan {
3use 2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::pool;
4use 2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::vault;
5use 0000000000000000000000000000000000000000000000000000000000000002::balance;
6use 0000000000000000000000000000000000000000000000000000000000000002::coin;
7use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
8use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
9
10public flashloan_base<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: u64, Arg2: &mut TxContext): Coin<Ty0> * FlashLoan {
11B0:
120MoveLoc
[0](Arg0: &mut Pool<Ty0, Ty1>)
142MoveLoc[2](Arg2: &mut TxContext)
153Call pool::borrow_flashloan_base<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, u64, &mut TxContext): Coin<Ty0> * FlashLoan
19public flashloan_quote<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: u64, Arg2: &mut TxContext): Coin<Ty1> * FlashLoan {
210MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
232MoveLoc[2](Arg2: &mut TxContext)
243Call pool::borrow_flashloan_quote<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, u64, &mut TxContext): Coin<Ty1> * FlashLoan
28public return_flashloan_base<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Coin<Ty0>, Arg2: FlashLoan, Arg3: u64, Arg4: &mut TxContext) {
320ImmBorrowLoc[1](Arg1: Coin<Ty0>)
331Call coin::value<Ty0>(&Coin<Ty0>): u64
406MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
428MoveLoc[4](Arg4: &mut TxContext)
4712MoveLoc[1](Arg1: Coin<Ty0>)
4813Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
4914StLoc[5](loc0: Balance<Ty0>)
5015MutBorrowLoc[5](loc0: Balance<Ty0>)
5116MoveLoc[3](Arg3: u64)
5217Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
5318StLoc[6](loc1: Balance<Ty0>)
5419MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
5520MoveLoc[6](loc1: Balance<Ty0>)
5621CopyLoc[4](Arg4: &mut TxContext)
5722Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
5823MoveLoc[2](Arg2: FlashLoan)
5924Call pool::return_flashloan_base<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, Coin<Ty0>, FlashLoan)
6025MoveLoc[5](loc0: Balance<Ty0>)
6126CopyLoc[4](Arg4: &mut TxContext)
6227Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
6328MoveLoc[4](Arg4: &mut TxContext)
6530Call tx_context::sender(&TxContext): address
6631Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
70public return_flashloan_base_plus<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Coin<Ty0>, Arg2: FlashLoan, Arg3: u64, Arg4: u64, Arg5: &mut TxContext) {
740ImmBorrowLoc[1](Arg1: Coin<Ty0>)
751Call coin::value<Ty0>(&Coin<Ty0>): u64
848MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
8610MoveLoc[5](Arg5: &mut TxContext)
9114MoveLoc[1](Arg1: Coin<Ty0>)
9215Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
9316StLoc[6](loc0: Balance<Ty0>)
9417MutBorrowLoc[6](loc0: Balance<Ty0>)
9518MoveLoc[3](Arg3: u64)
9619Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
9720StLoc[7](loc1: Balance<Ty0>)
9821MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
9922MoveLoc[7](loc1: Balance<Ty0>)
10023CopyLoc[5](Arg5: &mut TxContext)
10124Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
10225MoveLoc[2](Arg2: FlashLoan)
10326Call pool::return_flashloan_base<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, Coin<Ty0>, FlashLoan)
10427MoveLoc[6](loc0: Balance<Ty0>)
10528CopyLoc[5](Arg5: &mut TxContext)
10629Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
10730MoveLoc[5](Arg5: &mut TxContext)
10932Call tx_context::sender(&TxContext): address
11033Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
114public return_flashloan_quote<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Coin<Ty1>, Arg2: FlashLoan, Arg3: u64, Arg4: &mut TxContext) {
115L5: loc0: Balance<Ty1>
116L6: loc1: Balance<Ty1>
1180ImmBorrowLoc[1](Arg1: Coin<Ty1>)
1191Call coin::value<Ty1>(&Coin<Ty1>): u64
1202CopyLoc[3](Arg3: u64)
1266MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1288MoveLoc[4](Arg4: &mut TxContext)
13312MoveLoc[1](Arg1: Coin<Ty1>)
13413Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
13514StLoc[5](loc0: Balance<Ty1>)
13615MutBorrowLoc[5](loc0: Balance<Ty1>)
13716MoveLoc[3](Arg3: u64)
13817Call balance::split<Ty1>(&mut Balance<Ty1>, u64): Balance<Ty1>
13918StLoc[6](loc1: Balance<Ty1>)
14019MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
14120MoveLoc[6](loc1: Balance<Ty1>)
14221CopyLoc[4](Arg4: &mut TxContext)
14322Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
14423MoveLoc[2](Arg2: FlashLoan)
14524Call pool::return_flashloan_quote<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, Coin<Ty1>, FlashLoan)
14625MoveLoc[5](loc0: Balance<Ty1>)
14726CopyLoc[4](Arg4: &mut TxContext)
14827Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
14928MoveLoc[4](Arg4: &mut TxContext)
15130Call tx_context::sender(&TxContext): address
15231Call transfer::public_transfer<Coin<Ty1>>(Coin<Ty1>, address)
156public return_flashloan_quote_plus<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Coin<Ty1>, Arg2: FlashLoan, Arg3: u64, Arg4: u64, Arg5: &mut TxContext) {
157L6: loc0: Balance<Ty1>
158L7: loc1: Balance<Ty1>
1600ImmBorrowLoc[1](Arg1: Coin<Ty1>)
1611Call coin::value<Ty1>(&Coin<Ty1>): u64
1622CopyLoc[3](Arg3: u64)
1633MoveLoc[4](Arg4: u64)
1708MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
17210MoveLoc[5](Arg5: &mut TxContext)
17714MoveLoc[1](Arg1: Coin<Ty1>)
17815Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
17916StLoc[6](loc0: Balance<Ty1>)
18017MutBorrowLoc[6](loc0: Balance<Ty1>)
18118MoveLoc[3](Arg3: u64)
18219Call balance::split<Ty1>(&mut Balance<Ty1>, u64): Balance<Ty1>
18320StLoc[7](loc1: Balance<Ty1>)
18421MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
18522MoveLoc[7](loc1: Balance<Ty1>)
18623CopyLoc[5](Arg5: &mut TxContext)
18724Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
18825MoveLoc[2](Arg2: FlashLoan)
18926Call pool::return_flashloan_quote<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, Coin<Ty1>, FlashLoan)
19027MoveLoc[6](loc0: Balance<Ty1>)
19128CopyLoc[5](Arg5: &mut TxContext)
19229Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
19330MoveLoc[5](Arg5: &mut TxContext)
19532Call tx_context::sender(&TxContext): address
19633Call transfer::public_transfer<Coin<Ty1>>(Coin<Ty1>, address)