daos
Module0x48e6…8ce6
- Move path
- 0xd40c…e71c::daos
- Functions
- 32 public, 0 entry
- Structs
- 1
- Friend modules
- None
Bytecode84 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module d40cec91f6dca0673b25451fb0d654e62ad13bf6546a32a21ef0c59eba42e71c.daos {
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::url;
struct DAOS has drop {
dummy_field: bool
}
init(Arg0: DAOS, Arg1: &mut TxContext) {
L2: loc0: CoinMetadata<DAOS>
L3: loc1: TreasuryCap<DAOS>
L4: loc2: Option<Url>
B0:
0LdConst[0](vector<u8>: "htt..)
1Call url::new_unsafe_from_bytes(vector<u8>): Url
2Call option::some<Url>(Url): Option<Url>
3StLoc[4](loc2: Option<Url>)
4MoveLoc[0](Arg0: DAOS)
5LdU8(6)
6LdConst[1](vector<u8>: "DAO..)
7LdConst[2](vector<u8>: "Dao..)
8LdConst[3](vector<u8>: "$DA..)
9MoveLoc[4](loc2: Option<Url>)
10CopyLoc[1](Arg1: &mut TxContext)
11Call coin::create_currency<DAOS>(DAOS, u8, vector<u8>, vector<u8>, vector<u8>, Option<Url>, &mut TxContext): TreasuryCap<DAOS> * CoinMetadata<DAOS>
12StLoc[2](loc0: CoinMetadata<DAOS>)
13StLoc[3](loc1: TreasuryCap<DAOS>)
14MoveLoc[2](loc0: CoinMetadata<DAOS>)
15Call transfer::public_freeze_object<CoinMetadata<DAOS>>(CoinMetadata<DAOS>)
16MoveLoc[3](loc1: TreasuryCap<DAOS>)
17MoveLoc[1](Arg1: &mut TxContext)
18FreezeRef
19Call tx_context::sender(&TxContext): address
20Call transfer::public_transfer<TreasuryCap<DAOS>>(TreasuryCap<DAOS>, address)
21Ret
}
public mint(Arg0: &mut TreasuryCap<DAOS>, Arg1: u64, Arg2: address, Arg3: &mut TxContext) {
B0:
0CopyLoc[0](Arg0: &mut TreasuryCap<DAOS>)
1FreezeRef
2Call coin::total_supply<DAOS>(&TreasuryCap<DAOS>): u64
3LdU64(0)
4Eq
5BrFalse(7)
B1:
6Branch(13)
B2:
7MoveLoc[0](Arg0: &mut TreasuryCap<DAOS>)
8Pop
9MoveLoc[3](Arg3: &mut TxContext)
10Pop
11LdU64(0)
12Abort
B3:
13MoveLoc[0](Arg0: &mut TreasuryCap<DAOS>)
14MoveLoc[1](Arg1: u64)
15MoveLoc[2](Arg2: address)
16MoveLoc[3](Arg3: &mut TxContext)
17Call coin::mint_and_transfer<DAOS>(&mut TreasuryCap<DAOS>, u64, address, &mut TxContext)
18Ret
}
public burn(Arg0: &mut TreasuryCap<DAOS>, Arg1: Coin<DAOS>) {
B0:
0MoveLoc[0](Arg0: &mut TreasuryCap<DAOS>)
1MoveLoc[1](Arg1: Coin<DAOS>)
2Call coin::burn<DAOS>(&mut TreasuryCap<DAOS>, Coin<DAOS>): u64
3Pop
4Ret
}
Constants [
0 => vector<u8>: "https://public.daossui.io/dao-sui/assets/daossui-token.png" // interpreted as UTF8 string
1 => vector<u8>: "DAOS" // interpreted as UTF8 string
2 => vector<u8>: "Daossui Token" // interpreted as UTF8 string
3 => vector<u8>: "$DAOS is the governance token of daos.sui, the first DAO Fund on the Sui blockchain. Designed to empower the community, daos.sui enables the creation and management of decentralized hedge funds. As the backbone of the platform, $DAOS drives and sustains its operations, ensuring seamless functionality and community-driven growth" // interpreted as UTF8 string
]
}