@cetuspackages/integrate::router bytecode | tide- Move path
- 0x996c…12c3::router
- Functions
- 77 public, 0 entry
- Structs
- 2
- Friend modules
- None
router
The on-chain disassembly. Offsets are bytecode positions within each function.
1// Move bytecode v7
2module 996c4d9480708fb8b92aa7acf819fb0497b5ec8e65ba06601cae2fb6db3312c3.router {
3use 1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::config;
4use 1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::pool;
5use 996c4d9480708fb8b92aa7acf819fb0497b5ec8e65ba06601cae2fb6db3312c3::expect_swap;
6use 0000000000000000000000000000000000000000000000000000000000000002::balance;
7
use 0000000000000000000000000000000000000000000000000000000000000002::clock;
8use 0000000000000000000000000000000000000000000000000000000000000002::coin;
9use 0000000000000000000000000000000000000000000000000000000000000002::event;
10use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
12struct CalculatedRouterSwapResult has copy, drop, store {
17 current_sqrt_price_ab: u128,
18 current_sqrt_price_cd: u128,
19 target_sqrt_price_ab: u128,
20 target_sqrt_price_cd: u128
23struct CalculatedRouterSwapResultEvent has copy, drop, store {
24 data: CalculatedRouterSwapResult
27public swap<Ty0, Ty1>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty0, Ty1>, Arg2: Coin<Ty0>, Arg3: Coin<Ty1>, Arg4: bool, Arg5: bool, Arg6: u64, Arg7: u128, Arg8: bool, Arg9: &Clock, Arg10: &mut TxContext): Coin<Ty0> * Coin<Ty1> {
32L15: loc4: Balance<Ty0>
33L16: loc5: Balance<Ty1>
34L17: loc6: FlashSwapReceipt<Ty0, Ty1>
37L20: loc9: Balance<Ty0>
38L21: loc10: Balance<Ty1>
39L22: loc11: Balance<Ty0>
40L23: loc12: Balance<Ty1>
420CopyLoc[5](Arg5: bool)
452MoveLoc[8](Arg8: bool)
527MoveLoc[11](loc0: bool)
559CopyLoc[4](Arg4: bool)
5811ImmBorrowLoc[2](Arg2: Coin<Ty0>)
5912Call coin::value<Ty0>(&Coin<Ty0>): u64
6315ImmBorrowLoc[3](Arg3: Coin<Ty1>)
6416Call coin::value<Ty1>(&Coin<Ty1>): u64
6718MoveLoc[12](loc1: u64)
7020CopyLoc[0](Arg0: &GlobalConfig)
7121CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
7222CopyLoc[4](Arg4: bool)
7323CopyLoc[5](Arg5: bool)
7424CopyLoc[6](Arg6: u64)
7525MoveLoc[7](Arg7: u128)
7626MoveLoc[9](Arg9: &Clock)
7727Call pool::flash_swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, bool, bool, u64, u128, &Clock): Balance<Ty0> * Balance<Ty1> * FlashSwapReceipt<Ty0, Ty1>
7828StLoc[17](loc6: FlashSwapReceipt<Ty0, Ty1>)
7929StLoc[23](loc12: Balance<Ty1>)
8030StLoc[22](loc11: Balance<Ty0>)
8131ImmBorrowLoc[17](loc6: FlashSwapReceipt<Ty0, Ty1>)
8232Call pool::swap_pay_amount<Ty0, Ty1>(&FlashSwapReceipt<Ty0, Ty1>): u64
8434CopyLoc[4](Arg4: bool)
8736ImmBorrowLoc[23](loc12: Balance<Ty1>)
8837Call balance::value<Ty1>(&Balance<Ty1>): u64
9240ImmBorrowLoc[22](loc11: Balance<Ty0>)
9341Call balance::value<Ty0>(&Balance<Ty0>): u64
9643MoveLoc[14](loc3: u64)
9744MoveLoc[13](loc2: u64)
10047MoveLoc[5](Arg5: bool)
10349CopyLoc[18](loc7: u64)
10450MoveLoc[6](Arg6: u64)
11054MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
11256MoveLoc[10](Arg10: &mut TxContext)
11458MoveLoc[0](Arg0: &GlobalConfig)
12163MoveLoc[19](loc8: u64)
12264MoveLoc[6](Arg6: u64)
12868MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
13070MoveLoc[10](Arg10: &mut TxContext)
13272MoveLoc[0](Arg0: &GlobalConfig)
13776MoveLoc[4](Arg4: bool)
14078ImmBorrowLoc[2](Arg2: Coin<Ty0>)
14179Call coin::value<Ty0>(&Coin<Ty0>): u64
14280CopyLoc[18](loc7: u64)
14884MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
15086MoveLoc[10](Arg10: &mut TxContext)
15288MoveLoc[0](Arg0: &GlobalConfig)
15792MutBorrowLoc[2](Arg2: Coin<Ty0>)
15893MoveLoc[18](loc7: u64)
15994CopyLoc[10](Arg10: &mut TxContext)
16095Call coin::split<Ty0>(&mut Coin<Ty0>, u64, &mut TxContext): Coin<Ty0>
16196Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
16297Call balance::zero<Ty1>(): Balance<Ty1>
16398StLoc[16](loc5: Balance<Ty1>)
16499StLoc[15](loc4: Balance<Ty0>)
167101Call balance::zero<Ty0>(): Balance<Ty0>
168102MutBorrowLoc[3](Arg3: Coin<Ty1>)
169103MoveLoc[18](loc7: u64)
170104CopyLoc[10](Arg10: &mut TxContext)
171105Call coin::split<Ty1>(&mut Coin<Ty1>, u64, &mut TxContext): Coin<Ty1>
172106Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
173107StLoc[16](loc5: Balance<Ty1>)
174108StLoc[15](loc4: Balance<Ty0>)
176109MoveLoc[15](loc4: Balance<Ty0>)
177110MoveLoc[16](loc5: Balance<Ty1>)
178111StLoc[21](loc10: Balance<Ty1>)
179112StLoc[20](loc9: Balance<Ty0>)
180113MutBorrowLoc[2](Arg2: Coin<Ty0>)
181114MoveLoc[22](loc11: Balance<Ty0>)
182115CopyLoc[10](Arg10: &mut TxContext)
183116Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
184117Call coin::join<Ty0>(&mut Coin<Ty0>, Coin<Ty0>)
185118MutBorrowLoc[3](Arg3: Coin<Ty1>)
186119MoveLoc[23](loc12: Balance<Ty1>)
187120MoveLoc[10](Arg10: &mut TxContext)
188121Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
189122Call coin::join<Ty1>(&mut Coin<Ty1>, Coin<Ty1>)
190123MoveLoc[0](Arg0: &GlobalConfig)
191124MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
192125MoveLoc[20](loc9: Balance<Ty0>)
193126MoveLoc[21](loc10: Balance<Ty1>)
194127MoveLoc[17](loc6: FlashSwapReceipt<Ty0, Ty1>)
195128Call pool::repay_flash_swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, Balance<Ty0>, Balance<Ty1>, FlashSwapReceipt<Ty0, Ty1>)
196129MoveLoc[2](Arg2: Coin<Ty0>)
197130MoveLoc[3](Arg3: Coin<Ty1>)
201public swap_ab_bc<Ty0, Ty1, Ty2>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty0, Ty1>, Arg2: &mut Pool<Ty1, Ty2>, Arg3: Coin<Ty0>, Arg4: Coin<Ty2>, Arg5: bool, Arg6: u64, Arg7: u64, Arg8: u128, Arg9: u128, Arg10: &Clock, Arg11: &mut TxContext): Coin<Ty0> * Coin<Ty2> {
212L22: loc10: FlashSwapReceipt<Ty1, Ty2>
214L24: loc12: Balance<Ty1>
215L25: loc13: Balance<Ty1>
216L26: loc14: Balance<Ty2>
2180MoveLoc[5](Arg5: bool)
2212CopyLoc[0](Arg0: &GlobalConfig)
2223MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
2234MoveLoc[3](Arg3: Coin<Ty0>)
2245CopyLoc[11](Arg11: &mut TxContext)
2256Call coin::zero<Ty1>(&mut TxContext): Coin<Ty1>
2289MoveLoc[6](Arg6: u64)
22910MoveLoc[8](Arg8: u128)
23112CopyLoc[10](Arg10: &Clock)
23213CopyLoc[11](Arg11: &mut TxContext)
23314Call swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, Coin<Ty0>, Coin<Ty1>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty0> * Coin<Ty1>
23415StLoc[17](loc5: Coin<Ty1>)
23516StLoc[15](loc3: Coin<Ty0>)
23617ImmBorrowLoc[17](loc5: Coin<Ty1>)
23718Call coin::value<Ty1>(&Coin<Ty1>): u64
23819StLoc[14](loc2: u64)
23920MoveLoc[0](Arg0: &GlobalConfig)
24021MoveLoc[2](Arg2: &mut Pool<Ty1, Ty2>)
24122MoveLoc[17](loc5: Coin<Ty1>)
24223MoveLoc[4](Arg4: Coin<Ty2>)
24526MoveLoc[14](loc2: u64)
24627MoveLoc[9](Arg9: u128)
24829MoveLoc[10](Arg10: &Clock)
24930MoveLoc[11](Arg11: &mut TxContext)
25031Call swap<Ty1, Ty2>(&GlobalConfig, &mut Pool<Ty1, Ty2>, Coin<Ty1>, Coin<Ty2>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty1> * Coin<Ty2>
25132StLoc[21](loc9: Coin<Ty2>)
25233StLoc[18](loc6: Coin<Ty1>)
25334ImmBorrowLoc[18](loc6: Coin<Ty1>)
25435Call coin::value<Ty1>(&Coin<Ty1>): u64
26442MoveLoc[18](loc6: Coin<Ty1>)
26543Call coin::destroy_zero<Ty1>(Coin<Ty1>)
26644MoveLoc[15](loc3: Coin<Ty0>)
26745MoveLoc[21](loc9: Coin<Ty2>)
26846StLoc[13](loc1: Coin<Ty2>)
26947StLoc[12](loc0: Coin<Ty0>)
27249CopyLoc[0](Arg0: &GlobalConfig)
27350CopyLoc[2](Arg2: &mut Pool<Ty1, Ty2>)
27653MoveLoc[7](Arg7: u64)
27754MoveLoc[9](Arg9: u128)
27855CopyLoc[10](Arg10: &Clock)
27956Call pool::flash_swap<Ty1, Ty2>(&GlobalConfig, &mut Pool<Ty1, Ty2>, bool, bool, u64, u128, &Clock): Balance<Ty1> * Balance<Ty2> * FlashSwapReceipt<Ty1, Ty2>
28057StLoc[22](loc10: FlashSwapReceipt<Ty1, Ty2>)
28158StLoc[26](loc14: Balance<Ty2>)
28259StLoc[24](loc12: Balance<Ty1>)
28360ImmBorrowLoc[22](loc10: FlashSwapReceipt<Ty1, Ty2>)
28461Call pool::swap_pay_amount<Ty1, Ty2>(&FlashSwapReceipt<Ty1, Ty2>): u64
28562StLoc[23](loc11: u64)
28663MoveLoc[24](loc12: Balance<Ty1>)
28764CopyLoc[11](Arg11: &mut TxContext)
28865Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
28966StLoc[19](loc7: Coin<Ty1>)
29067CopyLoc[0](Arg0: &GlobalConfig)
29168MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
29269MoveLoc[3](Arg3: Coin<Ty0>)
29370MoveLoc[19](loc7: Coin<Ty1>)
29673MoveLoc[23](loc11: u64)
29774MoveLoc[8](Arg8: u128)
29976MoveLoc[10](Arg10: &Clock)
30077CopyLoc[11](Arg11: &mut TxContext)
30178Call swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, Coin<Ty0>, Coin<Ty1>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty0> * Coin<Ty1>
30279StLoc[20](loc8: Coin<Ty1>)
30380StLoc[16](loc4: Coin<Ty0>)
30481MoveLoc[20](loc8: Coin<Ty1>)
30582Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
30683StLoc[25](loc13: Balance<Ty1>)
30784MoveLoc[0](Arg0: &GlobalConfig)
30885MoveLoc[2](Arg2: &mut Pool<Ty1, Ty2>)
30986MoveLoc[25](loc13: Balance<Ty1>)
31087Call balance::zero<Ty2>(): Balance<Ty2>
31188MoveLoc[22](loc10: FlashSwapReceipt<Ty1, Ty2>)
31289Call pool::repay_flash_swap<Ty1, Ty2>(&GlobalConfig, &mut Pool<Ty1, Ty2>, Balance<Ty1>, Balance<Ty2>, FlashSwapReceipt<Ty1, Ty2>)
31390MutBorrowLoc[4](Arg4: Coin<Ty2>)
31491MoveLoc[26](loc14: Balance<Ty2>)
31592MoveLoc[11](Arg11: &mut TxContext)
31693Call coin::from_balance<Ty2>(Balance<Ty2>, &mut TxContext): Coin<Ty2>
31794Call coin::join<Ty2>(&mut Coin<Ty2>, Coin<Ty2>)
31895MoveLoc[16](loc4: Coin<Ty0>)
31996MoveLoc[4](Arg4: Coin<Ty2>)
32097StLoc[13](loc1: Coin<Ty2>)
32198StLoc[12](loc0: Coin<Ty0>)
32399MoveLoc[12](loc0: Coin<Ty0>)
324100MoveLoc[13](loc1: Coin<Ty2>)
328public swap_ab_cb<Ty0, Ty1, Ty2>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty0, Ty1>, Arg2: &mut Pool<Ty2, Ty1>, Arg3: Coin<Ty0>, Arg4: Coin<Ty2>, Arg5: bool, Arg6: u64, Arg7: u64, Arg8: u128, Arg9: u128, Arg10: &Clock, Arg11: &mut TxContext): Coin<Ty0> * Coin<Ty2> {
339L22: loc10: FlashSwapReceipt<Ty2, Ty1>
341L24: loc12: Balance<Ty1>
342L25: loc13: Balance<Ty1>
343L26: loc14: Balance<Ty2>
3450CopyLoc[5](Arg5: bool)
3482CopyLoc[0](Arg0: &GlobalConfig)
3493MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3504MoveLoc[3](Arg3: Coin<Ty0>)
3515CopyLoc[11](Arg11: &mut TxContext)
3526Call coin::zero<Ty1>(&mut TxContext): Coin<Ty1>
3548MoveLoc[5](Arg5: bool)
3559MoveLoc[6](Arg6: u64)
35610MoveLoc[8](Arg8: u128)
35812CopyLoc[10](Arg10: &Clock)
35913CopyLoc[11](Arg11: &mut TxContext)
36014Call swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, Coin<Ty0>, Coin<Ty1>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty0> * Coin<Ty1>
36115StLoc[17](loc5: Coin<Ty1>)
36216StLoc[15](loc3: Coin<Ty0>)
36317ImmBorrowLoc[17](loc5: Coin<Ty1>)
36418Call coin::value<Ty1>(&Coin<Ty1>): u64
36519StLoc[14](loc2: u64)
36620MoveLoc[0](Arg0: &GlobalConfig)
36721MoveLoc[2](Arg2: &mut Pool<Ty2, Ty1>)
36822MoveLoc[4](Arg4: Coin<Ty2>)
36923MoveLoc[17](loc5: Coin<Ty1>)
37226MoveLoc[14](loc2: u64)
37327MoveLoc[9](Arg9: u128)
37529MoveLoc[10](Arg10: &Clock)
37630MoveLoc[11](Arg11: &mut TxContext)
37731Call swap<Ty2, Ty1>(&GlobalConfig, &mut Pool<Ty2, Ty1>, Coin<Ty2>, Coin<Ty1>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty2> * Coin<Ty1>
37832StLoc[18](loc6: Coin<Ty1>)
37933StLoc[21](loc9: Coin<Ty2>)
38034ImmBorrowLoc[18](loc6: Coin<Ty1>)
38135Call coin::value<Ty1>(&Coin<Ty1>): u64
39142MoveLoc[18](loc6: Coin<Ty1>)
39243Call coin::destroy_zero<Ty1>(Coin<Ty1>)
39344MoveLoc[15](loc3: Coin<Ty0>)
39445MoveLoc[21](loc9: Coin<Ty2>)
39546StLoc[13](loc1: Coin<Ty2>)
39647StLoc[12](loc0: Coin<Ty0>)
39949CopyLoc[0](Arg0: &GlobalConfig)
40050CopyLoc[2](Arg2: &mut Pool<Ty2, Ty1>)
40353MoveLoc[7](Arg7: u64)
40454MoveLoc[9](Arg9: u128)
40555CopyLoc[10](Arg10: &Clock)
40656Call pool::flash_swap<Ty2, Ty1>(&GlobalConfig, &mut Pool<Ty2, Ty1>, bool, bool, u64, u128, &Clock): Balance<Ty2> * Balance<Ty1> * FlashSwapReceipt<Ty2, Ty1>
40757StLoc[22](loc10: FlashSwapReceipt<Ty2, Ty1>)
40858StLoc[24](loc12: Balance<Ty1>)
40959StLoc[26](loc14: Balance<Ty2>)
41060ImmBorrowLoc[22](loc10: FlashSwapReceipt<Ty2, Ty1>)
41161Call pool::swap_pay_amount<Ty2, Ty1>(&FlashSwapReceipt<Ty2, Ty1>): u64
41262StLoc[23](loc11: u64)
41363MoveLoc[24](loc12: Balance<Ty1>)
41464CopyLoc[11](Arg11: &mut TxContext)
41565Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
41666StLoc[19](loc7: Coin<Ty1>)
41767CopyLoc[0](Arg0: &GlobalConfig)
41868MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
41969MoveLoc[3](Arg3: Coin<Ty0>)
42070MoveLoc[19](loc7: Coin<Ty1>)
42373MoveLoc[23](loc11: u64)
42474MoveLoc[8](Arg8: u128)
42676MoveLoc[10](Arg10: &Clock)
42777CopyLoc[11](Arg11: &mut TxContext)
42878Call swap<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, Coin<Ty0>, Coin<Ty1>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty0> * Coin<Ty1>
42979StLoc[20](loc8: Coin<Ty1>)
43080StLoc[16](loc4: Coin<Ty0>)
43181MoveLoc[20](loc8: Coin<Ty1>)
43282Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
43383StLoc[25](loc13: Balance<Ty1>)
43484MoveLoc[0](Arg0: &GlobalConfig)
43585MoveLoc[2](Arg2: &mut Pool<Ty2, Ty1>)
43686Call balance::zero<Ty2>(): Balance<Ty2>
43787MoveLoc[25](loc13: Balance<Ty1>)
43888MoveLoc[22](loc10: FlashSwapReceipt<Ty2, Ty1>)
43989Call pool::repay_flash_swap<Ty2, Ty1>(&GlobalConfig, &mut Pool<Ty2, Ty1>, Balance<Ty2>, Balance<Ty1>, FlashSwapReceipt<Ty2, Ty1>)
44090MutBorrowLoc[4](Arg4: Coin<Ty2>)
44191MoveLoc[26](loc14: Balance<Ty2>)
44292MoveLoc[11](Arg11: &mut TxContext)
44393Call coin::from_balance<Ty2>(Balance<Ty2>, &mut TxContext): Coin<Ty2>
44494Call coin::join<Ty2>(&mut Coin<Ty2>, Coin<Ty2>)
44595MoveLoc[16](loc4: Coin<Ty0>)
44696MoveLoc[4](Arg4: Coin<Ty2>)
44797StLoc[13](loc1: Coin<Ty2>)
44898StLoc[12](loc0: Coin<Ty0>)
45099MoveLoc[12](loc0: Coin<Ty0>)
451100MoveLoc[13](loc1: Coin<Ty2>)
455public swap_ba_bc<Ty0, Ty1, Ty2>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty1, Ty0>, Arg2: &mut Pool<Ty1, Ty2>, Arg3: Coin<Ty0>, Arg4: Coin<Ty2>, Arg5: bool, Arg6: u64, Arg7: u64, Arg8: u128, Arg9: u128, Arg10: &Clock, Arg11: &mut TxContext): Coin<Ty0> * Coin<Ty2> {
465L21: loc9: FlashSwapReceipt<Ty1, Ty2>
467L23: loc11: Balance<Ty1>
468L24: loc12: Balance<Ty1>
469L25: loc13: Balance<Ty2>
4710CopyLoc[5](Arg5: bool)
4742CopyLoc[0](Arg0: &GlobalConfig)
4753MoveLoc[1](Arg1: &mut Pool<Ty1, Ty0>)
4764CopyLoc[11](Arg11: &mut TxContext)
4775Call coin::zero<Ty1>(&mut TxContext): Coin<Ty1>
4786MoveLoc[3](Arg3: Coin<Ty0>)
4808MoveLoc[5](Arg5: bool)
4819MoveLoc[6](Arg6: u64)
48210MoveLoc[8](Arg8: u128)
48412CopyLoc[10](Arg10: &Clock)
48513CopyLoc[11](Arg11: &mut TxContext)
48614Call swap<Ty1, Ty0>(&GlobalConfig, &mut Pool<Ty1, Ty0>, Coin<Ty1>, Coin<Ty0>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty1> * Coin<Ty0>
48715StLoc[15](loc3: Coin<Ty0>)
48816StLoc[17](loc5: Coin<Ty1>)
48917ImmBorrowLoc[17](loc5: Coin<Ty1>)
49018Call coin::value<Ty1>(&Coin<Ty1>): u64
49119StLoc[14](loc2: u64)
49220MoveLoc[0](Arg0: &GlobalConfig)
49321MoveLoc[2](Arg2: &mut Pool<Ty1, Ty2>)
49422MoveLoc[17](loc5: Coin<Ty1>)
49523MoveLoc[4](Arg4: Coin<Ty2>)
49826MoveLoc[14](loc2: u64)
49927MoveLoc[9](Arg9: u128)
50129MoveLoc[10](Arg10: &Clock)
50230MoveLoc[11](Arg11: &mut TxContext)
50331Call swap<Ty1, Ty2>(&GlobalConfig, &mut Pool<Ty1, Ty2>, Coin<Ty1>, Coin<Ty2>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty1> * Coin<Ty2>
50432StLoc[20](loc8: Coin<Ty2>)
50533StLoc[18](loc6: Coin<Ty1>)
50634ImmBorrowLoc[18](loc6: Coin<Ty1>)
50735Call coin::value<Ty1>(&Coin<Ty1>): u64
51742MoveLoc[18](loc6: Coin<Ty1>)
51843Call coin::destroy_zero<Ty1>(Coin<Ty1>)
51944MoveLoc[15](loc3: Coin<Ty0>)
52045MoveLoc[20](loc8: Coin<Ty2>)
52146StLoc[13](loc1: Coin<Ty2>)
52247StLoc[12](loc0: Coin<Ty0>)
52549CopyLoc[0](Arg0: &GlobalConfig)
52650CopyLoc[2](Arg2: &mut Pool<Ty1, Ty2>)
52953MoveLoc[7](Arg7: u64)
53054MoveLoc[9](Arg9: u128)
53155CopyLoc[10](Arg10: &Clock)
53256Call pool::flash_swap<Ty1, Ty2>(&GlobalConfig, &mut Pool<Ty1, Ty2>, bool, bool, u64, u128, &Clock): Balance<Ty1> * Balance<Ty2> * FlashSwapReceipt<Ty1, Ty2>
53357StLoc[21](loc9: FlashSwapReceipt<Ty1, Ty2>)
53458StLoc[25](loc13: Balance<Ty2>)
53559StLoc[23](loc11: Balance<Ty1>)
53660ImmBorrowLoc[21](loc9: FlashSwapReceipt<Ty1, Ty2>)
53761Call pool::swap_pay_amount<Ty1, Ty2>(&FlashSwapReceipt<Ty1, Ty2>): u64
53862StLoc[22](loc10: u64)
53963MoveLoc[23](loc11: Balance<Ty1>)
54064CopyLoc[11](Arg11: &mut TxContext)
54165Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
54266StLoc[19](loc7: Coin<Ty1>)
54367CopyLoc[0](Arg0: &GlobalConfig)
54468MoveLoc[1](Arg1: &mut Pool<Ty1, Ty0>)
54569MoveLoc[19](loc7: Coin<Ty1>)
54670MoveLoc[3](Arg3: Coin<Ty0>)
54973MoveLoc[22](loc10: u64)
55074MoveLoc[8](Arg8: u128)
55276MoveLoc[10](Arg10: &Clock)
55377CopyLoc[11](Arg11: &mut TxContext)
55478Call swap<Ty1, Ty0>(&GlobalConfig, &mut Pool<Ty1, Ty0>, Coin<Ty1>, Coin<Ty0>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty1> * Coin<Ty0>
55579StLoc[16](loc4: Coin<Ty0>)
55680Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
55781StLoc[24](loc12: Balance<Ty1>)
55882MoveLoc[0](Arg0: &GlobalConfig)
55983MoveLoc[2](Arg2: &mut Pool<Ty1, Ty2>)
56084MoveLoc[24](loc12: Balance<Ty1>)
56185Call balance::zero<Ty2>(): Balance<Ty2>
56286MoveLoc[21](loc9: FlashSwapReceipt<Ty1, Ty2>)
56387Call pool::repay_flash_swap<Ty1, Ty2>(&GlobalConfig, &mut Pool<Ty1, Ty2>, Balance<Ty1>, Balance<Ty2>, FlashSwapReceipt<Ty1, Ty2>)
56488MutBorrowLoc[4](Arg4: Coin<Ty2>)
56589MoveLoc[25](loc13: Balance<Ty2>)
56690MoveLoc[11](Arg11: &mut TxContext)
56791Call coin::from_balance<Ty2>(Balance<Ty2>, &mut TxContext): Coin<Ty2>
56892Call coin::join<Ty2>(&mut Coin<Ty2>, Coin<Ty2>)
56993MoveLoc[16](loc4: Coin<Ty0>)
57094MoveLoc[4](Arg4: Coin<Ty2>)
57195StLoc[13](loc1: Coin<Ty2>)
57296StLoc[12](loc0: Coin<Ty0>)
57497MoveLoc[12](loc0: Coin<Ty0>)
57598MoveLoc[13](loc1: Coin<Ty2>)
579public swap_ba_cb<Ty0, Ty1, Ty2>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty1, Ty0>, Arg2: &mut Pool<Ty2, Ty1>, Arg3: Coin<Ty0>, Arg4: Coin<Ty2>, Arg5: bool, Arg6: u64, Arg7: u64, Arg8: u128, Arg9: u128, Arg10: &Clock, Arg11: &mut TxContext): Coin<Ty0> * Coin<Ty2> {
589L21: loc9: FlashSwapReceipt<Ty2, Ty1>
591L23: loc11: Balance<Ty1>
592L24: loc12: Balance<Ty1>
593L25: loc13: Balance<Ty2>
5950CopyLoc[5](Arg5: bool)
5982CopyLoc[0](Arg0: &GlobalConfig)
5993MoveLoc[1](Arg1: &mut Pool<Ty1, Ty0>)
6004CopyLoc[11](Arg11: &mut TxContext)
6015Call coin::zero<Ty1>(&mut TxContext): Coin<Ty1>
6026MoveLoc[3](Arg3: Coin<Ty0>)
6059MoveLoc[6](Arg6: u64)
60610MoveLoc[8](Arg8: u128)
60812CopyLoc[10](Arg10: &Clock)
60913CopyLoc[11](Arg11: &mut TxContext)
61014Call swap<Ty1, Ty0>(&GlobalConfig, &mut Pool<Ty1, Ty0>, Coin<Ty1>, Coin<Ty0>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty1> * Coin<Ty0>
61115StLoc[15](loc3: Coin<Ty0>)
61216StLoc[17](loc5: Coin<Ty1>)
61317ImmBorrowLoc[17](loc5: Coin<Ty1>)
61418Call coin::value<Ty1>(&Coin<Ty1>): u64
61519StLoc[14](loc2: u64)
61620MoveLoc[0](Arg0: &GlobalConfig)
61721MoveLoc[2](Arg2: &mut Pool<Ty2, Ty1>)
61822MoveLoc[4](Arg4: Coin<Ty2>)
61923MoveLoc[17](loc5: Coin<Ty1>)
62125MoveLoc[5](Arg5: bool)
62226MoveLoc[14](loc2: u64)
62327MoveLoc[9](Arg9: u128)
62529MoveLoc[10](Arg10: &Clock)
62630MoveLoc[11](Arg11: &mut TxContext)
62731Call swap<Ty2, Ty1>(&GlobalConfig, &mut Pool<Ty2, Ty1>, Coin<Ty2>, Coin<Ty1>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty2> * Coin<Ty1>
62832StLoc[18](loc6: Coin<Ty1>)
62933StLoc[20](loc8: Coin<Ty2>)
63034ImmBorrowLoc[18](loc6: Coin<Ty1>)
63135Call coin::value<Ty1>(&Coin<Ty1>): u64
64142MoveLoc[18](loc6: Coin<Ty1>)
64243Call coin::destroy_zero<Ty1>(Coin<Ty1>)
64344MoveLoc[15](loc3: Coin<Ty0>)
64445MoveLoc[20](loc8: Coin<Ty2>)
64546StLoc[13](loc1: Coin<Ty2>)
64647StLoc[12](loc0: Coin<Ty0>)
64949CopyLoc[0](Arg0: &GlobalConfig)
65050CopyLoc[2](Arg2: &mut Pool<Ty2, Ty1>)
65353MoveLoc[7](Arg7: u64)
65454MoveLoc[9](Arg9: u128)
65555CopyLoc[10](Arg10: &Clock)
65656Call pool::flash_swap<Ty2, Ty1>(&GlobalConfig, &mut Pool<Ty2, Ty1>, bool, bool, u64, u128, &Clock): Balance<Ty2> * Balance<Ty1> * FlashSwapReceipt<Ty2, Ty1>
65757StLoc[21](loc9: FlashSwapReceipt<Ty2, Ty1>)
65858StLoc[23](loc11: Balance<Ty1>)
65959StLoc[25](loc13: Balance<Ty2>)
66060ImmBorrowLoc[21](loc9: FlashSwapReceipt<Ty2, Ty1>)
66161Call pool::swap_pay_amount<Ty2, Ty1>(&FlashSwapReceipt<Ty2, Ty1>): u64
66262StLoc[22](loc10: u64)
66363MoveLoc[23](loc11: Balance<Ty1>)
66464CopyLoc[11](Arg11: &mut TxContext)
66565Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
66666StLoc[19](loc7: Coin<Ty1>)
66767CopyLoc[0](Arg0: &GlobalConfig)
66868MoveLoc[1](Arg1: &mut Pool<Ty1, Ty0>)
66969MoveLoc[19](loc7: Coin<Ty1>)
67070MoveLoc[3](Arg3: Coin<Ty0>)
67373MoveLoc[22](loc10: u64)
67474MoveLoc[8](Arg8: u128)
67676MoveLoc[10](Arg10: &Clock)
67777CopyLoc[11](Arg11: &mut TxContext)
67878Call swap<Ty1, Ty0>(&GlobalConfig, &mut Pool<Ty1, Ty0>, Coin<Ty1>, Coin<Ty0>, bool, bool, u64, u128, bool, &Clock, &mut TxContext): Coin<Ty1> * Coin<Ty0>
67979StLoc[16](loc4: Coin<Ty0>)
68080Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
68181StLoc[24](loc12: Balance<Ty1>)
68282MoveLoc[0](Arg0: &GlobalConfig)
68383MoveLoc[2](Arg2: &mut Pool<Ty2, Ty1>)
68484Call balance::zero<Ty2>(): Balance<Ty2>
68585MoveLoc[24](loc12: Balance<Ty1>)
68686MoveLoc[21](loc9: FlashSwapReceipt<Ty2, Ty1>)
68787Call pool::repay_flash_swap<Ty2, Ty1>(&GlobalConfig, &mut Pool<Ty2, Ty1>, Balance<Ty2>, Balance<Ty1>, FlashSwapReceipt<Ty2, Ty1>)
68888MutBorrowLoc[4](Arg4: Coin<Ty2>)
68989MoveLoc[25](loc13: Balance<Ty2>)
69090MoveLoc[11](Arg11: &mut TxContext)
69191Call coin::from_balance<Ty2>(Balance<Ty2>, &mut TxContext): Coin<Ty2>
69292Call coin::join<Ty2>(&mut Coin<Ty2>, Coin<Ty2>)
69393MoveLoc[16](loc4: Coin<Ty0>)
69494MoveLoc[4](Arg4: Coin<Ty2>)
69595StLoc[13](loc1: Coin<Ty2>)
69696StLoc[12](loc0: Coin<Ty0>)
69897MoveLoc[12](loc0: Coin<Ty0>)
69998MoveLoc[13](loc1: Coin<Ty2>)
703public calculate_router_swap_result<Ty0, Ty1, Ty2, Ty3>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: &mut Pool<Ty2, Ty3>, Arg2: bool, Arg3: bool, Arg4: bool, Arg5: u64) {
748L50: loc44: ExpectSwapResult
749L51: loc45: ExpectSwapResult
750L52: loc46: ExpectSwapResult
751L53: loc47: ExpectSwapResult
7640CopyLoc[4](Arg4: bool)
7672CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
7683MoveLoc[2](Arg2: bool)
7694CopyLoc[4](Arg4: bool)
7705CopyLoc[5](Arg5: u64)
7716StLoc[24](loc18: u64)
7727StLoc[14](loc8: bool)
77510MoveLoc[9](loc3: bool)
77611MoveLoc[14](loc8: bool)
77712MoveLoc[24](loc18: u64)
77813Call expect_swap::expect_swap<Ty0, Ty1>(&Pool<Ty0, Ty1>, bool, bool, u64): ExpectSwapResult
77914StLoc[50](loc44: ExpectSwapResult)
78015ImmBorrowLoc[50](loc44: ExpectSwapResult)
78116Call expect_swap::expect_swap_result_is_exceed(&ExpectSwapResult): bool
78217StLoc[56](loc50: bool)
78318ImmBorrowLoc[50](loc44: ExpectSwapResult)
78419Call expect_swap::expect_swap_result_amount_out(&ExpectSwapResult): u256
78520StLoc[38](loc32: u256)
78621MoveLoc[56](loc50: bool)
79024StLoc[26](loc20: bool)
79326CopyLoc[38](loc32: u256)
79427LdConst[6](u256: 1844..)
79629StLoc[26](loc20: bool)
79830MoveLoc[26](loc20: bool)
80132MoveLoc[1](Arg1: &mut Pool<Ty2, Ty3>)
80334MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
81344Pack[0](CalculatedRouterSwapResult)
81445Pack[1](CalculatedRouterSwapResultEvent)
81546Call event::emit<CalculatedRouterSwapResultEvent>(CalculatedRouterSwapResultEvent)
81848MoveLoc[38](loc32: u256)
82050StLoc[39](loc33: u64)
82151CopyLoc[1](Arg1: &mut Pool<Ty2, Ty3>)
82252MoveLoc[3](Arg3: bool)
82353MoveLoc[4](Arg4: bool)
82454CopyLoc[39](loc33: u64)
82656StLoc[7](loc1: bool)
82757StLoc[6](loc0: bool)
82959MoveLoc[6](loc0: bool)
83060MoveLoc[7](loc1: bool)
83161MoveLoc[8](loc2: u64)
83262Call expect_swap::expect_swap<Ty2, Ty3>(&Pool<Ty2, Ty3>, bool, bool, u64): ExpectSwapResult
83363StLoc[52](loc46: ExpectSwapResult)
83464ImmBorrowLoc[52](loc46: ExpectSwapResult)
83565Call expect_swap::expect_swap_result_amount_out(&ExpectSwapResult): u256
83666StLoc[44](loc38: u256)
83767CopyLoc[44](loc38: u256)
83868LdConst[6](u256: 1844..)
84271MoveLoc[1](Arg1: &mut Pool<Ty2, Ty3>)
84473MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
85483Pack[0](CalculatedRouterSwapResult)
85584Pack[1](CalculatedRouterSwapResultEvent)
85685Call event::emit<CalculatedRouterSwapResultEvent>(CalculatedRouterSwapResultEvent)
85987MoveLoc[44](loc38: u256)
86189StLoc[45](loc39: u64)
86290ImmBorrowLoc[50](loc44: ExpectSwapResult)
86391Call expect_swap::expect_swap_result_is_exceed(&ExpectSwapResult): bool
86492StLoc[57](loc51: bool)
86593ImmBorrowLoc[52](loc46: ExpectSwapResult)
86694Call expect_swap::expect_swap_result_is_exceed(&ExpectSwapResult): bool
86795StLoc[59](loc53: bool)
86896ImmBorrowLoc[50](loc44: ExpectSwapResult)
86997Call expect_swap::expect_swap_result_after_sqrt_price(&ExpectSwapResult): u128
87098StLoc[61](loc55: u128)
87199ImmBorrowLoc[52](loc46: ExpectSwapResult)
872100Call expect_swap::expect_swap_result_after_sqrt_price(&ExpectSwapResult): u128
873101StLoc[63](loc57: u128)
874102MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
876104Call pool::current_sqrt_price<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
877105StLoc[46](loc40: u128)
878106MoveLoc[1](Arg1: &mut Pool<Ty2, Ty3>)
880108Call pool::current_sqrt_price<Ty2, Ty3>(&Pool<Ty2, Ty3>): u128
881109StLoc[48](loc42: u128)
882110MoveLoc[5](Arg5: u64)
883111StLoc[10](loc4: u64)
884112MoveLoc[39](loc33: u64)
885113StLoc[11](loc5: u64)
886114MoveLoc[45](loc39: u64)
887115StLoc[12](loc6: u64)
888116MoveLoc[46](loc40: u128)
889117StLoc[13](loc7: u128)
890118MoveLoc[48](loc42: u128)
891119StLoc[15](loc9: u128)
892120MoveLoc[61](loc55: u128)
893121StLoc[16](loc10: u128)
894122MoveLoc[63](loc57: u128)
895123StLoc[17](loc11: u128)
896124MoveLoc[57](loc51: bool)
900127StLoc[18](loc12: bool)
903129MoveLoc[59](loc53: bool)
904130StLoc[18](loc12: bool)
906131MoveLoc[18](loc12: bool)
907132StLoc[19](loc13: bool)
908133MoveLoc[10](loc4: u64)
909134MoveLoc[11](loc5: u64)
910135MoveLoc[12](loc6: u64)
911136MoveLoc[19](loc13: bool)
912137MoveLoc[13](loc7: u128)
913138MoveLoc[15](loc9: u128)
914139MoveLoc[16](loc10: u128)
915140MoveLoc[17](loc11: u128)
916141Pack[0](CalculatedRouterSwapResult)
917142Pack[1](CalculatedRouterSwapResultEvent)
918143Call event::emit<CalculatedRouterSwapResultEvent>(CalculatedRouterSwapResultEvent)
922145CopyLoc[1](Arg1: &mut Pool<Ty2, Ty3>)
923146MoveLoc[3](Arg3: bool)
924147CopyLoc[4](Arg4: bool)
925148CopyLoc[5](Arg5: u64)
926149StLoc[22](loc16: u64)
927150StLoc[21](loc15: bool)
928151StLoc[20](loc14: bool)
930153MoveLoc[20](loc14: bool)
931154MoveLoc[21](loc15: bool)
932155MoveLoc[22](loc16: u64)
933156Call expect_swap::expect_swap<Ty2, Ty3>(&Pool<Ty2, Ty3>, bool, bool, u64): ExpectSwapResult
934157StLoc[53](loc47: ExpectSwapResult)
935158ImmBorrowLoc[53](loc47: ExpectSwapResult)
936159Call expect_swap::expect_swap_result_is_exceed(&ExpectSwapResult): bool
937160StLoc[60](loc54: bool)
938161ImmBorrowLoc[53](loc47: ExpectSwapResult)
939162Call expect_swap::expect_swap_result_amount_in(&ExpectSwapResult): u256
940163StLoc[40](loc34: u256)
941164CopyLoc[60](loc54: bool)
945167StLoc[23](loc17: bool)
948169CopyLoc[40](loc34: u256)
949170LdConst[6](u256: 1844..)
951172StLoc[23](loc17: bool)
953173MoveLoc[23](loc17: bool)
956175MoveLoc[1](Arg1: &mut Pool<Ty2, Ty3>)
958177MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
968187Pack[0](CalculatedRouterSwapResult)
969188Pack[1](CalculatedRouterSwapResultEvent)
970189Call event::emit<CalculatedRouterSwapResultEvent>(CalculatedRouterSwapResultEvent)
973191MoveLoc[40](loc34: u256)
975193StLoc[41](loc35: u64)
976194ImmBorrowLoc[53](loc47: ExpectSwapResult)
977195Call expect_swap::expect_swap_result_fee_amount(&ExpectSwapResult): u256
979197StLoc[55](loc49: u64)
980198CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
981199MoveLoc[2](Arg2: bool)
982200MoveLoc[4](Arg4: bool)
983201CopyLoc[41](loc35: u64)
984202CopyLoc[55](loc49: u64)
986204StLoc[28](loc22: u64)
987205StLoc[27](loc21: bool)
988206StLoc[25](loc19: bool)
990208MoveLoc[25](loc19: bool)
991209MoveLoc[27](loc21: bool)
992210MoveLoc[28](loc22: u64)
993211Call expect_swap::expect_swap<Ty0, Ty1>(&Pool<Ty0, Ty1>, bool, bool, u64): ExpectSwapResult
994212StLoc[51](loc45: ExpectSwapResult)
995213ImmBorrowLoc[51](loc45: ExpectSwapResult)
996214Call expect_swap::expect_swap_result_amount_in(&ExpectSwapResult): u256
997215StLoc[42](loc36: u256)
998216CopyLoc[42](loc36: u256)
999217LdConst[6](u256: 1844..)
1003220MoveLoc[1](Arg1: &mut Pool<Ty2, Ty3>)
1005222MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1015232Pack[0](CalculatedRouterSwapResult)
1016233Pack[1](CalculatedRouterSwapResultEvent)
1017234Call event::emit<CalculatedRouterSwapResultEvent>(CalculatedRouterSwapResultEvent)
1020236MoveLoc[42](loc36: u256)
1022238StLoc[43](loc37: u64)
1023239ImmBorrowLoc[51](loc45: ExpectSwapResult)
1024240Call expect_swap::expect_swap_result_fee_amount(&ExpectSwapResult): u256
1026242StLoc[54](loc48: u64)
1027243ImmBorrowLoc[51](loc45: ExpectSwapResult)
1028244Call expect_swap::expect_swap_result_is_exceed(&ExpectSwapResult): bool
1029245StLoc[58](loc52: bool)
1030246ImmBorrowLoc[51](loc45: ExpectSwapResult)
1031247Call expect_swap::expect_swap_result_after_sqrt_price(&ExpectSwapResult): u128
1032248StLoc[62](loc56: u128)
1033249ImmBorrowLoc[53](loc47: ExpectSwapResult)
1034250Call expect_swap::expect_swap_result_after_sqrt_price(&ExpectSwapResult): u128
1035251StLoc[64](loc58: u128)
1036252MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1038254Call pool::current_sqrt_price<Ty0, Ty1>(&Pool<Ty0, Ty1>): u128
1039255StLoc[47](loc41: u128)
1040256MoveLoc[1](Arg1: &mut Pool<Ty2, Ty3>)
1042258Call pool::current_sqrt_price<Ty2, Ty3>(&Pool<Ty2, Ty3>): u128
1043259StLoc[49](loc43: u128)
1044260MoveLoc[43](loc37: u64)
1045261MoveLoc[54](loc48: u64)
1047263StLoc[29](loc23: u64)
1048264MoveLoc[41](loc35: u64)
1049265MoveLoc[55](loc49: u64)
1051267StLoc[30](loc24: u64)
1052268MoveLoc[5](Arg5: u64)
1053269StLoc[31](loc25: u64)
1054270MoveLoc[47](loc41: u128)
1055271StLoc[32](loc26: u128)
1056272MoveLoc[49](loc43: u128)
1057273StLoc[33](loc27: u128)
1058274MoveLoc[62](loc56: u128)
1059275StLoc[34](loc28: u128)
1060276MoveLoc[64](loc58: u128)
1061277StLoc[35](loc29: u128)
1062278MoveLoc[58](loc52: bool)
1066281StLoc[36](loc30: bool)
1069283MoveLoc[60](loc54: bool)
1070284StLoc[36](loc30: bool)
1072285MoveLoc[36](loc30: bool)
1073286StLoc[37](loc31: bool)
1074287MoveLoc[29](loc23: u64)
1075288MoveLoc[30](loc24: u64)
1076289MoveLoc[31](loc25: u64)
1077290MoveLoc[37](loc31: bool)
1078291MoveLoc[32](loc26: u128)
1079292MoveLoc[33](loc27: u128)
1080293MoveLoc[34](loc28: u128)
1081294MoveLoc[35](loc29: u128)
1082295Pack[0](CalculatedRouterSwapResult)
1083296Pack[1](CalculatedRouterSwapResultEvent)
1084297Call event::emit<CalculatedRouterSwapResultEvent>(CalculatedRouterSwapResultEvent)
1089public check_coin_threshold<Ty0>(Arg0: &Coin<Ty0>, Arg1: u64) {
10910MoveLoc[0](Arg0: &Coin<Ty0>)
10921Call coin::value<Ty0>(&Coin<Ty0>): u64
10932MoveLoc[1](Arg1: u64)
1112 6 => u256: 18446744073709551615