comparator
Module0x08bf…23f1
- Move path
- 0x414a…e21c::comparator
- Functions
- 55 public, 0 entry
- Structs
- 1
- Friend modules
- None
comparator
Bytecode164 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 414abb429e44ddff03fe84d407ea3985c93fe55bd3ed79a8e2e57f50daf2e21c.comparator {
use 0000000000000000000000000000000000000000000000000000000000000001::bcs;
struct Result has drop {
inner: u8
}
public is_equal(Arg0: &Result): bool {
B0:
0MoveLoc[0](Arg0: &Result)
1ImmBorrowField[0](Result.inner: u8)
2ReadRef
3LdConst[0](u8: 0)
4Eq
5Ret
}
public is_smaller_than(Arg0: &Result): bool {
B0:
0MoveLoc[0](Arg0: &Result)
1ImmBorrowField[0](Result.inner: u8)
2ReadRef
3LdConst[1](u8: 1)
4Eq
5Ret
}
public is_greater_than(Arg0: &Result): bool {
B0:
0MoveLoc[0](Arg0: &Result)
1ImmBorrowField[0](Result.inner: u8)
2ReadRef
3LdConst[2](u8: 2)
4Eq
5Ret
}
public compare<Ty0>(Arg0: &Ty0, Arg1: &Ty0): Result {
L2: loc0: vector<u8>
L3: loc1: vector<u8>
B0:
0MoveLoc[0](Arg0: &Ty0)
1Call bcs::to_bytes<Ty0>(&Ty0): vector<u8>
2StLoc[2](loc0: vector<u8>)
3MoveLoc[1](Arg1: &Ty0)
4Call bcs::to_bytes<Ty0>(&Ty0): vector<u8>
5StLoc[3](loc1: vector<u8>)
6MoveLoc[2](loc0: vector<u8>)
7MoveLoc[3](loc1: vector<u8>)
8Call compare_u8_vector(vector<u8>, vector<u8>): Result
9Ret
}
public compare_u8_vector(Arg0: vector<u8>, Arg1: vector<u8>): Result {
L2: loc0: bool
L3: loc1: Result
L4: loc2: Result
L5: loc3: u64
L6: loc4: u8
L7: loc5: u64
L8: loc6: u8
L9: loc7: u64
B0:
0ImmBorrowLoc[0](Arg0: vector<u8>)
1VecLen(10)
2StLoc[7](loc5: u64)
3ImmBorrowLoc[1](Arg1: vector<u8>)
4VecLen(10)
5StLoc[9](loc7: u64)
6LdU64(0)
7StLoc[5](loc3: u64)
B1:
8CopyLoc[5](loc3: u64)
9CopyLoc[7](loc5: u64)
10Lt
11BrFalse(18)
B2:
12Branch(13)
B3:
13CopyLoc[5](loc3: u64)
14CopyLoc[9](loc7: u64)
15Lt
16StLoc[2](loc0: bool)
17Branch(20)
B4:
18LdFalse
19StLoc[2](loc0: bool)
B5:
20MoveLoc[2](loc0: bool)
21BrFalse(51)
B6:
22ImmBorrowLoc[0](Arg0: vector<u8>)
23CopyLoc[5](loc3: u64)
24VecImmBorrow(10)
25ReadRef
26StLoc[6](loc4: u8)
27ImmBorrowLoc[1](Arg1: vector<u8>)
28CopyLoc[5](loc3: u64)
29VecImmBorrow(10)
30ReadRef
31StLoc[8](loc6: u8)
32CopyLoc[6](loc4: u8)
33CopyLoc[8](loc6: u8)
34Lt
35BrFalse(39)
B7:
36LdConst[1](u8: 1)
37Pack[0](Result)
38Ret
B8:
39MoveLoc[6](loc4: u8)
40MoveLoc[8](loc6: u8)
41Gt
42BrFalse(46)
B9:
43LdConst[2](u8: 2)
44Pack[0](Result)
45Ret
B10:
46MoveLoc[5](loc3: u64)
47LdU64(1)
48Add
49StLoc[5](loc3: u64)
50Branch(8)
B11:
51CopyLoc[7](loc5: u64)
52CopyLoc[9](loc7: u64)
53Lt
54BrFalse(59)
B12:
55LdConst[1](u8: 1)
56Pack[0](Result)
57StLoc[4](loc2: Result)
58Branch(72)
B13:
59MoveLoc[7](loc5: u64)
60MoveLoc[9](loc7: u64)
61Gt
62BrFalse(67)
B14:
63LdConst[2](u8: 2)
64Pack[0](Result)
65StLoc[3](loc1: Result)
66Branch(70)
B15:
67LdConst[0](u8: 0)
68Pack[0](Result)
69StLoc[3](loc1: Result)
B16:
70MoveLoc[3](loc1: Result)
71StLoc[4](loc2: Result)
B17:
72MoveLoc[4](loc2: Result)
73Ret
}
Constants [
0 => u8: 0
1 => u8: 1
2 => u8: 2
]
}