Package::para bytecode | tide- Move path
- 0x784d…520f::para
- Functions
- 3433 public, 0 entry
- Structs
- 3
- Friend modules
- None
para
The on-chain disassembly. Offsets are bytecode positions within each function.
1// Move bytecode v6
2module 784dfaf8c87f41720ecac64800015eb73963d2a313330b110abc49baa198520f.para {
3use efe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c::pool;
4use efe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c::pool_registry;
5use efe170ec0be4d762196bedecd7a065816576198a6527c99282a2551aaa7da38c::swap;
6use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::config;
7use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::pool as 0pool;
8use b24b6789e088b876afabca733bed2299fbc9e2d6369be4d1acfa17d8145454d9::router;
9use b24b6789e088b876afabca733bed2299fbc9e2d6369be4d1acfa17d8145454d9::swap as 0swap;
10use 1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::config as 0config;
11use 1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::pool as 1pool;
12
use 2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::pool as 2pool;
13use 2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809::vault;
14use ba153169476e8c3114962261d1edc70de5ad9781b83cc617ecc8c1923191cae0::factory;
15use ba153169476e8c3114962261d1edc70de5ad9781b83cc617ecc8c1923191cae0::router as 0router;
16use 25929e7f29e0a30eb4e692952ba1b5b65a3a4d65ab5f2a32e1ba3edcb587f26d::pool as 3pool;
17use 25929e7f29e0a30eb4e692952ba1b5b65a3a4d65ab5f2a32e1ba3edcb587f26d::pool_manager;
18use 25929e7f29e0a30eb4e692952ba1b5b65a3a4d65ab5f2a32e1ba3edcb587f26d::versioned;
19use a6baab1e668c7868991c1c3c11e144100f5734c407d020f72a01b9d1a8bcb97f::insurance_fund;
20use a0eba10b173538c8fecca1dff298e488402cc9ff374f8a12ca7758eebe830b66::spot_dex;
21use f6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::pool as 4pool;
22use f6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::trade;
23use f6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::version;
24use 2d9316f1f1a95f6d7c85a4e690ef7c359e6649773ef2c37ad7d9857adb6bef06::vault as 0vault;
25use c66fabf1a9253e43c70f1cc02d40a1d18db183140ecaae2a3f58fa6b66c55acf::referral_vault;
26use 0000000000000000000000000000000000000000000000000000000000000001::vector;
27use 0000000000000000000000000000000000000000000000000000000000000002::balance;
28use 0000000000000000000000000000000000000000000000000000000000000002::clock;
29use 0000000000000000000000000000000000000000000000000000000000000002::coin;
30use 0000000000000000000000000000000000000000000000000000000000000002::event;
31use 0000000000000000000000000000000000000000000000000000000000000002::object;
32use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
33use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
34use 361dd589b98e8fcda9a7ee53b85efabef3569d00416640d2faa516e3801d7ffc::pool as 5pool;
35use 64213b0e4a52bac468d4ac3f140242f70714381653a1919a6d57cd49c628207a::treasury;
36use 91bfbc386a41afcfd9b2533058d7e915a1d3829089cc268ff4333d54d6339ca1::pool as 6pool;
37use 91bfbc386a41afcfd9b2533058d7e915a1d3829089cc268ff4333d54d6339ca1::swap_router;
39struct AdminCapability has key {
43struct Output has copy, drop {
47struct SwapReceipt<phantom Ty0, phantom Ty1, Ty2> {
48 flash_loan_receipt: Ty2,
49 balance_a: Balance<Ty0>,
50 balance_b: Balance<Ty1>,
55init(Arg0: &mut TxContext) {
570CopyLoc[0](Arg0: &mut TxContext)
581Call object::new(&mut TxContext): UID
592Pack[0](AdminCapability)
603MoveLoc[0](Arg0: &mut TxContext)
625Call tx_context::sender(&TxContext): address
636Call transfer::transfer<AdminCapability>(AdminCapability, address)
67public addAdminCapability(Arg0: &AdminCapability, Arg1: &mut TxContext, Arg2: address) {
690MoveLoc[1](Arg1: &mut TxContext)
701Call object::new(&mut TxContext): UID
712Pack[0](AdminCapability)
723MoveLoc[2](Arg2: address)
734Call transfer::transfer<AdminCapability>(AdminCapability, address)
77public swap_cetus_a_b<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: Balance<Ty0>, Arg4: &mut TxContext): Balance<Ty1> {
81L8: loc3: FlashSwapReceipt<Ty0, Ty1>
83L10: loc5: FlashSwapReceipt<Ty0, Ty1>
84L11: loc6: Balance<Ty0>
860CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
882Call 1pool::current_sqrt_price<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
904CopyLoc[1](Arg1: &GlobalConfig)
915CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
948ImmBorrowLoc[3](Arg3: Balance<Ty0>)
959Call balance::value<Ty0>(&Balance<Ty0>): u64
9610MoveLoc[7](loc2: u128)
9913MoveLoc[0](Arg0: &Clock)
10014Call 1pool::flash_swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, bool, bool, u64, u128, &Clock): Balance<Ty0> * Balance<Ty1> * FlashSwapReceipt<Ty0, Ty1>
10115StLoc[10](loc5: FlashSwapReceipt<Ty0, Ty1>)
10216StLoc[6](loc1: Balance<Ty1>)
10317StLoc[5](loc0: Balance<Ty0>)
10418MoveLoc[10](loc5: FlashSwapReceipt<Ty0, Ty1>)
10519StLoc[8](loc3: FlashSwapReceipt<Ty0, Ty1>)
10620MoveLoc[6](loc1: Balance<Ty1>)
10721StLoc[9](loc4: Balance<Ty1>)
10822MoveLoc[5](loc0: Balance<Ty0>)
10923StLoc[11](loc6: Balance<Ty0>)
11024ImmBorrowLoc[3](Arg3: Balance<Ty0>)
11125Call balance::value<Ty0>(&Balance<Ty0>): u64
11226ImmBorrowLoc[8](loc3: FlashSwapReceipt<Ty0, Ty1>)
11327Call 1pool::swap_pay_amount<Ty0, Ty1>(&FlashSwapReceipt<Ty0, Ty1>): u64
11931MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
12133MoveLoc[1](Arg1: &GlobalConfig)
12637ImmBorrowLoc[11](loc6: Balance<Ty0>)
12738Call balance::value<Ty0>(&Balance<Ty0>): u64
13443MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
13645MoveLoc[1](Arg1: &GlobalConfig)
14149MoveLoc[11](loc6: Balance<Ty0>)
14250Call balance::destroy_zero<Ty0>(Balance<Ty0>)
14351MoveLoc[1](Arg1: &GlobalConfig)
14452MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
14553MoveLoc[3](Arg3: Balance<Ty0>)
14654Call balance::zero<Ty1>(): Balance<Ty1>
14755MoveLoc[8](loc3: FlashSwapReceipt<Ty0, Ty1>)
14856Call 1pool::repay_flash_swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, Balance<Ty0>, Balance<Ty1>, FlashSwapReceipt<Ty0, Ty1>)
14957MoveLoc[9](loc4: Balance<Ty1>)
153public swap_cetus_b_a<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: Balance<Ty1>, Arg4: &mut TxContext): Balance<Ty0> {
154L5: loc0: Balance<Ty0>
155L6: loc1: Balance<Ty1>
157L8: loc3: FlashSwapReceipt<Ty0, Ty1>
158L9: loc4: Balance<Ty0>
159L10: loc5: FlashSwapReceipt<Ty0, Ty1>
160L11: loc6: Balance<Ty1>
1620CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1642Call 1pool::current_sqrt_price<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
1664CopyLoc[1](Arg1: &GlobalConfig)
1675CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1708ImmBorrowLoc[3](Arg3: Balance<Ty1>)
1719Call balance::value<Ty1>(&Balance<Ty1>): u64
17210MoveLoc[7](loc2: u128)
17513MoveLoc[0](Arg0: &Clock)
17614Call 1pool::flash_swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, bool, bool, u64, u128, &Clock): Balance<Ty0> * Balance<Ty1> * FlashSwapReceipt<Ty0, Ty1>
17715StLoc[10](loc5: FlashSwapReceipt<Ty0, Ty1>)
17816StLoc[6](loc1: Balance<Ty1>)
17917StLoc[5](loc0: Balance<Ty0>)
18018MoveLoc[10](loc5: FlashSwapReceipt<Ty0, Ty1>)
18119StLoc[8](loc3: FlashSwapReceipt<Ty0, Ty1>)
18220MoveLoc[6](loc1: Balance<Ty1>)
18321StLoc[11](loc6: Balance<Ty1>)
18422MoveLoc[5](loc0: Balance<Ty0>)
18523StLoc[9](loc4: Balance<Ty0>)
18624ImmBorrowLoc[3](Arg3: Balance<Ty1>)
18725Call balance::value<Ty1>(&Balance<Ty1>): u64
18826ImmBorrowLoc[8](loc3: FlashSwapReceipt<Ty0, Ty1>)
18927Call 1pool::swap_pay_amount<Ty0, Ty1>(&FlashSwapReceipt<Ty0, Ty1>): u64
19531MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
19733MoveLoc[1](Arg1: &GlobalConfig)
20237ImmBorrowLoc[11](loc6: Balance<Ty1>)
20338Call balance::value<Ty1>(&Balance<Ty1>): u64
21043MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
21245MoveLoc[1](Arg1: &GlobalConfig)
21749MoveLoc[11](loc6: Balance<Ty1>)
21850Call balance::destroy_zero<Ty1>(Balance<Ty1>)
21951MoveLoc[1](Arg1: &GlobalConfig)
22052MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
22153Call balance::zero<Ty0>(): Balance<Ty0>
22254MoveLoc[3](Arg3: Balance<Ty1>)
22355MoveLoc[8](loc3: FlashSwapReceipt<Ty0, Ty1>)
22456Call 1pool::repay_flash_swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, Balance<Ty0>, Balance<Ty1>, FlashSwapReceipt<Ty0, Ty1>)
22557MoveLoc[9](loc4: Balance<Ty0>)
229public flash_swap_cetus<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: bool, Arg4: u64, Arg5: &mut TxContext): SwapReceipt<Ty0, Ty1, FlashSwapReceipt<Ty0, Ty1>> {
230L6: loc0: Balance<Ty0>
231L7: loc1: Balance<Ty1>
232L8: loc2: FlashSwapReceipt<Ty0, Ty1>
2360CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
2382Call 1pool::current_sqrt_price<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
2393StLoc[10](loc4: u128)
2404CopyLoc[3](Arg3: bool)
2436MoveLoc[10](loc4: u128)
2469StLoc[10](loc4: u128)
24911MoveLoc[10](loc4: u128)
25214StLoc[10](loc4: u128)
25415MoveLoc[1](Arg1: &GlobalConfig)
25516MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
25617CopyLoc[3](Arg3: bool)
25819CopyLoc[4](Arg4: u64)
25920MoveLoc[10](loc4: u128)
26021MoveLoc[0](Arg0: &Clock)
26122Call 1pool::flash_swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, bool, bool, u64, u128, &Clock): Balance<Ty0> * Balance<Ty1> * FlashSwapReceipt<Ty0, Ty1>
26223StLoc[8](loc2: FlashSwapReceipt<Ty0, Ty1>)
26324StLoc[7](loc1: Balance<Ty1>)
26425StLoc[6](loc0: Balance<Ty0>)
26526CopyLoc[3](Arg3: bool)
26828ImmBorrowLoc[6](loc0: Balance<Ty0>)
26929Call balance::value<Ty0>(&Balance<Ty0>): u64
27936ImmBorrowLoc[7](loc1: Balance<Ty1>)
28037Call balance::value<Ty1>(&Balance<Ty1>): u64
29044ImmBorrowLoc[8](loc2: FlashSwapReceipt<Ty0, Ty1>)
29145Call 1pool::swap_pay_amount<Ty0, Ty1>(&FlashSwapReceipt<Ty0, Ty1>): u64
29347MoveLoc[4](Arg4: u64)
29448CopyLoc[9](loc3: u64)
30354MoveLoc[8](loc2: FlashSwapReceipt<Ty0, Ty1>)
30455MoveLoc[6](loc0: Balance<Ty0>)
30556MoveLoc[7](loc1: Balance<Ty1>)
30657MoveLoc[9](loc3: u64)
30758MoveLoc[3](Arg3: bool)
30859PackGeneric[0](SwapReceipt<Ty0, Ty1, FlashSwapReceipt<Ty0, Ty1>>)
312public repay_cetus_flash_swap<Ty0, Ty1>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty0, Ty1>, Arg2: SwapReceipt<Ty0, Ty1, FlashSwapReceipt<Ty0, Ty1>>, Arg3: address, Arg4: &mut TxContext) {
314L6: loc1: Balance<Ty0>
315L7: loc2: Balance<Ty0>
316L8: loc3: Balance<Ty1>
317L9: loc4: Balance<Ty1>
318L10: loc5: FlashSwapReceipt<Ty0, Ty1>
321L13: loc8: Balance<Ty0>
322L14: loc9: Balance<Ty1>
3240MoveLoc[2](Arg2: SwapReceipt<Ty0, Ty1, FlashSwapReceipt<Ty0, Ty1>>)
3251UnpackGeneric[0](SwapReceipt<Ty0, Ty1, FlashSwapReceipt<Ty0, Ty1>>)
3262StLoc[11](loc6: bool)
3284StLoc[8](loc3: Balance<Ty1>)
3295StLoc[6](loc1: Balance<Ty0>)
3306StLoc[10](loc5: FlashSwapReceipt<Ty0, Ty1>)
3317MoveLoc[12](loc7: u64)
3339MoveLoc[8](loc3: Balance<Ty1>)
33410StLoc[9](loc4: Balance<Ty1>)
33511MoveLoc[6](loc1: Balance<Ty0>)
33612StLoc[7](loc2: Balance<Ty0>)
33713Call balance::zero<Ty0>(): Balance<Ty0>
33814StLoc[13](loc8: Balance<Ty0>)
33915Call balance::zero<Ty1>(): Balance<Ty1>
34016StLoc[14](loc9: Balance<Ty1>)
34117MoveLoc[11](loc6: bool)
34419ImmBorrowLoc[7](loc2: Balance<Ty0>)
34520Call balance::value<Ty0>(&Balance<Ty0>): u64
34621CopyLoc[5](loc0: u64)
35225MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
35427MoveLoc[4](Arg4: &mut TxContext)
35629MoveLoc[0](Arg0: &GlobalConfig)
36133MoveLoc[9](loc4: Balance<Ty1>)
36234Call balance::destroy_zero<Ty1>(Balance<Ty1>)
36335MutBorrowLoc[13](loc8: Balance<Ty0>)
36436MutBorrowLoc[7](loc2: Balance<Ty0>)
36537MoveLoc[5](loc0: u64)
36638Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
36739Call balance::join<Ty0>(&mut Balance<Ty0>, Balance<Ty0>): u64
36941ImmBorrowLoc[7](loc2: Balance<Ty0>)
37042Call balance::value<Ty0>(&Balance<Ty0>): u64
37546MoveLoc[7](loc2: Balance<Ty0>)
37647MoveLoc[4](Arg4: &mut TxContext)
37748Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
37849MoveLoc[3](Arg3: address)
37950Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
38252MoveLoc[4](Arg4: &mut TxContext)
38454MoveLoc[7](loc2: Balance<Ty0>)
38555Call balance::destroy_zero<Ty0>(Balance<Ty0>)
38857MoveLoc[7](loc2: Balance<Ty0>)
38958Call balance::destroy_zero<Ty0>(Balance<Ty0>)
39059ImmBorrowLoc[9](loc4: Balance<Ty1>)
39160Call balance::value<Ty1>(&Balance<Ty1>): u64
39261CopyLoc[5](loc0: u64)
39865MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
40067MoveLoc[4](Arg4: &mut TxContext)
40269MoveLoc[0](Arg0: &GlobalConfig)
40773MutBorrowLoc[14](loc9: Balance<Ty1>)
40874MutBorrowLoc[9](loc4: Balance<Ty1>)
40975MoveLoc[5](loc0: u64)
41076Call balance::split<Ty1>(&mut Balance<Ty1>, u64): Balance<Ty1>
41177Call balance::join<Ty1>(&mut Balance<Ty1>, Balance<Ty1>): u64
41379ImmBorrowLoc[9](loc4: Balance<Ty1>)
41480Call balance::value<Ty1>(&Balance<Ty1>): u64
41984MoveLoc[9](loc4: Balance<Ty1>)
42085MoveLoc[4](Arg4: &mut TxContext)
42186Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
42287MoveLoc[3](Arg3: address)
42388Call transfer::public_transfer<Coin<Ty1>>(Coin<Ty1>, address)
42690MoveLoc[4](Arg4: &mut TxContext)
42892MoveLoc[9](loc4: Balance<Ty1>)
42993Call balance::destroy_zero<Ty1>(Balance<Ty1>)
43194MoveLoc[0](Arg0: &GlobalConfig)
43295MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
43396MoveLoc[13](loc8: Balance<Ty0>)
43497MoveLoc[14](loc9: Balance<Ty1>)
43598MoveLoc[10](loc5: FlashSwapReceipt<Ty0, Ty1>)
43699Call 1pool::repay_flash_swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, Balance<Ty0>, Balance<Ty1>, FlashSwapReceipt<Ty0, Ty1>)
440public move_balance_a_from_receipt<Ty0, Ty1, Ty2>(Arg0: &mut SwapReceipt<Ty0, Ty1, Ty2>, Arg1: &mut TxContext): Balance<Ty0> {
4420MoveLoc[0](Arg0: &mut SwapReceipt<Ty0, Ty1, Ty2>)
4431MutBorrowFieldGeneric[0](SwapReceipt.balance_a: Balance<Ty0>)
4442Call balance::withdraw_all<Ty0>(&mut Balance<Ty0>): Balance<Ty0>
448public move_balance_b_from_receipt<Ty0, Ty1, Ty2>(Arg0: &mut SwapReceipt<Ty0, Ty1, Ty2>, Arg1: &mut TxContext): Balance<Ty1> {
4500MoveLoc[0](Arg0: &mut SwapReceipt<Ty0, Ty1, Ty2>)
4511MutBorrowFieldGeneric[1](SwapReceipt.balance_b: Balance<Ty1>)
4522Call balance::withdraw_all<Ty1>(&mut Balance<Ty1>): Balance<Ty1>
456public flash_loan_base<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: u64, Arg2: &mut TxContext): SwapReceipt<Ty0, Ty0, FlashLoan> {
457L3: loc0: Balance<Ty0>
4600MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
4611CopyLoc[1](Arg1: u64)
4622MoveLoc[2](Arg2: &mut TxContext)
4633Call 2pool::borrow_flashloan_base<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, u64, &mut TxContext): Coin<Ty0> * FlashLoan
4644StLoc[4](loc1: FlashLoan)
4655Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
4666StLoc[3](loc0: Balance<Ty0>)
4677ImmBorrowLoc[3](loc0: Balance<Ty0>)
4688Call balance::value<Ty0>(&Balance<Ty0>): u64
4699CopyLoc[1](Arg1: u64)
47815MoveLoc[4](loc1: FlashLoan)
47916MoveLoc[3](loc0: Balance<Ty0>)
48017Call balance::zero<Ty0>(): Balance<Ty0>
48118MoveLoc[1](Arg1: u64)
48320PackGeneric[1](SwapReceipt<Ty0, Ty0, FlashLoan>)
487public flash_loan_quote<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: u64, Arg2: &mut TxContext): SwapReceipt<Ty1, Ty1, FlashLoan> {
488L3: loc0: Balance<Ty1>
4910MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
4921CopyLoc[1](Arg1: u64)
4932MoveLoc[2](Arg2: &mut TxContext)
4943Call 2pool::borrow_flashloan_quote<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, u64, &mut TxContext): Coin<Ty1> * FlashLoan
4954StLoc[4](loc1: FlashLoan)
4965Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
4976StLoc[3](loc0: Balance<Ty1>)
4987ImmBorrowLoc[3](loc0: Balance<Ty1>)
4998Call balance::value<Ty1>(&Balance<Ty1>): u64
5009CopyLoc[1](Arg1: u64)
50915MoveLoc[4](loc1: FlashLoan)
51016MoveLoc[3](loc0: Balance<Ty1>)
51117Call balance::zero<Ty1>(): Balance<Ty1>
51218MoveLoc[1](Arg1: u64)
51420PackGeneric[2](SwapReceipt<Ty1, Ty1, FlashLoan>)
518public repay_loan_base<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Balance<Ty0>, Arg2: SwapReceipt<Ty0, Ty0, FlashLoan>, Arg3: &mut TxContext) {
519L4: loc0: Balance<Ty0>
520L5: loc1: Balance<Ty0>
5240MoveLoc[2](Arg2: SwapReceipt<Ty0, Ty0, FlashLoan>)
5251UnpackGeneric[1](SwapReceipt<Ty0, Ty0, FlashLoan>)
5284StLoc[5](loc1: Balance<Ty0>)
5295StLoc[4](loc0: Balance<Ty0>)
5306StLoc[6](loc2: FlashLoan)
5317MoveLoc[4](loc0: Balance<Ty0>)
5328Call balance::destroy_zero<Ty0>(Balance<Ty0>)
5339MoveLoc[5](loc1: Balance<Ty0>)
53410Call balance::destroy_zero<Ty0>(Balance<Ty0>)
53511ImmBorrowLoc[1](Arg1: Balance<Ty0>)
53612Call balance::value<Ty0>(&Balance<Ty0>): u64
53713CopyLoc[7](loc3: u64)
54317MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
54519MoveLoc[3](Arg3: &mut TxContext)
55023MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
55124MutBorrowLoc[1](Arg1: Balance<Ty0>)
55225MoveLoc[7](loc3: u64)
55326Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
55427CopyLoc[3](Arg3: &mut TxContext)
55528Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
55629MoveLoc[6](loc2: FlashLoan)
55730Call 2pool::return_flashloan_base<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, Coin<Ty0>, FlashLoan)
55831ImmBorrowLoc[1](Arg1: Balance<Ty0>)
55932Call balance::value<Ty0>(&Balance<Ty0>): u64
56436MoveLoc[1](Arg1: Balance<Ty0>)
56537CopyLoc[3](Arg3: &mut TxContext)
56638Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
56739MoveLoc[3](Arg3: &mut TxContext)
56941Call tx_context::sender(&TxContext): address
57042Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
57344MoveLoc[3](Arg3: &mut TxContext)
57546MoveLoc[1](Arg1: Balance<Ty0>)
57647Call balance::destroy_zero<Ty0>(Balance<Ty0>)
581public repay_loan_quote<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Balance<Ty1>, Arg2: SwapReceipt<Ty1, Ty1, FlashLoan>, Arg3: &mut TxContext) {
582L4: loc0: Balance<Ty1>
583L5: loc1: Balance<Ty1>
5870MoveLoc[2](Arg2: SwapReceipt<Ty1, Ty1, FlashLoan>)
5881UnpackGeneric[2](SwapReceipt<Ty1, Ty1, FlashLoan>)
5914StLoc[5](loc1: Balance<Ty1>)
5925StLoc[4](loc0: Balance<Ty1>)
5936StLoc[6](loc2: FlashLoan)
5947MoveLoc[4](loc0: Balance<Ty1>)
5958Call balance::destroy_zero<Ty1>(Balance<Ty1>)
5969MoveLoc[5](loc1: Balance<Ty1>)
59710Call balance::destroy_zero<Ty1>(Balance<Ty1>)
59811ImmBorrowLoc[1](Arg1: Balance<Ty1>)
59912Call balance::value<Ty1>(&Balance<Ty1>): u64
60013CopyLoc[7](loc3: u64)
60617MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
60819MoveLoc[3](Arg3: &mut TxContext)
61323MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
61424MutBorrowLoc[1](Arg1: Balance<Ty1>)
61525MoveLoc[7](loc3: u64)
61626Call balance::split<Ty1>(&mut Balance<Ty1>, u64): Balance<Ty1>
61727CopyLoc[3](Arg3: &mut TxContext)
61828Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
61929MoveLoc[6](loc2: FlashLoan)
62030Call 2pool::return_flashloan_quote<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, Coin<Ty1>, FlashLoan)
62131ImmBorrowLoc[1](Arg1: Balance<Ty1>)
62232Call balance::value<Ty1>(&Balance<Ty1>): u64
62736MoveLoc[1](Arg1: Balance<Ty1>)
62837CopyLoc[3](Arg3: &mut TxContext)
62938Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
63039MoveLoc[3](Arg3: &mut TxContext)
63241Call tx_context::sender(&TxContext): address
63342Call transfer::public_transfer<Coin<Ty1>>(Coin<Ty1>, address)
63644MoveLoc[3](Arg3: &mut TxContext)
63846MoveLoc[1](Arg1: Balance<Ty1>)
63947Call balance::destroy_zero<Ty1>(Balance<Ty1>)
644public swap_aftermath_a_b<Ty0, Ty1, Ty2>(Arg0: &mut Pool<Ty2>, Arg1: &PoolRegistry, Arg2: &ProtocolFeeVault, Arg3: &mut Treasury, Arg4: &mut InsuranceFund, Arg5: &ReferralVault, Arg6: Balance<Ty0>, Arg7: u64, Arg8: u64, Arg9: &mut TxContext): Balance<Ty1> {
6470MoveLoc[0](Arg0: &mut Pool<Ty2>)
6481MoveLoc[1](Arg1: &PoolRegistry)
6492MoveLoc[2](Arg2: &ProtocolFeeVault)
6503MoveLoc[3](Arg3: &mut Treasury)
6514MoveLoc[4](Arg4: &mut InsuranceFund)
6525MoveLoc[5](Arg5: &ReferralVault)
6536MoveLoc[6](Arg6: Balance<Ty0>)
6547CopyLoc[9](Arg9: &mut TxContext)
6558Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
6569CopyLoc[7](Arg7: u64)
65710MoveLoc[8](Arg8: u64)
65811MoveLoc[9](Arg9: &mut TxContext)
65912Call swap::swap_exact_in<Ty2, Ty0, Ty1>(&mut Pool<Ty2>, &PoolRegistry, &ProtocolFeeVault, &mut Treasury, &mut InsuranceFund, &ReferralVault, Coin<Ty0>, u64, u64, &mut TxContext): Coin<Ty1>
66013StLoc[10](loc0: Coin<Ty1>)
66114ImmBorrowLoc[10](loc0: Coin<Ty1>)
66215Call coin::value<Ty1>(&Coin<Ty1>): u64
66316MoveLoc[7](Arg7: u64)
67222MoveLoc[10](loc0: Coin<Ty1>)
67323Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
677public swap_aftermath_b_a<Ty0, Ty1, Ty2>(Arg0: &mut Pool<Ty2>, Arg1: &PoolRegistry, Arg2: &ProtocolFeeVault, Arg3: &mut Treasury, Arg4: &mut InsuranceFund, Arg5: &ReferralVault, Arg6: Balance<Ty1>, Arg7: u64, Arg8: u64, Arg9: &mut TxContext): Balance<Ty0> {
6800MoveLoc[0](Arg0: &mut Pool<Ty2>)
6811MoveLoc[1](Arg1: &PoolRegistry)
6822MoveLoc[2](Arg2: &ProtocolFeeVault)
6833MoveLoc[3](Arg3: &mut Treasury)
6844MoveLoc[4](Arg4: &mut InsuranceFund)
6855MoveLoc[5](Arg5: &ReferralVault)
6866MoveLoc[6](Arg6: Balance<Ty1>)
6877CopyLoc[9](Arg9: &mut TxContext)
6888Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
6899CopyLoc[7](Arg7: u64)
69010MoveLoc[8](Arg8: u64)
69111MoveLoc[9](Arg9: &mut TxContext)
69212Call swap::swap_exact_in<Ty2, Ty1, Ty0>(&mut Pool<Ty2>, &PoolRegistry, &ProtocolFeeVault, &mut Treasury, &mut InsuranceFund, &ReferralVault, Coin<Ty1>, u64, u64, &mut TxContext): Coin<Ty0>
69313StLoc[10](loc0: Coin<Ty0>)
69414ImmBorrowLoc[10](loc0: Coin<Ty0>)
69515Call coin::value<Ty0>(&Coin<Ty0>): u64
69616MoveLoc[7](Arg7: u64)
70522MoveLoc[10](loc0: Coin<Ty0>)
70623Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
710public swap_bluemove_a_b<Ty0, Ty1>(Arg0: &mut Dex_Info, Arg1: Balance<Ty0>, Arg2: u64, Arg3: &mut TxContext): Balance<Ty1> {
7120ImmBorrowLoc[1](Arg1: Balance<Ty0>)
7131Call balance::value<Ty0>(&Balance<Ty0>): u64
7142MoveLoc[1](Arg1: Balance<Ty0>)
7153CopyLoc[3](Arg3: &mut TxContext)
7164Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
7175MoveLoc[2](Arg2: u64)
7186MoveLoc[0](Arg0: &mut Dex_Info)
7197MoveLoc[3](Arg3: &mut TxContext)
7208Call router::swap_exact_input_<Ty0, Ty1>(u64, Coin<Ty0>, u64, &mut Dex_Info, &mut TxContext): Coin<Ty1>
7219Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
725public swap_bluemove_b_a<Ty0, Ty1>(Arg0: &mut Dex_Info, Arg1: Balance<Ty1>, Arg2: u64, Arg3: &mut TxContext): Balance<Ty0> {
7270ImmBorrowLoc[1](Arg1: Balance<Ty1>)
7281Call balance::value<Ty1>(&Balance<Ty1>): u64
7292MoveLoc[1](Arg1: Balance<Ty1>)
7303CopyLoc[3](Arg3: &mut TxContext)
7314Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
7325MoveLoc[2](Arg2: u64)
7336MoveLoc[0](Arg0: &mut Dex_Info)
7347MoveLoc[3](Arg3: &mut TxContext)
7358Call router::swap_exact_input_<Ty1, Ty0>(u64, Coin<Ty1>, u64, &mut Dex_Info, &mut TxContext): Coin<Ty0>
7369Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
740public swap_flowx_v2_a_b<Ty0, Ty1>(Arg0: &mut Container, Arg1: Balance<Ty0>, Arg2: &mut TxContext): Balance<Ty1> {
7420MoveLoc[0](Arg0: &mut Container)
7431MoveLoc[1](Arg1: Balance<Ty0>)
7442CopyLoc[2](Arg2: &mut TxContext)
7453Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
7464MoveLoc[2](Arg2: &mut TxContext)
7475Call 0router::swap_exact_input_direct<Ty0, Ty1>(&mut Container, Coin<Ty0>, &mut TxContext): Coin<Ty1>
7486Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
752public swap_flowx_v2_b_a<Ty0, Ty1>(Arg0: &mut Container, Arg1: Balance<Ty1>, Arg2: &mut TxContext): Balance<Ty0> {
7540MoveLoc[0](Arg0: &mut Container)
7551MoveLoc[1](Arg1: Balance<Ty1>)
7562CopyLoc[2](Arg2: &mut TxContext)
7573Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
7584MoveLoc[2](Arg2: &mut TxContext)
7595Call 0router::swap_exact_input_direct<Ty1, Ty0>(&mut Container, Coin<Ty1>, &mut TxContext): Coin<Ty0>
7606Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
764public swap_flowx_v3_a_b<Ty0, Ty1>(Arg0: &Clock, Arg1: &mut PoolRegistry, Arg2: u64, Arg3: &mut Versioned, Arg4: Balance<Ty0>, Arg5: &mut TxContext): Balance<Ty1> {
766L7: loc1: Balance<Ty1>
768L9: loc3: &mut Pool<Ty0, Ty1>
769L10: loc4: SwapReceipt
7710ImmBorrowLoc[4](Arg4: Balance<Ty0>)
7721Call balance::value<Ty0>(&Balance<Ty0>): u64
7743MoveLoc[1](Arg1: &mut PoolRegistry)
7754MoveLoc[2](Arg2: u64)
7765Call pool_manager::borrow_mut_pool<Ty0, Ty1>(&mut PoolRegistry, u64): &mut Pool<Ty0, Ty1>
7776StLoc[9](loc3: &mut Pool<Ty0, Ty1>)
7787CopyLoc[9](loc3: &mut Pool<Ty0, Ty1>)
7809Call 3pool::sqrt_price_current<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
78110StLoc[8](loc2: u128)
78211CopyLoc[9](loc3: &mut Pool<Ty0, Ty1>)
78514MoveLoc[6](loc0: u64)
78615MoveLoc[8](loc2: u128)
78918CopyLoc[3](Arg3: &mut Versioned)
79120MoveLoc[0](Arg0: &Clock)
79221CopyLoc[5](Arg5: &mut TxContext)
79423Call 3pool::swap<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, bool, bool, u64, u128, &Versioned, &Clock, &TxContext): Balance<Ty0> * Balance<Ty1> * SwapReceipt
79524StLoc[10](loc4: SwapReceipt)
79625StLoc[7](loc1: Balance<Ty1>)
79726Call balance::destroy_zero<Ty0>(Balance<Ty0>)
79827MoveLoc[9](loc3: &mut Pool<Ty0, Ty1>)
79928MoveLoc[10](loc4: SwapReceipt)
80029MoveLoc[4](Arg4: Balance<Ty0>)
80130Call balance::zero<Ty1>(): Balance<Ty1>
80231MoveLoc[3](Arg3: &mut Versioned)
80433MoveLoc[5](Arg5: &mut TxContext)
80635Call 3pool::pay<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, SwapReceipt, Balance<Ty0>, Balance<Ty1>, &Versioned, &TxContext)
80736MoveLoc[7](loc1: Balance<Ty1>)
811public swap_flowx_v3_b_a<Ty0, Ty1>(Arg0: &Clock, Arg1: &mut PoolRegistry, Arg2: u64, Arg3: &mut Versioned, Arg4: Balance<Ty1>, Arg5: &mut TxContext): Balance<Ty0> {
813L7: loc1: Balance<Ty0>
814L8: loc2: Balance<Ty1>
816L10: loc4: &mut Pool<Ty0, Ty1>
817L11: loc5: SwapReceipt
8190ImmBorrowLoc[4](Arg4: Balance<Ty1>)
8201Call balance::value<Ty1>(&Balance<Ty1>): u64
8223MoveLoc[1](Arg1: &mut PoolRegistry)
8234MoveLoc[2](Arg2: u64)
8245Call pool_manager::borrow_mut_pool<Ty0, Ty1>(&mut PoolRegistry, u64): &mut Pool<Ty0, Ty1>
8256StLoc[10](loc4: &mut Pool<Ty0, Ty1>)
8267CopyLoc[10](loc4: &mut Pool<Ty0, Ty1>)
8289Call 3pool::sqrt_price_current<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
82910StLoc[9](loc3: u128)
83011CopyLoc[10](loc4: &mut Pool<Ty0, Ty1>)
83314MoveLoc[6](loc0: u64)
83415MoveLoc[9](loc3: u128)
83718CopyLoc[3](Arg3: &mut Versioned)
83920MoveLoc[0](Arg0: &Clock)
84021CopyLoc[5](Arg5: &mut TxContext)
84223Call 3pool::swap<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, bool, bool, u64, u128, &Versioned, &Clock, &TxContext): Balance<Ty0> * Balance<Ty1> * SwapReceipt
84324StLoc[11](loc5: SwapReceipt)
84425StLoc[8](loc2: Balance<Ty1>)
84526StLoc[7](loc1: Balance<Ty0>)
84627MoveLoc[8](loc2: Balance<Ty1>)
84728Call balance::destroy_zero<Ty1>(Balance<Ty1>)
84829MoveLoc[10](loc4: &mut Pool<Ty0, Ty1>)
84930MoveLoc[11](loc5: SwapReceipt)
85031Call balance::zero<Ty0>(): Balance<Ty0>
85132MoveLoc[4](Arg4: Balance<Ty1>)
85233MoveLoc[3](Arg3: &mut Versioned)
85435MoveLoc[5](Arg5: &mut TxContext)
85637Call 3pool::pay<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, SwapReceipt, Balance<Ty0>, Balance<Ty1>, &Versioned, &TxContext)
85738MoveLoc[7](loc1: Balance<Ty0>)
861public swap_kriya_v3_a_b<Ty0, Ty1>(Arg0: &Clock, Arg1: &mut Pool<Ty0, Ty1>, Arg2: &Version, Arg3: Balance<Ty0>, Arg4: &mut TxContext): Balance<Ty1> {
862L5: loc0: Balance<Ty1>
863L6: loc1: Balance<Ty0>
864L7: loc2: Balance<Ty1>
866L9: loc4: FlashSwapReceipt
8680CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
8702Call 4pool::sqrt_price<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
8724CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
8757ImmBorrowLoc[3](Arg3: Balance<Ty0>)
8768Call balance::value<Ty0>(&Balance<Ty0>): u64
8779MoveLoc[8](loc3: u128)
88012MoveLoc[0](Arg0: &Clock)
88113CopyLoc[2](Arg2: &Version)
88214CopyLoc[4](Arg4: &mut TxContext)
88416Call trade::flash_swap<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, bool, bool, u64, u128, &Clock, &Version, &TxContext): Balance<Ty0> * Balance<Ty1> * FlashSwapReceipt
88517StLoc[9](loc4: FlashSwapReceipt)
88618StLoc[7](loc2: Balance<Ty1>)
88719StLoc[6](loc1: Balance<Ty0>)
88820MoveLoc[7](loc2: Balance<Ty1>)
88921StLoc[5](loc0: Balance<Ty1>)
89022MoveLoc[6](loc1: Balance<Ty0>)
89123Call balance::destroy_zero<Ty0>(Balance<Ty0>)
89224MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
89325MoveLoc[9](loc4: FlashSwapReceipt)
89426MoveLoc[3](Arg3: Balance<Ty0>)
89527Call balance::zero<Ty1>(): Balance<Ty1>
89628MoveLoc[2](Arg2: &Version)
89729MoveLoc[4](Arg4: &mut TxContext)
89931Call trade::repay_flash_swap<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, FlashSwapReceipt, Balance<Ty0>, Balance<Ty1>, &Version, &TxContext)
90032MoveLoc[5](loc0: Balance<Ty1>)
904public swap_kriya_v3_b_a<Ty0, Ty1>(Arg0: &Clock, Arg1: &mut Pool<Ty0, Ty1>, Arg2: &Version, Arg3: Balance<Ty1>, Arg4: &mut TxContext): Balance<Ty0> {
905L5: loc0: Balance<Ty0>
906L6: loc1: Balance<Ty1>
908L8: loc3: FlashSwapReceipt
9100CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
9122Call 4pool::sqrt_price<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
9144CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
9177ImmBorrowLoc[3](Arg3: Balance<Ty1>)
9188Call balance::value<Ty1>(&Balance<Ty1>): u64
9199MoveLoc[7](loc2: u128)
92212MoveLoc[0](Arg0: &Clock)
92313CopyLoc[2](Arg2: &Version)
92414CopyLoc[4](Arg4: &mut TxContext)
92616Call trade::flash_swap<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, bool, bool, u64, u128, &Clock, &Version, &TxContext): Balance<Ty0> * Balance<Ty1> * FlashSwapReceipt
92717StLoc[8](loc3: FlashSwapReceipt)
92818StLoc[6](loc1: Balance<Ty1>)
92919StLoc[5](loc0: Balance<Ty0>)
93020MoveLoc[6](loc1: Balance<Ty1>)
93121Call balance::destroy_zero<Ty1>(Balance<Ty1>)
93222MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
93323MoveLoc[8](loc3: FlashSwapReceipt)
93424Call balance::zero<Ty0>(): Balance<Ty0>
93525MoveLoc[3](Arg3: Balance<Ty1>)
93626MoveLoc[2](Arg2: &Version)
93727MoveLoc[4](Arg4: &mut TxContext)
93929Call trade::repay_flash_swap<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, FlashSwapReceipt, Balance<Ty0>, Balance<Ty1>, &Version, &TxContext)
94030MoveLoc[5](loc0: Balance<Ty0>)
944public swap_kriyaswap_a_b<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Balance<Ty0>, Arg2: &mut TxContext): Balance<Ty1> {
9470ImmBorrowLoc[1](Arg1: Balance<Ty0>)
9481Call balance::value<Ty0>(&Balance<Ty0>): u64
9503MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
9514MoveLoc[1](Arg1: Balance<Ty0>)
9525CopyLoc[2](Arg2: &mut TxContext)
9536Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
9547MoveLoc[3](loc0: u64)
9569MoveLoc[2](Arg2: &mut TxContext)
95710Call spot_dex::swap_token_x<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, Coin<Ty0>, u64, u64, &mut TxContext): Coin<Ty1>
95811Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
962public swap_kriyaswap_b_a<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Balance<Ty1>, Arg2: &mut TxContext): Balance<Ty0> {
9650ImmBorrowLoc[1](Arg1: Balance<Ty1>)
9661Call balance::value<Ty1>(&Balance<Ty1>): u64
9683MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
9694MoveLoc[1](Arg1: Balance<Ty1>)
9705CopyLoc[2](Arg2: &mut TxContext)
9716Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
9727MoveLoc[3](loc0: u64)
9749MoveLoc[2](Arg2: &mut TxContext)
97510Call spot_dex::swap_token_y<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, Coin<Ty1>, u64, u64, &mut TxContext): Coin<Ty0>
97611Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
980public swap_suiswap_a_b<Ty0, Ty1>(Arg0: &Clock, Arg1: &mut Pool<Ty0, Ty1>, Arg2: Balance<Ty0>, Arg3: u64, Arg4: &mut TxContext): Balance<Ty1> {
982L6: loc1: Balance<Ty1>
983L7: loc2: Balance<Ty0>
985L9: loc4: vector<Coin<Ty0>>
9870Call vector::empty<Coin<Ty0>>(): vector<Coin<Ty0>>
9881StLoc[9](loc4: vector<Coin<Ty0>>)
9892ImmBorrowLoc[2](Arg2: Balance<Ty0>)
9903Call balance::value<Ty0>(&Balance<Ty0>): u64
9925MutBorrowLoc[9](loc4: vector<Coin<Ty0>>)
9936MoveLoc[2](Arg2: Balance<Ty0>)
9947CopyLoc[4](Arg4: &mut TxContext)
9958Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
9969Call vector::push_back<Coin<Ty0>>(&mut vector<Coin<Ty0>>, Coin<Ty0>)
99710MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
99811MoveLoc[9](loc4: vector<Coin<Ty0>>)
99912MoveLoc[5](loc0: u64)
100013MoveLoc[0](Arg0: &Clock)
100114MoveLoc[4](Arg4: &mut TxContext)
100215Call 5pool::do_swap_x_to_y_direct<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, vector<Coin<Ty0>>, u64, &Clock, &mut TxContext): Coin<Ty0> * Coin<Ty1>
100316StLoc[8](loc3: Coin<Ty1>)
100417Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
100518StLoc[7](loc2: Balance<Ty0>)
100619MoveLoc[8](loc3: Coin<Ty1>)
100720Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
100821StLoc[6](loc1: Balance<Ty1>)
100922ImmBorrowLoc[6](loc1: Balance<Ty1>)
101023Call balance::value<Ty1>(&Balance<Ty1>): u64
101124MoveLoc[3](Arg3: u64)
102030ImmBorrowLoc[7](loc2: Balance<Ty0>)
102131Call balance::value<Ty0>(&Balance<Ty0>): u64
103138MoveLoc[7](loc2: Balance<Ty0>)
103239Call balance::destroy_zero<Ty0>(Balance<Ty0>)
103340MoveLoc[6](loc1: Balance<Ty1>)
1037public swap_suiswap_b_a<Ty0, Ty1>(Arg0: &Clock, Arg1: &mut Pool<Ty0, Ty1>, Arg2: Balance<Ty1>, Arg3: u64, Arg4: &mut TxContext): Balance<Ty0> {
1039L6: loc1: Balance<Ty0>
1040L7: loc2: Balance<Ty1>
1043L10: loc5: vector<Coin<Ty1>>
10450Call vector::empty<Coin<Ty1>>(): vector<Coin<Ty1>>
10461StLoc[10](loc5: vector<Coin<Ty1>>)
10472ImmBorrowLoc[2](Arg2: Balance<Ty1>)
10483Call balance::value<Ty1>(&Balance<Ty1>): u64
10505MutBorrowLoc[10](loc5: vector<Coin<Ty1>>)
10516MoveLoc[2](Arg2: Balance<Ty1>)
10527CopyLoc[4](Arg4: &mut TxContext)
10538Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
10549Call vector::push_back<Coin<Ty1>>(&mut vector<Coin<Ty1>>, Coin<Ty1>)
105510MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
105611MoveLoc[10](loc5: vector<Coin<Ty1>>)
105712MoveLoc[5](loc0: u64)
105813MoveLoc[0](Arg0: &Clock)
105914MoveLoc[4](Arg4: &mut TxContext)
106015Call 5pool::do_swap_y_to_x_direct<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, vector<Coin<Ty1>>, u64, &Clock, &mut TxContext): Coin<Ty1> * Coin<Ty0>
106116StLoc[8](loc3: Coin<Ty0>)
106217StLoc[9](loc4: Coin<Ty1>)
106318MoveLoc[8](loc3: Coin<Ty0>)
106419Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
106520StLoc[6](loc1: Balance<Ty0>)
106621MoveLoc[9](loc4: Coin<Ty1>)
106722Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
106823StLoc[7](loc2: Balance<Ty1>)
106924ImmBorrowLoc[6](loc1: Balance<Ty0>)
107025Call balance::value<Ty0>(&Balance<Ty0>): u64
107126MoveLoc[3](Arg3: u64)
108032ImmBorrowLoc[7](loc2: Balance<Ty1>)
108133Call balance::value<Ty1>(&Balance<Ty1>): u64
109140MoveLoc[7](loc2: Balance<Ty1>)
109241Call balance::destroy_zero<Ty1>(Balance<Ty1>)
109342MoveLoc[6](loc1: Balance<Ty0>)
1097public swap_turbos_a_b<Ty0, Ty1, Ty2>(Arg0: &mut Pool<Ty0, Ty1, Ty2>, Arg1: Balance<Ty0>, Arg2: &Clock, Arg3: &Versioned, Arg4: &mut TxContext): Balance<Ty1> {
1099L6: loc1: Balance<Ty1>
1101L8: loc3: vector<Coin<Ty0>>
11040Call vector::empty<Coin<Ty0>>(): vector<Coin<Ty0>>
11051StLoc[8](loc3: vector<Coin<Ty0>>)
11062ImmBorrowLoc[1](Arg1: Balance<Ty0>)
11073Call balance::value<Ty0>(&Balance<Ty0>): u64
11095MutBorrowLoc[8](loc3: vector<Coin<Ty0>>)
11106MoveLoc[1](Arg1: Balance<Ty0>)
11117CopyLoc[4](Arg4: &mut TxContext)
11128Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
11139Call vector::push_back<Coin<Ty0>>(&mut vector<Coin<Ty0>>, Coin<Ty0>)
111410CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1, Ty2>)
111612Call 6pool::get_pool_sqrt_price<Ty0, Ty1, Ty2>(&Pool<Ty0, Ty1, Ty2>): u128
111713StLoc[9](loc4: u128)
111814MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1, Ty2>)
111915MoveLoc[8](loc3: vector<Coin<Ty0>>)
112016MoveLoc[5](loc0: u64)
112218MoveLoc[9](loc4: u128)
112622CopyLoc[4](Arg4: &mut TxContext)
112824Call tx_context::sender(&TxContext): address
112925LdU64(3000000000000)
113026MoveLoc[2](Arg2: &Clock)
113127MoveLoc[3](Arg3: &Versioned)
113228MoveLoc[4](Arg4: &mut TxContext)
113329Call swap_router::swap_a_b_with_return_<Ty0, Ty1, Ty2>(&mut Pool<Ty0, Ty1, Ty2>, vector<Coin<Ty0>>, u64, u64, u128, bool, address, u64, &Clock, &Versioned, &mut TxContext): Coin<Ty1> * Coin<Ty0>
113430StLoc[7](loc2: Coin<Ty0>)
113531Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
113632StLoc[6](loc1: Balance<Ty1>)
113733MoveLoc[7](loc2: Coin<Ty0>)
113834Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
113935Call balance::destroy_zero<Ty0>(Balance<Ty0>)
114036MoveLoc[6](loc1: Balance<Ty1>)
1144public swap_turbos_b_a<Ty0, Ty1, Ty2>(Arg0: &mut Pool<Ty0, Ty1, Ty2>, Arg1: Balance<Ty1>, Arg2: &Clock, Arg3: &Versioned, Arg4: &mut TxContext): Balance<Ty0> {
1146L6: loc1: Balance<Ty0>
1148L8: loc3: vector<Coin<Ty1>>
11510Call vector::empty<Coin<Ty1>>(): vector<Coin<Ty1>>
11521StLoc[8](loc3: vector<Coin<Ty1>>)
11532ImmBorrowLoc[1](Arg1: Balance<Ty1>)
11543Call balance::value<Ty1>(&Balance<Ty1>): u64
11565MutBorrowLoc[8](loc3: vector<Coin<Ty1>>)
11576MoveLoc[1](Arg1: Balance<Ty1>)
11587CopyLoc[4](Arg4: &mut TxContext)
11598Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
11609Call vector::push_back<Coin<Ty1>>(&mut vector<Coin<Ty1>>, Coin<Ty1>)
116110CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1, Ty2>)
116312Call 6pool::get_pool_sqrt_price<Ty0, Ty1, Ty2>(&Pool<Ty0, Ty1, Ty2>): u128
116413StLoc[9](loc4: u128)
116514MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1, Ty2>)
116615MoveLoc[8](loc3: vector<Coin<Ty1>>)
116716MoveLoc[5](loc0: u64)
116918MoveLoc[9](loc4: u128)
117322CopyLoc[4](Arg4: &mut TxContext)
117524Call tx_context::sender(&TxContext): address
117625LdU64(3000000000000)
117726MoveLoc[2](Arg2: &Clock)
117827MoveLoc[3](Arg3: &Versioned)
117928MoveLoc[4](Arg4: &mut TxContext)
118029Call swap_router::swap_b_a_with_return_<Ty0, Ty1, Ty2>(&mut Pool<Ty0, Ty1, Ty2>, vector<Coin<Ty1>>, u64, u64, u128, bool, address, u64, &Clock, &Versioned, &mut TxContext): Coin<Ty0> * Coin<Ty1>
118130StLoc[7](loc2: Coin<Ty1>)
118231Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
118332StLoc[6](loc1: Balance<Ty0>)
118433MoveLoc[7](loc2: Coin<Ty1>)
118534Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
118635Call balance::destroy_zero<Ty1>(Balance<Ty1>)
118736MoveLoc[6](loc1: Balance<Ty0>)
1191public bf_a<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: Balance<Ty0>, Arg4: &mut TxContext): Balance<Ty1> {
1194L7: loc2: Balance<Ty1>
11960ImmBorrowLoc[3](Arg3: Balance<Ty0>)
11971Call balance::value<Ty0>(&Balance<Ty0>): u64
11993CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
12015Call 0pool::current_sqrt_price<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
12026StLoc[6](loc1: u128)
12037MoveLoc[0](Arg0: &Clock)
12048MoveLoc[1](Arg1: &GlobalConfig)
12059MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
120610MoveLoc[3](Arg3: Balance<Ty0>)
120711Call balance::zero<Ty1>(): Balance<Ty1>
121014MoveLoc[5](loc0: u64)
121216MoveLoc[6](loc1: u128)
121519Call 0pool::swap<Ty0, Ty1>(&Clock, &GlobalConfig, &mut Pool<Ty0, Ty1>, Balance<Ty0>, Balance<Ty1>, bool, bool, u64, u64, u128): Balance<Ty0> * Balance<Ty1>
121620StLoc[7](loc2: Balance<Ty1>)
121721Call balance::destroy_zero<Ty0>(Balance<Ty0>)
121822MoveLoc[7](loc2: Balance<Ty1>)
1222public bf_b<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: Balance<Ty1>, Arg4: &mut TxContext): Balance<Ty0> {
1225L7: loc2: Balance<Ty0>
1226L8: loc3: Balance<Ty1>
12280ImmBorrowLoc[3](Arg3: Balance<Ty1>)
12291Call balance::value<Ty1>(&Balance<Ty1>): u64
12313CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
12335Call 0pool::current_sqrt_price<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
12346StLoc[6](loc1: u128)
12357MoveLoc[0](Arg0: &Clock)
12368MoveLoc[1](Arg1: &GlobalConfig)
12379MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
123810Call balance::zero<Ty0>(): Balance<Ty0>
123911MoveLoc[3](Arg3: Balance<Ty1>)
124214MoveLoc[5](loc0: u64)
124416MoveLoc[6](loc1: u128)
124719Call 0pool::swap<Ty0, Ty1>(&Clock, &GlobalConfig, &mut Pool<Ty0, Ty1>, Balance<Ty0>, Balance<Ty1>, bool, bool, u64, u64, u128): Balance<Ty0> * Balance<Ty1>
124820StLoc[8](loc3: Balance<Ty1>)
124921StLoc[7](loc2: Balance<Ty0>)
125022MoveLoc[8](loc3: Balance<Ty1>)
125123Call balance::destroy_zero<Ty1>(Balance<Ty1>)
125224MoveLoc[7](loc2: Balance<Ty0>)
1256public take_balance_a_to_receipt<Ty0, Ty1, Ty2>(Arg0: &mut SwapReceipt<Ty0, Ty1, Ty2>, Arg1: Balance<Ty0>, Arg2: &mut TxContext) {
12580ImmBorrowLoc[1](Arg1: Balance<Ty0>)
12591Call balance::value<Ty0>(&Balance<Ty0>): u64
12613Call event::emit<Output>(Output)
12624MoveLoc[0](Arg0: &mut SwapReceipt<Ty0, Ty1, Ty2>)
12635MutBorrowFieldGeneric[0](SwapReceipt.balance_a: Balance<Ty0>)
12646MoveLoc[1](Arg1: Balance<Ty0>)
12657Call balance::join<Ty0>(&mut Balance<Ty0>, Balance<Ty0>): u64
1270public take_balance_b_to_receipt<Ty0, Ty1, Ty2>(Arg0: &mut SwapReceipt<Ty0, Ty1, Ty2>, Arg1: Balance<Ty1>, Arg2: &mut TxContext) {
12720ImmBorrowLoc[1](Arg1: Balance<Ty1>)
12731Call balance::value<Ty1>(&Balance<Ty1>): u64
12753Call event::emit<Output>(Output)
12764MoveLoc[0](Arg0: &mut SwapReceipt<Ty0, Ty1, Ty2>)
12775MutBorrowFieldGeneric[1](SwapReceipt.balance_b: Balance<Ty1>)
12786MoveLoc[1](Arg1: Balance<Ty1>)
12797Call balance::join<Ty1>(&mut Balance<Ty1>, Balance<Ty1>): u64
1284public show_balance<Ty0>(Arg0: Balance<Ty0>): Balance<Ty0> {
12860ImmBorrowLoc[0](Arg0: Balance<Ty0>)
12871Call balance::value<Ty0>(&Balance<Ty0>): u64
12893Call event::emit<Output>(Output)
12904MoveLoc[0](Arg0: Balance<Ty0>)
1294public m<Ty0>(Arg0: &mut Coin<Ty0>, Arg1: Balance<Ty0>, Arg2: &mut TxContext) {
12960MoveLoc[0](Arg0: &mut Coin<Ty0>)
12971MoveLoc[1](Arg1: Balance<Ty0>)
12982MoveLoc[2](Arg2: &mut TxContext)
12993Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
13004Call coin::join<Ty0>(&mut Coin<Ty0>, Coin<Ty0>)