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

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

Bytecode205 lines

The on-chain disassembly. Offsets are instruction numbers within each function.

// Move bytecode v7
module 2.hex {
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
 
public encode(Arg0: vector<u8>): vector<u8> {
L1: loc0: vector<vector<u8>>
L2: loc1: u64
L3: loc2: u64
L4: loc3: vector<u8>
B0:
0LdU64(0)
1LdConst[3](vector<u8>: "" /..)
2ImmBorrowLoc[0](Arg0: vector<u8>)
3VecLen(1)
4StLoc[3](loc2: u64)
5StLoc[4](loc3: vector<u8>)
6StLoc[2](loc1: u64)
7LdConst[2](vector<vector<u8>>: 8002..)
8StLoc[1](loc0: vector<vector<u8>>)
B1:
9CopyLoc[2](loc1: u64)
10CopyLoc[3](loc2: u64)
11Lt
12BrFalse(29)
B2:
13Branch(14)
B3:
14MutBorrowLoc[4](loc3: vector<u8>)
15ImmBorrowLoc[1](loc0: vector<vector<u8>>)
16ImmBorrowLoc[0](Arg0: vector<u8>)
17CopyLoc[2](loc1: u64)
18VecImmBorrow(1)
19ReadRef
20CastU64
21VecImmBorrow(0)
22ReadRef
23Call vector::append<u8>(&mut vector<u8>, vector<u8>)
24MoveLoc[2](loc1: u64)
25LdU64(1)
26Add
27StLoc[2](loc1: u64)
28Branch(9)
B4:
29MoveLoc[4](loc3: vector<u8>)
30Ret
}
 
public decode(Arg0: vector<u8>): vector<u8> {
L1: loc0: u8
L2: loc1: u64
L3: loc2: u64
L4: loc3: vector<u8>
B0:
0LdU64(0)
1LdConst[3](vector<u8>: "" /..)
2ImmBorrowLoc[0](Arg0: vector<u8>)
3VecLen(1)
4StLoc[3](loc2: u64)
5StLoc[4](loc3: vector<u8>)
6StLoc[2](loc1: u64)
7CopyLoc[3](loc2: u64)
8LdU64(2)
9Mod
10LdU64(0)
11Eq
12BrFalse(14)
B1:
13Branch(16)
B2:
14LdConst[0](u64: 0)
15Abort
B3:
16CopyLoc[2](loc1: u64)
17CopyLoc[3](loc2: u64)
18Lt
19BrFalse(44)
B4:
20ImmBorrowLoc[0](Arg0: vector<u8>)
21CopyLoc[2](loc1: u64)
22VecImmBorrow(1)
23ReadRef
24Call decode_byte(u8): u8
25LdU8(16)
26Mul
27ImmBorrowLoc[0](Arg0: vector<u8>)
28CopyLoc[2](loc1: u64)
29LdU64(1)
30Add
31VecImmBorrow(1)
32ReadRef
33Call decode_byte(u8): u8
34Add
35StLoc[1](loc0: u8)
36MutBorrowLoc[4](loc3: vector<u8>)
37MoveLoc[1](loc0: u8)
38VecPushBack(1)
39MoveLoc[2](loc1: u64)
40LdU64(2)
41Add
42StLoc[2](loc1: u64)
43Branch(16)
B5:
44MoveLoc[4](loc3: vector<u8>)
45Ret
}
 
decode_byte(Arg0: u8): u8 {
L1: loc0: bool
L2: loc1: bool
L3: loc2: bool
L4: loc3: u8
L5: loc4: u8
B0:
0LdU8(48)
1CopyLoc[0](Arg0: u8)
2Le
3BrFalse(9)
B1:
4CopyLoc[0](Arg0: u8)
5LdU8(58)
6Lt
7StLoc[1](loc0: bool)
8Branch(11)
B2:
9LdFalse
10StLoc[1](loc0: bool)
B3:
11MoveLoc[1](loc0: bool)
12BrFalse(18)
B4:
13MoveLoc[0](Arg0: u8)
14LdU8(48)
15Sub
16StLoc[5](loc4: u8)
17Branch(62)
B5:
18LdU8(65)
19CopyLoc[0](Arg0: u8)
20Le
21BrFalse(27)
B6:
22CopyLoc[0](Arg0: u8)
23LdU8(71)
24Lt
25StLoc[2](loc1: bool)
26Branch(29)
B7:
27LdFalse
28StLoc[2](loc1: bool)
B8:
29MoveLoc[2](loc1: bool)
30BrFalse(38)
B9:
31LdU8(10)
32MoveLoc[0](Arg0: u8)
33Add
34LdU8(65)
35Sub
36StLoc[4](loc3: u8)
37Branch(60)
B10:
38LdU8(97)
39CopyLoc[0](Arg0: u8)
40Le
41BrFalse(47)
B11:
42CopyLoc[0](Arg0: u8)
43LdU8(103)
44Lt
45StLoc[3](loc2: bool)
46Branch(49)
B12:
47LdFalse
48StLoc[3](loc2: bool)
B13:
49MoveLoc[3](loc2: bool)
50BrFalse(52)
B14:
51Branch(54)
B15:
52LdConst[1](u64: 1)
53Abort
B16:
54LdU8(10)
55MoveLoc[0](Arg0: u8)
56Add
57LdU8(97)
58Sub
59StLoc[4](loc3: u8)
B17:
60MoveLoc[4](loc3: u8)
61StLoc[5](loc4: u8)
B18:
62MoveLoc[5](loc4: u8)
63Ret
}
 
Constants [
0 => u64: 0
1 => u64: 1
2 => vector<vector<u8>>: 8002023030023031023032023033023034023035023036023037023038023039023061023062023063023064023065023066023130023131023132023133023134023135023136023137023138023139023161023162023163023164023165023166023230023231023232023233023234023235023236023237023238023239023261023262023263023264023265023266023330023331023332023333023334023335023336023337023338023339023361023362023363023364023365023366023430023431023432023433023434023435023436023437023438023439023461023462023463023464023465023466023530023531023532023533023534023535023536023537023538023539023561023562023563023564023565023566023630023631023632023633023634023635023636023637023638023639023661023662023663023664023665023666023730023731023732023733023734023735023736023737023738023739023761023762023763023764023765023766023830023831023832023833023834023835023836023837023838023839023861023862023863023864023865023866023930023931023932023933023934023935023936023937023938023939023961023962023963023964023965023966026130026131026132026133026134026135026136026137026138026139026161026162026163026164026165026166026230026231026232026233026234026235026236026237026238026239026261026262026263026264026265026266026330026331026332026333026334026335026336026337026338026339026361026362026363026364026365026366026430026431026432026433026434026435026436026437026438026439026461026462026463026464026465026466026530026531026532026533026534026535026536026537026538026539026561026562026563026564026565026566026630026631026632026633026634026635026636026637026638026639026661026662026663026664026665026666
3 => vector<u8>: "" // interpreted as UTF8 string
]
}