admin
Module0x00c2…d6f5
- Move path
- 0xd22b…08f0::admin
- Functions
- 32 public, 1 entry
- Structs
- 1
- Friend modules
- None
admin
Bytecode104 lines
The on-chain disassembly. Offsets are instruction numbers within each function.
// Move bytecode v7
module d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0.admin {
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
use 0000000000000000000000000000000000000000000000000000000000000002::clock;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0::core_config;
use d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0::domain;
use d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0::registry;
use d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0::suins;
use d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0::suins_registration;
struct Admin has drop {
dummy_field: bool
}
public authorize(Arg0: &AdminCap, Arg1: &mut SuiNS) {
B0:
0MoveLoc[0](Arg0: &AdminCap)
1MoveLoc[1](Arg1: &mut SuiNS)
2Call suins::authorize_app<Admin>(&AdminCap, &mut SuiNS)
3Ret
}
public reserve_domain(Arg0: &AdminCap, Arg1: &mut SuiNS, Arg2: String, Arg3: u8, Arg4: &Clock, Arg5: &mut TxContext): SuinsRegistration {
L6: loc0: Domain
B0:
0MoveLoc[2](Arg2: String)
1Call domain::new(String): Domain
2StLoc[6](loc0: Domain)
3CopyLoc[1](Arg1: &mut SuiNS)
4FreezeRef
5Call suins::get_config<CoreConfig>(&SuiNS): &CoreConfig
6ImmBorrowLoc[6](loc0: Domain)
7Call core_config::assert_is_valid_for_sale(&CoreConfig, &Domain)
8LdFalse
9Pack[0](Admin)
10MoveLoc[1](Arg1: &mut SuiNS)
11Call suins::app_registry_mut<Admin, Registry>(Admin, &mut SuiNS): &mut Registry
12MoveLoc[6](loc0: Domain)
13MoveLoc[3](Arg3: u8)
14MoveLoc[4](Arg4: &Clock)
15MoveLoc[5](Arg5: &mut TxContext)
16Call registry::add_record(&mut Registry, Domain, u8, &Clock, &mut TxContext): SuinsRegistration
17Ret
}
entry reserve_domains(Arg0: &AdminCap, Arg1: &mut SuiNS, Arg2: vector<String>, Arg3: u8, Arg4: &Clock, Arg5: &mut TxContext) {
L6: loc0: CoreConfig
L7: loc1: Domain
L8: loc2: &mut Registry
L9: loc3: address
B0:
0CopyLoc[5](Arg5: &mut TxContext)
1FreezeRef
2Call tx_context::sender(&TxContext): address
3StLoc[9](loc3: address)
4CopyLoc[1](Arg1: &mut SuiNS)
5FreezeRef
6Call suins::get_config<CoreConfig>(&SuiNS): &CoreConfig
7ReadRef
8StLoc[6](loc0: CoreConfig)
9LdFalse
10Pack[0](Admin)
11MoveLoc[1](Arg1: &mut SuiNS)
12Call suins::app_registry_mut<Admin, Registry>(Admin, &mut SuiNS): &mut Registry
13StLoc[8](loc2: &mut Registry)
B1:
14ImmBorrowLoc[2](Arg2: vector<String>)
15Call vector::is_empty<String>(&vector<String>): bool
16Not
17BrFalse(35)
B2:
18Branch(19)
B3:
19MutBorrowLoc[2](Arg2: vector<String>)
20VecPopBack(7)
21Call domain::new(String): Domain
22StLoc[7](loc1: Domain)
23ImmBorrowLoc[6](loc0: CoreConfig)
24ImmBorrowLoc[7](loc1: Domain)
25Call core_config::assert_is_valid_for_sale(&CoreConfig, &Domain)
26CopyLoc[8](loc2: &mut Registry)
27MoveLoc[7](loc1: Domain)
28CopyLoc[3](Arg3: u8)
29CopyLoc[4](Arg4: &Clock)
30CopyLoc[5](Arg5: &mut TxContext)
31Call registry::add_record(&mut Registry, Domain, u8, &Clock, &mut TxContext): SuinsRegistration
32CopyLoc[9](loc3: address)
33Call transfer::public_transfer<SuinsRegistration>(SuinsRegistration, address)
34Branch(14)
B4:
35MoveLoc[8](loc2: &mut Registry)
36Pop
37MoveLoc[5](Arg5: &mut TxContext)
38Pop
39MoveLoc[4](Arg4: &Clock)
40Pop
41Ret
}
}