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

API

type_name

Module0x0000…0001
Move path
0x0000…0001::type_name
Functions
1515 public, 0 entry
Structs
1
Friend modules
None
type_name

Bytecode574 lines

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

// Move bytecode v7
module 1.type_name {
use 0000000000000000000000000000000000000000000000000000000000000001::address;
use 0000000000000000000000000000000000000000000000000000000000000001::ascii;
 
struct TypeName has copy, drop, store {
name: String
}
 
native public with_defining_ids<Ty0>(): TypeName;
 
native public with_original_ids<Ty0>(): TypeName;
 
native public defining_id<Ty0>(): address;
 
native public original_id<Ty0>(): address;
 
public is_primitive(Arg0: &TypeName): bool {
L1: loc0: bool
L2: loc1: &vector<u8>
L3: loc2: vector<u8>
L4: loc3: &vector<u8>
L5: loc4: vector<u8>
L6: loc5: &vector<u8>
L7: loc6: vector<u8>
L8: loc7: &vector<u8>
L9: loc8: vector<u8>
L10: loc9: &vector<u8>
L11: loc10: bool
L12: loc11: vector<u8>
L13: loc12: &vector<u8>
L14: loc13: vector<u8>
L15: loc14: &vector<u8>
L16: loc15: vector<u8>
L17: loc16: &vector<u8>
L18: loc17: vector<u8>
L19: loc18: &vector<u8>
B0:
0MoveLoc[0](Arg0: &TypeName)
1ImmBorrowField[0](TypeName.name: String)
2Call ascii::as_bytes(&String): &vector<u8>
3StLoc[19](loc18: &vector<u8>)
4CopyLoc[19](loc18: &vector<u8>)
5StLoc[10](loc9: &vector<u8>)
6LdConst[9](vector<u8>: "boo..)
7StLoc[9](loc8: vector<u8>)
8MoveLoc[10](loc9: &vector<u8>)
9ImmBorrowLoc[9](loc8: vector<u8>)
10Eq
11BrFalse(17)
B1:
12MoveLoc[19](loc18: &vector<u8>)
13Pop
14LdTrue
15StLoc[1](loc0: bool)
16Branch(187)
B2:
17CopyLoc[19](loc18: &vector<u8>)
18StLoc[8](loc7: &vector<u8>)
19LdConst[10](vector<u8>: "u8"..)
20StLoc[7](loc6: vector<u8>)
21MoveLoc[8](loc7: &vector<u8>)
22ImmBorrowLoc[7](loc6: vector<u8>)
23Eq
24BrFalse(30)
B3:
25MoveLoc[19](loc18: &vector<u8>)
26Pop
27LdTrue
28StLoc[1](loc0: bool)
29Branch(187)
B4:
30CopyLoc[19](loc18: &vector<u8>)
31StLoc[6](loc5: &vector<u8>)
32LdConst[11](vector<u8>: "u16..)
33StLoc[5](loc4: vector<u8>)
34MoveLoc[6](loc5: &vector<u8>)
35ImmBorrowLoc[5](loc4: vector<u8>)
36Eq
37BrFalse(43)
B5:
38MoveLoc[19](loc18: &vector<u8>)
39Pop
40LdTrue
41StLoc[1](loc0: bool)
42Branch(187)
B6:
43CopyLoc[19](loc18: &vector<u8>)
44StLoc[4](loc3: &vector<u8>)
45LdConst[12](vector<u8>: "u32..)
46StLoc[3](loc2: vector<u8>)
47MoveLoc[4](loc3: &vector<u8>)
48ImmBorrowLoc[3](loc2: vector<u8>)
49Eq
50BrFalse(56)
B7:
51MoveLoc[19](loc18: &vector<u8>)
52Pop
53LdTrue
54StLoc[1](loc0: bool)
55Branch(187)
B8:
56CopyLoc[19](loc18: &vector<u8>)
57StLoc[2](loc1: &vector<u8>)
58LdConst[13](vector<u8>: "u64..)
59StLoc[18](loc17: vector<u8>)
60MoveLoc[2](loc1: &vector<u8>)
61ImmBorrowLoc[18](loc17: vector<u8>)
62Eq
63BrFalse(69)
B9:
64MoveLoc[19](loc18: &vector<u8>)
65Pop
66LdTrue
67StLoc[1](loc0: bool)
68Branch(187)
B10:
69CopyLoc[19](loc18: &vector<u8>)
70StLoc[17](loc16: &vector<u8>)
71LdConst[14](vector<u8>: "u12..)
72StLoc[16](loc15: vector<u8>)
73MoveLoc[17](loc16: &vector<u8>)
74ImmBorrowLoc[16](loc15: vector<u8>)
75Eq
76BrFalse(82)
B11:
77MoveLoc[19](loc18: &vector<u8>)
78Pop
79LdTrue
80StLoc[1](loc0: bool)
81Branch(187)
B12:
82CopyLoc[19](loc18: &vector<u8>)
83StLoc[15](loc14: &vector<u8>)
84LdConst[15](vector<u8>: "u25..)
85StLoc[14](loc13: vector<u8>)
86MoveLoc[15](loc14: &vector<u8>)
87ImmBorrowLoc[14](loc13: vector<u8>)
88Eq
89BrFalse(95)
B13:
90MoveLoc[19](loc18: &vector<u8>)
91Pop
92LdTrue
93StLoc[1](loc0: bool)
94Branch(187)
B14:
95CopyLoc[19](loc18: &vector<u8>)
96StLoc[13](loc12: &vector<u8>)
97LdConst[16](vector<u8>: "add..)
98StLoc[12](loc11: vector<u8>)
99MoveLoc[13](loc12: &vector<u8>)
100ImmBorrowLoc[12](loc11: vector<u8>)
101Eq
102BrFalse(108)
B15:
103MoveLoc[19](loc18: &vector<u8>)
104Pop
105LdTrue
106StLoc[1](loc0: bool)
107Branch(187)
B16:
108CopyLoc[19](loc18: &vector<u8>)
109VecLen(9)
110LdU64(6)
111Ge
112BrFalse(181)
B17:
113CopyLoc[19](loc18: &vector<u8>)
114LdU64(0)
115VecImmBorrow(9)
116ReadRef
117LdConst[2](u8: 118)
118Eq
119BrFalse(176)
B18:
120CopyLoc[19](loc18: &vector<u8>)
121LdU64(1)
122VecImmBorrow(9)
123ReadRef
124LdConst[3](u8: 101)
125Eq
126BrFalse(171)
B19:
127CopyLoc[19](loc18: &vector<u8>)
128LdU64(2)
129VecImmBorrow(9)
130ReadRef
131LdConst[4](u8: 99)
132Eq
133BrFalse(166)
B20:
134CopyLoc[19](loc18: &vector<u8>)
135LdU64(3)
136VecImmBorrow(9)
137ReadRef
138LdConst[5](u8: 116)
139Eq
140BrFalse(161)
B21:
141CopyLoc[19](loc18: &vector<u8>)
142LdU64(4)
143VecImmBorrow(9)
144ReadRef
145LdConst[6](u8: 111)
146Eq
147BrFalse(156)
B22:
148MoveLoc[19](loc18: &vector<u8>)
149LdU64(5)
150VecImmBorrow(9)
151ReadRef
152LdConst[7](u8: 114)
153Eq
154StLoc[11](loc10: bool)
155Branch(185)
B23:
156MoveLoc[19](loc18: &vector<u8>)
157Pop
158LdFalse
159StLoc[11](loc10: bool)
160Branch(185)
B24:
161MoveLoc[19](loc18: &vector<u8>)
162Pop
163LdFalse
164StLoc[11](loc10: bool)
165Branch(185)
B25:
166MoveLoc[19](loc18: &vector<u8>)
167Pop
168LdFalse
169StLoc[11](loc10: bool)
170Branch(185)
B26:
171MoveLoc[19](loc18: &vector<u8>)
172Pop
173LdFalse
174StLoc[11](loc10: bool)
175Branch(185)
B27:
176MoveLoc[19](loc18: &vector<u8>)
177Pop
178LdFalse
179StLoc[11](loc10: bool)
180Branch(185)
B28:
181MoveLoc[19](loc18: &vector<u8>)
182Pop
183LdFalse
184StLoc[11](loc10: bool)
B29:
185MoveLoc[11](loc10: bool)
186StLoc[1](loc0: bool)
B30:
187MoveLoc[1](loc0: bool)
188Ret
}
 
public as_string(Arg0: &TypeName): &String {
B0:
0MoveLoc[0](Arg0: &TypeName)
1ImmBorrowField[0](TypeName.name: String)
2Ret
}
 
public address_string(Arg0: &TypeName): String {
L1: loc0: vector<u8>
L2: loc1: u64
L3: loc2: u64
L4: loc3: &vector<u8>
B0:
0CopyLoc[0](Arg0: &TypeName)
1Call is_primitive(&TypeName): bool
2Not
3BrFalse(5)
B1:
4Branch(9)
B2:
5MoveLoc[0](Arg0: &TypeName)
6Pop
7LdConst[8](u64: 0)
8Abort
B3:
9Call address::length(): u64
10LdU64(2)
11Mul
12StLoc[3](loc2: u64)
13MoveLoc[0](Arg0: &TypeName)
14ImmBorrowField[0](TypeName.name: String)
15Call ascii::as_bytes(&String): &vector<u8>
16StLoc[4](loc3: &vector<u8>)
17LdConst[17](vector<u8>: "" /..)
18StLoc[1](loc0: vector<u8>)
19LdU64(0)
20StLoc[2](loc1: u64)
B4:
21CopyLoc[2](loc1: u64)
22CopyLoc[3](loc2: u64)
23Lt
24BrFalse(36)
B5:
25MutBorrowLoc[1](loc0: vector<u8>)
26CopyLoc[4](loc3: &vector<u8>)
27CopyLoc[2](loc1: u64)
28VecImmBorrow(9)
29ReadRef
30VecPushBack(9)
31MoveLoc[2](loc1: u64)
32LdU64(1)
33Add
34StLoc[2](loc1: u64)
35Branch(21)
B6:
36MoveLoc[4](loc3: &vector<u8>)
37Pop
38MoveLoc[1](loc0: vector<u8>)
39Call ascii::string(vector<u8>): String
40Ret
}
 
public module_string(Arg0: &TypeName): String {
L1: loc0: &u8
L2: loc1: u8
L3: loc2: u64
L4: loc3: vector<u8>
L5: loc4: &vector<u8>
B0:
0CopyLoc[0](Arg0: &TypeName)
1Call is_primitive(&TypeName): bool
2Not
3BrFalse(5)
B1:
4Branch(9)
B2:
5MoveLoc[0](Arg0: &TypeName)
6Pop
7LdConst[8](u64: 0)
8Abort
B3:
9Call address::length(): u64
10LdU64(2)
11Mul
12LdU64(2)
13Add
14StLoc[3](loc2: u64)
15MoveLoc[0](Arg0: &TypeName)
16ImmBorrowField[0](TypeName.name: String)
17Call ascii::as_bytes(&String): &vector<u8>
18StLoc[5](loc4: &vector<u8>)
19LdConst[17](vector<u8>: "" /..)
20StLoc[4](loc3: vector<u8>)
21LdConst[0](u8: 58)
22StLoc[2](loc1: u8)
B4:
23CopyLoc[5](loc4: &vector<u8>)
24CopyLoc[3](loc2: u64)
25VecImmBorrow(9)
26StLoc[1](loc0: &u8)
27CopyLoc[1](loc0: &u8)
28ImmBorrowLoc[2](loc1: u8)
29Neq
30BrFalse(40)
B5:
31MutBorrowLoc[4](loc3: vector<u8>)
32MoveLoc[1](loc0: &u8)
33ReadRef
34VecPushBack(9)
35MoveLoc[3](loc2: u64)
36LdU64(1)
37Add
38StLoc[3](loc2: u64)
39Branch(23)
B6:
40MoveLoc[5](loc4: &vector<u8>)
41Pop
42MoveLoc[1](loc0: &u8)
43Pop
44MoveLoc[4](loc3: vector<u8>)
45Call ascii::string(vector<u8>): String
46Ret
}
 
public datatype_string(Arg0: &TypeName): String {
L1: loc0: &u8
L2: loc1: u8
L3: loc2: vector<u8>
L4: loc3: u64
L5: loc4: u8
L6: loc5: &vector<u8>
L7: loc6: u64
B0:
0CopyLoc[0](Arg0: &TypeName)
1Call is_primitive(&TypeName): bool
2Not
3BrFalse(5)
B1:
4Branch(9)
B2:
5MoveLoc[0](Arg0: &TypeName)
6Pop
7LdConst[8](u64: 0)
8Abort
B3:
9Call address::length(): u64
10LdU64(2)
11Mul
12LdU64(2)
13Add
14StLoc[4](loc3: u64)
15MoveLoc[0](Arg0: &TypeName)
16ImmBorrowField[0](TypeName.name: String)
17Call ascii::as_bytes(&String): &vector<u8>
18StLoc[6](loc5: &vector<u8>)
19CopyLoc[6](loc5: &vector<u8>)
20VecLen(9)
21StLoc[7](loc6: u64)
22LdConst[0](u8: 58)
23StLoc[2](loc1: u8)
B4:
24CopyLoc[6](loc5: &vector<u8>)
25CopyLoc[4](loc3: u64)
26VecImmBorrow(9)
27ImmBorrowLoc[2](loc1: u8)
28Neq
29BrFalse(35)
B5:
30MoveLoc[4](loc3: u64)
31LdU64(1)
32Add
33StLoc[4](loc3: u64)
34Branch(24)
B6:
35MoveLoc[4](loc3: u64)
36LdU64(1)
37Add
38StLoc[4](loc3: u64)
39CopyLoc[6](loc5: &vector<u8>)
40CopyLoc[4](loc3: u64)
41VecImmBorrow(9)
42ImmBorrowLoc[2](loc1: u8)
43Eq
44BrFalse(46)
B7:
45Branch(50)
B8:
46MoveLoc[6](loc5: &vector<u8>)
47Pop
48LdU64(13906834801408606207)
49Abort
B9:
50MoveLoc[4](loc3: u64)
51LdU64(1)
52Add
53StLoc[4](loc3: u64)
54CopyLoc[6](loc5: &vector<u8>)
55CopyLoc[4](loc3: u64)
56VecImmBorrow(9)
57ImmBorrowLoc[2](loc1: u8)
58Neq
59BrFalse(61)
B10:
60Branch(65)
B11:
61MoveLoc[6](loc5: &vector<u8>)
62Pop
63LdU64(13906834809998540799)
64Abort
B12:
65LdConst[17](vector<u8>: "" /..)
66StLoc[3](loc2: vector<u8>)
67LdConst[1](u8: 60)
68StLoc[5](loc4: u8)
B13:
69CopyLoc[6](loc5: &vector<u8>)
70CopyLoc[4](loc3: u64)
71VecImmBorrow(9)
72StLoc[1](loc0: &u8)
73CopyLoc[1](loc0: &u8)
74ImmBorrowLoc[5](loc4: u8)
75Eq
76BrFalse(82)
B14:
77MoveLoc[6](loc5: &vector<u8>)
78Pop
79MoveLoc[1](loc0: &u8)
80Pop
81Branch(97)
B15:
82MutBorrowLoc[3](loc2: vector<u8>)
83MoveLoc[1](loc0: &u8)
84ReadRef
85VecPushBack(9)
86MoveLoc[4](loc3: u64)
87LdU64(1)
88Add
89StLoc[4](loc3: u64)
90CopyLoc[4](loc3: u64)
91CopyLoc[7](loc6: u64)
92Ge
93BrFalse(69)
B16:
94MoveLoc[6](loc5: &vector<u8>)
95Pop
96Branch(97)
B17:
97MoveLoc[3](loc2: vector<u8>)
98Call ascii::string(vector<u8>): String
99Ret
}
 
public into_string(Arg0: TypeName): String {
B0:
0ImmBorrowLoc[0](Arg0: TypeName)
1ImmBorrowField[0](TypeName.name: String)
2ReadRef
3Ret
}
 
public get<Ty0>(): TypeName {
B0:
0Call with_defining_ids<Ty0>(): TypeName
1Ret
}
 
public get_with_original_ids<Ty0>(): TypeName {
B0:
0Call with_original_ids<Ty0>(): TypeName
1Ret
}
 
public borrow_string(Arg0: &TypeName): &String {
B0:
0MoveLoc[0](Arg0: &TypeName)
1Call as_string(&TypeName): &String
2Ret
}
 
public get_address(Arg0: &TypeName): String {
B0:
0MoveLoc[0](Arg0: &TypeName)
1Call address_string(&TypeName): String
2Ret
}
 
public get_module(Arg0: &TypeName): String {
B0:
0MoveLoc[0](Arg0: &TypeName)
1Call module_string(&TypeName): String
2Ret
}
 
Constants [
0 => u8: 58
1 => u8: 60
2 => u8: 118
3 => u8: 101
4 => u8: 99
5 => u8: 116
6 => u8: 111
7 => u8: 114
8 => u64: 0
9 => vector<u8>: "bool" // interpreted as UTF8 string
10 => vector<u8>: "u8" // interpreted as UTF8 string
11 => vector<u8>: "u16" // interpreted as UTF8 string
12 => vector<u8>: "u32" // interpreted as UTF8 string
13 => vector<u8>: "u64" // interpreted as UTF8 string
14 => vector<u8>: "u128" // interpreted as UTF8 string
15 => vector<u8>: "u256" // interpreted as UTF8 string
16 => vector<u8>: "address" // interpreted as UTF8 string
17 => vector<u8>: "" // interpreted as UTF8 string
]
}