SafeCoin
Home
NetworkAccountsCheckpointsEpochsStakeTransactionsValidators
AssetsSAFETokensNFTs
EcosystemDeFiProjects
AnalyticsStatisticsEmissions
DevelopersAPI

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
]
}