@bluefinprotocol/bluefin-spot::pool bytecode | tide- Move path
- 0x3492…c267::pool
- Functions
- 7051 public, 0 entry
- Structs
- 5
pool
The on-chain disassembly. Offsets are bytecode positions within each function.
1// Move bytecode v6
2module 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267.pool {
3use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::clmm_math;
4use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::config;
5use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::constants;
6use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::errors;
7use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::events;
8use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::i128H;
9use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::i32H;
10use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::oracle;
11use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::position;
12use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::tick;
13use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::tick_bitmap;
14use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::tick_math;
15use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::utils;
16use 03637b7b60978ef4389124f7683456f0050ab015a0590d52b6e6cadb342af34a::full_math_u128;
17use 03637b7b60978ef4389124f7683456f0050ab015a0590d52b6e6cadb342af34a::full_math_u64;
18use 03637b7b60978ef4389124f7683456f0050ab015a0590d52b6e6cadb342af34a::i128;
19use 03637b7b60978ef4389124f7683456f0050ab015a0590d52b6e6cadb342af34a::i32;
20use 03637b7b60978ef4389124f7683456f0050ab015a0590d52b6e6cadb342af34a::math_u128;
21use 714a63a0dba6da4f017b42d5d0fb78867f18bcde904868e51d951a5a6f5b7f57::i128 as 0i128;
22use 714a63a0dba6da4f017b42d5d0fb78867f18bcde904868e51d951a5a6f5b7f57::i32 as 0i32;
23use 714a63a0dba6da4f017b42d5d0fb78867f18bcde904868e51d951a5a6f5b7f57::i64;
24use 0000000000000000000000000000000000000000000000000000000000000001::string;
25use 0000000000000000000000000000000000000000000000000000000000000001::u64;
26use 0000000000000000000000000000000000000000000000000000000000000002::balance;
27use 0000000000000000000000000000000000000000000000000000000000000002::clock;
28use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_field;
29use 0000000000000000000000000000000000000000000000000000000000000002::event;
30use 0000000000000000000000000000000000000000000000000000000000000002::object;
31use 0000000000000000000000000000000000000000000000000000000000000002::table;
32use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
33use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
35struct Pool<phantom Ty0, phantom Ty1> has store, key {
41 protocol_fee_share: u64,
42 fee_growth_global_coin_a: u128,
43 fee_growth_global_coin_b: u128,
44 protocol_fee_coin_a: u64,
45 protocol_fee_coin_b: u64,
46 ticks_manager: TickManager,
47 observations_manager: ObservationManager,
48 current_sqrt_price: u128,
49 current_tick_index: I32,
51 reward_infos: vector<PoolRewardInfo>,
58struct PoolRewardInfo has copy, drop, store {
59 reward_coin_symbol: String,
60 reward_coin_decimals: u8,
61 reward_coin_type: String,
62 last_update_time: u64,
63 ended_at_seconds: u64,
65 total_reward_allocated: u64,
66 reward_per_seconds: u128,
67 reward_growth_global: u128
70struct SwapResult has copy, drop {
73 amount_specified: u64,
74 amount_specified_remaining: u64,
75 amount_calculated: u64,
76 fee_growth_global: u128,
79 start_sqrt_price: u128,
81 current_tick_index: I32,
83 starting_liquidity: u128,
86 step_results: vector<SwapStepResult>
89struct SwapStepResult has copy, drop, store {
92 sqrt_price_start: u128,
93 sqrt_price_next: u128,
100struct FlashSwapReceipt<phantom Ty0, phantom Ty1> {
106public(friend) set_protocol_fee_amount<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: u64, Arg2: u64) {
1080MoveLoc[1](Arg1: u64)
1091CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1102MutBorrowFieldGeneric[0](Pool.protocol_fee_coin_a: u64)
1124MoveLoc[2](Arg2: u64)
1135MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1146MutBorrowFieldGeneric[1](Pool.protocol_fee_coin_b: u64)
119public(friend) withdraw_balances<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: u64, Arg2: u64): Balance<Ty0> * Balance<Ty1> {
1210CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1221MutBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
1232MoveLoc[1](Arg1: u64)
1243Call utils::withdraw_balance<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
1254MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1265MutBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
1276MoveLoc[2](Arg2: u64)
1287Call utils::withdraw_balance<Ty1>(&mut Balance<Ty1>, u64): Balance<Ty1>
132public(friend) increase_sequence_number<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>): u128 {
1340CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1351ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
1395CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1406MutBorrowFieldGeneric[4](Pool.sequence_number: u128)
1428MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1439ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
148public(friend) add_reward_info<Ty0, Ty1, Ty2>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: PoolRewardInfo) {
1500CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1511MutBorrowFieldGeneric[5](Pool.id: UID)
1522Call utils::get_type_string<Ty2>(): String
1533Call balance::zero<Ty2>(): Balance<Ty2>
1544Call dynamic_field::add<String, Balance<Ty2>>(&mut UID, String, Balance<Ty2>)
1555MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1566MutBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
1577MoveLoc[1](Arg1: PoolRewardInfo)
162public(friend) update_pool_reward_emission<Ty0, Ty1, Ty2>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Balance<Ty2>, Arg2: u64) {
165L5: loc2: &mut PoolRewardInfo
1680CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1702Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
1724CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1746Call find_reward_info_index<Ty0, Ty1, Ty2>(&Pool<Ty0, Ty1>): u64
1768CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
1779MutBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
17810MoveLoc[6](loc3: u64)
18012StLoc[5](loc2: &mut PoolRewardInfo)
18113CopyLoc[5](loc2: &mut PoolRewardInfo)
18214ImmBorrowField[7](PoolRewardInfo.ended_at_seconds: u64)
18416MoveLoc[2](Arg2: u64)
18719CopyLoc[3](loc0: u64)
18820CopyLoc[5](loc2: &mut PoolRewardInfo)
18921ImmBorrowField[8](PoolRewardInfo.last_update_time: u64)
19626MoveLoc[5](loc2: &mut PoolRewardInfo)
19828MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
20030Call errors::invalid_last_update_time(): u64
20332CopyLoc[5](loc2: &mut PoolRewardInfo)
20433ImmBorrowField[9](PoolRewardInfo.total_reward: u64)
20635ImmBorrowLoc[1](Arg1: Balance<Ty2>)
20736Call balance::value<Ty2>(&Balance<Ty2>): u64
20938CopyLoc[5](loc2: &mut PoolRewardInfo)
21039MutBorrowField[9](PoolRewardInfo.total_reward: u64)
21241MoveLoc[3](loc0: u64)
21342CopyLoc[5](loc2: &mut PoolRewardInfo)
21443MutBorrowField[7](PoolRewardInfo.ended_at_seconds: u64)
21645CopyLoc[5](loc2: &mut PoolRewardInfo)
21746ImmBorrowField[9](PoolRewardInfo.total_reward: u64)
21948CopyLoc[5](loc2: &mut PoolRewardInfo)
22049ImmBorrowField[10](PoolRewardInfo.total_reward_allocated: u64)
22453Call constants::q64(): u128
22655CopyLoc[5](loc2: &mut PoolRewardInfo)
22756ImmBorrowField[7](PoolRewardInfo.ended_at_seconds: u64)
22958CopyLoc[5](loc2: &mut PoolRewardInfo)
23059ImmBorrowField[8](PoolRewardInfo.last_update_time: u64)
23463Call full_math_u128::mul_div_floor(u128, u128, u128): u128
23564CopyLoc[5](loc2: &mut PoolRewardInfo)
23665MutBorrowField[11](PoolRewardInfo.reward_per_seconds: u128)
23867CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
23968MutBorrowFieldGeneric[5](Pool.id: UID)
24069Call utils::get_type_string<Ty2>(): String
24170Call dynamic_field::borrow_mut<String, Balance<Ty2>>(&mut UID, String): &mut Balance<Ty2>
24271MoveLoc[1](Arg1: Balance<Ty2>)
24372Call balance::join<Ty2>(&mut Balance<Ty2>, Balance<Ty2>): u64
24574CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
24675ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
25079CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
25180MutBorrowFieldGeneric[4](Pool.sequence_number: u128)
25382MoveLoc[4](loc1: ID)
25483CopyLoc[5](loc2: &mut PoolRewardInfo)
25584ImmBorrowField[12](PoolRewardInfo.reward_coin_symbol: String)
25786CopyLoc[5](loc2: &mut PoolRewardInfo)
25887ImmBorrowField[13](PoolRewardInfo.reward_coin_type: String)
26089CopyLoc[5](loc2: &mut PoolRewardInfo)
26190ImmBorrowField[14](PoolRewardInfo.reward_coin_decimals: u8)
26392CopyLoc[5](loc2: &mut PoolRewardInfo)
26493ImmBorrowField[9](PoolRewardInfo.total_reward: u64)
26695CopyLoc[5](loc2: &mut PoolRewardInfo)
26796ImmBorrowField[7](PoolRewardInfo.ended_at_seconds: u64)
26998CopyLoc[5](loc2: &mut PoolRewardInfo)
27099ImmBorrowField[8](PoolRewardInfo.last_update_time: u64)
272101MoveLoc[5](loc2: &mut PoolRewardInfo)
273102ImmBorrowField[11](PoolRewardInfo.reward_per_seconds: u128)
275104MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
276105ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
278107Call events::emit_update_pool_reward_emission_event(ID, String, String, u8, u64, u64, u64, u128, u128)
282public(friend) update_reward_infos<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: u64): vector<u128> {
286L5: loc3: vector<u128>
287L6: loc4: &mut PoolRewardInfo
2911StLoc[5](loc3: vector<u128>)
2954CopyLoc[3](loc1: u64)
2965CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
2976ImmBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
30411CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
30512MutBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
30613CopyLoc[3](loc1: u64)
30815StLoc[6](loc4: &mut PoolRewardInfo)
30916MoveLoc[3](loc1: u64)
31320CopyLoc[1](Arg1: u64)
31421CopyLoc[6](loc4: &mut PoolRewardInfo)
31522ImmBorrowField[8](PoolRewardInfo.last_update_time: u64)
32026CopyLoc[1](Arg1: u64)
32127CopyLoc[6](loc4: &mut PoolRewardInfo)
32228ImmBorrowField[7](PoolRewardInfo.ended_at_seconds: u64)
32430Call u64::min(u64, u64): u64
32632CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
32733ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
33338CopyLoc[4](loc2: u64)
33439CopyLoc[6](loc4: &mut PoolRewardInfo)
33540ImmBorrowField[8](PoolRewardInfo.last_update_time: u64)
33843StLoc[2](loc0: bool)
34246StLoc[2](loc0: bool)
34447MoveLoc[2](loc0: bool)
34749MoveLoc[4](loc2: u64)
34850CopyLoc[6](loc4: &mut PoolRewardInfo)
34951ImmBorrowField[8](PoolRewardInfo.last_update_time: u64)
35355CopyLoc[6](loc4: &mut PoolRewardInfo)
35456ImmBorrowField[11](PoolRewardInfo.reward_per_seconds: u128)
35658Call full_math_u128::full_mul(u128, u128): u256
35759StLoc[7](loc5: u256)
35860CopyLoc[6](loc4: &mut PoolRewardInfo)
35961ImmBorrowField[16](PoolRewardInfo.reward_growth_global: u128)
36163CopyLoc[7](loc5: u256)
36264CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
36365ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
36870Call math_u128::wrapping_add(u128, u128): u128
36971CopyLoc[6](loc4: &mut PoolRewardInfo)
37072MutBorrowField[16](PoolRewardInfo.reward_growth_global: u128)
37274CopyLoc[6](loc4: &mut PoolRewardInfo)
37375ImmBorrowField[10](PoolRewardInfo.total_reward_allocated: u64)
37577MoveLoc[7](loc5: u256)
37678Call constants::q64(): u128
38183CopyLoc[6](loc4: &mut PoolRewardInfo)
38284MutBorrowField[10](PoolRewardInfo.total_reward_allocated: u64)
38586CopyLoc[1](Arg1: u64)
38687CopyLoc[6](loc4: &mut PoolRewardInfo)
38788MutBorrowField[8](PoolRewardInfo.last_update_time: u64)
39090MutBorrowLoc[5](loc3: vector<u128>)
39191MoveLoc[6](loc4: &mut PoolRewardInfo)
39292ImmBorrowField[16](PoolRewardInfo.reward_growth_global: u128)
39796MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
39998MoveLoc[5](loc3: vector<u128>)
403public(friend) update_pause_status<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: bool) {
4050MoveLoc[1](Arg1: bool)
4061CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
4072MutBorrowFieldGeneric[8](Pool.is_paused: bool)
4094CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
4105ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
4149CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
41510MutBorrowFieldGeneric[4](Pool.sequence_number: u128)
41712CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
41813ImmBorrowFieldGeneric[5](Pool.id: UID)
41914Call object::uid_to_inner(&UID): ID
42015CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
42116ImmBorrowFieldGeneric[8](Pool.is_paused: bool)
42318MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
42419ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
42621Call events::emit_pool_pause_status_update_event(ID, bool, u128)
430public(friend) set_protocol_fee_share<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: u64) {
4320MoveLoc[1](Arg1: u64)
4331MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
4342MutBorrowFieldGeneric[9](Pool.protocol_fee_share: u64)
439public(friend) increase_observation_cardinality_next<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: u64) {
4430CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
4441MutBorrowFieldGeneric[10](Pool.observations_manager: ObservationManager)
4452MoveLoc[1](Arg1: u64)
4463Call oracle::grow(&mut ObservationManager, u64): u64 * u64
4496CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
4507Call increase_sequence_number<Ty0, Ty1>(&mut Pool<Ty0, Ty1>): u128
4529CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
45411Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
45512MoveLoc[3](loc1: u64)
45613MoveLoc[2](loc0: u64)
45714MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
45815ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
46017Call events::emit_observation_cardinality_updated_event(ID, u64, u64, u128)
464public(friend) increase_reward_coin_reserves<Ty0, Ty1, Ty2>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: Balance<Ty2>) {
466L3: loc1: &mut Balance<Ty2>
4710CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
4732Call is_reward_present<Ty0, Ty1, Ty2>(&Pool<Ty0, Ty1>): bool
4785MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
4807Call errors::reward_index_not_found(): u64
4839ImmBorrowLoc[1](Arg1: Balance<Ty2>)
48410Call balance::value<Ty2>(&Balance<Ty2>): u64
48612Call utils::get_type_string<Ty2>(): String
48713StLoc[4](loc2: String)
48814CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
48915MutBorrowFieldGeneric[5](Pool.id: UID)
49016CopyLoc[4](loc2: String)
49117Call dynamic_field::borrow_mut<String, Balance<Ty2>>(&mut UID, String): &mut Balance<Ty2>
49218StLoc[3](loc1: &mut Balance<Ty2>)
49319CopyLoc[3](loc1: &mut Balance<Ty2>)
49521Call balance::value<Ty2>(&Balance<Ty2>): u64
49723CopyLoc[3](loc1: &mut Balance<Ty2>)
49824MoveLoc[1](Arg1: Balance<Ty2>)
49925Call balance::join<Ty2>(&mut Balance<Ty2>, Balance<Ty2>): u64
50127MoveLoc[3](loc1: &mut Balance<Ty2>)
50329Call balance::value<Ty2>(&Balance<Ty2>): u64
50531MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
50733Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
50834MoveLoc[4](loc2: String)
50935MoveLoc[2](loc0: u64)
51036MoveLoc[6](loc4: u64)
51137MoveLoc[5](loc3: u64)
51238Call events::emit_reward_reserves_increased(ID, String, u64, u64, u64)
516public(friend) set_pool_icon_url<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: String) {
5190CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
5201ImmBorrowFieldGeneric[11](Pool.icon_url: String)
5223CopyLoc[1](Arg1: String)
5287MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
5309Call errors::same_value_provided(): u64
53311CopyLoc[1](Arg1: String)
53412CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
53513MutBorrowFieldGeneric[11](Pool.icon_url: String)
53715CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
53816Call increase_sequence_number<Ty0, Ty1>(&mut Pool<Ty0, Ty1>): u128
53917StLoc[2](loc0: u128)
54018MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
54119ImmBorrowFieldGeneric[5](Pool.id: UID)
54220Call object::uid_to_inner(&UID): ID
54321MoveLoc[1](Arg1: String)
54422MoveLoc[2](loc0: u128)
54523Call events::emit_pool_icon_url_update_event(ID, String, u128)
549public create_pool<Ty0, Ty1, Ty2>(Arg0: &Clock, Arg1: &mut GlobalConfig, Arg2: vector<u8>, Arg3: vector<u8>, Arg4: vector<u8>, Arg5: u8, Arg6: vector<u8>, Arg7: vector<u8>, Arg8: u8, Arg9: vector<u8>, Arg10: u32, Arg11: u64, Arg12: u128, Arg13: Balance<Ty2>, Arg14: &mut TxContext): ID {
554L19: loc4: &mut TxContext
560L25: loc10: vector<u8>
563L28: loc13: Pool<Ty0, Ty1>
5650MoveLoc[0](Arg0: &Clock)
5661CopyLoc[1](Arg1: &mut GlobalConfig)
5672MoveLoc[2](Arg2: vector<u8>)
5683MoveLoc[3](Arg3: vector<u8>)
5694MoveLoc[4](Arg4: vector<u8>)
5716MoveLoc[6](Arg6: vector<u8>)
5727MoveLoc[7](Arg7: vector<u8>)
5749MoveLoc[9](Arg9: vector<u8>)
57510MoveLoc[10](Arg10: u32)
57611MoveLoc[11](Arg11: u64)
57712MoveLoc[12](Arg12: u128)
57813CopyLoc[14](Arg14: &mut TxContext)
57914StLoc[19](loc4: &mut TxContext)
58015StLoc[18](loc3: u128)
58116StLoc[17](loc2: u64)
58217StLoc[16](loc1: u32)
58318StLoc[15](loc0: vector<u8>)
58419StLoc[26](loc11: u8)
58520StLoc[25](loc10: vector<u8>)
58621StLoc[24](loc9: vector<u8>)
58823StLoc[22](loc7: vector<u8>)
58924StLoc[21](loc6: vector<u8>)
59025StLoc[20](loc5: vector<u8>)
59227MoveLoc[20](loc5: vector<u8>)
59328MoveLoc[21](loc6: vector<u8>)
59429MoveLoc[22](loc7: vector<u8>)
59530MoveLoc[23](loc8: u8)
59631MoveLoc[24](loc9: vector<u8>)
59732MoveLoc[25](loc10: vector<u8>)
59833MoveLoc[26](loc11: u8)
59934MoveLoc[15](loc0: vector<u8>)
60035MoveLoc[16](loc1: u32)
60136MoveLoc[17](loc2: u64)
60237MoveLoc[18](loc3: u128)
60338MoveLoc[19](loc4: &mut TxContext)
60439Call create_pool_internal<Ty0, Ty1>(&Clock, &GlobalConfig, vector<u8>, vector<u8>, vector<u8>, u8, vector<u8>, vector<u8>, u8, vector<u8>, u32, u64, u128, &mut TxContext): Pool<Ty0, Ty1>
60540StLoc[28](loc13: Pool<Ty0, Ty1>)
60641ImmBorrowLoc[28](loc13: Pool<Ty0, Ty1>)
60742Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
60843StLoc[27](loc12: ID)
60944MoveLoc[1](Arg1: &mut GlobalConfig)
61045CopyLoc[27](loc12: ID)
61146MoveLoc[13](Arg13: Balance<Ty2>)
61247MoveLoc[14](Arg14: &mut TxContext)
61449Call charge_pool_creation_fee<Ty2>(&mut GlobalConfig, ID, Balance<Ty2>, &TxContext)
61550MoveLoc[28](loc13: Pool<Ty0, Ty1>)
61651Call transfer::share_object<Pool<Ty0, Ty1>>(Pool<Ty0, Ty1>)
61752MoveLoc[27](loc12: ID)
621public create_pool_with_liquidity<Ty0, Ty1, Ty2>(Arg0: &Clock, Arg1: &mut GlobalConfig, Arg2: vector<u8>, Arg3: vector<u8>, Arg4: vector<u8>, Arg5: u8, Arg6: vector<u8>, Arg7: vector<u8>, Arg8: u8, Arg9: vector<u8>, Arg10: u32, Arg11: u64, Arg12: u128, Arg13: Balance<Ty2>, Arg14: u32, Arg15: u32, Arg16: Balance<Ty0>, Arg17: Balance<Ty1>, Arg18: u64, Arg19: bool, Arg20: &mut TxContext): ID * Position * u64 * u64 * Balance<Ty0> * Balance<Ty1> {
626L25: loc4: &mut TxContext
627L26: loc5: &mut Pool<Ty0, Ty1>
630L29: loc8: &mut TxContext
631L30: loc9: &mut Pool<Ty0, Ty1>
632L31: loc10: &mut Position
633L32: loc11: Balance<Ty0>
634L33: loc12: Balance<Ty1>
635L34: loc13: vector<u8>
638L37: loc16: vector<u8>
639L38: loc17: vector<u8>
641L40: loc19: vector<u8>
642L41: loc20: vector<u8>
644L43: loc22: Balance<Ty0>
645L44: loc23: Balance<Ty1>
649L48: loc27: Pool<Ty0, Ty1>
6520CopyLoc[0](Arg0: &Clock)
6531CopyLoc[1](Arg1: &mut GlobalConfig)
6542MoveLoc[2](Arg2: vector<u8>)
6553MoveLoc[3](Arg3: vector<u8>)
6564MoveLoc[4](Arg4: vector<u8>)
6586MoveLoc[6](Arg6: vector<u8>)
6597MoveLoc[7](Arg7: vector<u8>)
6619MoveLoc[9](Arg9: vector<u8>)
66210MoveLoc[10](Arg10: u32)
66311MoveLoc[11](Arg11: u64)
66412MoveLoc[12](Arg12: u128)
66513CopyLoc[20](Arg20: &mut TxContext)
66614StLoc[25](loc4: &mut TxContext)
66715StLoc[24](loc3: u128)
66816StLoc[23](loc2: u64)
66917StLoc[22](loc1: u32)
67018StLoc[21](loc0: vector<u8>)
67119StLoc[42](loc21: u8)
67220StLoc[41](loc20: vector<u8>)
67321StLoc[40](loc19: vector<u8>)
67422StLoc[39](loc18: u8)
67523StLoc[38](loc17: vector<u8>)
67624StLoc[37](loc16: vector<u8>)
67725StLoc[34](loc13: vector<u8>)
67927MoveLoc[34](loc13: vector<u8>)
68028MoveLoc[37](loc16: vector<u8>)
68129MoveLoc[38](loc17: vector<u8>)
68230MoveLoc[39](loc18: u8)
68331MoveLoc[40](loc19: vector<u8>)
68432MoveLoc[41](loc20: vector<u8>)
68533MoveLoc[42](loc21: u8)
68634MoveLoc[21](loc0: vector<u8>)
68735MoveLoc[22](loc1: u32)
68836MoveLoc[23](loc2: u64)
68937MoveLoc[24](loc3: u128)
69038MoveLoc[25](loc4: &mut TxContext)
69139Call create_pool_internal<Ty0, Ty1>(&Clock, &GlobalConfig, vector<u8>, vector<u8>, vector<u8>, u8, vector<u8>, vector<u8>, u8, vector<u8>, u32, u64, u128, &mut TxContext): Pool<Ty0, Ty1>
69240StLoc[48](loc27: Pool<Ty0, Ty1>)
69341ImmBorrowLoc[48](loc27: Pool<Ty0, Ty1>)
69442Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
69543StLoc[47](loc26: ID)
69644CopyLoc[1](Arg1: &mut GlobalConfig)
69745CopyLoc[47](loc26: ID)
69846MoveLoc[13](Arg13: Balance<Ty2>)
69947CopyLoc[20](Arg20: &mut TxContext)
70149Call charge_pool_creation_fee<Ty2>(&mut GlobalConfig, ID, Balance<Ty2>, &TxContext)
70250CopyLoc[1](Arg1: &mut GlobalConfig)
70351MutBorrowLoc[48](loc27: Pool<Ty0, Ty1>)
70452MoveLoc[14](Arg14: u32)
70553MoveLoc[15](Arg15: u32)
70654MoveLoc[20](Arg20: &mut TxContext)
70755StLoc[29](loc8: &mut TxContext)
70856StLoc[28](loc7: u32)
70957StLoc[27](loc6: u32)
71058StLoc[26](loc5: &mut Pool<Ty0, Ty1>)
71260MoveLoc[26](loc5: &mut Pool<Ty0, Ty1>)
71361MoveLoc[27](loc6: u32)
71462MoveLoc[28](loc7: u32)
71563MoveLoc[29](loc8: &mut TxContext)
71664Call open_position<Ty0, Ty1>(&GlobalConfig, &mut Pool<Ty0, Ty1>, u32, u32, &mut TxContext): Position
71765StLoc[49](loc28: Position)
71866MoveLoc[0](Arg0: &Clock)
71967MoveLoc[1](Arg1: &mut GlobalConfig)
72068MutBorrowLoc[48](loc27: Pool<Ty0, Ty1>)
72169MutBorrowLoc[49](loc28: Position)
72270MoveLoc[16](Arg16: Balance<Ty0>)
72371MoveLoc[17](Arg17: Balance<Ty1>)
72472MoveLoc[18](Arg18: u64)
72573MoveLoc[19](Arg19: bool)
72674StLoc[36](loc15: bool)
72775StLoc[35](loc14: u64)
72876StLoc[33](loc12: Balance<Ty1>)
72977StLoc[32](loc11: Balance<Ty0>)
73078StLoc[31](loc10: &mut Position)
73179StLoc[30](loc9: &mut Pool<Ty0, Ty1>)
73381MoveLoc[30](loc9: &mut Pool<Ty0, Ty1>)
73482MoveLoc[31](loc10: &mut Position)
73583MoveLoc[32](loc11: Balance<Ty0>)
73684MoveLoc[33](loc12: Balance<Ty1>)
73785MoveLoc[35](loc14: u64)
73886MoveLoc[36](loc15: bool)
73987Call add_liquidity_with_fixed_amount<Ty0, Ty1>(&Clock, &GlobalConfig, &mut Pool<Ty0, Ty1>, &mut Position, Balance<Ty0>, Balance<Ty1>, u64, bool): u64 * u64 * Balance<Ty0> * Balance<Ty1>
74088StLoc[44](loc23: Balance<Ty1>)
74189StLoc[43](loc22: Balance<Ty0>)
74290StLoc[46](loc25: u64)
74391StLoc[45](loc24: u64)
74492MoveLoc[48](loc27: Pool<Ty0, Ty1>)
74593Call transfer::share_object<Pool<Ty0, Ty1>>(Pool<Ty0, Ty1>)
74694MoveLoc[47](loc26: ID)
74795MoveLoc[49](loc28: Position)
74896MoveLoc[45](loc24: u64)
74997MoveLoc[46](loc25: u64)
75098MoveLoc[43](loc22: Balance<Ty0>)
75199MoveLoc[44](loc23: Balance<Ty1>)
755public create_pool_and_get_object<Ty0, Ty1, Ty2>(Arg0: &Clock, Arg1: &mut GlobalConfig, Arg2: vector<u8>, Arg3: vector<u8>, Arg4: vector<u8>, Arg5: u8, Arg6: vector<u8>, Arg7: vector<u8>, Arg8: u8, Arg9: vector<u8>, Arg10: u32, Arg11: u64, Arg12: u128, Arg13: Balance<Ty2>, Arg14: &mut TxContext): Pool<Ty0, Ty1> {
760L19: loc4: &mut TxContext
766L25: loc10: vector<u8>
768L27: loc12: Pool<Ty0, Ty1>
7700MoveLoc[0](Arg0: &Clock)
7711CopyLoc[1](Arg1: &mut GlobalConfig)
7722MoveLoc[2](Arg2: vector<u8>)
7733MoveLoc[3](Arg3: vector<u8>)
7744MoveLoc[4](Arg4: vector<u8>)
7766MoveLoc[6](Arg6: vector<u8>)
7777MoveLoc[7](Arg7: vector<u8>)
7799MoveLoc[9](Arg9: vector<u8>)
78010MoveLoc[10](Arg10: u32)
78111MoveLoc[11](Arg11: u64)
78212MoveLoc[12](Arg12: u128)
78313CopyLoc[14](Arg14: &mut TxContext)
78414StLoc[19](loc4: &mut TxContext)
78515StLoc[18](loc3: u128)
78616StLoc[17](loc2: u64)
78717StLoc[16](loc1: u32)
78818StLoc[15](loc0: vector<u8>)
78919StLoc[26](loc11: u8)
79020StLoc[25](loc10: vector<u8>)
79121StLoc[24](loc9: vector<u8>)
79323StLoc[22](loc7: vector<u8>)
79424StLoc[21](loc6: vector<u8>)
79525StLoc[20](loc5: vector<u8>)
79727MoveLoc[20](loc5: vector<u8>)
79828MoveLoc[21](loc6: vector<u8>)
79929MoveLoc[22](loc7: vector<u8>)
80030MoveLoc[23](loc8: u8)
80131MoveLoc[24](loc9: vector<u8>)
80232MoveLoc[25](loc10: vector<u8>)
80333MoveLoc[26](loc11: u8)
80434MoveLoc[15](loc0: vector<u8>)
80535MoveLoc[16](loc1: u32)
80636MoveLoc[17](loc2: u64)
80737MoveLoc[18](loc3: u128)
80838MoveLoc[19](loc4: &mut TxContext)
80939Call create_pool_internal<Ty0, Ty1>(&Clock, &GlobalConfig, vector<u8>, vector<u8>, vector<u8>, u8, vector<u8>, vector<u8>, u8, vector<u8>, u32, u64, u128, &mut TxContext): Pool<Ty0, Ty1>
81040StLoc[27](loc12: Pool<Ty0, Ty1>)
81141MoveLoc[1](Arg1: &mut GlobalConfig)
81242ImmBorrowLoc[27](loc12: Pool<Ty0, Ty1>)
81343Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
81444MoveLoc[13](Arg13: Balance<Ty2>)
81545MoveLoc[14](Arg14: &mut TxContext)
81747Call charge_pool_creation_fee<Ty2>(&mut GlobalConfig, ID, Balance<Ty2>, &TxContext)
81848MoveLoc[27](loc12: Pool<Ty0, Ty1>)
822public share_pool_object<Ty0, Ty1>(Arg0: Pool<Ty0, Ty1>) {
8240MoveLoc[0](Arg0: Pool<Ty0, Ty1>)
8251Call transfer::share_object<Pool<Ty0, Ty1>>(Pool<Ty0, Ty1>)
829public new<Ty0, Ty1>(Arg0: &Clock, Arg1: vector<u8>, Arg2: vector<u8>, Arg3: vector<u8>, Arg4: u8, Arg5: vector<u8>, Arg6: vector<u8>, Arg7: u8, Arg8: vector<u8>, Arg9: u32, Arg10: u64, Arg11: u128, Arg12: &mut TxContext) {
8310Call errors::depricated(): u64
835public add_liquidity_with_fixed_amount<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: &mut Position, Arg4: Balance<Ty0>, Arg5: Balance<Ty1>, Arg6: u64, Arg7: bool): u64 * u64 * Balance<Ty0> * Balance<Ty1> {
836L8: loc0: Balance<Ty0>
837L9: loc1: Balance<Ty1>
8430MoveLoc[1](Arg1: &GlobalConfig)
8441Call config::verify_version(&GlobalConfig)
8452CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
8474Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
8485CopyLoc[3](Arg3: &mut Position)
8507Call position::pool_id(&Position): ID
85611MoveLoc[3](Arg3: &mut Position)
85813MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
86015MoveLoc[0](Arg0: &Clock)
86217Call errors::position_does_not_belong_to_pool(): u64
86519CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
86620ImmBorrowFieldGeneric[8](Pool.is_paused: bool)
87325MoveLoc[3](Arg3: &mut Position)
87527MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
87729MoveLoc[0](Arg0: &Clock)
87931Call errors::pool_is_paused(): u64
88233CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
88334ImmBorrowFieldGeneric[5](Pool.id: UID)
88435Call is_flash_swap_in_progress(&UID): bool
89039MoveLoc[3](Arg3: &mut Position)
89241MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
89443MoveLoc[0](Arg0: &Clock)
89645Call errors::flash_swap_in_progress(): u64
89947CopyLoc[6](Arg6: u64)
90652MoveLoc[3](Arg3: &mut Position)
90854MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
91056MoveLoc[0](Arg0: &Clock)
91258Call errors::zero_amount(): u64
91560CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
91661ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
91863StLoc[13](loc5: u128)
91964CopyLoc[3](Arg3: &mut Position)
92166Call position::lower_tick(&Position): I32
92267CopyLoc[3](Arg3: &mut Position)
92469Call position::upper_tick(&Position): I32
92570CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
92671ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
92873CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
92974ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
93176MoveLoc[6](Arg6: u64)
93277MoveLoc[7](Arg7: bool)
93378Call clmm_math::get_liquidity_by_amount(I32, I32, I32, u128, u64, bool): u128 * u64 * u64
93681StLoc[12](loc4: u128)
93782MoveLoc[0](Arg0: &Clock)
93883CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
93984CopyLoc[3](Arg3: &mut Position)
94085CopyLoc[12](loc4: u128)
94186Call i128::from(u128): I128
94287Call update_data_for_delta_l<Ty0, Ty1>(&Clock, &mut Pool<Ty0, Ty1>, &mut Position, I128): u64 * u64
94388StLoc[11](loc3: u64)
94489StLoc[10](loc2: u64)
94590CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
94691ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
95095CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
95196MutBorrowFieldGeneric[4](Pool.sequence_number: u128)
95398CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
95499MutBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
955100MoveLoc[4](Arg4: Balance<Ty0>)
956101CopyLoc[10](loc2: u64)
957102Call utils::deposit_balance<Ty0>(&mut Balance<Ty0>, Balance<Ty0>, u64): Balance<Ty0>
958103CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
959104MutBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
960105MoveLoc[5](Arg5: Balance<Ty1>)
961106CopyLoc[11](loc3: u64)
962107Call utils::deposit_balance<Ty1>(&mut Balance<Ty1>, Balance<Ty1>, u64): Balance<Ty1>
963108StLoc[9](loc1: Balance<Ty1>)
964109StLoc[8](loc0: Balance<Ty0>)
965110CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
967112Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
968113CopyLoc[3](Arg3: &mut Position)
970115Call object::id<Position>(&Position): ID
971116CopyLoc[10](loc2: u64)
972117CopyLoc[11](loc3: u64)
973118CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
974119ImmBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
975120Call balance::value<Ty0>(&Balance<Ty0>): u64
976121CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
977122ImmBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
978123Call balance::value<Ty1>(&Balance<Ty1>): u64
979124MoveLoc[12](loc4: u128)
980125MoveLoc[13](loc5: u128)
981126CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
982127ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
984129CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
985130ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
987132CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
988133ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
990135CopyLoc[3](Arg3: &mut Position)
992137Call position::lower_tick(&Position): I32
993138MoveLoc[3](Arg3: &mut Position)
995140Call position::upper_tick(&Position): I32
996141MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
997142ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
999144Call events::emit_liquidity_provided_event(ID, ID, u64, u64, u64, u64, u128, u128, u128, u128, I32, I32, I32, u128)
1000145MoveLoc[10](loc2: u64)
1001146MoveLoc[11](loc3: u64)
1002147MoveLoc[8](loc0: Balance<Ty0>)
1003148MoveLoc[9](loc1: Balance<Ty1>)
1007public add_liquidity<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: &mut Position, Arg4: Balance<Ty0>, Arg5: Balance<Ty1>, Arg6: u128): u64 * u64 * Balance<Ty0> * Balance<Ty1> {
10130MoveLoc[1](Arg1: &GlobalConfig)
10141Call config::verify_version(&GlobalConfig)
10152CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
10174Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
10185CopyLoc[3](Arg3: &mut Position)
10207Call position::pool_id(&Position): ID
102611MoveLoc[3](Arg3: &mut Position)
102813MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
103015MoveLoc[0](Arg0: &Clock)
103217Call errors::position_does_not_belong_to_pool(): u64
103519CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
103620ImmBorrowFieldGeneric[8](Pool.is_paused: bool)
104325MoveLoc[3](Arg3: &mut Position)
104527MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
104729MoveLoc[0](Arg0: &Clock)
104931Call errors::pool_is_paused(): u64
105233CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
105334ImmBorrowFieldGeneric[5](Pool.id: UID)
105435Call is_flash_swap_in_progress(&UID): bool
106039MoveLoc[3](Arg3: &mut Position)
106241MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
106443MoveLoc[0](Arg0: &Clock)
106645Call errors::flash_swap_in_progress(): u64
106947CopyLoc[6](Arg6: u128)
107652MoveLoc[3](Arg3: &mut Position)
107854MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
108056MoveLoc[0](Arg0: &Clock)
108258Call errors::zero_amount(): u64
108560CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
108661ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
108863StLoc[10](loc3: u128)
108964MoveLoc[0](Arg0: &Clock)
109065CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
109166CopyLoc[3](Arg3: &mut Position)
109267CopyLoc[6](Arg6: u128)
109368Call i128::from(u128): I128
109469Call update_data_for_delta_l<Ty0, Ty1>(&Clock, &mut Pool<Ty0, Ty1>, &mut Position, I128): u64 * u64
109570StLoc[9](loc2: u64)
109671StLoc[8](loc1: u64)
109772ImmBorrowLoc[4](Arg4: Balance<Ty0>)
109873Call balance::value<Ty0>(&Balance<Ty0>): u64
109974CopyLoc[8](loc1: u64)
110377ImmBorrowLoc[5](Arg5: Balance<Ty1>)
110478Call balance::value<Ty1>(&Balance<Ty1>): u64
110579CopyLoc[9](loc2: u64)
110781StLoc[7](loc0: bool)
111184StLoc[7](loc0: bool)
111385MoveLoc[7](loc0: bool)
111888MoveLoc[3](Arg3: &mut Position)
112090MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
112292Call errors::insufficient_amount(): u64
112594CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
112695ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
113099CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1131100MutBorrowFieldGeneric[4](Pool.sequence_number: u128)
1133102CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1134103MutBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
1135104MoveLoc[4](Arg4: Balance<Ty0>)
1136105CopyLoc[8](loc1: u64)
1137106Call utils::deposit_balance<Ty0>(&mut Balance<Ty0>, Balance<Ty0>, u64): Balance<Ty0>
1138107CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1139108MutBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
1140109MoveLoc[5](Arg5: Balance<Ty1>)
1141110CopyLoc[9](loc2: u64)
1142111Call utils::deposit_balance<Ty1>(&mut Balance<Ty1>, Balance<Ty1>, u64): Balance<Ty1>
1143112StLoc[5](Arg5: Balance<Ty1>)
1144113StLoc[4](Arg4: Balance<Ty0>)
1145114CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1147116Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
1148117CopyLoc[3](Arg3: &mut Position)
1150119Call object::id<Position>(&Position): ID
1151120CopyLoc[8](loc1: u64)
1152121CopyLoc[9](loc2: u64)
1153122CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1154123ImmBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
1155124Call balance::value<Ty0>(&Balance<Ty0>): u64
1156125CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1157126ImmBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
1158127Call balance::value<Ty1>(&Balance<Ty1>): u64
1159128MoveLoc[6](Arg6: u128)
1160129MoveLoc[10](loc3: u128)
1161130CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1162131ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
1164133CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1165134ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
1167136CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1168137ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
1170139CopyLoc[3](Arg3: &mut Position)
1172141Call position::lower_tick(&Position): I32
1173142MoveLoc[3](Arg3: &mut Position)
1175144Call position::upper_tick(&Position): I32
1176145MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1177146ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
1179148Call events::emit_liquidity_provided_event(ID, ID, u64, u64, u64, u64, u128, u128, u128, u128, I32, I32, I32, u128)
1180149MoveLoc[8](loc1: u64)
1181150MoveLoc[9](loc2: u64)
1182151MoveLoc[4](Arg4: Balance<Ty0>)
1183152MoveLoc[5](Arg5: Balance<Ty1>)
1187public remove_liquidity<Ty0, Ty1>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty0, Ty1>, Arg2: &mut Position, Arg3: u128, Arg4: &Clock): u64 * u64 * Balance<Ty0> * Balance<Ty1> {
1188L5: loc0: Balance<Ty0>
1189L6: loc1: Balance<Ty1>
11940MoveLoc[0](Arg0: &GlobalConfig)
11951Call config::verify_version(&GlobalConfig)
11962CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
11984Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
11995CopyLoc[2](Arg2: &mut Position)
12017Call position::pool_id(&Position): ID
120711MoveLoc[2](Arg2: &mut Position)
120913MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
121115MoveLoc[4](Arg4: &Clock)
121317Call errors::position_does_not_belong_to_pool(): u64
121619CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
121720ImmBorrowFieldGeneric[8](Pool.is_paused: bool)
122425MoveLoc[2](Arg2: &mut Position)
122627MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
122829MoveLoc[4](Arg4: &Clock)
123031Call errors::pool_is_paused(): u64
123333CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
123434ImmBorrowFieldGeneric[5](Pool.id: UID)
123535Call is_flash_swap_in_progress(&UID): bool
124139MoveLoc[2](Arg2: &mut Position)
124341MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
124543MoveLoc[4](Arg4: &Clock)
124745Call errors::flash_swap_in_progress(): u64
125047CopyLoc[3](Arg3: u128)
125752MoveLoc[2](Arg2: &mut Position)
125954MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
126156MoveLoc[4](Arg4: &Clock)
126358Call errors::zero_amount(): u64
126660CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
126761ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
126963StLoc[9](loc4: u128)
127064MoveLoc[4](Arg4: &Clock)
127165CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
127266CopyLoc[2](Arg2: &mut Position)
127367CopyLoc[3](Arg3: u128)
127468Call i128::neg_from(u128): I128
127569Call update_data_for_delta_l<Ty0, Ty1>(&Clock, &mut Pool<Ty0, Ty1>, &mut Position, I128): u64 * u64
127670StLoc[8](loc3: u64)
127771StLoc[7](loc2: u64)
127872CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
127973CopyLoc[7](loc2: u64)
128074CopyLoc[8](loc3: u64)
128175Call withdraw_balances<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, u64, u64): Balance<Ty0> * Balance<Ty1>
128276StLoc[6](loc1: Balance<Ty1>)
128377StLoc[5](loc0: Balance<Ty0>)
128478CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
128579ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
128983CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
129084MutBorrowFieldGeneric[4](Pool.sequence_number: u128)
129286CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
129488Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
129589CopyLoc[2](Arg2: &mut Position)
129791Call object::id<Position>(&Position): ID
129892CopyLoc[7](loc2: u64)
129993CopyLoc[8](loc3: u64)
130094CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
130195ImmBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
130296Call balance::value<Ty0>(&Balance<Ty0>): u64
130397CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
130498ImmBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
130599Call balance::value<Ty1>(&Balance<Ty1>): u64
1306100MoveLoc[3](Arg3: u128)
1307101MoveLoc[9](loc4: u128)
1308102CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
1309103ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
1311105CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
1312106ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
1314108CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
1315109ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
1317111CopyLoc[2](Arg2: &mut Position)
1319113Call position::lower_tick(&Position): I32
1320114MoveLoc[2](Arg2: &mut Position)
1322116Call position::upper_tick(&Position): I32
1323117MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
1324118ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
1326120Call events::emit_liquidity_removed_event(ID, ID, u64, u64, u64, u64, u128, u128, u128, u128, I32, I32, I32, u128)
1327121MoveLoc[7](loc2: u64)
1328122MoveLoc[8](loc3: u64)
1329123MoveLoc[5](loc0: Balance<Ty0>)
1330124MoveLoc[6](loc1: Balance<Ty1>)
1334public swap<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: Balance<Ty0>, Arg4: Balance<Ty1>, Arg5: bool, Arg6: bool, Arg7: u64, Arg8: u64, Arg9: u128): Balance<Ty0> * Balance<Ty1> {
1339L14: loc4: SwapResult
13410MoveLoc[1](Arg1: &GlobalConfig)
13421Call config::verify_version(&GlobalConfig)
13432CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
13443ImmBorrowFieldGeneric[8](Pool.is_paused: bool)
13518MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
135310MoveLoc[0](Arg0: &Clock)
135512Call errors::pool_is_paused(): u64
135814CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
135915ImmBorrowFieldGeneric[5](Pool.id: UID)
136016Call is_flash_swap_in_progress(&UID): bool
136620MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
136822MoveLoc[0](Arg0: &Clock)
137024Call errors::flash_swap_in_progress(): u64
137326CopyLoc[7](Arg7: u64)
138031MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
138233MoveLoc[0](Arg0: &Clock)
138435Call errors::zero_amount(): u64
138737MoveLoc[0](Arg0: &Clock)
138838CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
138939CopyLoc[5](Arg5: bool)
139040CopyLoc[6](Arg6: bool)
139141MoveLoc[7](Arg7: u64)
139242MoveLoc[9](Arg9: u128)
139343Call swap_in_pool<Ty0, Ty1>(&Clock, &mut Pool<Ty0, Ty1>, bool, bool, u64, u128): SwapResult
139444StLoc[14](loc4: SwapResult)
139545MoveLoc[6](Arg6: bool)
139847ImmBorrowLoc[14](loc4: SwapResult)
139948ImmBorrowField[23](SwapResult.amount_calculated: u64)
140150MoveLoc[8](Arg8: u64)
140754MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
140956Call errors::slippage_exceeds(): u64
141258ImmBorrowLoc[14](loc4: SwapResult)
141359ImmBorrowField[24](SwapResult.amount_specified: u64)
141561ImmBorrowLoc[14](loc4: SwapResult)
141662ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
141965ImmBorrowLoc[14](loc4: SwapResult)
142066ImmBorrowField[23](SwapResult.amount_calculated: u64)
142268StLoc[11](loc1: u64)
142369StLoc[10](loc0: u64)
142671ImmBorrowLoc[14](loc4: SwapResult)
142772ImmBorrowField[23](SwapResult.amount_calculated: u64)
142974MoveLoc[8](Arg8: u64)
143578MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
143780Call errors::slippage_exceeds(): u64
144082ImmBorrowLoc[14](loc4: SwapResult)
144183ImmBorrowField[23](SwapResult.amount_calculated: u64)
144385ImmBorrowLoc[14](loc4: SwapResult)
144486ImmBorrowField[24](SwapResult.amount_specified: u64)
144688ImmBorrowLoc[14](loc4: SwapResult)
144789ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
145092StLoc[11](loc1: u64)
145193StLoc[10](loc0: u64)
145394MoveLoc[10](loc0: u64)
145495MoveLoc[11](loc1: u64)
145596StLoc[13](loc3: u64)
145697StLoc[12](loc2: u64)
145798CopyLoc[5](Arg5: bool)
1460100CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1461101MutBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
1462102MoveLoc[3](Arg3: Balance<Ty0>)
1463103CopyLoc[12](loc2: u64)
1464104Call utils::deposit_balance<Ty0>(&mut Balance<Ty0>, Balance<Ty0>, u64): Balance<Ty0>
1465105StLoc[3](Arg3: Balance<Ty0>)
1466106MoveLoc[4](Arg4: Balance<Ty1>)
1467107Call balance::destroy_zero<Ty1>(Balance<Ty1>)
1468108CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1469109MutBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
1470110CopyLoc[13](loc3: u64)
1471111Call utils::withdraw_balance<Ty1>(&mut Balance<Ty1>, u64): Balance<Ty1>
1472112StLoc[4](Arg4: Balance<Ty1>)
1475114CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1476115MutBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
1477116MoveLoc[4](Arg4: Balance<Ty1>)
1478117CopyLoc[12](loc2: u64)
1479118Call utils::deposit_balance<Ty1>(&mut Balance<Ty1>, Balance<Ty1>, u64): Balance<Ty1>
1480119StLoc[4](Arg4: Balance<Ty1>)
1481120MoveLoc[3](Arg3: Balance<Ty0>)
1482121Call balance::destroy_zero<Ty0>(Balance<Ty0>)
1483122CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1484123MutBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
1485124CopyLoc[13](loc3: u64)
1486125Call utils::withdraw_balance<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
1487126StLoc[3](Arg3: Balance<Ty0>)
1489127CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1490128ImmBorrowFieldGeneric[5](Pool.id: UID)
1491129Call object::uid_to_inner(&UID): ID
1492130MoveLoc[5](Arg5: bool)
1493131MoveLoc[12](loc2: u64)
1494132MoveLoc[13](loc3: u64)
1495133CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1496134ImmBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
1497135Call balance::value<Ty0>(&Balance<Ty0>): u64
1498136CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1499137ImmBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
1500138Call balance::value<Ty1>(&Balance<Ty1>): u64
1501139ImmBorrowLoc[14](loc4: SwapResult)
1502140ImmBorrowField[26](SwapResult.fee_amount: u64)
1504142ImmBorrowLoc[14](loc4: SwapResult)
1505143ImmBorrowField[27](SwapResult.protocol_fee: u64)
1508146ImmBorrowLoc[14](loc4: SwapResult)
1509147ImmBorrowField[28](SwapResult.starting_liquidity: u128)
1511149ImmBorrowLoc[14](loc4: SwapResult)
1512150ImmBorrowField[29](SwapResult.liquidity: u128)
1514152ImmBorrowLoc[14](loc4: SwapResult)
1515153ImmBorrowField[30](SwapResult.start_sqrt_price: u128)
1517155ImmBorrowLoc[14](loc4: SwapResult)
1518156ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
1520158CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1521159ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
1523161ImmBorrowLoc[14](loc4: SwapResult)
1524162ImmBorrowField[32](SwapResult.is_exceed: bool)
1526164MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1527165ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
1529167Call events::emit_swap_event(ID, bool, u64, u64, u64, u64, u64, u128, u128, u128, u128, I32, bool, u128)
1530168MoveLoc[3](Arg3: Balance<Ty0>)
1531169MoveLoc[4](Arg4: Balance<Ty1>)
1535public flash_swap<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: bool, Arg4: bool, Arg5: u64, Arg6: u128): Balance<Ty0> * Balance<Ty1> * FlashSwapReceipt<Ty0, Ty1> {
1538L9: loc2: Balance<Ty0>
1539L10: loc3: Balance<Ty1>
1542L13: loc6: Balance<Ty0>
1543L14: loc7: Balance<Ty1>
1544L15: loc8: FlashSwapReceipt<Ty0, Ty1>
1545L16: loc9: SwapResult
15470MoveLoc[1](Arg1: &GlobalConfig)
15481Call config::verify_version(&GlobalConfig)
15492CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
15503ImmBorrowFieldGeneric[8](Pool.is_paused: bool)
15578MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
155910MoveLoc[0](Arg0: &Clock)
156112Call errors::pool_is_paused(): u64
156414CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
156515ImmBorrowFieldGeneric[5](Pool.id: UID)
156616Call is_flash_swap_in_progress(&UID): bool
157220MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
157422MoveLoc[0](Arg0: &Clock)
157624Call errors::flash_swap_in_progress(): u64
157926CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
158027MutBorrowFieldGeneric[5](Pool.id: UID)
158128Call constants::flash_swap_in_progress_key(): vector<u8>
158330Call dynamic_field::add<vector<u8>, bool>(&mut UID, vector<u8>, bool)
158431CopyLoc[5](Arg5: u64)
159136MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
159338MoveLoc[0](Arg0: &Clock)
159540Call errors::zero_amount(): u64
159842MoveLoc[0](Arg0: &Clock)
159943CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
160044CopyLoc[3](Arg3: bool)
160145CopyLoc[4](Arg4: bool)
160246MoveLoc[5](Arg5: u64)
160347MoveLoc[6](Arg6: u128)
160448Call swap_in_pool<Ty0, Ty1>(&Clock, &mut Pool<Ty0, Ty1>, bool, bool, u64, u128): SwapResult
160549StLoc[16](loc9: SwapResult)
160650MoveLoc[4](Arg4: bool)
160952ImmBorrowLoc[16](loc9: SwapResult)
161053ImmBorrowField[24](SwapResult.amount_specified: u64)
161255ImmBorrowLoc[16](loc9: SwapResult)
161356ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
161659ImmBorrowLoc[16](loc9: SwapResult)
161760ImmBorrowField[23](SwapResult.amount_calculated: u64)
161962StLoc[8](loc1: u64)
162063StLoc[7](loc0: u64)
162365ImmBorrowLoc[16](loc9: SwapResult)
162466ImmBorrowField[23](SwapResult.amount_calculated: u64)
162668ImmBorrowLoc[16](loc9: SwapResult)
162769ImmBorrowField[24](SwapResult.amount_specified: u64)
162971ImmBorrowLoc[16](loc9: SwapResult)
163072ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
163375StLoc[8](loc1: u64)
163476StLoc[7](loc0: u64)
163677MoveLoc[7](loc0: u64)
163778MoveLoc[8](loc1: u64)
163879StLoc[12](loc5: u64)
163980StLoc[11](loc4: u64)
164081CopyLoc[3](Arg3: bool)
164383Call balance::zero<Ty0>(): Balance<Ty0>
164484CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
164585MutBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
164686CopyLoc[12](loc5: u64)
164787Call balance::split<Ty1>(&mut Balance<Ty1>, u64): Balance<Ty1>
164888StLoc[10](loc3: Balance<Ty1>)
164989StLoc[9](loc2: Balance<Ty0>)
165291CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
165392MutBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
165493CopyLoc[12](loc5: u64)
165594Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
165695Call balance::zero<Ty1>(): Balance<Ty1>
165796StLoc[10](loc3: Balance<Ty1>)
165897StLoc[9](loc2: Balance<Ty0>)
166098MoveLoc[9](loc2: Balance<Ty0>)
166199MoveLoc[10](loc3: Balance<Ty1>)
1662100StLoc[14](loc7: Balance<Ty1>)
1663101StLoc[13](loc6: Balance<Ty0>)
1664102CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1665103ImmBorrowFieldGeneric[5](Pool.id: UID)
1666104Call object::uid_to_inner(&UID): ID
1667105CopyLoc[3](Arg3: bool)
1668106CopyLoc[11](loc4: u64)
1669107MoveLoc[12](loc5: u64)
1670108ImmBorrowLoc[16](loc9: SwapResult)
1671109ImmBorrowField[26](SwapResult.fee_amount: u64)
1673111ImmBorrowLoc[16](loc9: SwapResult)
1674112ImmBorrowField[27](SwapResult.protocol_fee: u64)
1677115ImmBorrowLoc[16](loc9: SwapResult)
1678116ImmBorrowField[28](SwapResult.starting_liquidity: u128)
1680118ImmBorrowLoc[16](loc9: SwapResult)
1681119ImmBorrowField[29](SwapResult.liquidity: u128)
1683121ImmBorrowLoc[16](loc9: SwapResult)
1684122ImmBorrowField[30](SwapResult.start_sqrt_price: u128)
1686124ImmBorrowLoc[16](loc9: SwapResult)
1687125ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
1689127CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1690128ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
1692130ImmBorrowLoc[16](loc9: SwapResult)
1693131ImmBorrowField[32](SwapResult.is_exceed: bool)
1695133CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1696134ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
1698136Call events::emit_flash_swap_event(ID, bool, u64, u64, u64, u128, u128, u128, u128, I32, bool, u128)
1699137MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
1701139Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
1702140MoveLoc[3](Arg3: bool)
1703141MoveLoc[11](loc4: u64)
1704142PackGeneric[0](FlashSwapReceipt<Ty0, Ty1>)
1705143StLoc[15](loc8: FlashSwapReceipt<Ty0, Ty1>)
1706144MoveLoc[13](loc6: Balance<Ty0>)
1707145MoveLoc[14](loc7: Balance<Ty1>)
1708146MoveLoc[15](loc8: FlashSwapReceipt<Ty0, Ty1>)
1712public calculate_swap_results<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>, Arg1: bool, Arg2: bool, Arg3: u64, Arg4: u128): SwapResult {
1721L13: loc8: vector<SwapStepResult>
1739L31: loc26: SwapStepResult
1740L32: loc27: SwapResult
17430CopyLoc[1](Arg1: bool)
17462CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
17473ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
17495CopyLoc[4](Arg4: u128)
17538CopyLoc[4](Arg4: u128)
17549Call tick_math::min_sqrt_price(): u128
175611StLoc[5](loc0: bool)
176014StLoc[5](loc0: bool)
176215MoveLoc[5](loc0: bool)
176718MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
176920Call errors::invalid_price_limit(): u64
177423CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
177524ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
177726CopyLoc[4](Arg4: u128)
178129CopyLoc[4](Arg4: u128)
178230Call tick_math::max_sqrt_price(): u128
178432StLoc[14](loc9: bool)
178835StLoc[14](loc9: bool)
179036MoveLoc[14](loc9: bool)
179539MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
179741Call errors::invalid_price_limit(): u64
180043CopyLoc[1](Arg1: bool)
180144StLoc[20](loc15: bool)
180245CopyLoc[2](Arg2: bool)
180346StLoc[21](loc16: bool)
180447CopyLoc[3](Arg3: u64)
180548StLoc[22](loc17: u64)
180649MoveLoc[3](Arg3: u64)
180750StLoc[23](loc18: u64)
180851CopyLoc[1](Arg1: bool)
181153CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
181254ImmBorrowFieldGeneric[14](Pool.fee_growth_global_coin_a: u128)
181456StLoc[6](loc1: u128)
181758CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
181859ImmBorrowFieldGeneric[15](Pool.fee_growth_global_coin_b: u128)
182061StLoc[6](loc1: u128)
182262MoveLoc[6](loc1: u128)
182363StLoc[7](loc2: u128)
182464CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
182565ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
182767StLoc[8](loc3: u128)
182868CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
182969ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
183171StLoc[9](loc4: u128)
183272CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
183373ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
183575StLoc[10](loc5: I32)
183676CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
183777ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
183979StLoc[11](loc6: u128)
184080CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
184181ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
184383StLoc[12](loc7: u128)
184585StLoc[13](loc8: vector<SwapStepResult>)
184686MoveLoc[20](loc15: bool)
184787MoveLoc[21](loc16: bool)
184888MoveLoc[22](loc17: u64)
184989MoveLoc[23](loc18: u64)
185191MoveLoc[7](loc2: u128)
185494MoveLoc[8](loc3: u128)
185595MoveLoc[9](loc4: u128)
185696MoveLoc[10](loc5: I32)
185898MoveLoc[11](loc6: u128)
185999MoveLoc[12](loc7: u128)
1861101MoveLoc[13](loc8: vector<SwapStepResult>)
1862102Pack[2](SwapResult)
1863103StLoc[32](loc27: SwapResult)
1865104ImmBorrowLoc[32](loc27: SwapResult)
1866105ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
1874111ImmBorrowLoc[32](loc27: SwapResult)
1875112ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
1877114CopyLoc[4](Arg4: u128)
1879116StLoc[15](loc10: bool)
1883119StLoc[15](loc10: bool)
1885120MoveLoc[15](loc10: bool)
1888122Call 0i32::zero(): I32
1890124ImmBorrowLoc[32](loc27: SwapResult)
1891125ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
1898132Pack[3](SwapStepResult)
1899133StLoc[31](loc26: SwapStepResult)
1900134CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
1901135ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
1902136Call tick::bitmap(&TickManager): &Table<I32, u256>
1903137ImmBorrowLoc[32](loc27: SwapResult)
1904138ImmBorrowField[36](SwapResult.current_tick_index: I32)
1906140CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
1907141ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
1908142Call tick::tick_spacing(&TickManager): u32
1909143CopyLoc[1](Arg1: bool)
1910144Call tick_bitmap::next_initialized_tick_within_one_word(&Table<I32, u256>, I32, u32, bool): I32 * bool
1911145StLoc[27](loc22: bool)
1912146MutBorrowLoc[31](loc26: SwapStepResult)
1913147MutBorrowField[37](SwapStepResult.tick_index_next: I32)
1915149MoveLoc[27](loc22: bool)
1916150MutBorrowLoc[31](loc26: SwapStepResult)
1917151MutBorrowField[38](SwapStepResult.initialized: bool)
1919153ImmBorrowLoc[31](loc26: SwapStepResult)
1920154ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
1922156Call tick_math::min_tick(): I32
1923157Call i32H::lt(I32, I32): bool
1926159Call tick_math::min_tick(): I32
1927160MutBorrowLoc[31](loc26: SwapStepResult)
1928161MutBorrowField[37](SwapStepResult.tick_index_next: I32)
1932164ImmBorrowLoc[31](loc26: SwapStepResult)
1933165ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
1935167Call tick_math::max_tick(): I32
1936168Call i32H::gt(I32, I32): bool
1939170Call tick_math::max_tick(): I32
1940171MutBorrowLoc[31](loc26: SwapStepResult)
1941172MutBorrowField[37](SwapStepResult.tick_index_next: I32)
1944174ImmBorrowLoc[31](loc26: SwapStepResult)
1945175ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
1947177Call tick_math::get_sqrt_price_at_tick(I32): u128
1948178MutBorrowLoc[31](loc26: SwapStepResult)
1949179MutBorrowField[39](SwapStepResult.sqrt_price_next: u128)
1951181CopyLoc[1](Arg1: bool)
1954183ImmBorrowLoc[31](loc26: SwapStepResult)
1955184ImmBorrowField[39](SwapStepResult.sqrt_price_next: u128)
1957186CopyLoc[4](Arg4: u128)
1958187Call math_u128::max(u128, u128): u128
1959188StLoc[16](loc11: u128)
1962190ImmBorrowLoc[31](loc26: SwapStepResult)
1963191ImmBorrowField[39](SwapStepResult.sqrt_price_next: u128)
1965193CopyLoc[4](Arg4: u128)
1966194Call math_u128::min(u128, u128): u128
1967195StLoc[16](loc11: u128)
1969196MoveLoc[16](loc11: u128)
1970197StLoc[33](loc28: u128)
1971198ImmBorrowLoc[32](loc27: SwapResult)
1972199ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
1974201MoveLoc[33](loc28: u128)
1975202ImmBorrowLoc[32](loc27: SwapResult)
1976203ImmBorrowField[29](SwapResult.liquidity: u128)
1978205ImmBorrowLoc[32](loc27: SwapResult)
1979206ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
1981208CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
1982209ImmBorrowFieldGeneric[17](Pool.fee_rate: u64)
1984211CopyLoc[1](Arg1: bool)
1985212CopyLoc[2](Arg2: bool)
1986213Call clmm_math::compute_swap_step(u128, u128, u128, u64, u64, bool, bool): u64 * u64 * u128 * u64
1987214StLoc[26](loc21: u64)
1988215StLoc[29](loc24: u128)
1989216StLoc[25](loc20: u64)
1990217StLoc[24](loc19: u64)
1991218MoveLoc[29](loc24: u128)
1992219MutBorrowLoc[32](loc27: SwapResult)
1993220MutBorrowField[31](SwapResult.end_sqrt_price: u128)
1995222CopyLoc[2](Arg2: bool)
1998224ImmBorrowLoc[32](loc27: SwapResult)
1999225ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
2001227CopyLoc[24](loc19: u64)
2003229CopyLoc[26](loc21: u64)
2005231MutBorrowLoc[32](loc27: SwapResult)
2006232MutBorrowField[25](SwapResult.amount_specified_remaining: u64)
2008234ImmBorrowLoc[32](loc27: SwapResult)
2009235ImmBorrowField[23](SwapResult.amount_calculated: u64)
2011237CopyLoc[25](loc20: u64)
2013239MutBorrowLoc[32](loc27: SwapResult)
2014240MutBorrowField[23](SwapResult.amount_calculated: u64)
2018243ImmBorrowLoc[32](loc27: SwapResult)
2019244ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
2021246CopyLoc[25](loc20: u64)
2023248MutBorrowLoc[32](loc27: SwapResult)
2024249MutBorrowField[25](SwapResult.amount_specified_remaining: u64)
2026251ImmBorrowLoc[32](loc27: SwapResult)
2027252ImmBorrowField[23](SwapResult.amount_calculated: u64)
2029254CopyLoc[24](loc19: u64)
2031256CopyLoc[26](loc21: u64)
2033258MutBorrowLoc[32](loc27: SwapResult)
2034259MutBorrowField[23](SwapResult.amount_calculated: u64)
2037261MoveLoc[24](loc19: u64)
2038262MutBorrowLoc[31](loc26: SwapStepResult)
2039263MutBorrowField[41](SwapStepResult.amount_in: u64)
2041265MoveLoc[25](loc20: u64)
2042266MutBorrowLoc[31](loc26: SwapStepResult)
2043267MutBorrowField[42](SwapStepResult.amount_out: u64)
2045269CopyLoc[26](loc21: u64)
2046270MutBorrowLoc[31](loc26: SwapStepResult)
2047271MutBorrowField[43](SwapStepResult.fee_amount: u64)
2049273ImmBorrowLoc[32](loc27: SwapResult)
2050274ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
2052276MutBorrowLoc[31](loc26: SwapStepResult)
2053277MutBorrowField[44](SwapStepResult.remaining_amount: u64)
2055279CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
2056280ImmBorrowFieldGeneric[9](Pool.protocol_fee_share: u64)
2062285MoveLoc[26](loc21: u64)
2063286CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
2064287ImmBorrowFieldGeneric[9](Pool.protocol_fee_share: u64)
2066289Call clmm_math::fee_rate_denominator(): u64
2067290Call full_math_u64::mul_div_floor(u64, u64, u64): u64
2068291StLoc[30](loc25: u64)
2069292ImmBorrowLoc[31](loc26: SwapStepResult)
2070293ImmBorrowField[43](SwapStepResult.fee_amount: u64)
2072295CopyLoc[30](loc25: u64)
2074297MutBorrowLoc[31](loc26: SwapStepResult)
2075298MutBorrowField[43](SwapStepResult.fee_amount: u64)
2077300ImmBorrowLoc[32](loc27: SwapResult)
2078301ImmBorrowField[27](SwapResult.protocol_fee: u64)
2080303MoveLoc[30](loc25: u64)
2082305MutBorrowLoc[32](loc27: SwapResult)
2083306MutBorrowField[27](SwapResult.protocol_fee: u64)
2086308ImmBorrowLoc[32](loc27: SwapResult)
2087309ImmBorrowField[29](SwapResult.liquidity: u128)
2093314ImmBorrowLoc[32](loc27: SwapResult)
2094315ImmBorrowField[45](SwapResult.fee_growth_global: u128)
2096317ImmBorrowLoc[31](loc26: SwapStepResult)
2097318ImmBorrowField[43](SwapStepResult.fee_amount: u64)
2100321Call constants::q64(): u128
2101322ImmBorrowLoc[32](loc27: SwapResult)
2102323ImmBorrowField[29](SwapResult.liquidity: u128)
2104325Call full_math_u128::mul_div_floor(u128, u128, u128): u128
2105326Call math_u128::wrapping_add(u128, u128): u128
2106327MutBorrowLoc[32](loc27: SwapResult)
2107328MutBorrowField[45](SwapResult.fee_growth_global: u128)
2110330ImmBorrowLoc[32](loc27: SwapResult)
2111331ImmBorrowField[26](SwapResult.fee_amount: u64)
2113333ImmBorrowLoc[31](loc26: SwapStepResult)
2114334ImmBorrowField[43](SwapStepResult.fee_amount: u64)
2117337MutBorrowLoc[32](loc27: SwapResult)
2118338MutBorrowField[26](SwapResult.fee_amount: u64)
2120340ImmBorrowLoc[32](loc27: SwapResult)
2121341ImmBorrowField[46](SwapResult.steps: u64)
2125345MutBorrowLoc[32](loc27: SwapResult)
2126346MutBorrowField[46](SwapResult.steps: u64)
2128348MutBorrowLoc[32](loc27: SwapResult)
2129349MutBorrowField[47](SwapResult.step_results: vector<SwapStepResult>)
2130350CopyLoc[31](loc26: SwapStepResult)
2132352ImmBorrowLoc[32](loc27: SwapResult)
2133353ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
2135355ImmBorrowLoc[31](loc26: SwapStepResult)
2136356ImmBorrowField[39](SwapStepResult.sqrt_price_next: u128)
2141360ImmBorrowLoc[31](loc26: SwapStepResult)
2142361ImmBorrowField[38](SwapStepResult.initialized: bool)
2146364CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
2147365ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
2148366ImmBorrowLoc[31](loc26: SwapStepResult)
2149367ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
2151369Call tick::get_tick_from_manager(&TickManager, I32): &TickInfo
2152370Call tick::liquidity_net(&TickInfo): I128
2153371StLoc[28](loc23: I128)
2154372CopyLoc[1](Arg1: bool)
2157374MoveLoc[28](loc23: I128)
2158375Call i128H::neg(I128): I128
2159376StLoc[17](loc12: I128)
2162378MoveLoc[28](loc23: I128)
2163379StLoc[17](loc12: I128)
2165380MoveLoc[17](loc12: I128)
2166381StLoc[28](loc23: I128)
2167382ImmBorrowLoc[32](loc27: SwapResult)
2168383ImmBorrowField[29](SwapResult.liquidity: u128)
2170385MoveLoc[28](loc23: I128)
2171386Call utils::add_delta(u128, I128): u128
2172387MutBorrowLoc[32](loc27: SwapResult)
2173388MutBorrowField[29](SwapResult.liquidity: u128)
2176390CopyLoc[1](Arg1: bool)
2179392ImmBorrowLoc[31](loc26: SwapStepResult)
2180393ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
2182395Call i32H::mate_to_lib(I32): I32
2184397Call i32::from(u32): I32
2185398Call i32::sub(I32, I32): I32
2186399Call i32H::lib_to_mate(I32): I32
2187400StLoc[18](loc13: I32)
2190402ImmBorrowLoc[31](loc26: SwapStepResult)
2191403ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
2193405StLoc[18](loc13: I32)
2195406MoveLoc[18](loc13: I32)
2196407MutBorrowLoc[32](loc27: SwapResult)
2197408MutBorrowField[36](SwapResult.current_tick_index: I32)
2201411ImmBorrowLoc[32](loc27: SwapResult)
2202412ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
2204414ImmBorrowLoc[31](loc26: SwapStepResult)
2205415ImmBorrowField[48](SwapStepResult.sqrt_price_start: u128)
2210419ImmBorrowLoc[32](loc27: SwapResult)
2211420ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
2213422Call tick_math::get_tick_at_sqrt_price(u128): I32
2214423MutBorrowLoc[32](loc27: SwapResult)
2215424MutBorrowField[36](SwapResult.current_tick_index: I32)
2220427MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
2222429ImmBorrowLoc[32](loc27: SwapResult)
2223430ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
2230436StLoc[19](loc14: bool)
2234439StLoc[19](loc14: bool)
2236440MoveLoc[19](loc14: bool)
2237441MutBorrowLoc[32](loc27: SwapResult)
2238442MutBorrowField[32](SwapResult.is_exceed: bool)
2240444CopyLoc[32](loc27: SwapResult)
2241445Call event::emit<SwapResult>(SwapResult)
2242446MoveLoc[32](loc27: SwapResult)
2246public repay_flash_swap<Ty0, Ty1>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty0, Ty1>, Arg2: Balance<Ty0>, Arg3: Balance<Ty1>, Arg4: FlashSwapReceipt<Ty0, Ty1>) {
22510MoveLoc[0](Arg0: &GlobalConfig)
22521Call config::verify_version(&GlobalConfig)
22532CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
22543ImmBorrowFieldGeneric[5](Pool.id: UID)
22554Call is_flash_swap_in_progress(&UID): bool
22607MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
22629Call errors::no_flash_swap_in_progress(): u64
226511CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
226612MutBorrowFieldGeneric[5](Pool.id: UID)
226713Call constants::flash_swap_in_progress_key(): vector<u8>
226814Call dynamic_field::remove<vector<u8>, bool>(&mut UID, vector<u8>): bool
227016MoveLoc[4](Arg4: FlashSwapReceipt<Ty0, Ty1>)
227117UnpackGeneric[0](FlashSwapReceipt<Ty0, Ty1>)
227218StLoc[6](loc1: u64)
227319StLoc[5](loc0: bool)
227521CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
227723Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
227824MoveLoc[7](loc2: ID)
228428MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
228630Call errors::invalid_pool(): u64
228932MoveLoc[5](loc0: bool)
229234ImmBorrowLoc[2](Arg2: Balance<Ty0>)
229335Call balance::value<Ty0>(&Balance<Ty0>): u64
229436MoveLoc[6](loc1: u64)
230040MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
230544CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
230645MutBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
230746MoveLoc[2](Arg2: Balance<Ty0>)
230847Call balance::join<Ty0>(&mut Balance<Ty0>, Balance<Ty0>): u64
231049MoveLoc[3](Arg3: Balance<Ty1>)
231150Call balance::destroy_zero<Ty1>(Balance<Ty1>)
231452ImmBorrowLoc[3](Arg3: Balance<Ty1>)
231553Call balance::value<Ty1>(&Balance<Ty1>): u64
231654MoveLoc[6](loc1: u64)
232258MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
232762CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
232863MutBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
232964MoveLoc[3](Arg3: Balance<Ty1>)
233065Call balance::join<Ty1>(&mut Balance<Ty1>, Balance<Ty1>): u64
233267MoveLoc[2](Arg2: Balance<Ty0>)
233368Call balance::destroy_zero<Ty0>(Balance<Ty0>)
233569CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
233670ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
234074MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
234175MutBorrowFieldGeneric[4](Pool.sequence_number: u128)
2346public set_manager<Ty0, Ty1>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty0, Ty1>, Arg2: address, Arg3: &TxContext) {
2347L4: loc0: &mut address
23490MoveLoc[0](Arg0: &GlobalConfig)
23501Call config::verify_version(&GlobalConfig)
23512CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
23534Call get_pool_manager<Ty0, Ty1>(&Pool<Ty0, Ty1>): address
23545MoveLoc[3](Arg3: &TxContext)
23556Call tx_context::sender(&TxContext): address
236110MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
236312Call errors::not_authorized(): u64
236614CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
236715MutBorrowFieldGeneric[5](Pool.id: UID)
236816Call constants::manager(): String
236917Call dynamic_field::borrow_mut<String, address>(&mut UID, String): &mut address
237018StLoc[4](loc0: &mut address)
237119CopyLoc[2](Arg2: address)
237220MoveLoc[4](loc0: &mut address)
237422CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
237523Call increase_sequence_number<Ty0, Ty1>(&mut Pool<Ty0, Ty1>): u128
237725CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
237826ImmBorrowFieldGeneric[5](Pool.id: UID)
237927Call object::uid_to_inner(&UID): ID
238028MoveLoc[2](Arg2: address)
238129MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
238230ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
238432Call events::emit_pool_manager_update_event(ID, address, u128)
2388public swap_pay_amount<Ty0, Ty1>(Arg0: &FlashSwapReceipt<Ty0, Ty1>): u64 {
23900MoveLoc[0](Arg0: &FlashSwapReceipt<Ty0, Ty1>)
23911ImmBorrowFieldGeneric[18](FlashSwapReceipt.pay_amount: u64)
2396public get_pool_manager<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): address {
23980MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
23991ImmBorrowFieldGeneric[5](Pool.id: UID)
24002Call constants::manager(): String
24013Call dynamic_field::borrow<String, address>(&UID, String): &address
2406public get_protocol_fee_for_coin_a<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u64 {
24080MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
24091ImmBorrowFieldGeneric[0](Pool.protocol_fee_coin_a: u64)
2414public get_protocol_fee_for_coin_b<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u64 {
24160MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
24171ImmBorrowFieldGeneric[1](Pool.protocol_fee_coin_b: u64)
2422public open_position<Ty0, Ty1>(Arg0: &GlobalConfig, Arg1: &mut Pool<Ty0, Ty1>, Arg2: u32, Arg3: u32, Arg4: &mut TxContext): Position {
24350CopyLoc[0](Arg0: &GlobalConfig)
24361Call config::verify_version(&GlobalConfig)
24372MoveLoc[0](Arg0: &GlobalConfig)
24383Call config::get_tick_range(&GlobalConfig): I32 * I32
24405StLoc[10](loc5: I32)
24416CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
24427ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
24438Call tick::tick_spacing(&TickManager): u32
24449StLoc[14](loc9: u32)
244510MoveLoc[2](Arg2: u32)
244611Call i32::from_u32(u32): I32
244712MoveLoc[3](Arg3: u32)
244813Call i32::from_u32(u32): I32
244914StLoc[15](loc10: I32)
245015StLoc[8](loc3: I32)
245116CopyLoc[8](loc3: I32)
245217CopyLoc[15](loc10: I32)
245318Call i32::lt(I32, I32): bool
245620CopyLoc[8](loc3: I32)
245721MoveLoc[10](loc5: I32)
245822Call i32H::mate_to_lib(I32): I32
245923Call i32::gte(I32, I32): bool
246225CopyLoc[15](loc10: I32)
246326MoveLoc[9](loc4: I32)
246427Call i32H::mate_to_lib(I32): I32
246528Call i32::lte(I32, I32): bool
246830CopyLoc[8](loc3: I32)
246931Call i32::abs_u32(I32): u32
247032CopyLoc[14](loc9: u32)
247637CopyLoc[15](loc10: I32)
247738Call i32::abs_u32(I32): u32
247839MoveLoc[14](loc9: u32)
248243StLoc[5](loc0: bool)
248646StLoc[5](loc0: bool)
249149StLoc[5](loc0: bool)
249652StLoc[5](loc0: bool)
250155StLoc[5](loc0: bool)
250356MoveLoc[5](loc0: bool)
250859MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
251061MoveLoc[4](Arg4: &mut TxContext)
251263Call errors::invalid_tick_range(): u64
251565CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
251767Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
251868StLoc[11](loc6: ID)
251969Call utils::get_type_string<Ty0>(): String
252070StLoc[6](loc1: String)
252171Call utils::get_type_string<Ty1>(): String
252272StLoc[7](loc2: String)
252373CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
252474ImmBorrowFieldGeneric[19](Pool.position_index: u128)
252878CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
252979MutBorrowFieldGeneric[19](Pool.position_index: u128)
253181CopyLoc[11](loc6: ID)
253282CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
253383ImmBorrowFieldGeneric[20](Pool.name: String)
253585CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
253686ImmBorrowFieldGeneric[11](Pool.icon_url: String)
253888MoveLoc[6](loc1: String)
253989MoveLoc[7](loc2: String)
254090CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
254191ImmBorrowFieldGeneric[19](Pool.position_index: u128)
254393CopyLoc[8](loc3: I32)
254494Call i32H::lib_to_mate(I32): I32
254595CopyLoc[15](loc10: I32)
254696Call i32H::lib_to_mate(I32): I32
254797MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
254898ImmBorrowFieldGeneric[17](Pool.fee_rate: u64)
2550100MoveLoc[4](Arg4: &mut TxContext)
2551101Call position::new(ID, String, String, String, String, u128, I32, I32, u64, &mut TxContext): Position
2552102StLoc[12](loc7: Position)
2553103ImmBorrowLoc[12](loc7: Position)
2554104Call object::id<Position>(&Position): ID
2555105StLoc[13](loc8: ID)
2556106MoveLoc[11](loc6: ID)
2557107MoveLoc[13](loc8: ID)
2558108MoveLoc[8](loc3: I32)
2559109Call i32H::lib_to_mate(I32): I32
2560110MoveLoc[15](loc10: I32)
2561111Call i32H::lib_to_mate(I32): I32
2562112Call events::emit_position_open_event(ID, ID, I32, I32)
2563113MoveLoc[12](loc7: Position)
2567public close_position<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: Position): Balance<Ty0> * Balance<Ty1> {
25690Call errors::depricated(): u64
2573public close_position_v2<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: Position) {
25810MoveLoc[1](Arg1: &GlobalConfig)
25821Call config::verify_version(&GlobalConfig)
25832CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
25854Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
25865ImmBorrowLoc[3](Arg3: Position)
25876Call position::pool_id(&Position): ID
259310MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
259512MoveLoc[0](Arg0: &Clock)
259714Call errors::position_does_not_belong_to_pool(): u64
260016ImmBorrowLoc[3](Arg3: Position)
260117Call position::is_empty(&Position): bool
260620MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
260822MoveLoc[0](Arg0: &Clock)
261024Call errors::non_empty_position(): u64
261326MoveLoc[0](Arg0: &Clock)
261427MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
261528MutBorrowLoc[3](Arg3: Position)
261629Call get_accrued_fee<Ty0, Ty1>(&Clock, &mut Pool<Ty0, Ty1>, &mut Position): u64 * u64
261730StLoc[5](loc1: u64)
262234MoveLoc[5](loc1: u64)
262537StLoc[4](loc0: bool)
262940StLoc[4](loc0: bool)
263141MoveLoc[4](loc0: bool)
263644Call errors::cannot_close_position_with_fee_to_claim(): u64
263946MoveLoc[3](Arg3: Position)
264047Call position::del(Position): ID * ID * I32 * I32
264148StLoc[9](loc5: I32)
264249StLoc[6](loc2: I32)
264552MoveLoc[7](loc3: ID)
264653MoveLoc[8](loc4: ID)
264754MoveLoc[6](loc2: I32)
264855MoveLoc[9](loc5: I32)
264956Call events::emit_position_close_event(ID, ID, I32, I32)
2653public collect_fee<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: &mut Position): u64 * u64 * Balance<Ty0> * Balance<Ty1> {
2655L5: loc1: Balance<Ty0>
2656L6: loc2: Balance<Ty1>
2657L7: loc3: Balance<Ty0>
2658L8: loc4: Balance<Ty0>
2659L9: loc5: Balance<Ty1>
2660L10: loc6: Balance<Ty1>
26640MoveLoc[1](Arg1: &GlobalConfig)
26651Call config::verify_version(&GlobalConfig)
26662CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
26684Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
26695CopyLoc[3](Arg3: &mut Position)
26717Call position::pool_id(&Position): ID
267711MoveLoc[3](Arg3: &mut Position)
267913MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
268115MoveLoc[0](Arg0: &Clock)
268317Call errors::position_does_not_belong_to_pool(): u64
268619CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
268720ImmBorrowFieldGeneric[8](Pool.is_paused: bool)
269425MoveLoc[3](Arg3: &mut Position)
269627MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
269829MoveLoc[0](Arg0: &Clock)
270031Call errors::pool_is_paused(): u64
270333CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
270434ImmBorrowFieldGeneric[5](Pool.id: UID)
270535Call is_flash_swap_in_progress(&UID): bool
271139MoveLoc[3](Arg3: &mut Position)
271341MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
271543MoveLoc[0](Arg0: &Clock)
271745Call errors::flash_swap_in_progress(): u64
272047MoveLoc[0](Arg0: &Clock)
272148CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
272249CopyLoc[3](Arg3: &mut Position)
272350Call get_accrued_fee<Ty0, Ty1>(&Clock, &mut Pool<Ty0, Ty1>, &mut Position): u64 * u64
272451StLoc[12](loc8: u64)
272552StLoc[11](loc7: u64)
272653CopyLoc[11](loc7: u64)
273258StLoc[4](loc0: bool)
273560CopyLoc[12](loc8: u64)
273863StLoc[4](loc0: bool)
274064MoveLoc[4](loc0: bool)
274366CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
274467CopyLoc[11](loc7: u64)
274568CopyLoc[12](loc8: u64)
274669Call withdraw_balances<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, u64, u64): Balance<Ty0> * Balance<Ty1>
274770StLoc[9](loc5: Balance<Ty1>)
274871StLoc[7](loc3: Balance<Ty0>)
274972CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
275073Call increase_sequence_number<Ty0, Ty1>(&mut Pool<Ty0, Ty1>): u128
275275CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
275477Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
275578MoveLoc[3](Arg3: &mut Position)
275780Call object::id<Position>(&Position): ID
275881CopyLoc[11](loc7: u64)
275982CopyLoc[12](loc8: u64)
276083CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
276184ImmBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
276285Call balance::value<Ty0>(&Balance<Ty0>): u64
276386CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
276487ImmBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
276588Call balance::value<Ty1>(&Balance<Ty1>): u64
276689MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
276790ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
276992Call events::emit_user_fee_collected(ID, ID, u64, u64, u64, u64, u128)
277093MoveLoc[7](loc3: Balance<Ty0>)
277194MoveLoc[9](loc5: Balance<Ty1>)
277295StLoc[6](loc2: Balance<Ty1>)
277396StLoc[5](loc1: Balance<Ty0>)
277698MoveLoc[3](Arg3: &mut Position)
2778100MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
2780102Call balance::zero<Ty0>(): Balance<Ty0>
2781103Call balance::zero<Ty1>(): Balance<Ty1>
2782104StLoc[6](loc2: Balance<Ty1>)
2783105StLoc[5](loc1: Balance<Ty0>)
2785106MoveLoc[5](loc1: Balance<Ty0>)
2786107MoveLoc[6](loc2: Balance<Ty1>)
2787108StLoc[10](loc6: Balance<Ty1>)
2788109StLoc[8](loc4: Balance<Ty0>)
2789110MoveLoc[11](loc7: u64)
2790111MoveLoc[12](loc8: u64)
2791112MoveLoc[8](loc4: Balance<Ty0>)
2792113MoveLoc[10](loc6: Balance<Ty1>)
2796public collect_reward<Ty0, Ty1, Ty2>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: &mut Pool<Ty0, Ty1>, Arg3: &mut Position): Balance<Ty2> {
2797L4: loc0: Balance<Ty2>
2799L6: loc2: PoolRewardInfo
28010MoveLoc[1](Arg1: &GlobalConfig)
28021Call config::verify_version(&GlobalConfig)
28032CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
28054Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
28065CopyLoc[3](Arg3: &mut Position)
28087Call position::pool_id(&Position): ID
281411MoveLoc[3](Arg3: &mut Position)
281613MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
281815MoveLoc[0](Arg0: &Clock)
282017Call errors::position_does_not_belong_to_pool(): u64
282319CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
282420ImmBorrowFieldGeneric[8](Pool.is_paused: bool)
283125MoveLoc[3](Arg3: &mut Position)
283327MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
283529MoveLoc[0](Arg0: &Clock)
283731Call errors::pool_is_paused(): u64
284033CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
284134ImmBorrowFieldGeneric[5](Pool.id: UID)
284235Call is_flash_swap_in_progress(&UID): bool
284839MoveLoc[3](Arg3: &mut Position)
285041MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
285243MoveLoc[0](Arg0: &Clock)
285445Call errors::flash_swap_in_progress(): u64
285747MoveLoc[0](Arg0: &Clock)
285848CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
285949CopyLoc[3](Arg3: &mut Position)
286050Call get_accrued_rewards<Ty0, Ty1, Ty2>(&Clock, &mut Pool<Ty0, Ty1>, &mut Position): u64 * PoolRewardInfo
286151StLoc[6](loc2: PoolRewardInfo)
286252StLoc[5](loc1: u64)
286353CopyLoc[5](loc1: u64)
286857CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
286958Call increase_sequence_number<Ty0, Ty1>(&mut Pool<Ty0, Ty1>): u128
287160CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
287362Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
287463MoveLoc[3](Arg3: &mut Position)
287665Call object::id<Position>(&Position): ID
287766Call utils::get_type_string<Ty2>(): String
287867ImmBorrowLoc[6](loc2: PoolRewardInfo)
287968ImmBorrowField[12](PoolRewardInfo.reward_coin_symbol: String)
288170ImmBorrowLoc[6](loc2: PoolRewardInfo)
288271ImmBorrowField[14](PoolRewardInfo.reward_coin_decimals: u8)
288473CopyLoc[5](loc1: u64)
288574CopyLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
288675ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
288877Call events::emit_user_reward_collected(ID, ID, String, String, u8, u64, u128)
289179MoveLoc[3](Arg3: &mut Position)
289481CopyLoc[5](loc1: u64)
289985MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
290187Call balance::zero<Ty2>(): Balance<Ty2>
290288StLoc[4](loc0: Balance<Ty2>)
290590MoveLoc[2](Arg2: &mut Pool<Ty0, Ty1>)
290691MutBorrowFieldGeneric[5](Pool.id: UID)
290792Call utils::get_type_string<Ty2>(): String
290893Call dynamic_field::borrow_mut<String, Balance<Ty2>>(&mut UID, String): &mut Balance<Ty2>
290994MoveLoc[5](loc1: u64)
291095Call utils::withdraw_balance<Ty2>(&mut Balance<Ty2>, u64): Balance<Ty2>
291196StLoc[4](loc0: Balance<Ty2>)
291397MoveLoc[4](loc0: Balance<Ty2>)
2917public liquidity<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u128 {
29190MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
29201ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
2925public current_sqrt_price<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u128 {
29270MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
29281ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
2933public current_tick_index<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): I32 {
29350MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
29361ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
2941public sequence_number<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u128 {
29430MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
29441ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
2949public verify_pool_manager<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>, Arg1: address): bool {
29510MoveLoc[1](Arg1: address)
29521MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
29532ImmBorrowFieldGeneric[5](Pool.id: UID)
29543Call constants::manager(): String
29554Call dynamic_field::borrow<String, address>(&UID, String): &address
2961public coin_reserves<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u64 * u64 {
29630CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
29641ImmBorrowFieldGeneric[2](Pool.coin_a: Balance<Ty0>)
29652Call balance::value<Ty0>(&Balance<Ty0>): u64
29663MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
29674ImmBorrowFieldGeneric[3](Pool.coin_b: Balance<Ty1>)
29685Call balance::value<Ty1>(&Balance<Ty1>): u64
2972public protocol_fee_share<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u64 {
29740MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
29751ImmBorrowFieldGeneric[9](Pool.protocol_fee_share: u64)
2980public reward_infos_length<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u64 {
29820MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
29831ImmBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
2988public is_reward_present<Ty0, Ty1, Ty2>(Arg0: &Pool<Ty0, Ty1>): bool {
29951StLoc[2](loc1: bool)
29962Call utils::get_type_string<Ty2>(): String
29973StLoc[4](loc3: String)
29984CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
29995ImmBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
300510CopyLoc[3](loc2: u64)
300611CopyLoc[1](loc0: u64)
301215CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
301316ImmBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
301417CopyLoc[3](loc2: u64)
301619ImmBorrowField[13](PoolRewardInfo.reward_coin_type: String)
301821CopyLoc[4](loc3: String)
302224MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
302527StLoc[2](loc1: bool)
302829MoveLoc[3](loc2: u64)
303132StLoc[3](loc2: u64)
303434MoveLoc[2](loc1: bool)
3038public default_reward_info(Arg0: String, Arg1: String, Arg2: u8, Arg3: u64): PoolRewardInfo {
30400MoveLoc[1](Arg1: String)
30411MoveLoc[2](Arg2: u8)
30422MoveLoc[0](Arg0: String)
30433CopyLoc[3](Arg3: u64)
30444MoveLoc[3](Arg3: u64)
30499Pack[1](PoolRewardInfo)
3053public get_tick_manager<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): &TickManager {
30550MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
30561ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
3060public fetch_provided_ticks<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>, Arg1: vector<u32>): vector<TickInfo> {
30620MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
30631ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
30642MoveLoc[1](Arg1: vector<u32>)
30653Call tick::fetch_provided_ticks(&TickManager, vector<u32>): vector<TickInfo>
3069public get_fee_rate<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u64 {
30710MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
30721ImmBorrowFieldGeneric[17](Pool.fee_rate: u64)
3077public get_tick_spacing<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): u32 {
30790MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
30801ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
30812Call tick::tick_spacing(&TickManager): u32
3085public get_swap_result_a2b(Arg0: &SwapResult): bool {
30870MoveLoc[0](Arg0: &SwapResult)
30881ImmBorrowField[52](SwapResult.a2b: bool)
3093public get_swap_result_by_amount_in(Arg0: &SwapResult): bool {
30950MoveLoc[0](Arg0: &SwapResult)
30961ImmBorrowField[53](SwapResult.by_amount_in: bool)
3101public get_swap_result_amount_specified(Arg0: &SwapResult): u64 {
31030MoveLoc[0](Arg0: &SwapResult)
31041ImmBorrowField[24](SwapResult.amount_specified: u64)
3109public get_swap_result_amount_specified_remaining(Arg0: &SwapResult): u64 {
31110MoveLoc[0](Arg0: &SwapResult)
31121ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
3117public get_swap_result_amount_calculated(Arg0: &SwapResult): u64 {
31190MoveLoc[0](Arg0: &SwapResult)
31201ImmBorrowField[23](SwapResult.amount_calculated: u64)
3125public get_swap_result_fee_growth_global(Arg0: &SwapResult): u128 {
31270MoveLoc[0](Arg0: &SwapResult)
31281ImmBorrowField[45](SwapResult.fee_growth_global: u128)
3133public get_swap_result_fee_amount(Arg0: &SwapResult): u64 {
31350MoveLoc[0](Arg0: &SwapResult)
31361ImmBorrowField[26](SwapResult.fee_amount: u64)
3141public get_swap_result_protocol_fee(Arg0: &SwapResult): u64 {
31430MoveLoc[0](Arg0: &SwapResult)
31441ImmBorrowField[27](SwapResult.protocol_fee: u64)
3149public get_swap_result_start_sqrt_price(Arg0: &SwapResult): u128 {
31510MoveLoc[0](Arg0: &SwapResult)
31521ImmBorrowField[30](SwapResult.start_sqrt_price: u128)
3157public get_swap_result_end_sqrt_price(Arg0: &SwapResult): u128 {
31590MoveLoc[0](Arg0: &SwapResult)
31601ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
3165public get_swap_result_current_tick_index(Arg0: &SwapResult): I32 {
31670MoveLoc[0](Arg0: &SwapResult)
31681ImmBorrowField[36](SwapResult.current_tick_index: I32)
3173public get_swap_result_is_exceed(Arg0: &SwapResult): bool {
31750MoveLoc[0](Arg0: &SwapResult)
31761ImmBorrowField[32](SwapResult.is_exceed: bool)
3181public get_swap_result_starting_liquidity(Arg0: &SwapResult): u128 {
31830MoveLoc[0](Arg0: &SwapResult)
31841ImmBorrowField[28](SwapResult.starting_liquidity: u128)
3189public get_swap_result_liquidity(Arg0: &SwapResult): u128 {
31910MoveLoc[0](Arg0: &SwapResult)
31921ImmBorrowField[29](SwapResult.liquidity: u128)
3197public get_swap_result_steps(Arg0: &SwapResult): u64 {
31990MoveLoc[0](Arg0: &SwapResult)
32001ImmBorrowField[46](SwapResult.steps: u64)
3205public get_liquidity_by_amount(Arg0: I32, Arg1: I32, Arg2: I32, Arg3: u128, Arg4: u64, Arg5: bool): u128 * u64 * u64 {
32070MoveLoc[0](Arg0: I32)
32081MoveLoc[1](Arg1: I32)
32092MoveLoc[2](Arg2: I32)
32103MoveLoc[3](Arg3: u128)
32114MoveLoc[4](Arg4: u64)
32125MoveLoc[5](Arg5: bool)
32136Call clmm_math::get_liquidity_by_amount(I32, I32, I32, u128, u64, bool): u128 * u64 * u64
3217public get_amount_by_liquidity(Arg0: I32, Arg1: I32, Arg2: I32, Arg3: u128, Arg4: u128, Arg5: bool): u64 * u64 {
32190MoveLoc[0](Arg0: I32)
32201MoveLoc[1](Arg1: I32)
32212MoveLoc[2](Arg2: I32)
32223MoveLoc[3](Arg3: u128)
32234MoveLoc[4](Arg4: u128)
32245MoveLoc[5](Arg5: bool)
32256Call clmm_math::get_amount_by_liquidity(I32, I32, I32, u128, u128, bool): u64 * u64
3229public get_pool_name<Ty0, Ty1>(Arg0: &Pool<Ty0, Ty1>): String {
32310MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
32321ImmBorrowFieldGeneric[20](Pool.name: String)
3237find_reward_info_index<Ty0, Ty1, Ty2>(Arg0: &Pool<Ty0, Ty1>): u64 {
32452CopyLoc[4](loc3: u64)
32485StLoc[2](loc1: bool)
32496MoveLoc[4](loc3: u64)
32528CopyLoc[1](loc0: u64)
32539CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
325410ImmBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
326115CopyLoc[0](Arg0: &Pool<Ty0, Ty1>)
326216ImmBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
326317CopyLoc[1](loc0: u64)
326519ImmBorrowField[13](PoolRewardInfo.reward_coin_type: String)
326721Call utils::get_type_string<Ty2>(): String
327124MoveLoc[0](Arg0: &Pool<Ty0, Ty1>)
327326MoveLoc[1](loc0: u64)
327427StLoc[3](loc2: u64)
327629StLoc[2](loc1: bool)
327931MoveLoc[1](loc0: u64)
328234StLoc[1](loc0: u64)
328536MoveLoc[2](loc1: bool)
329039Call errors::reward_index_not_found(): u64
329341MoveLoc[3](loc2: u64)
3297swap_in_pool<Ty0, Ty1>(Arg0: &Clock, Arg1: &mut Pool<Ty0, Ty1>, Arg2: bool, Arg3: bool, Arg4: u64, Arg5: u128): SwapResult {
3306L14: loc8: vector<SwapStepResult>
3325L33: loc27: vector<u128>
3329L37: loc31: SwapStepResult
3330L38: loc32: SwapResult
33350CopyLoc[2](Arg2: bool)
33382CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
33393ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
33415CopyLoc[5](Arg5: u128)
33458CopyLoc[5](Arg5: u128)
33469Call tick_math::min_sqrt_price(): u128
334811StLoc[6](loc0: bool)
335214StLoc[6](loc0: bool)
335415MoveLoc[6](loc0: bool)
335918MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
336120MoveLoc[0](Arg0: &Clock)
336322Call errors::invalid_price_limit(): u64
336825CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
336926ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
337128CopyLoc[5](Arg5: u128)
337531CopyLoc[5](Arg5: u128)
337632Call tick_math::max_sqrt_price(): u128
337834StLoc[15](loc9: bool)
338237StLoc[15](loc9: bool)
338438MoveLoc[15](loc9: bool)
338941MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
339143MoveLoc[0](Arg0: &Clock)
339345Call errors::invalid_price_limit(): u64
339647CopyLoc[0](Arg0: &Clock)
339748Call utils::timestamp_seconds(&Clock): u64
339849StLoc[39](loc33: u64)
339950CopyLoc[2](Arg2: bool)
340051StLoc[22](loc16: bool)
340152CopyLoc[3](Arg3: bool)
340253StLoc[23](loc17: bool)
340354CopyLoc[4](Arg4: u64)
340455StLoc[24](loc18: u64)
340556MoveLoc[4](Arg4: u64)
340657StLoc[25](loc19: u64)
340758CopyLoc[2](Arg2: bool)
341060CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
341161ImmBorrowFieldGeneric[14](Pool.fee_growth_global_coin_a: u128)
341363StLoc[7](loc1: u128)
341665CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
341766ImmBorrowFieldGeneric[15](Pool.fee_growth_global_coin_b: u128)
341968StLoc[7](loc1: u128)
342169MoveLoc[7](loc1: u128)
342270StLoc[8](loc2: u128)
342371CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
342472ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
342674StLoc[9](loc3: u128)
342775CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
342876ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
343078StLoc[10](loc4: u128)
343179CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
343280ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
343482StLoc[11](loc5: I32)
343583CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
343684ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
343886StLoc[12](loc6: u128)
343987CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
344088ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
344290StLoc[13](loc7: u128)
344492StLoc[14](loc8: vector<SwapStepResult>)
344593MoveLoc[22](loc16: bool)
344694MoveLoc[23](loc17: bool)
344795MoveLoc[24](loc18: u64)
344896MoveLoc[25](loc19: u64)
345098MoveLoc[8](loc2: u128)
3453101MoveLoc[9](loc3: u128)
3454102MoveLoc[10](loc4: u128)
3455103MoveLoc[11](loc5: I32)
3457105MoveLoc[12](loc6: u128)
3458106MoveLoc[13](loc7: u128)
3460108MoveLoc[14](loc8: vector<SwapStepResult>)
3461109Pack[2](SwapResult)
3462110StLoc[38](loc32: SwapResult)
3464111ImmBorrowLoc[38](loc32: SwapResult)
3465112ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
3473118ImmBorrowLoc[38](loc32: SwapResult)
3474119ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
3476121CopyLoc[5](Arg5: u128)
3478123StLoc[16](loc10: bool)
3482126StLoc[16](loc10: bool)
3484127MoveLoc[16](loc10: bool)
3487129Call 0i32::zero(): I32
3489131ImmBorrowLoc[38](loc32: SwapResult)
3490132ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
3497139Pack[3](SwapStepResult)
3498140StLoc[37](loc31: SwapStepResult)
3499141CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3500142ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
3501143Call tick::bitmap(&TickManager): &Table<I32, u256>
3502144ImmBorrowLoc[38](loc32: SwapResult)
3503145ImmBorrowField[36](SwapResult.current_tick_index: I32)
3505147CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3506148ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
3507149Call tick::tick_spacing(&TickManager): u32
3508150CopyLoc[2](Arg2: bool)
3509151Call tick_bitmap::next_initialized_tick_within_one_word(&Table<I32, u256>, I32, u32, bool): I32 * bool
3510152StLoc[31](loc25: bool)
3511153MutBorrowLoc[37](loc31: SwapStepResult)
3512154MutBorrowField[37](SwapStepResult.tick_index_next: I32)
3514156MoveLoc[31](loc25: bool)
3515157MutBorrowLoc[37](loc31: SwapStepResult)
3516158MutBorrowField[38](SwapStepResult.initialized: bool)
3518160ImmBorrowLoc[37](loc31: SwapStepResult)
3519161ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
3521163Call tick_math::min_tick(): I32
3522164Call i32H::lt(I32, I32): bool
3525166Call tick_math::min_tick(): I32
3526167MutBorrowLoc[37](loc31: SwapStepResult)
3527168MutBorrowField[37](SwapStepResult.tick_index_next: I32)
3531171ImmBorrowLoc[37](loc31: SwapStepResult)
3532172ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
3534174Call tick_math::max_tick(): I32
3535175Call i32H::gt(I32, I32): bool
3538177Call tick_math::max_tick(): I32
3539178MutBorrowLoc[37](loc31: SwapStepResult)
3540179MutBorrowField[37](SwapStepResult.tick_index_next: I32)
3543181ImmBorrowLoc[37](loc31: SwapStepResult)
3544182ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
3546184Call tick_math::get_sqrt_price_at_tick(I32): u128
3547185MutBorrowLoc[37](loc31: SwapStepResult)
3548186MutBorrowField[39](SwapStepResult.sqrt_price_next: u128)
3550188CopyLoc[2](Arg2: bool)
3553190ImmBorrowLoc[37](loc31: SwapStepResult)
3554191ImmBorrowField[39](SwapStepResult.sqrt_price_next: u128)
3556193CopyLoc[5](Arg5: u128)
3557194Call math_u128::max(u128, u128): u128
3558195StLoc[17](loc11: u128)
3561197ImmBorrowLoc[37](loc31: SwapStepResult)
3562198ImmBorrowField[39](SwapStepResult.sqrt_price_next: u128)
3564200CopyLoc[5](Arg5: u128)
3565201Call math_u128::min(u128, u128): u128
3566202StLoc[17](loc11: u128)
3568203MoveLoc[17](loc11: u128)
3569204StLoc[40](loc34: u128)
3570205ImmBorrowLoc[38](loc32: SwapResult)
3571206ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
3573208MoveLoc[40](loc34: u128)
3574209ImmBorrowLoc[38](loc32: SwapResult)
3575210ImmBorrowField[29](SwapResult.liquidity: u128)
3577212ImmBorrowLoc[38](loc32: SwapResult)
3578213ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
3580215CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3581216ImmBorrowFieldGeneric[17](Pool.fee_rate: u64)
3583218CopyLoc[2](Arg2: bool)
3584219CopyLoc[3](Arg3: bool)
3585220Call clmm_math::compute_swap_step(u128, u128, u128, u64, u64, bool, bool): u64 * u64 * u128 * u64
3586221StLoc[28](loc22: u64)
3587222StLoc[34](loc28: u128)
3588223StLoc[27](loc21: u64)
3589224StLoc[26](loc20: u64)
3590225MoveLoc[34](loc28: u128)
3591226MutBorrowLoc[38](loc32: SwapResult)
3592227MutBorrowField[31](SwapResult.end_sqrt_price: u128)
3594229CopyLoc[3](Arg3: bool)
3597231ImmBorrowLoc[38](loc32: SwapResult)
3598232ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
3600234CopyLoc[26](loc20: u64)
3602236CopyLoc[28](loc22: u64)
3604238MutBorrowLoc[38](loc32: SwapResult)
3605239MutBorrowField[25](SwapResult.amount_specified_remaining: u64)
3607241ImmBorrowLoc[38](loc32: SwapResult)
3608242ImmBorrowField[23](SwapResult.amount_calculated: u64)
3610244CopyLoc[27](loc21: u64)
3612246MutBorrowLoc[38](loc32: SwapResult)
3613247MutBorrowField[23](SwapResult.amount_calculated: u64)
3617250ImmBorrowLoc[38](loc32: SwapResult)
3618251ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
3620253CopyLoc[27](loc21: u64)
3622255MutBorrowLoc[38](loc32: SwapResult)
3623256MutBorrowField[25](SwapResult.amount_specified_remaining: u64)
3625258ImmBorrowLoc[38](loc32: SwapResult)
3626259ImmBorrowField[23](SwapResult.amount_calculated: u64)
3628261CopyLoc[26](loc20: u64)
3630263CopyLoc[28](loc22: u64)
3632265MutBorrowLoc[38](loc32: SwapResult)
3633266MutBorrowField[23](SwapResult.amount_calculated: u64)
3636268MoveLoc[26](loc20: u64)
3637269MutBorrowLoc[37](loc31: SwapStepResult)
3638270MutBorrowField[41](SwapStepResult.amount_in: u64)
3640272MoveLoc[27](loc21: u64)
3641273MutBorrowLoc[37](loc31: SwapStepResult)
3642274MutBorrowField[42](SwapStepResult.amount_out: u64)
3644276CopyLoc[28](loc22: u64)
3645277MutBorrowLoc[37](loc31: SwapStepResult)
3646278MutBorrowField[43](SwapStepResult.fee_amount: u64)
3648280ImmBorrowLoc[38](loc32: SwapResult)
3649281ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
3651283MutBorrowLoc[37](loc31: SwapStepResult)
3652284MutBorrowField[44](SwapStepResult.remaining_amount: u64)
3654286CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3655287ImmBorrowFieldGeneric[9](Pool.protocol_fee_share: u64)
3661292MoveLoc[28](loc22: u64)
3662293CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3663294ImmBorrowFieldGeneric[9](Pool.protocol_fee_share: u64)
3665296Call clmm_math::fee_rate_denominator(): u64
3666297Call full_math_u64::mul_div_floor(u64, u64, u64): u64
3667298StLoc[35](loc29: u64)
3668299ImmBorrowLoc[37](loc31: SwapStepResult)
3669300ImmBorrowField[43](SwapStepResult.fee_amount: u64)
3671302CopyLoc[35](loc29: u64)
3673304MutBorrowLoc[37](loc31: SwapStepResult)
3674305MutBorrowField[43](SwapStepResult.fee_amount: u64)
3676307ImmBorrowLoc[38](loc32: SwapResult)
3677308ImmBorrowField[27](SwapResult.protocol_fee: u64)
3679310MoveLoc[35](loc29: u64)
3681312MutBorrowLoc[38](loc32: SwapResult)
3682313MutBorrowField[27](SwapResult.protocol_fee: u64)
3685315ImmBorrowLoc[38](loc32: SwapResult)
3686316ImmBorrowField[29](SwapResult.liquidity: u128)
3692321ImmBorrowLoc[38](loc32: SwapResult)
3693322ImmBorrowField[45](SwapResult.fee_growth_global: u128)
3695324ImmBorrowLoc[37](loc31: SwapStepResult)
3696325ImmBorrowField[43](SwapStepResult.fee_amount: u64)
3699328Call constants::q64(): u128
3700329ImmBorrowLoc[38](loc32: SwapResult)
3701330ImmBorrowField[29](SwapResult.liquidity: u128)
3703332Call full_math_u128::mul_div_floor(u128, u128, u128): u128
3704333Call math_u128::wrapping_add(u128, u128): u128
3705334MutBorrowLoc[38](loc32: SwapResult)
3706335MutBorrowField[45](SwapResult.fee_growth_global: u128)
3709337ImmBorrowLoc[38](loc32: SwapResult)
3710338ImmBorrowField[26](SwapResult.fee_amount: u64)
3712340ImmBorrowLoc[37](loc31: SwapStepResult)
3713341ImmBorrowField[43](SwapStepResult.fee_amount: u64)
3716344MutBorrowLoc[38](loc32: SwapResult)
3717345MutBorrowField[26](SwapResult.fee_amount: u64)
3719347ImmBorrowLoc[38](loc32: SwapResult)
3720348ImmBorrowField[46](SwapResult.steps: u64)
3724352MutBorrowLoc[38](loc32: SwapResult)
3725353MutBorrowField[46](SwapResult.steps: u64)
3727355ImmBorrowLoc[38](loc32: SwapResult)
3728356ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
3730358ImmBorrowLoc[37](loc31: SwapStepResult)
3731359ImmBorrowField[39](SwapStepResult.sqrt_price_next: u128)
3736363CopyLoc[2](Arg2: bool)
3739365ImmBorrowLoc[38](loc32: SwapResult)
3740366ImmBorrowField[45](SwapResult.fee_growth_global: u128)
3742368CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3743369ImmBorrowFieldGeneric[15](Pool.fee_growth_global_coin_b: u128)
3745371StLoc[19](loc13: u128)
3746372StLoc[18](loc12: u128)
3749374CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3750375ImmBorrowFieldGeneric[14](Pool.fee_growth_global_coin_a: u128)
3752377ImmBorrowLoc[38](loc32: SwapResult)
3753378ImmBorrowField[45](SwapResult.fee_growth_global: u128)
3755380StLoc[19](loc13: u128)
3756381StLoc[18](loc12: u128)
3758382MoveLoc[18](loc12: u128)
3759383MoveLoc[19](loc13: u128)
3760384StLoc[30](loc24: u128)
3761385StLoc[29](loc23: u128)
3762386ImmBorrowLoc[37](loc31: SwapStepResult)
3763387ImmBorrowField[38](SwapStepResult.initialized: bool)
3767390CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3768391ImmBorrowFieldGeneric[10](Pool.observations_manager: ObservationManager)
3769392CopyLoc[39](loc33: u64)
3771394CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3772395ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
3774397CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3775398ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
3777400Call oracle::observe_single(&ObservationManager, u64, u64, I32, u128): I64 * u256
3778401StLoc[36](loc30: u256)
3779402StLoc[41](loc35: I64)
3780403CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3781404CopyLoc[0](Arg0: &Clock)
3782405Call utils::timestamp_seconds(&Clock): u64
3783406Call update_reward_infos<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, u64): vector<u128>
3784407StLoc[33](loc27: vector<u128>)
3785408CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3786409MutBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
3787410ImmBorrowLoc[37](loc31: SwapStepResult)
3788411ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
3790413MoveLoc[29](loc23: u128)
3791414MoveLoc[30](loc24: u128)
3792415MoveLoc[33](loc27: vector<u128>)
3793416MoveLoc[41](loc35: I64)
3794417MoveLoc[36](loc30: u256)
3795418CopyLoc[39](loc33: u64)
3796419Call tick::cross(&mut TickManager, I32, u128, u128, vector<u128>, I64, u256, u64): I128
3797420StLoc[32](loc26: I128)
3798421CopyLoc[2](Arg2: bool)
3801423MoveLoc[32](loc26: I128)
3802424Call i128H::neg(I128): I128
3803425StLoc[20](loc14: I128)
3806427MoveLoc[32](loc26: I128)
3807428StLoc[20](loc14: I128)
3809429MoveLoc[20](loc14: I128)
3810430StLoc[32](loc26: I128)
3811431ImmBorrowLoc[38](loc32: SwapResult)
3812432ImmBorrowField[29](SwapResult.liquidity: u128)
3814434MoveLoc[32](loc26: I128)
3815435Call utils::add_delta(u128, I128): u128
3816436MutBorrowLoc[38](loc32: SwapResult)
3817437MutBorrowField[29](SwapResult.liquidity: u128)
3820439CopyLoc[2](Arg2: bool)
3823441ImmBorrowLoc[37](loc31: SwapStepResult)
3824442ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
3826444Call i32H::mate_to_lib(I32): I32
3828446Call i32::from(u32): I32
3829447Call i32::sub(I32, I32): I32
3830448Call i32H::lib_to_mate(I32): I32
3831449StLoc[21](loc15: I32)
3834451ImmBorrowLoc[37](loc31: SwapStepResult)
3835452ImmBorrowField[37](SwapStepResult.tick_index_next: I32)
3837454StLoc[21](loc15: I32)
3839455MoveLoc[21](loc15: I32)
3840456MutBorrowLoc[38](loc32: SwapResult)
3841457MutBorrowField[36](SwapResult.current_tick_index: I32)
3845460ImmBorrowLoc[38](loc32: SwapResult)
3846461ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
3848463ImmBorrowLoc[37](loc31: SwapStepResult)
3849464ImmBorrowField[48](SwapStepResult.sqrt_price_start: u128)
3854468ImmBorrowLoc[38](loc32: SwapResult)
3855469ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
3857471Call tick_math::get_tick_at_sqrt_price(u128): I32
3858472MutBorrowLoc[38](loc32: SwapResult)
3859473MutBorrowField[36](SwapResult.current_tick_index: I32)
3864476MoveLoc[0](Arg0: &Clock)
3866478ImmBorrowLoc[38](loc32: SwapResult)
3867479ImmBorrowField[25](SwapResult.amount_specified_remaining: u64)
3871483MutBorrowLoc[38](loc32: SwapResult)
3872484MutBorrowField[32](SwapResult.is_exceed: bool)
3874486MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
3875487CopyLoc[38](loc32: SwapResult)
3876488MoveLoc[39](loc33: u64)
3877489Call update_pool_state<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, SwapResult, u64)
3878490MoveLoc[38](loc32: SwapResult)
3882update_data_for_delta_l<Ty0, Ty1>(Arg0: &Clock, Arg1: &mut Pool<Ty0, Ty1>, Arg2: &mut Position, Arg3: I128): u64 * u64 {
3890L11: loc7: vector<u128>
3891L12: loc8: vector<u128>
38990CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
39001CopyLoc[0](Arg0: &Clock)
39012Call utils::timestamp_seconds(&Clock): u64
39023Call update_reward_infos<Ty0, Ty1>(&mut Pool<Ty0, Ty1>, u64): vector<u128>
39034StLoc[11](loc7: vector<u128>)
39045CopyLoc[3](Arg3: I128)
39056Call i128::abs_u128(I128): u128
39067StLoc[8](loc4: u128)
39078CopyLoc[2](Arg2: &mut Position)
390910Call position::lower_tick(&Position): I32
391011StLoc[9](loc5: I32)
391112CopyLoc[2](Arg2: &mut Position)
391314Call position::upper_tick(&Position): I32
391415StLoc[17](loc13: I32)
391718StLoc[18](loc14: bool)
391819StLoc[10](loc6: bool)
391920CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
392021ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
392122Call tick::tick_spacing(&TickManager): u32
392223StLoc[16](loc12: u32)
392324MoveLoc[0](Arg0: &Clock)
392425Call utils::timestamp_seconds(&Clock): u64
392526StLoc[14](loc10: u64)
392627CopyLoc[8](loc4: u128)
393131CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
393333Call object::id<Pool<Ty0, Ty1>>(&Pool<Ty0, Ty1>): ID
393535CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
393636ImmBorrowFieldGeneric[10](Pool.observations_manager: ObservationManager)
393737CopyLoc[14](loc10: u64)
393939CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
394040ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
394242CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
394343ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
394545Call oracle::observe_single(&ObservationManager, u64, u64, I32, u128): I64 * u256
394646StLoc[13](loc9: u256)
394747StLoc[15](loc11: I64)
394848CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
394949MutBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
395050CopyLoc[7](loc3: ID)
395151CopyLoc[9](loc5: I32)
395252CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
395353ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
395555CopyLoc[3](Arg3: I128)
395656Call i128H::lib_to_mate(I128): I128
395757CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
395858ImmBorrowFieldGeneric[14](Pool.fee_growth_global_coin_a: u128)
396060CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
396161ImmBorrowFieldGeneric[15](Pool.fee_growth_global_coin_b: u128)
396363CopyLoc[11](loc7: vector<u128>)
396464CopyLoc[15](loc11: I64)
396565CopyLoc[13](loc9: u256)
396666CopyLoc[14](loc10: u64)
396868Call tick::update(&mut TickManager, ID, I32, I32, I128, u128, u128, vector<u128>, I64, u256, u64, bool): bool
396969StLoc[10](loc6: bool)
397070CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
397171MutBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
397272MoveLoc[7](loc3: ID)
397373CopyLoc[17](loc13: I32)
397474CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
397575ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
397777CopyLoc[3](Arg3: I128)
397878Call i128H::lib_to_mate(I128): I128
397979CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
398080ImmBorrowFieldGeneric[14](Pool.fee_growth_global_coin_a: u128)
398282CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
398383ImmBorrowFieldGeneric[15](Pool.fee_growth_global_coin_b: u128)
398585CopyLoc[11](loc7: vector<u128>)
398686MoveLoc[15](loc11: I64)
398787MoveLoc[13](loc9: u256)
398888CopyLoc[14](loc10: u64)
399090Call tick::update(&mut TickManager, ID, I32, I32, I128, u128, u128, vector<u128>, I64, u256, u64, bool): bool
399191StLoc[18](loc14: bool)
399292CopyLoc[10](loc6: bool)
399594CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
399695MutBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
399796Call tick::mutable_bitmap(&mut TickManager): &mut Table<I32, u256>
399897CopyLoc[9](loc5: I32)
399998CopyLoc[16](loc12: u32)
400099Call tick_bitmap::flip_tick(&mut Table<I32, u256>, I32, u32)
4002100CopyLoc[18](loc14: bool)
4005102CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4006103MutBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
4007104Call tick::mutable_bitmap(&mut TickManager): &mut Table<I32, u256>
4008105CopyLoc[17](loc13: I32)
4009106MoveLoc[16](loc12: u32)
4010107Call tick_bitmap::flip_tick(&mut Table<I32, u256>, I32, u32)
4012108CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4013109ImmBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
4014110CopyLoc[9](loc5: I32)
4015111CopyLoc[17](loc13: I32)
4016112CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4017113ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
4019115CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4020116ImmBorrowFieldGeneric[14](Pool.fee_growth_global_coin_a: u128)
4022118CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4023119ImmBorrowFieldGeneric[15](Pool.fee_growth_global_coin_b: u128)
4025121MoveLoc[11](loc7: vector<u128>)
4026122Call tick::get_fee_and_reward_growths_inside(&TickManager, I32, I32, I32, u128, u128, vector<u128>): u128 * u128 * vector<u128>
4027123StLoc[12](loc8: vector<u128>)
4028124StLoc[6](loc2: u128)
4029125StLoc[5](loc1: u128)
4030126MoveLoc[2](Arg2: &mut Position)
4031127CopyLoc[3](Arg3: I128)
4032128Call i128H::lib_to_mate(I128): I128
4033129MoveLoc[5](loc1: u128)
4034130MoveLoc[6](loc2: u128)
4035131MoveLoc[12](loc8: vector<u128>)
4036132Call position::update(&mut Position, I128, u128, u128, vector<u128>)
4037133CopyLoc[3](Arg3: I128)
4038134Call i128::zero(): I128
4039135Call i128::lt(I128, I128): bool
4042137MoveLoc[10](loc6: bool)
4045139CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4046140MutBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
4047141CopyLoc[9](loc5: I32)
4048142Call tick::remove(&mut TickManager, I32)
4050143MoveLoc[18](loc14: bool)
4053145CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4054146MutBorrowFieldGeneric[16](Pool.ticks_manager: TickManager)
4055147CopyLoc[17](loc13: I32)
4056148Call tick::remove(&mut TickManager, I32)
4058149CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4059150ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
4061152CopyLoc[9](loc5: I32)
4062153Call i32H::gte(I32, I32): bool
4065155CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4066156ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
4068158CopyLoc[17](loc13: I32)
4069159Call i32H::lt(I32, I32): bool
4070160StLoc[4](loc0: bool)
4074163StLoc[4](loc0: bool)
4076164MoveLoc[4](loc0: bool)
4079166CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4080167MutBorrowFieldGeneric[10](Pool.observations_manager: ObservationManager)
4081168CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4082169ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
4084171CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4085172ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
4087174MoveLoc[14](loc10: u64)
4088175Call oracle::update(&mut ObservationManager, I32, u128, u64)
4089176CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4090177ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
4092179CopyLoc[3](Arg3: I128)
4093180Call i128H::lib_to_mate(I128): I128
4094181Call utils::add_delta(u128, I128): u128
4095182CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4096183MutBorrowFieldGeneric[7](Pool.liquidity: u128)
4099185MoveLoc[9](loc5: I32)
4100186MoveLoc[17](loc13: I32)
4101187CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4102188ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
4104190MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
4105191ImmBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
4107193MoveLoc[8](loc4: u128)
4108194MoveLoc[3](Arg3: I128)
4109195Call i128::is_neg(I128): bool
4111197Call clmm_math::get_amount_by_liquidity(I32, I32, I32, u128, u128, bool): u64 * u64
4115update_pool_state<Ty0, Ty1>(Arg0: &mut Pool<Ty0, Ty1>, Arg1: SwapResult, Arg2: u64) {
41170CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
41181ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
41203ImmBorrowLoc[1](Arg1: SwapResult)
41214ImmBorrowField[36](SwapResult.current_tick_index: I32)
41236Call i32H::eq(I32, I32): bool
41279CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
412810MutBorrowFieldGeneric[10](Pool.observations_manager: ObservationManager)
412911CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
413012ImmBorrowFieldGeneric[12](Pool.current_tick_index: I32)
413214CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
413315ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
413517MoveLoc[2](Arg2: u64)
413618Call oracle::update(&mut ObservationManager, I32, u128, u64)
413719ImmBorrowLoc[1](Arg1: SwapResult)
413820ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
414022CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
414123MutBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
414325ImmBorrowLoc[1](Arg1: SwapResult)
414426ImmBorrowField[36](SwapResult.current_tick_index: I32)
414628CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
414729MutBorrowFieldGeneric[12](Pool.current_tick_index: I32)
415132ImmBorrowLoc[1](Arg1: SwapResult)
415233ImmBorrowField[31](SwapResult.end_sqrt_price: u128)
415435CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
415536MutBorrowFieldGeneric[13](Pool.current_sqrt_price: u128)
415838CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
415939ImmBorrowFieldGeneric[7](Pool.liquidity: u128)
416141ImmBorrowLoc[1](Arg1: SwapResult)
416242ImmBorrowField[29](SwapResult.liquidity: u128)
416746ImmBorrowLoc[1](Arg1: SwapResult)
416847ImmBorrowField[29](SwapResult.liquidity: u128)
417049CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
417150MutBorrowFieldGeneric[7](Pool.liquidity: u128)
417452ImmBorrowLoc[1](Arg1: SwapResult)
417553ImmBorrowField[52](SwapResult.a2b: bool)
417956CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
418057ImmBorrowFieldGeneric[0](Pool.protocol_fee_coin_a: u64)
418259ImmBorrowLoc[1](Arg1: SwapResult)
418360ImmBorrowField[27](SwapResult.protocol_fee: u64)
418663CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
418764MutBorrowFieldGeneric[0](Pool.protocol_fee_coin_a: u64)
418966ImmBorrowLoc[1](Arg1: SwapResult)
419067ImmBorrowField[45](SwapResult.fee_growth_global: u128)
419269CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
419370MutBorrowFieldGeneric[14](Pool.fee_growth_global_coin_a: u128)
419773CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
419874ImmBorrowFieldGeneric[1](Pool.protocol_fee_coin_b: u64)
420076ImmBorrowLoc[1](Arg1: SwapResult)
420177ImmBorrowField[27](SwapResult.protocol_fee: u64)
420480CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
420581MutBorrowFieldGeneric[1](Pool.protocol_fee_coin_b: u64)
420783ImmBorrowLoc[1](Arg1: SwapResult)
420884ImmBorrowField[45](SwapResult.fee_growth_global: u128)
421086CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
421187MutBorrowFieldGeneric[15](Pool.fee_growth_global_coin_b: u128)
421489CopyLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
421590ImmBorrowFieldGeneric[4](Pool.sequence_number: u128)
421994MoveLoc[0](Arg0: &mut Pool<Ty0, Ty1>)
422095MutBorrowFieldGeneric[4](Pool.sequence_number: u128)
4225get_accrued_rewards<Ty0, Ty1, Ty2>(Arg0: &Clock, Arg1: &mut Pool<Ty0, Ty1>, Arg2: &mut Position): u64 * PoolRewardInfo {
4230L7: loc4: &PoolRewardInfo
42320CopyLoc[2](Arg2: &mut Position)
42342Call position::liquidity(&Position): u128
42396MoveLoc[0](Arg0: &Clock)
42407CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
42418CopyLoc[2](Arg2: &mut Position)
42429Call i128::zero(): I128
424310Call update_data_for_delta_l<Ty0, Ty1>(&Clock, &mut Pool<Ty0, Ty1>, &mut Position, I128): u64 * u64
424814MoveLoc[0](Arg0: &Clock)
425116CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
425318Call reward_infos_length<Ty0, Ty1>(&Pool<Ty0, Ty1>): u64
425419StLoc[4](loc1: u64)
425620CopyLoc[2](Arg2: &mut Position)
425822Call position::reward_infos_length(&Position): u64
425923CopyLoc[4](loc1: u64)
426527CopyLoc[2](Arg2: &mut Position)
426628Call position::add_reward_info(&mut Position)
426930CopyLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
427132Call find_reward_info_index<Ty0, Ty1, Ty2>(&Pool<Ty0, Ty1>): u64
427233StLoc[6](loc3: u64)
427334CopyLoc[2](Arg2: &mut Position)
427435CopyLoc[6](loc3: u64)
427536StLoc[3](loc0: u64)
427738MoveLoc[3](loc0: u64)
427839Call position::coins_owed_reward(&Position, u64): u64
427940StLoc[5](loc2: u64)
428041MoveLoc[2](Arg2: &mut Position)
428142CopyLoc[6](loc3: u64)
428243CopyLoc[5](loc2: u64)
428344Call position::decrease_reward_amount(&mut Position, u64, u64)
428445MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
428546ImmBorrowFieldGeneric[6](Pool.reward_infos: vector<PoolRewardInfo>)
428647MoveLoc[6](loc3: u64)
428849StLoc[7](loc4: &PoolRewardInfo)
428950MoveLoc[5](loc2: u64)
429051MoveLoc[7](loc4: &PoolRewardInfo)
4295get_accrued_fee<Ty0, Ty1>(Arg0: &Clock, Arg1: &mut Pool<Ty0, Ty1>, Arg2: &mut Position): u64 * u64 {
42990CopyLoc[2](Arg2: &mut Position)
43012Call position::liquidity(&Position): u128
43066MoveLoc[0](Arg0: &Clock)
43077MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
43088CopyLoc[2](Arg2: &mut Position)
43099Call i128::zero(): I128
431010Call update_data_for_delta_l<Ty0, Ty1>(&Clock, &mut Pool<Ty0, Ty1>, &mut Position, I128): u64 * u64
431514MoveLoc[1](Arg1: &mut Pool<Ty0, Ty1>)
431716MoveLoc[0](Arg0: &Clock)
432018CopyLoc[2](Arg2: &mut Position)
432220Call position::get_accrued_fee(&Position): u64 * u64
432321StLoc[4](loc1: u64)
432422StLoc[3](loc0: u64)
432523MoveLoc[2](Arg2: &mut Position)
432826Call position::set_fee_amounts(&mut Position, u64, u64)
432927MoveLoc[3](loc0: u64)
433028MoveLoc[4](loc1: u64)
4334create_pool_internal<Ty0, Ty1>(Arg0: &Clock, Arg1: &GlobalConfig, Arg2: vector<u8>, Arg3: vector<u8>, Arg4: vector<u8>, Arg5: u8, Arg6: vector<u8>, Arg7: vector<u8>, Arg8: u8, Arg9: vector<u8>, Arg10: u32, Arg11: u64, Arg12: u128, Arg13: &mut TxContext): Pool<Ty0, Ty1> {
4335L14: loc0: vector<u8>
4336L15: loc1: TickManager
4337L16: loc2: ObservationManager
4342L21: loc7: vector<PoolRewardInfo>
4344L23: loc9: Balance<Ty0>
4345L24: loc10: Balance<Ty1>
4351L30: loc16: vector<u8>
4353L32: loc18: ObservationManager
4354L33: loc19: Pool<Ty0, Ty1>
4355L34: loc20: TickManager
43580MoveLoc[1](Arg1: &GlobalConfig)
43591Call config::verify_version(&GlobalConfig)
43602ImmBorrowLoc[3](Arg3: vector<u8>)
43667LdConst[0](vector<u8>: "htt..)
43678StLoc[14](loc0: vector<u8>)
437010MoveLoc[3](Arg3: vector<u8>)
437111StLoc[14](loc0: vector<u8>)
437312MoveLoc[14](loc0: vector<u8>)
437413StLoc[30](loc16: vector<u8>)
437514CopyLoc[10](Arg10: u32)
437615Call constants::max_allowed_tick_spacing(): u32
438219MoveLoc[13](Arg13: &mut TxContext)
438421MoveLoc[0](Arg0: &Clock)
438623Call errors::invalid_tick_spacing(): u64
438925CopyLoc[11](Arg11: u64)
439026Call constants::max_allowed_fee_rate(): u64
439630MoveLoc[13](Arg13: &mut TxContext)
439832MoveLoc[0](Arg0: &Clock)
440034Call errors::invalid_fee_rate(): u64
440336CopyLoc[12](Arg12: u128)
440437Call tick_math::max_sqrt_price(): u128
441041MoveLoc[13](Arg13: &mut TxContext)
441243MoveLoc[0](Arg0: &Clock)
441445Call errors::invalid_pool_price(): u64
441747CopyLoc[13](Arg13: &mut TxContext)
441848Call object::new(&mut TxContext): UID
441949StLoc[35](loc21: UID)
442050ImmBorrowLoc[35](loc21: UID)
442151Call object::uid_to_inner(&UID): ID
442252StLoc[31](loc17: ID)
442353CopyLoc[10](Arg10: u32)
442454CopyLoc[13](Arg13: &mut TxContext)
442555Call tick::initialize_manager(u32, &mut TxContext): TickManager
442656StLoc[34](loc20: TickManager)
442757MoveLoc[0](Arg0: &Clock)
442858Call utils::timestamp_seconds(&Clock): u64
442959Call oracle::initialize_manager(u64): ObservationManager
443060StLoc[32](loc18: ObservationManager)
443161CopyLoc[12](Arg12: u128)
443262Call tick_math::get_tick_at_sqrt_price(u128): I32
443363StLoc[29](loc15: I32)
443464Call utils::get_type_string<Ty0>(): String
443565StLoc[27](loc13: String)
443666Call utils::get_type_string<Ty1>(): String
443767StLoc[28](loc14: String)
443868CopyLoc[27](loc13: String)
443969CopyLoc[28](loc14: String)
444573MoveLoc[13](Arg13: &mut TxContext)
444775Call errors::invalid_coins(): u64
445077MoveLoc[35](loc21: UID)
445178StLoc[20](loc6: UID)
445279MoveLoc[2](Arg2: vector<u8>)
445380Call string::utf8(vector<u8>): String
445481StLoc[22](loc8: String)
445582Call balance::zero<Ty0>(): Balance<Ty0>
445683StLoc[23](loc9: Balance<Ty0>)
445784Call balance::zero<Ty1>(): Balance<Ty1>
445885StLoc[24](loc10: Balance<Ty1>)
445986CopyLoc[11](Arg11: u64)
446087StLoc[25](loc11: u64)
446188Call constants::protocol_fee_share(): u64
446289StLoc[26](loc12: u64)
446390MoveLoc[34](loc20: TickManager)
446491StLoc[15](loc1: TickManager)
446592MoveLoc[32](loc18: ObservationManager)
446693StLoc[16](loc2: ObservationManager)
446794CopyLoc[12](Arg12: u128)
446895StLoc[17](loc3: u128)
446996CopyLoc[29](loc15: I32)
447097StLoc[18](loc4: I32)
447198MoveLoc[30](loc16: vector<u8>)
447299Call string::utf8(vector<u8>): String
4473100StLoc[19](loc5: String)
4475102StLoc[21](loc7: vector<PoolRewardInfo>)
4476103MoveLoc[20](loc6: UID)
4477104MoveLoc[22](loc8: String)
4478105MoveLoc[23](loc9: Balance<Ty0>)
4479106MoveLoc[24](loc10: Balance<Ty1>)
4480107MoveLoc[25](loc11: u64)
4481108MoveLoc[26](loc12: u64)
4486113MoveLoc[15](loc1: TickManager)
4487114MoveLoc[16](loc2: ObservationManager)
4488115MoveLoc[17](loc3: u128)
4489116MoveLoc[18](loc4: I32)
4491118MoveLoc[21](loc7: vector<PoolRewardInfo>)
4493120MoveLoc[19](loc5: String)
4496123PackGeneric[1](Pool<Ty0, Ty1>)
4497124StLoc[33](loc19: Pool<Ty0, Ty1>)
4498125MutBorrowLoc[33](loc19: Pool<Ty0, Ty1>)
4499126MutBorrowFieldGeneric[5](Pool.id: UID)
4500127Call constants::manager(): String
4501128MoveLoc[13](Arg13: &mut TxContext)
4503130Call tx_context::sender(&TxContext): address
4504131Call dynamic_field::add<String, address>(&mut UID, String, address)
4505132MoveLoc[31](loc17: ID)
4506133MoveLoc[27](loc13: String)
4507134MoveLoc[4](Arg4: vector<u8>)
4508135Call string::utf8(vector<u8>): String
4509136MoveLoc[5](Arg5: u8)
4510137MoveLoc[6](Arg6: vector<u8>)
4511138Call string::utf8(vector<u8>): String
4512139MoveLoc[28](loc14: String)
4513140MoveLoc[7](Arg7: vector<u8>)
4514141Call string::utf8(vector<u8>): String
4515142MoveLoc[8](Arg8: u8)
4516143MoveLoc[9](Arg9: vector<u8>)
4517144Call string::utf8(vector<u8>): String
4518145MoveLoc[12](Arg12: u128)
4519146MoveLoc[29](loc15: I32)
4520147MoveLoc[10](Arg10: u32)
4521148MoveLoc[11](Arg11: u64)
4522149Call constants::protocol_fee_share(): u64
4523150Call events::emit_pool_created_event(ID, String, String, u8, String, String, String, u8, String, u128, I32, u32, u64, u64)
4524151MoveLoc[33](loc19: Pool<Ty0, Ty1>)
4528charge_pool_creation_fee<Ty0>(Arg0: &mut GlobalConfig, Arg1: ID, Arg2: Balance<Ty0>, Arg3: &TxContext) {
4530L5: loc1: &mut Balance<Ty0>
45360ImmBorrowLoc[2](Arg2: Balance<Ty0>)
45371Call balance::value<Ty0>(&Balance<Ty0>): u64
45393CopyLoc[0](Arg0: &mut GlobalConfig)
45415Call config::get_pool_creation_fee_amount<Ty0>(&GlobalConfig): bool * u64
45479MoveLoc[0](Arg0: &mut GlobalConfig)
454911MoveLoc[3](Arg3: &TxContext)
455113Call errors::fee_coin_not_supported(): u64
455415CopyLoc[7](loc3: u64)
455516MoveLoc[9](loc5: u64)
456120MoveLoc[0](Arg0: &mut GlobalConfig)
456322MoveLoc[3](Arg3: &TxContext)
456524Call errors::invalid_fee_provided(): u64
456826MoveLoc[0](Arg0: &mut GlobalConfig)
456927Call config::get_config_id(&mut GlobalConfig): &mut UID
457028StLoc[6](loc2: &mut UID)
457129Call utils::get_type_string<Ty0>(): String
457230StLoc[8](loc4: String)
457331CopyLoc[6](loc2: &mut UID)
457432CopyLoc[8](loc4: String)
457533StLoc[4](loc0: String)
457735MoveLoc[4](loc0: String)
457836Call dynamic_field::exists_<String>(&UID, String): bool
458239CopyLoc[6](loc2: &mut UID)
458340CopyLoc[8](loc4: String)
458441Call balance::zero<Ty0>(): Balance<Ty0>
458542Call dynamic_field::add<String, Balance<Ty0>>(&mut UID, String, Balance<Ty0>)
458743MoveLoc[6](loc2: &mut UID)
458844MoveLoc[8](loc4: String)
458945Call dynamic_field::borrow_mut<String, Balance<Ty0>>(&mut UID, String): &mut Balance<Ty0>
459046StLoc[5](loc1: &mut Balance<Ty0>)
459147CopyLoc[5](loc1: &mut Balance<Ty0>)
459248MoveLoc[2](Arg2: Balance<Ty0>)
459349Call balance::join<Ty0>(&mut Balance<Ty0>, Balance<Ty0>): u64
459551MoveLoc[1](Arg1: ID)
459652MoveLoc[3](Arg3: &TxContext)
459753Call tx_context::sender(&TxContext): address
459854Call utils::get_type_string<Ty0>(): String
459955MoveLoc[7](loc3: u64)
460056MoveLoc[5](loc1: &mut Balance<Ty0>)
460258Call balance::value<Ty0>(&Balance<Ty0>): u64
460359Call events::emit_pool_creation_fee_paid_event(ID, address, String, u64, u64)
4607is_flash_swap_in_progress(Arg0: &UID): bool {
46090MoveLoc[0](Arg0: &UID)
46101Call constants::flash_swap_in_progress_key(): vector<u8>
46112Call dynamic_field::exists_<vector<u8>>(&UID, vector<u8>): bool
4616 0 => vector<u8>: "https://bluefin.io/images/nfts/default.gif" // interpreted as UTF8 string