Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API

rate

Module0x93f6…7dfd
Move path
0x7fd8…1fec::rate
Functions
2121 public, 0 entry
Structs
1
Friend modules
None
rate

Bytecode392 lines

The on-chain disassembly. Offsets are bytecode positions within each function.

// Move bytecode v7
module 7fd8aba1652c58b6397c799fd375e748e5053145cb7e126d303e0a1545fd1fec.rate {
 
struct Rate has copy, drop, store {
value: u128
}
 
public one(): Rate {
B0:
0LdConst[0](u128: 1000..)
1Pack[0](Rate)
2Ret
}
 
public zero(): Rate {
B0:
0LdU128(0)
1Pack[0](Rate)
2Ret
}
 
public from_raw(Arg0: u128): Rate {
B0:
0CopyLoc[0](Arg0: u128)
1LdConst[6](u128: 3402..)
2Le
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[7](u64: 1)
6Abort
B3:
7MoveLoc[0](Arg0: u128)
8Pack[0](Rate)
9Ret
}
 
public from_percent(Arg0: u8): Rate {
B0:
0MoveLoc[0](Arg0: u8)
1CastU128
2LdConst[2](u128: 1000..)
3Mul
4Pack[0](Rate)
5Ret
}
 
public from_permille(Arg0: u16): Rate {
B0:
0CopyLoc[0](Arg0: u16)
1CastU128
2LdConst[3](u128: 1000..)
3Mul
4LdConst[6](u128: 3402..)
5Le
6BrFalse(8)
B1:
7Branch(10)
B2:
8LdConst[7](u64: 1)
9Abort
B3:
10MoveLoc[0](Arg0: u16)
11CastU128
12LdConst[3](u128: 1000..)
13Mul
14Pack[0](Rate)
15Ret
}
 
public from_permyriad(Arg0: u16): Rate {
B0:
0CopyLoc[0](Arg0: u16)
1CastU128
2LdConst[4](u128: 1000..)
3Mul
4LdConst[6](u128: 3402..)
5Le
6BrFalse(8)
B1:
7Branch(10)
B2:
8LdConst[7](u64: 1)
9Abort
B3:
10MoveLoc[0](Arg0: u16)
11CastU128
12LdConst[4](u128: 1000..)
13Mul
14Pack[0](Rate)
15Ret
}
 
public from_u64(Arg0: u64): Rate {
B0:
0CopyLoc[0](Arg0: u64)
1CastU128
2LdConst[0](u128: 1000..)
3Mul
4LdConst[6](u128: 3402..)
5Le
6BrFalse(8)
B1:
7Branch(10)
B2:
8LdConst[7](u64: 1)
9Abort
B3:
10MoveLoc[0](Arg0: u64)
11CastU128
12LdConst[0](u128: 1000..)
13Mul
14Pack[0](Rate)
15Ret
}
 
public to_raw(Arg0: Rate): u128 {
B0:
0ImmBorrowLoc[0](Arg0: Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3Ret
}
 
public round_u64(Arg0: Rate): u64 {
L1: loc0: u128
B0:
0LdConst[1](u128: 5000..)
1ImmBorrowLoc[0](Arg0: Rate)
2ImmBorrowField[0](Rate.value: u128)
3ReadRef
4Add
5LdConst[0](u128: 1000..)
6Div
7StLoc[1](loc0: u128)
8CopyLoc[1](loc0: u128)
9LdConst[5](u128: 1844..)
10Le
11BrFalse(13)
B1:
12Branch(15)
B2:
13LdConst[7](u64: 1)
14Abort
B3:
15MoveLoc[1](loc0: u128)
16CastU64
17Ret
}
 
public eq(Arg0: &Rate, Arg1: &Rate): bool {
B0:
0MoveLoc[0](Arg0: &Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3MoveLoc[1](Arg1: &Rate)
4ImmBorrowField[0](Rate.value: u128)
5ReadRef
6Eq
7Ret
}
 
public lt(Arg0: &Rate, Arg1: &Rate): bool {
B0:
0MoveLoc[0](Arg0: &Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3MoveLoc[1](Arg1: &Rate)
4ImmBorrowField[0](Rate.value: u128)
5ReadRef
6Lt
7Ret
}
 
public le(Arg0: &Rate, Arg1: &Rate): bool {
B0:
0MoveLoc[0](Arg0: &Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3MoveLoc[1](Arg1: &Rate)
4ImmBorrowField[0](Rate.value: u128)
5ReadRef
6Le
7Ret
}
 
public gt(Arg0: &Rate, Arg1: &Rate): bool {
B0:
0MoveLoc[0](Arg0: &Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3MoveLoc[1](Arg1: &Rate)
4ImmBorrowField[0](Rate.value: u128)
5ReadRef
6Gt
7Ret
}
 
public ge(Arg0: &Rate, Arg1: &Rate): bool {
B0:
0MoveLoc[0](Arg0: &Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3MoveLoc[1](Arg1: &Rate)
4ImmBorrowField[0](Rate.value: u128)
5ReadRef
6Ge
7Ret
}
 
public is_zero(Arg0: &Rate): bool {
B0:
0MoveLoc[0](Arg0: &Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3LdU128(0)
4Eq
5Ret
}
 
public is_one(Arg0: &Rate): bool {
B0:
0MoveLoc[0](Arg0: &Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3LdConst[0](u128: 1000..)
4Eq
5Ret
}
 
public diff(Arg0: Rate, Arg1: Rate): Rate {
L2: loc0: u128
B0:
0ImmBorrowLoc[0](Arg0: Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3ImmBorrowLoc[1](Arg1: Rate)
4ImmBorrowField[0](Rate.value: u128)
5ReadRef
6Gt
7BrFalse(17)
B1:
8ImmBorrowLoc[0](Arg0: Rate)
9ImmBorrowField[0](Rate.value: u128)
10ReadRef
11ImmBorrowLoc[1](Arg1: Rate)
12ImmBorrowField[0](Rate.value: u128)
13ReadRef
14Sub
15StLoc[2](loc0: u128)
16Branch(25)
B2:
17ImmBorrowLoc[1](Arg1: Rate)
18ImmBorrowField[0](Rate.value: u128)
19ReadRef
20ImmBorrowLoc[0](Arg0: Rate)
21ImmBorrowField[0](Rate.value: u128)
22ReadRef
23Sub
24StLoc[2](loc0: u128)
B3:
25MoveLoc[2](loc0: u128)
26Pack[0](Rate)
27Ret
}
 
public add(Arg0: Rate, Arg1: Rate): Rate {
L2: loc0: u128
B0:
0ImmBorrowLoc[0](Arg0: Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3ImmBorrowLoc[1](Arg1: Rate)
4ImmBorrowField[0](Rate.value: u128)
5ReadRef
6Add
7StLoc[2](loc0: u128)
8CopyLoc[2](loc0: u128)
9LdConst[6](u128: 3402..)
10Le
11BrFalse(13)
B1:
12Branch(15)
B2:
13LdConst[7](u64: 1)
14Abort
B3:
15MoveLoc[2](loc0: u128)
16Pack[0](Rate)
17Ret
}
 
public sub(Arg0: Rate, Arg1: Rate): Rate {
L2: loc0: u128
B0:
0ImmBorrowLoc[0](Arg0: Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3ImmBorrowLoc[1](Arg1: Rate)
4ImmBorrowField[0](Rate.value: u128)
5ReadRef
6Sub
7StLoc[2](loc0: u128)
8CopyLoc[2](loc0: u128)
9LdConst[6](u128: 3402..)
10Le
11BrFalse(13)
B1:
12Branch(15)
B2:
13LdConst[7](u64: 1)
14Abort
B3:
15MoveLoc[2](loc0: u128)
16Pack[0](Rate)
17Ret
}
 
public mul_with_u64(Arg0: Rate, Arg1: u64): Rate {
L2: loc0: u128
B0:
0ImmBorrowLoc[0](Arg0: Rate)
1ImmBorrowField[0](Rate.value: u128)
2ReadRef
3MoveLoc[1](Arg1: u64)
4CastU128
5Mul
6StLoc[2](loc0: u128)
7CopyLoc[2](loc0: u128)
8LdConst[6](u128: 3402..)
9Le
10BrFalse(12)
B1:
11Branch(14)
B2:
12LdConst[7](u64: 1)
13Abort
B3:
14MoveLoc[2](loc0: u128)
15Pack[0](Rate)
16Ret
}
 
public div_by_u64(Arg0: Rate, Arg1: u64): Rate {
L2: loc0: u128
B0:
0CopyLoc[1](Arg1: u64)
1LdU64(0)
2Gt
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[8](u64: 2)
6Abort
B3:
7ImmBorrowLoc[0](Arg0: Rate)
8ImmBorrowField[0](Rate.value: u128)
9ReadRef
10MoveLoc[1](Arg1: u64)
11CastU128
12Div
13StLoc[2](loc0: u128)
14CopyLoc[2](loc0: u128)
15LdConst[6](u128: 3402..)
16Le
17BrFalse(19)
B4:
18Branch(21)
B5:
19LdConst[7](u64: 1)
20Abort
B6:
21MoveLoc[2](loc0: u128)
22Pack[0](Rate)
23Ret
}
 
Constants [
0 => u128: 1000000000000000000
1 => u128: 500000000000000000
2 => u128: 10000000000000000
3 => u128: 1000000000000000
4 => u128: 100000000000000
5 => u128: 18446744073709551615
6 => u128: 340282366920938463463374607431768211455
7 => u64: 1
8 => u64: 2
]
}