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

API

vectors

Module0x40fc…5bb2
Move path
0xed6c…9f32::vectors
Functions
66 public, 0 entry
Structs
0
Friend modules
None
vectors

Bytecode467 lines

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

// Move bytecode v6
module ed6c6fe0732be937f4379bc0b471f0f6bfbe0e8741968009e0f01e6de3d59f32.vectors {
use ed6c6fe0732be937f4379bc0b471f0f6bfbe0e8741968009e0f01e6de3d59f32::math;
use 0000000000000000000000000000000000000000000000000000000000000002::vec_map;
 
public find_upper_bound(Arg0: &vector<u64>, Arg1: u64): u64 {
L2: loc0: bool
L3: loc1: u64
L4: loc2: u64
L5: loc3: u64
L6: loc4: u64
B0:
0CopyLoc[0](Arg0: &vector<u64>)
1VecLen(1)
2LdU64(0)
3Eq
4BrFalse(9)
B1:
5MoveLoc[0](Arg0: &vector<u64>)
6Pop
7LdU64(0)
8Ret
B2:
9LdU64(0)
10StLoc[5](loc3: u64)
11CopyLoc[0](Arg0: &vector<u64>)
12VecLen(1)
13StLoc[4](loc2: u64)
B3:
14CopyLoc[5](loc3: u64)
15CopyLoc[4](loc2: u64)
16Lt
17BrFalse(38)
B4:
18Branch(19)
B5:
19CopyLoc[5](loc3: u64)
20CopyLoc[4](loc2: u64)
21Call math::average(u64, u64): u64
22StLoc[6](loc4: u64)
23CopyLoc[0](Arg0: &vector<u64>)
24CopyLoc[6](loc4: u64)
25VecImmBorrow(1)
26ReadRef
27CopyLoc[1](Arg1: u64)
28Gt
29BrFalse(33)
B6:
30MoveLoc[6](loc4: u64)
31StLoc[4](loc2: u64)
32Branch(37)
B7:
33MoveLoc[6](loc4: u64)
34LdU64(1)
35Add
36StLoc[5](loc3: u64)
B8:
37Branch(14)
B9:
38CopyLoc[5](loc3: u64)
39LdU64(0)
40Gt
41BrFalse(52)
B10:
42MoveLoc[0](Arg0: &vector<u64>)
43CopyLoc[5](loc3: u64)
44LdU64(1)
45Sub
46VecImmBorrow(1)
47ReadRef
48MoveLoc[1](Arg1: u64)
49Eq
50StLoc[2](loc0: bool)
51Branch(56)
B11:
52MoveLoc[0](Arg0: &vector<u64>)
53Pop
54LdFalse
55StLoc[2](loc0: bool)
B12:
56MoveLoc[2](loc0: bool)
57BrFalse(63)
B13:
58MoveLoc[5](loc3: u64)
59LdU64(1)
60Sub
61StLoc[3](loc1: u64)
62Branch(65)
B14:
63MoveLoc[5](loc3: u64)
64StLoc[3](loc1: u64)
B15:
65MoveLoc[3](loc1: u64)
66Ret
}
 
public lt(Arg0: &vector<u8>, Arg1: &vector<u8>): bool {
L2: loc0: u8
L3: loc1: u8
L4: loc2: u64
L5: loc3: u64
B0:
0LdU64(0)
1StLoc[4](loc2: u64)
2CopyLoc[0](Arg0: &vector<u8>)
3VecLen(10)
4StLoc[5](loc3: u64)
5CopyLoc[5](loc3: u64)
6CopyLoc[1](Arg1: &vector<u8>)
7VecLen(10)
8Eq
9BrFalse(11)
B1:
10Branch(17)
B2:
11MoveLoc[1](Arg1: &vector<u8>)
12Pop
13MoveLoc[0](Arg0: &vector<u8>)
14Pop
15LdConst[0](u64: 65536)
16Abort
B3:
17CopyLoc[4](loc2: u64)
18CopyLoc[5](loc3: u64)
19Lt
20BrFalse(57)
B4:
21Branch(22)
B5:
22CopyLoc[0](Arg0: &vector<u8>)
23CopyLoc[4](loc2: u64)
24VecImmBorrow(10)
25ReadRef
26StLoc[2](loc0: u8)
27CopyLoc[1](Arg1: &vector<u8>)
28CopyLoc[4](loc2: u64)
29VecImmBorrow(10)
30ReadRef
31StLoc[3](loc1: u8)
32CopyLoc[2](loc0: u8)
33CopyLoc[3](loc1: u8)
34Lt
35BrFalse(42)
B6:
36MoveLoc[1](Arg1: &vector<u8>)
37Pop
38MoveLoc[0](Arg0: &vector<u8>)
39Pop
40LdTrue
41Ret
B7:
42MoveLoc[2](loc0: u8)
43MoveLoc[3](loc1: u8)
44Gt
45BrFalse(52)
B8:
46MoveLoc[1](Arg1: &vector<u8>)
47Pop
48MoveLoc[0](Arg0: &vector<u8>)
49Pop
50LdFalse
51Ret
B9:
52MoveLoc[4](loc2: u64)
53LdU64(1)
54Add
55StLoc[4](loc2: u64)
56Branch(17)
B10:
57MoveLoc[1](Arg1: &vector<u8>)
58Pop
59MoveLoc[0](Arg0: &vector<u8>)
60Pop
61LdFalse
62Ret
}
 
public gt(Arg0: &vector<u8>, Arg1: &vector<u8>): bool {
L2: loc0: u8
L3: loc1: u8
L4: loc2: u64
L5: loc3: u64
B0:
0LdU64(0)
1StLoc[4](loc2: u64)
2CopyLoc[0](Arg0: &vector<u8>)
3VecLen(10)
4StLoc[5](loc3: u64)
5CopyLoc[5](loc3: u64)
6CopyLoc[1](Arg1: &vector<u8>)
7VecLen(10)
8Eq
9BrFalse(11)
B1:
10Branch(17)
B2:
11MoveLoc[1](Arg1: &vector<u8>)
12Pop
13MoveLoc[0](Arg0: &vector<u8>)
14Pop
15LdConst[0](u64: 65536)
16Abort
B3:
17CopyLoc[4](loc2: u64)
18CopyLoc[5](loc3: u64)
19Lt
20BrFalse(57)
B4:
21Branch(22)
B5:
22CopyLoc[0](Arg0: &vector<u8>)
23CopyLoc[4](loc2: u64)
24VecImmBorrow(10)
25ReadRef
26StLoc[2](loc0: u8)
27CopyLoc[1](Arg1: &vector<u8>)
28CopyLoc[4](loc2: u64)
29VecImmBorrow(10)
30ReadRef
31StLoc[3](loc1: u8)
32CopyLoc[2](loc0: u8)
33CopyLoc[3](loc1: u8)
34Gt
35BrFalse(42)
B6:
36MoveLoc[1](Arg1: &vector<u8>)
37Pop
38MoveLoc[0](Arg0: &vector<u8>)
39Pop
40LdTrue
41Ret
B7:
42MoveLoc[2](loc0: u8)
43MoveLoc[3](loc1: u8)
44Lt
45BrFalse(52)
B8:
46MoveLoc[1](Arg1: &vector<u8>)
47Pop
48MoveLoc[0](Arg0: &vector<u8>)
49Pop
50LdFalse
51Ret
B9:
52MoveLoc[4](loc2: u64)
53LdU64(1)
54Add
55StLoc[4](loc2: u64)
56Branch(17)
B10:
57MoveLoc[1](Arg1: &vector<u8>)
58Pop
59MoveLoc[0](Arg0: &vector<u8>)
60Pop
61LdFalse
62Ret
}
 
public lte(Arg0: &vector<u8>, Arg1: &vector<u8>): bool {
L2: loc0: u8
L3: loc1: u8
L4: loc2: u64
L5: loc3: u64
B0:
0LdU64(0)
1StLoc[4](loc2: u64)
2CopyLoc[0](Arg0: &vector<u8>)
3VecLen(10)
4StLoc[5](loc3: u64)
5CopyLoc[5](loc3: u64)
6CopyLoc[1](Arg1: &vector<u8>)
7VecLen(10)
8Eq
9BrFalse(11)
B1:
10Branch(17)
B2:
11MoveLoc[1](Arg1: &vector<u8>)
12Pop
13MoveLoc[0](Arg0: &vector<u8>)
14Pop
15LdConst[0](u64: 65536)
16Abort
B3:
17CopyLoc[4](loc2: u64)
18CopyLoc[5](loc3: u64)
19Lt
20BrFalse(57)
B4:
21Branch(22)
B5:
22CopyLoc[0](Arg0: &vector<u8>)
23CopyLoc[4](loc2: u64)
24VecImmBorrow(10)
25ReadRef
26StLoc[2](loc0: u8)
27CopyLoc[1](Arg1: &vector<u8>)
28CopyLoc[4](loc2: u64)
29VecImmBorrow(10)
30ReadRef
31StLoc[3](loc1: u8)
32CopyLoc[2](loc0: u8)
33CopyLoc[3](loc1: u8)
34Lt
35BrFalse(42)
B6:
36MoveLoc[1](Arg1: &vector<u8>)
37Pop
38MoveLoc[0](Arg0: &vector<u8>)
39Pop
40LdTrue
41Ret
B7:
42MoveLoc[2](loc0: u8)
43MoveLoc[3](loc1: u8)
44Gt
45BrFalse(52)
B8:
46MoveLoc[1](Arg1: &vector<u8>)
47Pop
48MoveLoc[0](Arg0: &vector<u8>)
49Pop
50LdFalse
51Ret
B9:
52MoveLoc[4](loc2: u64)
53LdU64(1)
54Add
55StLoc[4](loc2: u64)
56Branch(17)
B10:
57MoveLoc[1](Arg1: &vector<u8>)
58Pop
59MoveLoc[0](Arg0: &vector<u8>)
60Pop
61LdTrue
62Ret
}
 
public gte(Arg0: &vector<u8>, Arg1: &vector<u8>): bool {
L2: loc0: u8
L3: loc1: u8
L4: loc2: u64
L5: loc3: u64
B0:
0LdU64(0)
1StLoc[4](loc2: u64)
2CopyLoc[0](Arg0: &vector<u8>)
3VecLen(10)
4StLoc[5](loc3: u64)
5CopyLoc[5](loc3: u64)
6CopyLoc[1](Arg1: &vector<u8>)
7VecLen(10)
8Eq
9BrFalse(11)
B1:
10Branch(17)
B2:
11MoveLoc[1](Arg1: &vector<u8>)
12Pop
13MoveLoc[0](Arg0: &vector<u8>)
14Pop
15LdConst[0](u64: 65536)
16Abort
B3:
17CopyLoc[4](loc2: u64)
18CopyLoc[5](loc3: u64)
19Lt
20BrFalse(57)
B4:
21Branch(22)
B5:
22CopyLoc[0](Arg0: &vector<u8>)
23CopyLoc[4](loc2: u64)
24VecImmBorrow(10)
25ReadRef
26StLoc[2](loc0: u8)
27CopyLoc[1](Arg1: &vector<u8>)
28CopyLoc[4](loc2: u64)
29VecImmBorrow(10)
30ReadRef
31StLoc[3](loc1: u8)
32CopyLoc[2](loc0: u8)
33CopyLoc[3](loc1: u8)
34Gt
35BrFalse(42)
B6:
36MoveLoc[1](Arg1: &vector<u8>)
37Pop
38MoveLoc[0](Arg0: &vector<u8>)
39Pop
40LdTrue
41Ret
B7:
42MoveLoc[2](loc0: u8)
43MoveLoc[3](loc1: u8)
44Lt
45BrFalse(52)
B8:
46MoveLoc[1](Arg1: &vector<u8>)
47Pop
48MoveLoc[0](Arg0: &vector<u8>)
49Pop
50LdFalse
51Ret
B9:
52MoveLoc[4](loc2: u64)
53LdU64(1)
54Add
55StLoc[4](loc2: u64)
56Branch(17)
B10:
57MoveLoc[1](Arg1: &vector<u8>)
58Pop
59MoveLoc[0](Arg0: &vector<u8>)
60Pop
61LdTrue
62Ret
}
 
public from_vec_to_map<Ty0: copy + drop, Ty1: drop>(Arg0: vector<Ty0>, Arg1: vector<Ty1>): VecMap<Ty0, Ty1> {
L2: loc0: u64
L3: loc1: Ty0
L4: loc2: VecMap<Ty0, Ty1>
L5: loc3: u64
L6: loc4: Ty1
B0:
0LdU64(0)
1StLoc[2](loc0: u64)
2ImmBorrowLoc[0](Arg0: vector<Ty0>)
3VecLen(12)
4StLoc[5](loc3: u64)
5Call vec_map::empty<Ty0, Ty1>(): VecMap<Ty0, Ty1>
6StLoc[4](loc2: VecMap<Ty0, Ty1>)
B1:
7CopyLoc[2](loc0: u64)
8CopyLoc[5](loc3: u64)
9Lt
10BrFalse(27)
B2:
11Branch(12)
B3:
12MutBorrowLoc[0](Arg0: vector<Ty0>)
13VecPopBack(12)
14StLoc[3](loc1: Ty0)
15MutBorrowLoc[1](Arg1: vector<Ty1>)
16VecPopBack(14)
17StLoc[6](loc4: Ty1)
18MutBorrowLoc[4](loc2: VecMap<Ty0, Ty1>)
19MoveLoc[3](loc1: Ty0)
20MoveLoc[6](loc4: Ty1)
21Call vec_map::insert<Ty0, Ty1>(&mut VecMap<Ty0, Ty1>, Ty0, Ty1)
22MoveLoc[2](loc0: u64)
23LdU64(1)
24Add
25StLoc[2](loc0: u64)
26Branch(7)
B4:
27MoveLoc[4](loc2: VecMap<Ty0, Ty1>)
28Ret
}
 
Constants [
0 => u64: 65536
]
}