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

API

acl

Module0x23ec…39f5
Move path
0x23ec…39f5::acl
Functions
60 public, 0 entry
Structs
3
Friend modules
adminve_mmt
acl

Bytecode118 lines

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

// Move bytecode v6
module 23ecc2b1c55a7e1c1c1e5091afee8ffdbbfc7b044d059d536804ad050c0c39f5.acl {
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_field;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 23ecc2b1c55a7e1c1c1e5091afee8ffdbbfc7b044d059d536804ad050c0c39f5::error;
 
struct AdminCap has store, key {
id: UID
}
 
struct Acl has store, key {
id: UID
}
 
struct RewardAdminKey has copy, drop, store {
dummy_field: bool
}
 
public(friend) create(Arg0: &mut TxContext): AdminCap * Acl {
L1: loc0: Acl
L2: loc1: AdminCap
B0:
0CopyLoc[0](Arg0: &mut TxContext)
1Call object::new(&mut TxContext): UID
2Pack[0](AdminCap)
3StLoc[2](loc1: AdminCap)
4CopyLoc[0](Arg0: &mut TxContext)
5Call object::new(&mut TxContext): UID
6Pack[1](Acl)
7StLoc[1](loc0: Acl)
8MutBorrowLoc[1](loc0: Acl)
9MutBorrowField[0](Acl.id: UID)
10LdFalse
11Pack[2](RewardAdminKey)
12MoveLoc[0](Arg0: &mut TxContext)
13FreezeRef
14Call tx_context::sender(&TxContext): address
15Call dynamic_field::add<RewardAdminKey, address>(&mut UID, RewardAdminKey, address)
16MoveLoc[2](loc1: AdminCap)
17MoveLoc[1](loc0: Acl)
18Ret
}
 
public(friend) assert_reward_admin(Arg0: &Acl, Arg1: &TxContext) {
L2: loc0: address
L3: loc1: &address
B0:
0MoveLoc[0](Arg0: &Acl)
1LdFalse
2Pack[2](RewardAdminKey)
3Call get_acl_<RewardAdminKey>(&Acl, RewardAdminKey): &address
4StLoc[3](loc1: &address)
5MoveLoc[1](Arg1: &TxContext)
6Call tx_context::sender(&TxContext): address
7StLoc[2](loc0: address)
8MoveLoc[3](loc1: &address)
9ImmBorrowLoc[2](loc0: address)
10Eq
11BrFalse(13)
B1:
12Branch(15)
B2:
13Call error::e_not_reward_admin(): u64
14Abort
B3:
15Ret
}
 
public(friend) set_reward_admin(Arg0: &mut Acl, Arg1: address): Option<address> {
B0:
0MoveLoc[0](Arg0: &mut Acl)
1LdFalse
2Pack[2](RewardAdminKey)
3MoveLoc[1](Arg1: address)
4Call set_acl_<RewardAdminKey>(&mut Acl, RewardAdminKey, address): Option<address>
5Ret
}
 
public(friend) get_reward_admin(Arg0: &Acl): address {
B0:
0MoveLoc[0](Arg0: &Acl)
1LdFalse
2Pack[2](RewardAdminKey)
3Call get_acl_<RewardAdminKey>(&Acl, RewardAdminKey): &address
4ReadRef
5Ret
}
 
get_acl_<Ty0: copy + drop + store>(Arg0: &Acl, Arg1: Ty0): &address {
B0:
0MoveLoc[0](Arg0: &Acl)
1ImmBorrowField[0](Acl.id: UID)
2MoveLoc[1](Arg1: Ty0)
3Call dynamic_field::borrow<Ty0, address>(&UID, Ty0): &address
4Ret
}
 
set_acl_<Ty0: copy + drop + store>(Arg0: &mut Acl, Arg1: Ty0, Arg2: address): Option<address> {
L3: loc0: Option<address>
B0:
0CopyLoc[0](Arg0: &mut Acl)
1MutBorrowField[0](Acl.id: UID)
2CopyLoc[1](Arg1: Ty0)
3Call dynamic_field::remove_if_exists<Ty0, address>(&mut UID, Ty0): Option<address>
4StLoc[3](loc0: Option<address>)
5MoveLoc[0](Arg0: &mut Acl)
6MutBorrowField[0](Acl.id: UID)
7MoveLoc[1](Arg1: Ty0)
8MoveLoc[2](Arg2: address)
9Call dynamic_field::add<Ty0, address>(&mut UID, Ty0, address)
10MoveLoc[3](loc0: Option<address>)
11Ret
}
 
}