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

API

core_config

Module0x5580…2003
Move path
0xd22b…08f0::core_config
Functions
87 public, 0 entry
Structs
1
Friend modules
adminauctionpayment
core_config

Bytecode181 lines

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

// Move bytecode v7
module d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0.core_config {
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000002::vec_map;
use 0000000000000000000000000000000000000000000000000000000000000002::vec_set;
use d22b24490e0bae52676651b4f56660a5ff8022a2576e0089f79b3c88d44e08f0::domain;
 
struct CoreConfig has copy, drop, store {
public_key: vector<u8>,
min_label_length: u8,
max_label_length: u8,
valid_tlds: VecSet<String>,
payments_version: u8,
max_years: u8,
extra: VecMap<String, String>
}
 
public new(Arg0: vector<u8>, Arg1: u8, Arg2: u8, Arg3: u8, Arg4: u8, Arg5: vector<String>, Arg6: VecMap<String, String>): CoreConfig {
L7: loc0: vector<u8>
L8: loc1: u8
L9: loc2: u8
L10: loc3: u8
L11: loc4: u8
L12: loc5: VecSet<String>
L13: loc6: VecMap<String, String>
B0:
0MoveLoc[0](Arg0: vector<u8>)
1StLoc[7](loc0: vector<u8>)
2MoveLoc[1](Arg1: u8)
3StLoc[8](loc1: u8)
4MoveLoc[2](Arg2: u8)
5StLoc[9](loc2: u8)
6MoveLoc[3](Arg3: u8)
7StLoc[10](loc3: u8)
8MoveLoc[4](Arg4: u8)
9StLoc[11](loc4: u8)
10MoveLoc[5](Arg5: vector<String>)
11Call vec_set::from_keys<String>(vector<String>): VecSet<String>
12StLoc[12](loc5: VecSet<String>)
13MoveLoc[6](Arg6: VecMap<String, String>)
14StLoc[13](loc6: VecMap<String, String>)
15MoveLoc[7](loc0: vector<u8>)
16MoveLoc[8](loc1: u8)
17MoveLoc[9](loc2: u8)
18MoveLoc[12](loc5: VecSet<String>)
19MoveLoc[10](loc3: u8)
20MoveLoc[11](loc4: u8)
21MoveLoc[13](loc6: VecMap<String, String>)
22Pack[0](CoreConfig)
23Ret
}
 
public public_key(Arg0: &CoreConfig): vector<u8> {
B0:
0MoveLoc[0](Arg0: &CoreConfig)
1ImmBorrowField[0](CoreConfig.public_key: vector<u8>)
2ReadRef
3Ret
}
 
public min_label_length(Arg0: &CoreConfig): u8 {
B0:
0MoveLoc[0](Arg0: &CoreConfig)
1ImmBorrowField[1](CoreConfig.min_label_length: u8)
2ReadRef
3Ret
}
 
public max_label_length(Arg0: &CoreConfig): u8 {
B0:
0MoveLoc[0](Arg0: &CoreConfig)
1ImmBorrowField[2](CoreConfig.max_label_length: u8)
2ReadRef
3Ret
}
 
public is_valid_tld(Arg0: &CoreConfig, Arg1: &String): bool {
B0:
0MoveLoc[0](Arg0: &CoreConfig)
1ImmBorrowField[3](CoreConfig.valid_tlds: VecSet<String>)
2MoveLoc[1](Arg1: &String)
3Call vec_set::contains<String>(&VecSet<String>, &String): bool
4Ret
}
 
public payments_version(Arg0: &CoreConfig): u8 {
B0:
0MoveLoc[0](Arg0: &CoreConfig)
1ImmBorrowField[4](CoreConfig.payments_version: u8)
2ReadRef
3Ret
}
 
public max_years(Arg0: &CoreConfig): u8 {
B0:
0MoveLoc[0](Arg0: &CoreConfig)
1ImmBorrowField[5](CoreConfig.max_years: u8)
2ReadRef
3Ret
}
 
public(friend) assert_is_valid_for_sale(Arg0: &CoreConfig, Arg1: &Domain) {
L2: loc0: bool
L3: loc1: u64
B0:
0CopyLoc[1](Arg1: &Domain)
1Call domain::is_subdomain(&Domain): bool
2Not
3BrFalse(5)
B1:
4Branch(11)
B2:
5MoveLoc[1](Arg1: &Domain)
6Pop
7MoveLoc[0](Arg0: &CoreConfig)
8Pop
9LdU64(13906834552300765189)
10Abort
B3:
11CopyLoc[0](Arg0: &CoreConfig)
12CopyLoc[1](Arg1: &Domain)
13Call domain::tld(&Domain): &String
14Call is_valid_tld(&CoreConfig, &String): bool
15BrFalse(17)
B4:
16Branch(23)
B5:
17MoveLoc[1](Arg1: &Domain)
18Pop
19MoveLoc[0](Arg0: &CoreConfig)
20Pop
21LdU64(13906834556595601411)
22Abort
B6:
23MoveLoc[1](Arg1: &Domain)
24Call domain::sld(&Domain): &String
25Call string::length(&String): u64
26StLoc[3](loc1: u64)
27CopyLoc[3](loc1: u64)
28CopyLoc[0](Arg0: &CoreConfig)
29ImmBorrowField[1](CoreConfig.min_label_length: u8)
30ReadRef
31CastU64
32Ge
33BrFalse(42)
B7:
34MoveLoc[3](loc1: u64)
35MoveLoc[0](Arg0: &CoreConfig)
36ImmBorrowField[2](CoreConfig.max_label_length: u8)
37ReadRef
38CastU64
39Le
40StLoc[2](loc0: bool)
41Branch(46)
B8:
42MoveLoc[0](Arg0: &CoreConfig)
43Pop
44LdFalse
45StLoc[2](loc0: bool)
B9:
46MoveLoc[2](loc0: bool)
47BrFalse(49)
B10:
48Branch(51)
B11:
49LdU64(13906834578070306817)
50Abort
B12:
51Ret
}
 
Constants [
0 => vector<u8>: "EInvalidLength" // interpreted as UTF8 string
1 => vector<u8>: "Invalid length for the label part of the domain." // interpreted as UTF8 string
2 => vector<u8>: "EInvalidTld" // interpreted as UTF8 string
3 => vector<u8>: "Invalid TLD" // interpreted as UTF8 string
4 => vector<u8>: "ESubnameNotSupported" // interpreted as UTF8 string
5 => vector<u8>: "Subdomains are not supported for sales." // interpreted as UTF8 string
]
}