Package
0x0c73b92f72726b7f5487827b3127625eabb37488c3585fa2cdb33d71a1a6851c
- version
- 1
- digest
- AKShDLhf8nme2Am93kGz7SXVKJGfkXFpdqmHaTvdATVJ
- previous transaction
- 9t2jzH5WQWqTXRfaoMETHaJ7NSZs66J8P7hSbyzXf5np
Modules (1)
wtc
// Move bytecode v6
module c73b92f72726b7f5487827b3127625eabb37488c3585fa2cdb33d71a1a6851c.wtc {
use 0000000000000000000000000000000000000000000000000000000000000002::bcs;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::url;
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
struct WTC has drop {
dummy_field: bool
}
init(Arg0: WTC, Arg1: &mut TxContext) {
L2: loc0: vector<u8>
L3: loc1: Option<Url>
L4: loc2: BCS
L5: loc3: u8
L6: loc4: vector<u8>
L7: loc5: u8
L8: loc6: Option<Url>
L9: loc7: vector<u8>
L10: loc8: CoinMetadata<WTC>
L11: loc9: vector<u8>
L12: loc10: address
L13: loc11: u64
L14: loc12: vector<u8>
L15: loc13: TreasuryCap<WTC>
B0:
0: LdConst[0](vector<u8>: 8501..)
1: Call bcs::new(vector<u8>): BCS
2: StLoc[4](loc2: BCS)
3: MutBorrowLoc[4](loc2: BCS)
4: Call bcs::peel_u8(&mut BCS): u8
5: StLoc[5](loc3: u8)
6: MutBorrowLoc[4](loc2: BCS)
7: Call bcs::peel_vec_u8(&mut BCS): vector<u8>
8: StLoc[14](loc12: vector<u8>)
9: MutBorrowLoc[4](loc2: BCS)
10: Call bcs::peel_vec_u8(&mut BCS): vector<u8>
11: StLoc[11](loc9: vector<u8>)
12: MutBorrowLoc[4](loc2: BCS)
13: Call bcs::peel_vec_u8(&mut BCS): vector<u8>
14: StLoc[6](loc4: vector<u8>)
15: MutBorrowLoc[4](loc2: BCS)
16: Call bcs::peel_vec_u8(&mut BCS): vector<u8>
17: StLoc[9](loc7: vector<u8>)
18: MutBorrowLoc[4](loc2: BCS)
19: Call bcs::peel_u64(&mut BCS): u64
20: StLoc[13](loc11: u64)
21: MutBorrowLoc[4](loc2: BCS)
22: Call bcs::peel_u8(&mut BCS): u8
23: StLoc[7](loc5: u8)
24: MoveLoc[4](loc2: BCS)
25: Call bcs::into_remainder_bytes(BCS): vector<u8>
26: StLoc[2](loc0: vector<u8>)
27: ImmBorrowLoc[2](loc0: vector<u8>)
28: Call vector::is_empty<u8>(&vector<u8>): bool
29: BrFalse(31)
B1:
30: Branch(35)
B2:
31: MoveLoc[1](Arg1: &mut TxContext)
32: Pop
33: LdConst[4](u64: 0)
34: Abort
B3:
35: CopyLoc[7](loc5: u8)
36: LdConst[3](u8: 3)
37: BitAnd
38: CopyLoc[7](loc5: u8)
39: Eq
40: BrFalse(42)
B4:
41: Branch(46)
B5:
42: MoveLoc[1](Arg1: &mut TxContext)
43: Pop
44: LdConst[4](u64: 0)
45: Abort
B6:
46: ImmBorrowLoc[9](loc7: vector<u8>)
47: Call vector::is_empty<u8>(&vector<u8>): bool
48: BrFalse(52)
B7:
49: Call option::none<Url>(): Option<Url>
50: StLoc[3](loc1: Option<Url>)
51: Branch(56)
B8:
52: MoveLoc[9](loc7: vector<u8>)
53: Call url::new_unsafe_from_bytes(vector<u8>): Url
54: Call option::some<Url>(Url): Option<Url>
55: StLoc[3](loc1: Option<Url>)
B9:
56: MoveLoc[3](loc1: Option<Url>)
57: StLoc[8](loc6: Option<Url>)
58: MoveLoc[0](Arg0: WTC)
59: MoveLoc[5](loc3: u8)
60: MoveLoc[14](loc12: vector<u8>)
61: MoveLoc[11](loc9: vector<u8>)
62: MoveLoc[6](loc4: vector<u8>)
63: MoveLoc[8](loc6: Option<Url>)
64: CopyLoc[1](Arg1: &mut TxContext)
65: Call coin::create_currency<WTC>(WTC, u8, vector<u8>, vector<u8>, vector<u8>, Option<Url>, &mut TxContext): TreasuryCap<WTC> * CoinMetadata<WTC>
66: StLoc[10](loc8: CoinMetadata<WTC>)
67: StLoc[15](loc13: TreasuryCap<WTC>)
68: CopyLoc[1](Arg1: &mut TxContext)
69: FreezeRef
70: Call tx_context::sender(&TxContext): address
71: StLoc[12](loc10: address)
72: CopyLoc[13](loc11: u64)
73: LdU64(0)
74: Gt
75: BrFalse(82)
B10:
76: MutBorrowLoc[15](loc13: TreasuryCap<WTC>)
77: MoveLoc[13](loc11: u64)
78: CopyLoc[12](loc10: address)
79: MoveLoc[1](Arg1: &mut TxContext)
80: Call coin::mint_and_transfer<WTC>(&mut TreasuryCap<WTC>, u64, address, &mut TxContext)
81: Branch(84)
B11:
82: MoveLoc[1](Arg1: &mut TxContext)
83: Pop
B12:
84: CopyLoc[7](loc5: u8)
85: LdConst[2](u8: 2)
86: BitAnd
87: LdU8(0)
88: Neq
89: BrFalse(94)
B13:
90: MoveLoc[10](loc8: CoinMetadata<WTC>)
91: CopyLoc[12](loc10: address)
92: Call transfer::public_transfer<CoinMetadata<WTC>>(CoinMetadata<WTC>, address)
93: Branch(96)
B14:
94: MoveLoc[10](loc8: CoinMetadata<WTC>)
95: Call transfer::public_freeze_object<CoinMetadata<WTC>>(CoinMetadata<WTC>)
B15:
96: MoveLoc[7](loc5: u8)
97: LdConst[1](u8: 1)
98: BitAnd
99: LdU8(0)
100: Neq
101: BrFalse(106)
B16:
102: MoveLoc[15](loc13: TreasuryCap<WTC>)
103: MoveLoc[12](loc10: address)
104: Call transfer::public_transfer<TreasuryCap<WTC>>(TreasuryCap<WTC>, address)
105: Branch(108)
B17:
106: MoveLoc[15](loc13: TreasuryCap<WTC>)
107: Call transfer::public_freeze_object<TreasuryCap<WTC>>(TreasuryCap<WTC>)
B18:
108: Ret
}
Constants [
0 => vector<u8>: 850106035754430f5745627369746554657374436f696e0065687474703a2f2f36322e3137312e3136372e383a333130302f75706c6f6164732f346335386362653232333637653435636433373134323031653761313465303264323438666637363239353331353137323264303538623237626236656165312e706e670080c6a47e8d030000
1 => u8: 1
2 => u8: 2
3 => u8: 3
4 => u64: 0
]
}
SafeCoin