utils
Module0xe10f…90b1
- Move path
- 0xa0eb…0b66::utils
- Functions
- 63 public, 0 entry
- Structs
- 0
- Friend modules
- None
Bytecode312 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module a0eba10b173538c8fecca1dff298e488402cc9ff374f8a12ca7758eebe830b66.utils {
L4: loc0: u128
L5: loc1: u128
L6: loc2: u128
L7: loc3: u128
L8: loc4: u128
L9: loc5: u128
B0:
0MoveLoc[0](Arg0: u64)
1CastU128
2MoveLoc[1](Arg1: u64)
3CastU128
4MoveLoc[2](Arg2: u64)
5CastU128
6MoveLoc[3](Arg3: u64)
7CastU128
8StLoc[5](loc1: u128)
9StLoc[9](loc5: u128)
10StLoc[7](loc3: u128)
11LdConst[0](u128: 1000..)
12MoveLoc[5](loc1: u128)
13Sub
14Mul
15StLoc[6](loc2: u128)
16CopyLoc[6](loc2: u128)
17MoveLoc[9](loc5: u128)
18Mul
19StLoc[8](loc4: u128)
20MoveLoc[7](loc3: u128)
21LdConst[0](u128: 1000..)
22Mul
23MoveLoc[6](loc2: u128)
24Add
25StLoc[4](loc0: u128)
26MoveLoc[8](loc4: u128)
27MoveLoc[4](loc0: u128)
28Div
29CastU64
30Ret
}
public get_input_price_stable(Arg0: u64, Arg1: u64, Arg2: u64, Arg3: u64, Arg4: u64, Arg5: u64): u64 {
L6: loc0: u256
L7: loc1: u256
L8: loc2: u256
L9: loc3: u256
L10: loc4: u256
B0:
0LdConst[1](u128: 1000..)
1CastU256
2StLoc[9](loc3: u256)
3CopyLoc[1](Arg1: u64)
4CastU128
5CopyLoc[4](Arg4: u64)
6CopyLoc[2](Arg2: u64)
7CastU128
8CopyLoc[5](Arg5: u64)
9Call lp_value(u128, u64, u128, u64): u256
10StLoc[10](loc4: u256)
11MoveLoc[1](Arg1: u64)
12CastU256
13CopyLoc[9](loc3: u256)
14Mul
15CopyLoc[4](Arg4: u64)
16CastU256
17Div
18StLoc[6](loc0: u256)
19MoveLoc[2](Arg2: u64)
20CastU256
21CopyLoc[9](loc3: u256)
22Mul
23CopyLoc[5](Arg5: u64)
24CastU256
25Div
26StLoc[7](loc1: u256)
27MoveLoc[0](Arg0: u64)
28CastU256
29CopyLoc[9](loc3: u256)
30Mul
31MoveLoc[4](Arg4: u64)
32CastU256
33Div
34CastU256
35LdConst[0](u128: 1000..)
36MoveLoc[3](Arg3: u64)
37CastU128
38Sub
39CastU256
40Mul
41LdConst[0](u128: 1000..)
42CastU256
43Div
44MoveLoc[6](loc0: u256)
45Add
46StLoc[8](loc2: u256)
47CopyLoc[7](loc1: u256)
48MoveLoc[8](loc2: u256)
49MoveLoc[10](loc4: u256)
50MoveLoc[7](loc1: u256)
51Call get_y(u256, u256, u256): u256
52Sub
53MoveLoc[5](Arg5: u64)
54CastU256
55Mul
56MoveLoc[9](loc3: u256)
57Div
58CastU64
59Ret
}
public lp_value(Arg0: u128, Arg1: u64, Arg2: u128, Arg3: u64): u256 {
L4: loc0: u256
L5: loc1: u256
L6: loc2: u256
L7: loc3: u256
L8: loc4: u256
L9: loc5: u256
L10: loc6: u256
L11: loc7: u256
L12: loc8: u256
B0:
0MoveLoc[0](Arg0: u128)
1CastU256
2StLoc[10](loc6: u256)
3MoveLoc[2](Arg2: u128)
4CastU256
5StLoc[12](loc8: u256)
6LdConst[1](u128: 1000..)
7CastU256
8StLoc[8](loc4: u256)
9MoveLoc[1](Arg1: u64)
10CastU256
11StLoc[9](loc5: u256)
12MoveLoc[3](Arg3: u64)
13CastU256
14StLoc[11](loc7: u256)
15MoveLoc[10](loc6: u256)
16CopyLoc[8](loc4: u256)
17Mul
18MoveLoc[9](loc5: u256)
19Div
20StLoc[6](loc2: u256)
21MoveLoc[12](loc8: u256)
22MoveLoc[8](loc4: u256)
23Mul
24MoveLoc[11](loc7: u256)
25Div
26StLoc[7](loc3: u256)
27CopyLoc[6](loc2: u256)
28CopyLoc[7](loc3: u256)
29Mul
30StLoc[4](loc0: u256)
31CopyLoc[6](loc2: u256)
32MoveLoc[6](loc2: u256)
33Mul
34CopyLoc[7](loc3: u256)
35MoveLoc[7](loc3: u256)
36Mul
37Add
38StLoc[5](loc1: u256)
39MoveLoc[4](loc0: u256)
40MoveLoc[5](loc1: u256)
41Mul
42Ret
}
get_y(Arg0: u256, Arg1: u256, Arg2: u256): u256 {
L3: loc0: u256
L4: loc1: u64
L5: loc2: u256
L6: loc3: u256
B0:
0LdU64(0)
1StLoc[4](loc1: u64)
2LdU256(1)
3StLoc[6](loc3: u256)
B1:
4CopyLoc[4](loc1: u64)
5LdU64(255)
6Lt
7BrFalse(59)
B2:
8Branch(9)
B3:
9CopyLoc[0](Arg0: u256)
10CopyLoc[2](Arg2: u256)
11Call f(u256, u256): u256
12StLoc[5](loc2: u256)
13LdU256(0)
14Pop
15CopyLoc[1](Arg1: u256)
16CopyLoc[5](loc2: u256)
17Gt
18BrFalse(34)
B4:
19CopyLoc[1](Arg1: u256)
20MoveLoc[5](loc2: u256)
21Sub
22CopyLoc[0](Arg0: u256)
23CopyLoc[2](Arg2: u256)
24Call d(u256, u256): u256
25Div
26CopyLoc[6](loc3: u256)
27Add
28StLoc[3](loc0: u256)
29MoveLoc[2](Arg2: u256)
30CopyLoc[3](loc0: u256)
31Add
32StLoc[2](Arg2: u256)
33Branch(48)
B5:
34MoveLoc[5](loc2: u256)
35CopyLoc[1](Arg1: u256)
36Sub
37CopyLoc[0](Arg0: u256)
38CopyLoc[2](Arg2: u256)
39Call d(u256, u256): u256
40Div
41CopyLoc[6](loc3: u256)
42Add
43StLoc[3](loc0: u256)
44MoveLoc[2](Arg2: u256)
45CopyLoc[3](loc0: u256)
46Sub
47StLoc[2](Arg2: u256)
B6:
48MoveLoc[3](loc0: u256)
49CopyLoc[6](loc3: u256)
50Le
51BrFalse(54)
B7:
52MoveLoc[2](Arg2: u256)
53Ret
B8:
54MoveLoc[4](loc1: u64)
55LdU64(1)
56Add
57StLoc[4](loc1: u64)
58Branch(4)
B9:
59MoveLoc[2](Arg2: u256)
60Ret
}
f(Arg0: u256, Arg1: u256): u256 {
L2: loc0: u256
L3: loc1: u256
L4: loc2: u256
B0:
0CopyLoc[1](Arg1: u256)
1CopyLoc[1](Arg1: u256)
2Mul
3CopyLoc[1](Arg1: u256)
4Mul
5StLoc[4](loc2: u256)
6CopyLoc[0](Arg0: u256)
7MoveLoc[4](loc2: u256)
8Mul
9StLoc[2](loc0: u256)
10CopyLoc[0](Arg0: u256)
11CopyLoc[0](Arg0: u256)
12Mul
13MoveLoc[0](Arg0: u256)
14Mul
15MoveLoc[1](Arg1: u256)
16Mul
17StLoc[3](loc1: u256)
18MoveLoc[2](loc0: u256)
19MoveLoc[3](loc1: u256)
20Add
21Ret
}
d(Arg0: u256, Arg1: u256): u256 {
L2: loc0: u256
L3: loc1: u256
L4: loc2: u256
L5: loc3: u256
B0:
0LdU256(3)
1CopyLoc[0](Arg0: u256)
2Mul
3StLoc[2](loc0: u256)
4CopyLoc[1](Arg1: u256)
5MoveLoc[1](Arg1: u256)
6Mul
7StLoc[5](loc3: u256)
8MoveLoc[2](loc0: u256)
9MoveLoc[5](loc3: u256)
10Mul
11StLoc[4](loc2: u256)
12CopyLoc[0](Arg0: u256)
13CopyLoc[0](Arg0: u256)
14Mul
15MoveLoc[0](Arg0: u256)
16Mul
17StLoc[3](loc1: u256)
18MoveLoc[4](loc2: u256)
19MoveLoc[3](loc1: u256)
20Add
21Ret
}
Constants [
0 => u128: 1000000
1 => u128: 100000000
]
}