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

API

rangeproofs

Module0x0000…0002
Move path
0x0000…0002::rangeproofs
Functions
32 public, 0 entry
Structs
0
Friend modules
None
rangeproofs

Bytecode131 lines

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

// Move bytecode v7
module 2.rangeproofs {
use 0000000000000000000000000000000000000000000000000000000000000002::group_ops;
use 0000000000000000000000000000000000000000000000000000000000000002::ristretto255;
 
public verify_bulletproofs_with_dst_ristretto255(Arg0: &vector<u8>, Arg1: u8, Arg2: &vector<Element<G>>, Arg3: &vector<u8>, Arg4: u8): bool {
L5: loc0: u64
L6: loc1: vector<u8>
L7: loc2: &mut vector<vector<u8>>
L8: loc3: vector<vector<u8>>
L9: loc4: u8
L10: loc5: &vector<u8>
L11: loc6: u8
L12: loc7: &Element<G>
L13: loc8: u64
L14: loc9: u64
L15: loc10: vector<vector<u8>>
L16: loc11: u64
L17: loc12: &vector<Element<G>>
L18: loc13: &vector<Element<G>>
B0:
0CopyLoc[3](Arg3: &vector<u8>)
1VecLen(5)
2LdConst[6](u64: 64)
3Le
4BrFalse(6)
B1:
5Branch(14)
B2:
6MoveLoc[0](Arg0: &vector<u8>)
7Pop
8MoveLoc[3](Arg3: &vector<u8>)
9Pop
10MoveLoc[2](Arg2: &vector<Element<G>>)
11Pop
12LdConst[5](u64: 5)
13Abort
B3:
14MoveLoc[4](Arg4: u8)
15StLoc[11](loc6: u8)
16ImmBorrowLoc[11](loc6: u8)
17ReadRef
18LdU8(0)
19Eq
20BrFalse(62)
B4:
21MoveLoc[0](Arg0: &vector<u8>)
22StLoc[10](loc5: &vector<u8>)
23MoveLoc[1](Arg1: u8)
24StLoc[9](loc4: u8)
25MoveLoc[2](Arg2: &vector<Element<G>>)
26StLoc[17](loc12: &vector<Element<G>>)
27LdConst[7](vector<vector<u8>>: 00)
28StLoc[15](loc10: vector<vector<u8>>)
29MoveLoc[17](loc12: &vector<Element<G>>)
30StLoc[18](loc13: &vector<Element<G>>)
31CopyLoc[18](loc13: &vector<Element<G>>)
32VecLen(6)
33StLoc[5](loc0: u64)
34LdU64(0)
35StLoc[14](loc9: u64)
36MoveLoc[5](loc0: u64)
37StLoc[16](loc11: u64)
B5:
38CopyLoc[14](loc9: u64)
39CopyLoc[16](loc11: u64)
40Lt
41BrFalse(70)
B6:
42CopyLoc[14](loc9: u64)
43StLoc[13](loc8: u64)
44CopyLoc[18](loc13: &vector<Element<G>>)
45MoveLoc[13](loc8: u64)
46VecImmBorrow(6)
47StLoc[12](loc7: &Element<G>)
48MutBorrowLoc[15](loc10: vector<vector<u8>>)
49StLoc[7](loc2: &mut vector<vector<u8>>)
50MoveLoc[12](loc7: &Element<G>)
51Call group_ops::bytes<G>(&Element<G>): &vector<u8>
52ReadRef
53StLoc[6](loc1: vector<u8>)
54MoveLoc[7](loc2: &mut vector<vector<u8>>)
55MoveLoc[6](loc1: vector<u8>)
56VecPushBack(10)
57MoveLoc[14](loc9: u64)
58LdU64(1)
59Add
60StLoc[14](loc9: u64)
61Branch(38)
B7:
62MoveLoc[0](Arg0: &vector<u8>)
63Pop
64MoveLoc[3](Arg3: &vector<u8>)
65Pop
66MoveLoc[2](Arg2: &vector<Element<G>>)
67Pop
68LdConst[4](u64: 4)
69Abort
B8:
70MoveLoc[18](loc13: &vector<Element<G>>)
71Pop
72MoveLoc[15](loc10: vector<vector<u8>>)
73StLoc[8](loc3: vector<vector<u8>>)
74MoveLoc[10](loc5: &vector<u8>)
75MoveLoc[9](loc4: u8)
76ImmBorrowLoc[8](loc3: vector<vector<u8>>)
77MoveLoc[3](Arg3: &vector<u8>)
78Call verify_bulletproofs_with_dst_ristretto255_internal(&vector<u8>, u8, &vector<vector<u8>>, &vector<u8>): bool
79Ret
}
 
public verify_bulletproofs_ristretto255(Arg0: &vector<u8>, Arg1: u8, Arg2: &vector<Element<G>>, Arg3: u8): bool {
B0:
0LdConst[0](u64: 0)
1Abort
}
 
native verify_bulletproofs_with_dst_ristretto255_internal(Arg0: &vector<u8>, Arg1: u8, Arg2: &vector<vector<u8>>, Arg3: &vector<u8>): bool;
 
Constants [
0 => u64: 0
1 => u64: 1
2 => u64: 2
3 => u64: 3
4 => u64: 4
5 => u64: 5
6 => u64: 64
7 => vector<vector<u8>>: 00
]
}