FARTCOIN
Module0x313d…d2d2
- Move path
- 0x313d…d2d2::FARTCOIN
- Functions
- 20 public, 1 entry
- Structs
- 1
- Friend modules
- None
FARTCOIN
Bytecode115 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 313dcf43355cb79d2d99c841efa6ebf45f8b3fe4c7d1cf5e6b783344aa58d2d2.FARTCOIN {
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::deny_list;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::url;
struct FARTCOIN has drop {
dummy_field: bool
}
init(Arg0: FARTCOIN, Arg1: &mut TxContext) {
L2: loc0: TreasuryCap<FARTCOIN>
L3: loc1: DenyCap<FARTCOIN>
L4: loc2: CoinMetadata<FARTCOIN>
L5: loc3: TreasuryCap<FARTCOIN>
B0:
0MoveLoc[0](Arg0: FARTCOIN)
1LdU8(2)
2LdConst[0](vector<u8>: "FAR..)
3LdConst[1](vector<u8>: "Far..)
4LdConst[1](vector<u8>: "Far..)
5LdConst[2](vector<u8>: "htt..)
6Call url::new_unsafe_from_bytes(vector<u8>): Url
7Call option::some<Url>(Url): Option<Url>
8CopyLoc[1](Arg1: &mut TxContext)
9Call coin::create_regulated_currency<FARTCOIN>(FARTCOIN, u8, vector<u8>, vector<u8>, vector<u8>, Option<Url>, &mut TxContext): TreasuryCap<FARTCOIN> * DenyCap<FARTCOIN> * CoinMetadata<FARTCOIN>
10StLoc[4](loc2: CoinMetadata<FARTCOIN>)
11StLoc[3](loc1: DenyCap<FARTCOIN>)
12StLoc[2](loc0: TreasuryCap<FARTCOIN>)
13MoveLoc[4](loc2: CoinMetadata<FARTCOIN>)
14Call transfer::public_freeze_object<CoinMetadata<FARTCOIN>>(CoinMetadata<FARTCOIN>)
15MoveLoc[3](loc1: DenyCap<FARTCOIN>)
16LdConst[3](address: 0x8b..)
17Call transfer::public_transfer<DenyCap<FARTCOIN>>(DenyCap<FARTCOIN>, address)
18MoveLoc[2](loc0: TreasuryCap<FARTCOIN>)
19StLoc[5](loc3: TreasuryCap<FARTCOIN>)
20MutBorrowLoc[5](loc3: TreasuryCap<FARTCOIN>)
21LdU64(100000000000)
22CopyLoc[1](Arg1: &mut TxContext)
23FreezeRef
24Call tx_context::sender(&TxContext): address
25CopyLoc[1](Arg1: &mut TxContext)
26Call coin::mint_and_transfer<FARTCOIN>(&mut TreasuryCap<FARTCOIN>, u64, address, &mut TxContext)
27MoveLoc[5](loc3: TreasuryCap<FARTCOIN>)
28MoveLoc[1](Arg1: &mut TxContext)
29FreezeRef
30Call tx_context::sender(&TxContext): address
31Call transfer::public_transfer<TreasuryCap<FARTCOIN>>(TreasuryCap<FARTCOIN>, address)
32Ret
}
entry migrate_regulated_currency_to_v2(Arg0: &mut DenyList, Arg1: &mut DenyCap<FARTCOIN>, Arg2: vector<address>, Arg3: &mut TxContext) {
L4: loc0: address
L5: loc1: vector<address>
L6: loc2: u64
L7: loc3: u64
B0:
0MoveLoc[2](Arg2: vector<address>)
1StLoc[5](loc1: vector<address>)
2MutBorrowLoc[5](loc1: vector<address>)
3FreezeRef
4VecLen(15)
5StLoc[6](loc2: u64)
6LdU64(0)
7StLoc[7](loc3: u64)
B1:
8CopyLoc[7](loc3: u64)
9CopyLoc[6](loc2: u64)
10Lt
11BrFalse(32)
B2:
12Branch(13)
B3:
13MutBorrowLoc[5](loc1: vector<address>)
14VecPopBack(15)
15StLoc[4](loc0: address)
16CopyLoc[0](Arg0: &mut DenyList)
17FreezeRef
18CopyLoc[4](loc0: address)
19Call coin::deny_list_contains<FARTCOIN>(&DenyList, address): bool
20Not
21BrFalse(27)
B4:
22CopyLoc[0](Arg0: &mut DenyList)
23CopyLoc[1](Arg1: &mut DenyCap<FARTCOIN>)
24MoveLoc[4](loc0: address)
25CopyLoc[3](Arg3: &mut TxContext)
26Call coin::deny_list_add<FARTCOIN>(&mut DenyList, &mut DenyCap<FARTCOIN>, address, &mut TxContext)
B5:
27MoveLoc[7](loc3: u64)
28LdU64(1)
29Add
30StLoc[7](loc3: u64)
31Branch(8)
B6:
32MoveLoc[3](Arg3: &mut TxContext)
33Pop
34MoveLoc[1](Arg1: &mut DenyCap<FARTCOIN>)
35Pop
36MoveLoc[0](Arg0: &mut DenyList)
37Pop
38Ret
}
Constants [
0 => vector<u8>: "FARTCOIN" // interpreted as UTF8 string
1 => vector<u8>: "Fartcoin" // interpreted as UTF8 string
2 => vector<u8>: "https://arweave.net/Ngzb8hUn6DsBJIKnBnu-kO2Bo6LB1Grv_ZgvGzE4_Tw?ext=png" // interpreted as UTF8 string
3 => address: 0x8bcc0e6cadf05f36018b1dff59d669b358a5aad6e5d05ad00bda60873cf0cb5c
]
}