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

API

creators

Module0x34a2…c82c
Move path
0xbc3d…e5f9::creators
Functions
1616 public, 0 entry
Structs
1
Friend modules
None
creators

Bytecode178 lines

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

// Move bytecode v6
module bc3df36be17f27ac98e3c839b2589db8475fa07b20657b08e8891e3aaf5ee5f9.creators {
use 859eb18bd5b5e8cc32deb6dfb1c39941008ab3c6e27f0b8ce2364be7102bb7cb::utils;
use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_field;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::vec_set;
 
struct Creators has store {
creators: VecSet<address>
}
 
public empty(): Creators {
B0:
0Call vec_set::empty<address>(): VecSet<address>
1Pack[0](Creators)
2Ret
}
 
public new(Arg0: VecSet<address>): Creators {
B0:
0MoveLoc[0](Arg0: VecSet<address>)
1Pack[0](Creators)
2Ret
}
 
public is_empty(Arg0: &Creators): bool {
B0:
0MoveLoc[0](Arg0: &Creators)
1ImmBorrowField[0](Creators.creators: VecSet<address>)
2Call vec_set::is_empty<address>(&VecSet<address>): bool
3Ret
}
 
public contains_creator(Arg0: &Creators, Arg1: &address): bool {
B0:
0MoveLoc[0](Arg0: &Creators)
1ImmBorrowField[0](Creators.creators: VecSet<address>)
2MoveLoc[1](Arg1: &address)
3Call vec_set::contains<address>(&VecSet<address>, &address): bool
4Ret
}
 
public get_Creators(Arg0: &Creators): &VecSet<address> {
B0:
0MoveLoc[0](Arg0: &Creators)
1ImmBorrowField[0](Creators.creators: VecSet<address>)
2Ret
}
 
public add_creator(Arg0: &mut Creators, Arg1: address) {
B0:
0MoveLoc[0](Arg0: &mut Creators)
1MutBorrowField[0](Creators.creators: VecSet<address>)
2MoveLoc[1](Arg1: address)
3Call vec_set::insert<address>(&mut VecSet<address>, address)
4Ret
}
 
public remove_creator(Arg0: &mut Creators, Arg1: address) {
B0:
0MoveLoc[0](Arg0: &mut Creators)
1MutBorrowField[0](Creators.creators: VecSet<address>)
2ImmBorrowLoc[1](Arg1: address)
3Call vec_set::remove<address>(&mut VecSet<address>, &address)
4Ret
}
 
public has_domain(Arg0: &UID): bool {
B0:
0MoveLoc[0](Arg0: &UID)
1Call utils::marker<Creators>(): Marker<Creators>
2Call dynamic_field::exists_with_type<Marker<Creators>, Creators>(&UID, Marker<Creators>): bool
3Ret
}
 
public borrow_domain(Arg0: &UID): &Creators {
B0:
0CopyLoc[0](Arg0: &UID)
1Call assert_Creators(&UID)
2MoveLoc[0](Arg0: &UID)
3Call utils::marker<Creators>(): Marker<Creators>
4Call dynamic_field::borrow<Marker<Creators>, Creators>(&UID, Marker<Creators>): &Creators
5Ret
}
 
public borrow_domain_mut(Arg0: &mut UID): &mut Creators {
B0:
0CopyLoc[0](Arg0: &mut UID)
1FreezeRef
2Call assert_Creators(&UID)
3MoveLoc[0](Arg0: &mut UID)
4Call utils::marker<Creators>(): Marker<Creators>
5Call dynamic_field::borrow_mut<Marker<Creators>, Creators>(&mut UID, Marker<Creators>): &mut Creators
6Ret
}
 
public add_domain(Arg0: &mut UID, Arg1: Creators) {
B0:
0CopyLoc[0](Arg0: &mut UID)
1FreezeRef
2Call assert_no_Creators(&UID)
3MoveLoc[0](Arg0: &mut UID)
4Call utils::marker<Creators>(): Marker<Creators>
5MoveLoc[1](Arg1: Creators)
6Call dynamic_field::add<Marker<Creators>, Creators>(&mut UID, Marker<Creators>, Creators)
7Ret
}
 
public remove_domain(Arg0: &mut UID): Creators {
B0:
0CopyLoc[0](Arg0: &mut UID)
1FreezeRef
2Call assert_Creators(&UID)
3MoveLoc[0](Arg0: &mut UID)
4Call utils::marker<Creators>(): Marker<Creators>
5Call dynamic_field::remove<Marker<Creators>, Creators>(&mut UID, Marker<Creators>): Creators
6Ret
}
 
public delete(Arg0: Creators) {
B0:
0MoveLoc[0](Arg0: Creators)
1Unpack[0](Creators)
2Pop
3Ret
}
 
public assert_creator(Arg0: &Creators, Arg1: &address) {
B0:
0MoveLoc[0](Arg0: &Creators)
1MoveLoc[1](Arg1: &address)
2Call contains_creator(&Creators, &address): bool
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[2](u64: 3)
6Abort
B3:
7Ret
}
 
public assert_Creators(Arg0: &UID) {
B0:
0MoveLoc[0](Arg0: &UID)
1Call has_domain(&UID): bool
2BrFalse(4)
B1:
3Branch(6)
B2:
4LdConst[0](u64: 1)
5Abort
B3:
6Ret
}
 
public assert_no_Creators(Arg0: &UID) {
B0:
0MoveLoc[0](Arg0: &UID)
1Call has_domain(&UID): bool
2Not
3BrFalse(5)
B1:
4Branch(7)
B2:
5LdConst[1](u64: 2)
6Abort
B3:
7Ret
}
 
Constants [
0 => u64: 1
1 => u64: 2
2 => u64: 3
]
}