SafeCoin
Home
NetworkAccountsCheckpointsEpochsStakeTransactionsValidators
AssetsSAFETokensNFTs
EcosystemDeFiProjects
AnalyticsStatisticsEmissions
DevelopersAPI

Package

0x71a265ee75128a494ab9443a8ec8f8fef5eaa11645b316dfa185243040009612

version
1
digest
12BSWqBoHZ1B7TqhtkE5Zx7n4AMPfYyw3XasukgVPoW1
previous transaction
7t5eHyr9qALvrd3Q4SHPUnpeqZZsUd18iKvNWGZzq7id

Modules (1)

tsc
// Move bytecode v6
module 71a265ee75128a494ab9443a8ec8f8fef5eaa11645b316dfa185243040009612.tsc {
use 0000000000000000000000000000000000000000000000000000000000000002::bcs;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::url;
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;

struct TSC has drop {
	dummy_field: bool
}

init(Arg0: TSC, 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<TSC>
L11:	loc9: vector<u8>
L12:	loc10: address
L13:	loc11: u64
L14:	loc12: vector<u8>
L15:	loc13: TreasuryCap<TSC>
B0:
	0: LdConst[0](vector<u8>: 8901..)
	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: TSC)
	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<TSC>(TSC, u8, vector<u8>, vector<u8>, vector<u8>, Option<Url>, &mut TxContext): TreasuryCap<TSC> * CoinMetadata<TSC>
	66: StLoc[10](loc8: CoinMetadata<TSC>)
	67: StLoc[15](loc13: TreasuryCap<TSC>)
	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<TSC>)
	77: MoveLoc[13](loc11: u64)
	78: CopyLoc[12](loc10: address)
	79: MoveLoc[1](Arg1: &mut TxContext)
	80: Call coin::mint_and_transfer<TSC>(&mut TreasuryCap<TSC>, 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<TSC>)
	91: CopyLoc[12](loc10: address)
	92: Call transfer::public_transfer<CoinMetadata<TSC>>(CoinMetadata<TSC>, address)
	93: Branch(96)
B14:
	94: MoveLoc[10](loc8: CoinMetadata<TSC>)
	95: Call transfer::public_freeze_object<CoinMetadata<TSC>>(CoinMetadata<TSC>)
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<TSC>)
	103: MoveLoc[12](loc10: address)
	104: Call transfer::public_transfer<TreasuryCap<TSC>>(TreasuryCap<TSC>, address)
	105: Branch(108)
B17:
	106: MoveLoc[15](loc13: TreasuryCap<TSC>)
	107: Call transfer::public_freeze_object<TreasuryCap<TSC>>(TreasuryCap<TSC>)
B18:
	108: Ret
}

Constants [
	0 => vector<u8>: 890106035453430a54656e736f7243617368006e68747470733a2f2f636f666665652d72616e646f6d2d636172702d3538382e6d7970696e6174612e636c6f75642f697066732f6261666b726569667432636c746e706a74367a6d79706f7165676c6e616f6a766e356e74336966796379347a6d33747a646d367633746b3777637900743ba40b00000001
	1 => u8: 1
	2 => u8: 2
	3 => u8: 3
	4 => u64: 0
]
}