registry
Module0x034c…ddca
- Move path
- 0x034c…ddca::registry
- Functions
- 62 public, 0 entry
- Structs
- 2
- Friend modules
- factory
Bytecode237 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 34c162f6b594cb5a1805264dd01ca5d80ce3eca6522e6ee37fd9ebfb9d3ddca.registry {
use 034c162f6b594cb5a1805264dd01ca5d80ce3eca6522e6ee37fd9ebfb9d3ddca::admin;
use 034c162f6b594cb5a1805264dd01ca5d80ce3eca6522e6ee37fd9ebfb9d3ddca::collection;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::table;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
struct REGISTRY has drop {
dummy_field: bool
}
struct Registry has key {
id: UID,
pfps: Table<u16, ID>,
is_initialized: bool,
is_frozen: bool
}
init(Arg0: REGISTRY, Arg1: &mut TxContext) {
L2: loc0: Publisher
L3: loc1: Registry
L4: loc2: Display<Registry>
B0:
0MoveLoc[0](Arg0: REGISTRY)
1CopyLoc[1](Arg1: &mut TxContext)
2Call package::claim<REGISTRY>(REGISTRY, &mut TxContext): Publisher
3StLoc[2](loc0: Publisher)
4CopyLoc[1](Arg1: &mut TxContext)
5Call object::new(&mut TxContext): UID
6CopyLoc[1](Arg1: &mut TxContext)
7Call table::new<u16, ID>(&mut TxContext): Table<u16, ID>
8LdFalse
9LdFalse
10Pack[1](Registry)
11StLoc[3](loc1: Registry)
12ImmBorrowLoc[2](loc0: Publisher)
13CopyLoc[1](Arg1: &mut TxContext)
14Call display::new<Registry>(&Publisher, &mut TxContext): Display<Registry>
15StLoc[4](loc2: Display<Registry>)
16MutBorrowLoc[4](loc2: Display<Registry>)
17LdConst[4](vector<u8>: "nam..)
18Call string::utf8(vector<u8>): String
19LdConst[5](vector<u8>: "Pri..)
20Call string::utf8(vector<u8>): String
21Call display::add<Registry>(&mut Display<Registry>, String, String)
22MutBorrowLoc[4](loc2: Display<Registry>)
23LdConst[6](vector<u8>: "des..)
24Call string::utf8(vector<u8>): String
25LdConst[7](vector<u8>: "The..)
26Call string::utf8(vector<u8>): String
27Call display::add<Registry>(&mut Display<Registry>, String, String)
28MutBorrowLoc[4](loc2: Display<Registry>)
29LdConst[8](vector<u8>: "ima..)
30Call string::utf8(vector<u8>): String
31LdConst[9](vector<u8>: "htt..)
32Call string::utf8(vector<u8>): String
33Call display::add<Registry>(&mut Display<Registry>, String, String)
34MutBorrowLoc[4](loc2: Display<Registry>)
35LdConst[10](vector<u8>: "is_..)
36Call string::utf8(vector<u8>): String
37LdConst[11](vector<u8>: "{is..)
38Call string::utf8(vector<u8>): String
39Call display::add<Registry>(&mut Display<Registry>, String, String)
40MutBorrowLoc[4](loc2: Display<Registry>)
41LdConst[12](vector<u8>: "is_..)
42Call string::utf8(vector<u8>): String
43LdConst[13](vector<u8>: "{is..)
44Call string::utf8(vector<u8>): String
45Call display::add<Registry>(&mut Display<Registry>, String, String)
46MoveLoc[3](loc1: Registry)
47MoveLoc[1](Arg1: &mut TxContext)
48FreezeRef
49Call tx_context::sender(&TxContext): address
50Call transfer::transfer<Registry>(Registry, address)
51MoveLoc[4](loc2: Display<Registry>)
52LdConst[14](address: 0xde..)
53Call transfer::public_transfer<Display<Registry>>(Display<Registry>, address)
54MoveLoc[2](loc0: Publisher)
55LdConst[14](address: 0xde..)
56Call transfer::public_transfer<Publisher>(Publisher, address)
57Ret
}
public pfp_id_from_number(Arg0: u16, Arg1: &Registry): ID {
L2: loc0: bool
B0:
0CopyLoc[0](Arg0: u16)
1LdU16(1)
2Ge
3BrFalse(9)
B1:
4CopyLoc[0](Arg0: u16)
5Call collection::size(): u16
6Le
7StLoc[2](loc0: bool)
8Branch(11)
B2:
9LdFalse
10StLoc[2](loc0: bool)
B3:
11MoveLoc[2](loc0: bool)
12BrFalse(14)
B4:
13Branch(18)
B5:
14MoveLoc[1](Arg1: &Registry)
15Pop
16LdConst[0](u64: 1)
17Abort
B6:
18CopyLoc[1](Arg1: &Registry)
19ImmBorrowField[0](Registry.is_frozen: bool)
20ReadRef
21LdTrue
22Eq
23BrFalse(25)
B7:
24Branch(29)
B8:
25MoveLoc[1](Arg1: &Registry)
26Pop
27LdConst[3](u64: 4)
28Abort
B9:
29MoveLoc[1](Arg1: &Registry)
30ImmBorrowField[1](Registry.pfps: Table<u16, ID>)
31MoveLoc[0](Arg0: u16)
32Call table::borrow<u16, ID>(&Table<u16, ID>, u16): &ID
33ReadRef
34Ret
}
public(friend) add(Arg0: u16, Arg1: ID, Arg2: &mut Registry) {
B0:
0CopyLoc[2](Arg2: &mut Registry)
1MutBorrowField[1](Registry.pfps: Table<u16, ID>)
2MoveLoc[0](Arg0: u16)
3MoveLoc[1](Arg1: ID)
4Call table::add<u16, ID>(&mut Table<u16, ID>, u16, ID)
5CopyLoc[2](Arg2: &mut Registry)
6ImmBorrowField[1](Registry.pfps: Table<u16, ID>)
7Call table::length<u16, ID>(&Table<u16, ID>): u64
8CastU16
9Call collection::size(): u16
10Eq
11BrFalse(17)
B1:
12LdTrue
13MoveLoc[2](Arg2: &mut Registry)
14MutBorrowField[2](Registry.is_initialized: bool)
15WriteRef
16Branch(19)
B2:
17MoveLoc[2](Arg2: &mut Registry)
18Pop
B3:
19Ret
}
public(friend) is_frozen(Arg0: &Registry): bool {
B0:
0MoveLoc[0](Arg0: &Registry)
1ImmBorrowField[0](Registry.is_frozen: bool)
2ReadRef
3Ret
}
public(friend) is_initialized(Arg0: &Registry): bool {
B0:
0MoveLoc[0](Arg0: &Registry)
1ImmBorrowField[2](Registry.is_initialized: bool)
2ReadRef
3Ret
}
public admin_freeze_registry(Arg0: &AdminCap, Arg1: Registry, Arg2: &TxContext) {
B0:
0MoveLoc[0](Arg0: &AdminCap)
1MoveLoc[2](Arg2: &TxContext)
2Call admin::verify_admin_cap(&AdminCap, &TxContext)
3ImmBorrowLoc[1](Arg1: Registry)
4ImmBorrowField[0](Registry.is_frozen: bool)
5ReadRef
6LdFalse
7Eq
8BrFalse(10)
B1:
9Branch(12)
B2:
10LdConst[2](u64: 3)
11Abort
B3:
12ImmBorrowLoc[1](Arg1: Registry)
13ImmBorrowField[2](Registry.is_initialized: bool)
14ReadRef
15LdTrue
16Eq
17BrFalse(19)
B4:
18Branch(21)
B5:
19LdConst[1](u64: 2)
20Abort
B6:
21LdTrue
22MutBorrowLoc[1](Arg1: Registry)
23MutBorrowField[0](Registry.is_frozen: bool)
24WriteRef
25MoveLoc[1](Arg1: Registry)
26Call transfer::freeze_object<Registry>(Registry)
27Ret
}
Constants [
0 => u64: 1
1 => u64: 2
2 => u64: 3
3 => u64: 4
4 => vector<u8>: "name" // interpreted as UTF8 string
5 => vector<u8>: "Prime Machin Registry" // interpreted as UTF8 string
6 => vector<u8>: "description" // interpreted as UTF8 string
7 => vector<u8>: "The official registry of the Prime Machin collection by Studio Mirai." // interpreted as UTF8 string
8 => vector<u8>: "image_url" // interpreted as UTF8 string
9 => vector<u8>: "https://prime.nozomi.world/images/registry.webp." // interpreted as UTF8 string
10 => vector<u8>: "is_initialized" // interpreted as UTF8 string
11 => vector<u8>: "{is_initialized}" // interpreted as UTF8 string
12 => vector<u8>: "is_frozen" // interpreted as UTF8 string
13 => vector<u8>: "{is_frozen}" // interpreted as UTF8 string
14 => address: 0xde0053243f3226649701a7fe2c3988be11941bf3ff3535f3c8c5bf32fc600220
]
}