Created
April 12, 2022 19:05
-
-
Save stella3d/26999824907280aadc18040ee9a29e68 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"owner":"SharedImmutable","version":"1","id":"0000000000000000000000000000000000000002","readonly":"true","objType":"Unknown Type","data":{"contents":{"Coin":"// Move bytecode v4\nmodule 2.Coin {\nstruct Coin<phantom Ty0> has store, key {\n\tid: VersionedID,\n\tvalue: u64\n}\nstruct TreasuryCap<phantom Ty0> has store, key {\n\tid: VersionedID,\n\ttotal_supply: u64\n}\n\npublic burn<Ty0>(loc0: Coin<Ty0>, loc1: &mut TreasuryCap<Ty0>) {\nB0:\n\t0: MoveLoc[0](Arg0: Coin<Ty0>)\n\t1: UnpackGeneric[0](Coin<Ty0>)\n\t2: StLoc[3](loc1: u64)\n\t3: StLoc[2](loc0: VersionedID)\n\t4: MoveLoc[2](loc0: VersionedID)\n\t5: Call[14](delete(VersionedID))\n\t6: CopyLoc[1](Arg1: &mut TreasuryCap<Ty0>)\n\t7: ImmBorrowFieldGeneric[0](TreasuryCap.total_supply: u64)\n\t8: ReadRef\n\t9: CopyLoc[3](loc1: u64)\n\t10: Sub\n\t11: MoveLoc[1](Arg1: &mut TreasuryCap<Ty0>)\n\t12: MutBorrowFieldGeneric[0](TreasuryCap.total_supply: u64)\n\t13: WriteRef\n\t14: Ret\n}\npublic create_currency<Ty0: drop>(): TreasuryCap<Ty0> {\nB0:\n\t0: MoveLoc[1](Arg1: &mut TxContext)\n\t1: Call[15](new_id(&mut TxContext): VersionedID)\n\t2: LdU64(0)\n\t3: PackGeneric[1](TreasuryCap<Ty0>)\n\t4: Ret\n}\npublic destroy_zero<Ty0>(loc0: Coin<Ty0>) {\nL0:\tloc1: u64\nB0:\n\t0: MoveLoc[0](Arg0: Coin<Ty0>)\n\t1: UnpackGeneric[0](Coin<Ty0>)\n\t2: StLoc[2](loc1: u64)\n\t3: StLoc[1](loc0: VersionedID)\n\t4: MoveLoc[1](loc0: VersionedID)\n\t5: Call[14](delete(VersionedID))\n\t6: CopyLoc[2](loc1: u64)\n\t7: LdU64(0)\n\t8: Eq\n\t9: BrTrue(13)\nB1:\n\t10: LdAddr[0](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t11: Call[16](invalid_argument(u64): u64)\n\t12: Abort\nB2:\n\t13: Ret\n}\npublic join<Ty0>(loc0: &mut Coin<Ty0>, loc1: Coin<Ty0>) {\nB0:\n\t0: MoveLoc[1](Arg1: Coin<Ty0>)\n\t1: UnpackGeneric[0](Coin<Ty0>)\n\t2: StLoc[4](loc1: u64)\n\t3: StLoc[3](loc0: VersionedID)\n\t4: MoveLoc[3](loc0: VersionedID)\n\t5: Call[14](delete(VersionedID))\n\t6: CopyLoc[0](Arg0: &mut Coin<Ty0>)\n\t7: ImmBorrowFieldGeneric[1](Coin.value: u64)\n\t8: ReadRef\n\t9: CopyLoc[4](loc1: u64)\n\t10: Add\n\t11: MoveLoc[0](Arg0: &mut Coin<Ty0>)\n\t12: MutBorrowFieldGeneric[1](Coin.value: u64)\n\t13: WriteRef\n\t14: Ret\n}\npublic join_vec<Ty0>(loc0: &mut Coin<Ty0>, loc1: vector<Coin<Ty0>>, loc2: &mut TxContext) {\nB0:\n\t0: LdU64(0)\n\t1: StLoc[4](loc1: u64)\n\t2: ImmBorrowLoc[1](Arg1: vector<Coin<Ty0>>)\n\t3: Call[0](length<Coin<Ty0>>(&vector<Coin<Ty0>>): u64)\n\t4: StLoc[5](loc2: u64)\nB1:\n\t5: CopyLoc[4](loc1: u64)\n\t6: CopyLoc[5](loc2: u64)\n\t7: Lt\n\t8: BrTrue(10)\nB2:\n\t9: Branch(23)\nB3:\n\t10: MutBorrowLoc[1](Arg1: vector<Coin<Ty0>>)\n\t11: CopyLoc[4](loc1: u64)\n\t12: Call[1](remove<Coin<Ty0>>(&mut vector<Coin<Ty0>>, u64): Coin<Ty0>)\n\t13: StLoc[3](loc0: Coin<Ty0>)\n\t14: CopyLoc[0](Arg0: &mut Coin<Ty0>)\n\t15: MoveLoc[3](loc0: Coin<Ty0>)\n\t16: CopyLoc[2](Arg2: &mut TxContext)\n\t17: Call[2](join<Ty0>(&mut Coin<Ty0>, Coin<Ty0>, &mut TxContext))\n\t18: CopyLoc[4](loc1: u64)\n\t19: LdU64(1)\n\t20: Add\n\t21: StLoc[4](loc1: u64)\n\t22: Branch(5)\nB4:\n\t23: MoveLoc[0](Arg0: &mut Coin<Ty0>)\n\t24: Pop\n\t25: MoveLoc[2](Arg2: &mut TxContext)\n\t26: Pop\n\t27: MoveLoc[1](Arg1: vector<Coin<Ty0>>)\n\t28: Call[3](destroy_empty<Coin<Ty0>>(vector<Coin<Ty0>>))\n\t29: Ret\n}\npublic mint<Ty0>(): Coin<Ty0> {\nB0:\n\t0: CopyLoc[1](Arg1: &mut TreasuryCap<Ty0>)\n\t1: ImmBorrowFieldGeneric[0](TreasuryCap.total_supply: u64)\n\t2: ReadRef\n\t3: CopyLoc[0](Arg0: u64)\n\t4: Add\n\t5: MoveLoc[1](Arg1: &mut TreasuryCap<Ty0>)\n\t6: MutBorrowFieldGeneric[0](TreasuryCap.total_supply: u64)\n\t7: WriteRef\n\t8: MoveLoc[2](Arg2: &mut TxContext)\n\t9: Call[15](new_id(&mut TxContext): VersionedID)\n\t10: CopyLoc[0](Arg0: u64)\n\t11: PackGeneric[0](Coin<Ty0>)\n\t12: Ret\n}\npublic split<Ty0>(loc0: &mut Coin<Ty0>) {\nB0:\n\t0: MoveLoc[0](Arg0: &mut Coin<Ty0>)\n\t1: CopyLoc[1](Arg1: u64)\n\t2: CopyLoc[2](Arg2: &mut TxContext)\n\t3: Call[4](withdraw<Ty0>(&mut Coin<Ty0>, u64, &mut TxContext): Coin<Ty0>)\n\t4: StLoc[3](loc0: Coin<Ty0>)\n\t5: MoveLoc[3](loc0: Coin<Ty0>)\n\t6: MoveLoc[2](Arg2: &mut TxContext)\n\t7: FreezeRef\n\t8: Call[20](sender(&TxContext): address)\n\t9: Call[5](transfer<Coin<Ty0>>(Coin<Ty0>, address))\n\t10: Ret\n}\npublic split_vec<Ty0>(loc0: &mut Coin<Ty0>, loc1: vector<u64>) {\nB0:\n\t0: LdU64(0)\n\t1: StLoc[3](loc0: u64)\n\t2: ImmBorrowLoc[1](Arg1: vector<u64>)\n\t3: Call[6](length<u64>(&vector<u64>): u64)\n\t4: StLoc[4](loc1: u64)\nB1:\n\t5: CopyLoc[3](loc0: u64)\n\t6: CopyLoc[4](loc1: u64)\n\t7: Lt\n\t8: BrTrue(10)\nB2:\n\t9: Branch(22)\nB3:\n\t10: CopyLoc[0](Arg0: &mut Coin<Ty0>)\n\t11: ImmBorrowLoc[1](Arg1: vector<u64>)\n\t12: CopyLoc[3](loc0: u64)\n\t13: Call[7](borrow<u64>(&vector<u64>, u64): &u64)\n\t14: ReadRef\n\t15: CopyLoc[2](Arg2: &mut TxContext)\n\t16: Call[8](split<Ty0>(&mut Coin<Ty0>, u64, &mut TxContext))\n\t17: CopyLoc[3](loc0: u64)\n\t18: LdU64(1)\n\t19: Add\n\t20: StLoc[3](loc0: u64)\n\t21: Branch(5)\nB4:\n\t22: MoveLoc[0](Arg0: &mut Coin<Ty0>)\n\t23: Pop\n\t24: MoveLoc[2](Arg2: &mut TxContext)\n\t25: Pop\n\t26: Ret\n}\npublic total_supply<Ty0>(): u64 {\nB0:\n\t0: MoveLoc[0](Arg0: &TreasuryCap<Ty0>)\n\t1: ImmBorrowFieldGeneric[0](TreasuryCap.total_supply: u64)\n\t2: ReadRef\n\t3: Ret\n}\npublic transfer<Ty0>() {\nB0:\n\t0: MoveLoc[0](Arg0: Coin<Ty0>)\n\t1: CopyLoc[1](Arg1: address)\n\t2: Call[5](transfer<Coin<Ty0>>(Coin<Ty0>, address))\n\t3: Ret\n}\npublic transfer_<Ty0>() {\nB0:\n\t0: MoveLoc[0](Arg0: &mut Coin<Ty0>)\n\t1: CopyLoc[1](Arg1: u64)\n\t2: MoveLoc[3](Arg3: &mut TxContext)\n\t3: Call[4](withdraw<Ty0>(&mut Coin<Ty0>, u64, &mut TxContext): Coin<Ty0>)\n\t4: CopyLoc[2](Arg2: address)\n\t5: Call[5](transfer<Coin<Ty0>>(Coin<Ty0>, address))\n\t6: Ret\n}\npublic transfer_cap<Ty0>() {\nB0:\n\t0: MoveLoc[0](Arg0: TreasuryCap<Ty0>)\n\t1: CopyLoc[1](Arg1: address)\n\t2: Call[9](transfer<TreasuryCap<Ty0>>(TreasuryCap<Ty0>, address))\n\t3: Ret\n}\npublic value<Ty0>(): u64 {\nB0:\n\t0: MoveLoc[0](Arg0: &Coin<Ty0>)\n\t1: ImmBorrowFieldGeneric[1](Coin.value: u64)\n\t2: ReadRef\n\t3: Ret\n}\npublic withdraw<Ty0>(): Coin<Ty0> {\nB0:\n\t0: CopyLoc[0](Arg0: &mut Coin<Ty0>)\n\t1: ImmBorrowFieldGeneric[1](Coin.value: u64)\n\t2: ReadRef\n\t3: CopyLoc[1](Arg1: u64)\n\t4: Ge\n\t5: BrTrue(13)\nB1:\n\t6: MoveLoc[0](Arg0: &mut Coin<Ty0>)\n\t7: Pop\n\t8: MoveLoc[2](Arg2: &mut TxContext)\n\t9: Pop\n\t10: LdAddr[0](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t11: Call[23](limit_exceeded(u64): u64)\n\t12: Abort\nB2:\n\t13: CopyLoc[0](Arg0: &mut Coin<Ty0>)\n\t14: ImmBorrowFieldGeneric[1](Coin.value: u64)\n\t15: ReadRef\n\t16: CopyLoc[1](Arg1: u64)\n\t17: Sub\n\t18: MoveLoc[0](Arg0: &mut Coin<Ty0>)\n\t19: MutBorrowFieldGeneric[1](Coin.value: u64)\n\t20: WriteRef\n\t21: MoveLoc[2](Arg2: &mut TxContext)\n\t22: Call[15](new_id(&mut TxContext): VersionedID)\n\t23: CopyLoc[1](Arg1: u64)\n\t24: PackGeneric[0](Coin<Ty0>)\n\t25: Ret\n}\n}","Collection":"// Move bytecode v4\nmodule 2.Collection {\nstruct Collection has key {\n\tid: VersionedID,\n\tobjects: vector<ID>,\n\tmax_capacity: u64\n}\n\npublic add<Ty0: key>(loc0: &mut Collection, loc1: Ty0) {\nL0:\tloc2: &ID\nB0:\n\t0: CopyLoc[0](Arg0: &mut Collection)\n\t1: FreezeRef\n\t2: Call[8](size(&Collection): u64)\n\t3: LdU64(1)\n\t4: Add\n\t5: CopyLoc[0](Arg0: &mut Collection)\n\t6: ImmBorrowField[0](Collection.max_capacity: u64)\n\t7: ReadRef\n\t8: Le\n\t9: BrTrue(15)\nB1:\n\t10: MoveLoc[0](Arg0: &mut Collection)\n\t11: Pop\n\t12: LdAddr[2](U64: [3, 0, 0, 0, 0, 0, 0, 0])\n\t13: Call[11](limit_exceeded(u64): u64)\n\t14: Abort\nB2:\n\t15: ImmBorrowLoc[1](Arg1: Ty0)\n\t16: Call[0](id<Ty0>(&Ty0): &ID)\n\t17: StLoc[4](loc2: &ID)\n\t18: CopyLoc[0](Arg0: &mut Collection)\n\t19: CopyLoc[4](loc2: &ID)\n\t20: StLoc[3](loc1: &ID)\n\t21: StLoc[2](loc0: &mut Collection)\n\t22: MoveLoc[2](loc0: &mut Collection)\n\t23: FreezeRef\n\t24: MoveLoc[3](loc1: &ID)\n\t25: Call[1](contains(&Collection, &ID): bool)\n\t26: BrTrue(28)\nB3:\n\t27: Branch(34)\nB4:\n\t28: MoveLoc[4](loc2: &ID)\n\t29: Pop\n\t30: MoveLoc[0](Arg0: &mut Collection)\n\t31: Pop\n\t32: LdAddr[3](U64: [1, 0, 0, 0, 0, 0, 0, 0])\n\t33: Abort\nB5:\n\t34: CopyLoc[0](Arg0: &mut Collection)\n\t35: MutBorrowField[1](Collection.objects: vector<ID>)\n\t36: MoveLoc[4](loc2: &ID)\n\t37: ReadRef\n\t38: Call[1](push_back<ID>(&mut vector<ID>, ID))\n\t39: MoveLoc[1](Arg1: Ty0)\n\t40: MoveLoc[0](Arg0: &mut Collection)\n\t41: Call[2](transfer_to_object<Ty0, Collection>(Ty0, &mut Collection))\n\t42: Ret\n}\npublic contains(loc0: &Collection): bool {\nB0:\n\t0: MoveLoc[0](Arg0: &Collection)\n\t1: MoveLoc[1](Arg1: &ID)\n\t2: Call[3](find(&Collection, &ID): Option<u64>)\n\t3: StLoc[2](loc0: Option<u64>)\n\t4: ImmBorrowLoc[2](loc0: Option<u64>)\n\t5: Call[3](is_some<u64>(&Option<u64>): bool)\n\t6: Ret\n}\npublic create() {\nB0:\n\t0: CopyLoc[0](Arg0: &mut TxContext)\n\t1: Call[4](new(&mut TxContext): Collection)\n\t2: MoveLoc[0](Arg0: &mut TxContext)\n\t3: FreezeRef\n\t4: Call[16](sender(&TxContext): address)\n\t5: Call[4](transfer<Collection>(Collection, address))\n\t6: Ret\n}\nfind(loc0: &Collection, loc1: &ID): Option<u64> {\nB0:\n\t0: LdU64(0)\n\t1: StLoc[2](loc0: u64)\n\t2: CopyLoc[0](Arg0: &Collection)\n\t3: Call[8](size(&Collection): u64)\n\t4: StLoc[3](loc1: u64)\nB1:\n\t5: CopyLoc[2](loc0: u64)\n\t6: CopyLoc[3](loc1: u64)\n\t7: Lt\n\t8: BrTrue(10)\nB2:\n\t9: Branch(30)\nB3:\n\t10: CopyLoc[0](Arg0: &Collection)\n\t11: ImmBorrowField[1](Collection.objects: vector<ID>)\n\t12: CopyLoc[2](loc0: u64)\n\t13: Call[5](borrow<ID>(&vector<ID>, u64): &ID)\n\t14: CopyLoc[1](Arg1: &ID)\n\t15: Eq\n\t16: BrTrue(18)\nB4:\n\t17: Branch(25)\nB5:\n\t18: MoveLoc[1](Arg1: &ID)\n\t19: Pop\n\t20: MoveLoc[0](Arg0: &Collection)\n\t21: Pop\n\t22: CopyLoc[2](loc0: u64)\n\t23: Call[6](some<u64>(u64): Option<u64>)\n\t24: Ret\nB6:\n\t25: CopyLoc[2](loc0: u64)\n\t26: LdU64(1)\n\t27: Add\n\t28: StLoc[2](loc0: u64)\n\t29: Branch(5)\nB7:\n\t30: MoveLoc[1](Arg1: &ID)\n\t31: Pop\n\t32: MoveLoc[0](Arg0: &Collection)\n\t33: Pop\n\t34: Call[7](none<u64>(): Option<u64>)\n\t35: Ret\n}\npublic new(): Collection {\nB0:\n\t0: MoveLoc[0](Arg0: &mut TxContext)\n\t1: LdAddr[0](U64: [0, 0, 1, 0, 0, 0, 0, 0])\n\t2: Call[5](new_with_max_capacity(&mut TxContext, u64): Collection)\n\t3: Ret\n}\npublic new_with_max_capacity(loc0: &mut TxContext): Collection {\nB0:\n\t0: CopyLoc[1](Arg1: u64)\n\t1: LdAddr[0](U64: [0, 0, 1, 0, 0, 0, 0, 0])\n\t2: Le\n\t3: BrTrue(5)\nB1:\n\t4: Branch(10)\nB2:\n\t5: CopyLoc[1](Arg1: u64)\n\t6: LdU64(0)\n\t7: Gt\n\t8: StLoc[2](loc0: bool)\n\t9: Branch(12)\nB3:\n\t10: LdFalse\n\t11: StLoc[2](loc0: bool)\nB4:\n\t12: MoveLoc[2](loc0: bool)\n\t13: BrTrue(19)\nB5:\n\t14: MoveLoc[0](Arg0: &mut TxContext)\n\t15: Pop\n\t16: LdAddr[1](U64: [2, 0, 0, 0, 0, 0, 0, 0])\n\t17: Call[11](limit_exceeded(u64): u64)\n\t18: Abort\nB6:\n\t19: MoveLoc[0](Arg0: &mut TxContext)\n\t20: Call[21](new_id(&mut TxContext): VersionedID)\n\t21: Call[8](empty<ID>(): vector<ID>)\n\t22: CopyLoc[1](Arg1: u64)\n\t23: Pack[0](Collection)\n\t24: Ret\n}\npublic remove<Ty0: key>(loc0: &mut Collection, loc1: Ty0): Ty0 {\nL0:\tloc2: Option<u64>\nB0:\n\t0: CopyLoc[0](Arg0: &mut Collection)\n\t1: ImmBorrowLoc[1](Arg1: Ty0)\n\t2: Call[0](id<Ty0>(&Ty0): &ID)\n\t3: StLoc[3](loc1: &ID)\n\t4: StLoc[2](loc0: &mut Collection)\n\t5: MoveLoc[2](loc0: &mut Collection)\n\t6: FreezeRef\n\t7: MoveLoc[3](loc1: &ID)\n\t8: Call[3](find(&Collection, &ID): Option<u64>)\n\t9: StLoc[4](loc2: Option<u64>)\n\t10: ImmBorrowLoc[4](loc2: Option<u64>)\n\t11: Call[9](is_none<u64>(&Option<u64>): bool)\n\t12: BrTrue(14)\nB1:\n\t13: Branch(18)\nB2:\n\t14: MoveLoc[0](Arg0: &mut Collection)\n\t15: Pop\n\t16: LdAddr[4](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t17: Abort\nB3:\n\t18: MoveLoc[0](Arg0: &mut Collection)\n\t19: MutBorrowField[1](Collection.objects: vector<ID>)\n\t20: ImmBorrowLoc[4](loc2: Option<u64>)\n\t21: Call[10](borrow<u64>(&Option<u64>): &u64)\n\t22: ReadRef\n\t23: Call[11](remove<ID>(&mut vector<ID>, u64): ID)\n\t24: Pop\n\t25: MoveLoc[1](Arg1: Ty0)\n\t26: Ret\n}\npublic remove_and_take<Ty0: key>(loc0: &mut Collection) {\nB0:\n\t0: MoveLoc[0](Arg0: &mut Collection)\n\t1: MoveLoc[1](Arg1: Ty0)\n\t2: Call[12](remove<Ty0>(&mut Collection, Ty0): Ty0)\n\t3: StLoc[3](loc0: Ty0)\n\t4: MoveLoc[3](loc0: Ty0)\n\t5: MoveLoc[2](Arg2: &mut TxContext)\n\t6: FreezeRef\n\t7: Call[16](sender(&TxContext): address)\n\t8: Call[13](transfer<Ty0>(Ty0, address))\n\t9: Ret\n}\npublic size(): u64 {\nB0:\n\t0: MoveLoc[0](Arg0: &Collection)\n\t1: ImmBorrowField[1](Collection.objects: vector<ID>)\n\t2: Call[14](length<ID>(&vector<ID>): u64)\n\t3: Ret\n}\npublic transfer() {\nB0:\n\t0: MoveLoc[0](Arg0: Collection)\n\t1: CopyLoc[1](Arg1: address)\n\t2: Call[4](transfer<Collection>(Collection, address))\n\t3: Ret\n}\npublic transfer_entry() {\nB0:\n\t0: MoveLoc[0](Arg0: Collection)\n\t1: CopyLoc[1](Arg1: address)\n\t2: Call[9](transfer(Collection, address))\n\t3: Ret\n}\n}","Escrow":"// Move bytecode v4\nmodule 2.Escrow {\nstruct EscrowedObj<Ty0: store + key, phantom Ty1: store + key> has store, key {\n\tid: VersionedID,\n\tsender: address,\n\trecipient: address,\n\texchange_for: ID,\n\tescrowed: Ty0\n}\n\npublic create<Ty0: store + key, Ty1: store + key>(loc0: address, loc1: address) {\nB0:\n\t0: CopyLoc[4](Arg4: &mut TxContext)\n\t1: FreezeRef\n\t2: Call[3](sender(&TxContext): address)\n\t3: StLoc[6](loc1: address)\n\t4: MoveLoc[4](Arg4: &mut TxContext)\n\t5: Call[4](new_id(&mut TxContext): VersionedID)\n\t6: StLoc[5](loc0: VersionedID)\n\t7: MoveLoc[5](loc0: VersionedID)\n\t8: CopyLoc[6](loc1: address)\n\t9: CopyLoc[0](Arg0: address)\n\t10: MoveLoc[2](Arg2: ID)\n\t11: MoveLoc[3](Arg3: Ty0)\n\t12: PackGeneric[0](EscrowedObj<Ty0, Ty1>)\n\t13: CopyLoc[1](Arg1: address)\n\t14: Call[0](transfer<EscrowedObj<Ty0, Ty1>>(EscrowedObj<Ty0, Ty1>, address))\n\t15: Ret\n}\npublic return_to_sender<Ty0: store + key, Ty1: store + key>(loc0: EscrowedObj<Ty0, Ty1>) {\nL0:\tloc1: VersionedID\nL1:\tloc2: address\nB0:\n\t0: MoveLoc[0](Arg0: EscrowedObj<Ty0, Ty1>)\n\t1: UnpackGeneric[0](EscrowedObj<Ty0, Ty1>)\n\t2: StLoc[1](loc0: Ty0)\n\t3: Pop\n\t4: Pop\n\t5: StLoc[3](loc2: address)\n\t6: StLoc[2](loc1: VersionedID)\n\t7: MoveLoc[2](loc1: VersionedID)\n\t8: Call[6](delete(VersionedID))\n\t9: MoveLoc[1](loc0: Ty0)\n\t10: CopyLoc[3](loc2: address)\n\t11: Call[1](transfer<Ty0>(Ty0, address))\n\t12: Ret\n}\npublic swap<Ty0: store + key, Ty1: store + key>(loc0: EscrowedObj<Ty0, Ty1>, loc1: EscrowedObj<Ty0, Ty1>) {\nL0:\tloc2: ID\nL1:\tloc3: ID\nL2:\tloc4: VersionedID\nL3:\tloc5: VersionedID\nL4:\tloc6: address\nL5:\tloc7: address\nL6:\tloc8: address\nL7:\tloc9: address\nB0:\n\t0: MoveLoc[0](Arg0: EscrowedObj<Ty0, Ty1>)\n\t1: UnpackGeneric[0](EscrowedObj<Ty0, Ty1>)\n\t2: StLoc[2](loc0: Ty0)\n\t3: StLoc[4](loc2: ID)\n\t4: StLoc[8](loc6: address)\n\t5: StLoc[10](loc8: address)\n\t6: StLoc[6](loc4: VersionedID)\n\t7: MoveLoc[1](Arg1: EscrowedObj<Ty0, Ty1>)\n\t8: UnpackGeneric[0](EscrowedObj<Ty0, Ty1>)\n\t9: StLoc[3](loc1: Ty0)\n\t10: StLoc[5](loc3: ID)\n\t11: StLoc[9](loc7: address)\n\t12: StLoc[11](loc9: address)\n\t13: StLoc[7](loc5: VersionedID)\n\t14: MoveLoc[6](loc4: VersionedID)\n\t15: Call[6](delete(VersionedID))\n\t16: MoveLoc[7](loc5: VersionedID)\n\t17: Call[6](delete(VersionedID))\n\t18: ImmBorrowLoc[10](loc8: address)\n\t19: ImmBorrowLoc[9](loc7: address)\n\t20: Eq\n\t21: BrTrue(24)\nB1:\n\t22: LdAddr[0](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t23: Abort\nB2:\n\t24: ImmBorrowLoc[11](loc9: address)\n\t25: ImmBorrowLoc[8](loc6: address)\n\t26: Eq\n\t27: BrTrue(30)\nB3:\n\t28: LdAddr[0](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t29: Abort\nB4:\n\t30: ImmBorrowLoc[2](loc0: Ty0)\n\t31: Call[2](id<Ty0>(&Ty0): &ID)\n\t32: ImmBorrowLoc[5](loc3: ID)\n\t33: Eq\n\t34: BrTrue(37)\nB5:\n\t35: LdAddr[0](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t36: Abort\nB6:\n\t37: ImmBorrowLoc[3](loc1: Ty0)\n\t38: Call[2](id<Ty0>(&Ty0): &ID)\n\t39: ImmBorrowLoc[4](loc2: ID)\n\t40: Eq\n\t41: BrTrue(44)\nB7:\n\t42: LdAddr[0](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t43: Abort\nB8:\n\t44: MoveLoc[2](loc0: Ty0)\n\t45: CopyLoc[11](loc9: address)\n\t46: Call[1](transfer<Ty0>(Ty0, address))\n\t47: MoveLoc[3](loc1: Ty0)\n\t48: CopyLoc[10](loc8: address)\n\t49: Call[1](transfer<Ty0>(Ty0, address))\n\t50: Ret\n}\n}","Event":"// Move bytecode v4\nmodule 2.Event {\n\n\nnative public emit<Ty0: copy + drop>()\n}","GAS":"// Move bytecode v4\nmodule 2.GAS {\nstruct GAS has drop {\n\tdummy_field: bool\n}\n\ninit(loc0: &mut TxContext) {\nB0:\n\t0: LdFalse\n\t1: Pack[0](GAS)\n\t2: CopyLoc[0](Arg0: &mut TxContext)\n\t3: Call[0](create_currency<GAS>(GAS, &mut TxContext): TreasuryCap<GAS>)\n\t4: StLoc[1](loc0: TreasuryCap<GAS>)\n\t5: MoveLoc[1](loc0: TreasuryCap<GAS>)\n\t6: MoveLoc[0](Arg0: &mut TxContext)\n\t7: FreezeRef\n\t8: Call[3](sender(&TxContext): address)\n\t9: Call[1](transfer<TreasuryCap<GAS>>(TreasuryCap<GAS>, address))\n\t10: Ret\n}\npublic transfer() {\nB0:\n\t0: MoveLoc[0](Arg0: Coin<GAS>)\n\t1: CopyLoc[1](Arg1: address)\n\t2: Call[2](transfer<GAS>(Coin<GAS>, address))\n\t3: Ret\n}\n}","Geniteam":"// Move bytecode v4\nmodule 2.Geniteam {\nstruct Farm has store, key {\n\tid: VersionedID,\n\tfarm_name: String,\n\tfarm_img_index: u64,\n\tlevel: u64,\n\tcurrent_xp: u64,\n\ttotal_monster_slots: u64,\n\toccupied_monster_slots: u64,\n\tpet_monsters_id: ID,\n\tapplied_farm_cosmetic_0_id: Option<ID>,\n\tapplied_farm_cosmetic_1_id: Option<ID>\n}\nstruct FarmCosmetic has store, key {\n\tid: VersionedID,\n\tcosmetic_type: u8,\n\tdisplay: String\n}\nstruct Monster has store, key {\n\tid: VersionedID,\n\tmonster_name: String,\n\tmonster_img_index: u64,\n\tbreed: u8,\n\tmonster_affinity: u8,\n\tmonster_description: String,\n\tmonster_level: u64,\n\tmonster_xp: u64,\n\thunger_level: u64,\n\taffection_level: u64,\n\tbuddy_level: u8,\n\tdisplay: String,\n\tapplied_monster_cosmetic_0_id: Option<ID>,\n\tapplied_monster_cosmetic_1_id: Option<ID>\n}\nstruct MonsterCosmetic has store, key {\n\tid: VersionedID,\n\tcosmetic_type: u8,\n\tdisplay: String\n}\nstruct Player has key {\n\tid: VersionedID,\n\tplayer_name: String,\n\twater_runes_count: u64,\n\tfire_runes_count: u64,\n\twind_runes_count: u64,\n\tearth_runes_count: u64,\n\towned_farms_id: Option<ID>,\n\tinventory_id: ID\n}\n\npublic create_farm(loc0: &mut Player) {\nB0:\n\t0: CopyLoc[0](Arg0: &mut Player)\n\t1: ImmBorrowField[0](Player.owned_farms_id: Option<ID>)\n\t2: Call[0](is_none<ID>(&Option<ID>): bool)\n\t3: BrTrue(10)\nB1:\n\t4: MoveLoc[0](Arg0: &mut Player)\n\t5: Pop\n\t6: MoveLoc[4](Arg4: &mut TxContext)\n\t7: Pop\n\t8: LdAddr[6](U64: [2, 0, 0, 0, 0, 0, 0, 0])\n\t9: Abort\nB2:\n\t10: MoveLoc[2](Arg2: vector<u8>)\n\t11: CopyLoc[1](Arg1: u64)\n\t12: CopyLoc[3](Arg3: u64)\n\t13: MoveLoc[4](Arg4: &mut TxContext)\n\t14: Call[1](create_farm_(vector<u8>, u64, u64, &mut TxContext): Farm)\n\t15: StLoc[5](loc0: Farm)\n\t16: ImmBorrowLoc[5](loc0: Farm)\n\t17: Call[1](id<Farm>(&Farm): &ID)\n\t18: ReadRef\n\t19: Call[2](some<ID>(ID): Option<ID>)\n\t20: CopyLoc[0](Arg0: &mut Player)\n\t21: MutBorrowField[0](Player.owned_farms_id: Option<ID>)\n\t22: WriteRef\n\t23: MoveLoc[5](loc0: Farm)\n\t24: MoveLoc[0](Arg0: &mut Player)\n\t25: Call[3](transfer_to_object<Farm, Player>(Farm, &mut Player))\n\t26: Ret\n}\npublic create_farm_(loc0: vector<u8>, loc1: u64): Farm {\nB0:\n\t0: CopyLoc[3](Arg3: &mut TxContext)\n\t1: Call[17](new_id(&mut TxContext): VersionedID)\n\t2: MoveLoc[0](Arg0: vector<u8>)\n\t3: Call[18](string(vector<u8>): String)\n\t4: CopyLoc[1](Arg1: u64)\n\t5: LdU64(0)\n\t6: LdU64(0)\n\t7: CopyLoc[2](Arg2: u64)\n\t8: LdU64(0)\n\t9: LdAddr[8](Address: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n\t10: Call[19](new(address): ID)\n\t11: Call[4](none<ID>(): Option<ID>)\n\t12: Call[4](none<ID>(): Option<ID>)\n\t13: Pack[0](Farm)\n\t14: StLoc[4](loc0: Farm)\n\t15: MoveLoc[3](Arg3: &mut TxContext)\n\t16: Call[21](new(&mut TxContext): Collection)\n\t17: StLoc[5](loc1: Collection)\n\t18: ImmBorrowLoc[5](loc1: Collection)\n\t19: Call[5](id<Collection>(&Collection): &ID)\n\t20: ReadRef\n\t21: MutBorrowLoc[4](loc0: Farm)\n\t22: MutBorrowField[1](Farm.pet_monsters_id: ID)\n\t23: WriteRef\n\t24: MoveLoc[5](loc1: Collection)\n\t25: MutBorrowLoc[4](loc0: Farm)\n\t26: Call[6](transfer_to_object<Collection, Farm>(Collection, &mut Farm))\n\t27: MoveLoc[4](loc0: Farm)\n\t28: Ret\n}\npublic create_farm_cosmetics(loc0: &mut Player) {\nB0:\n\t0: MoveLoc[0](Arg0: &mut Player)\n\t1: ImmBorrowField[2](Player.inventory_id: ID)\n\t2: ReadRef\n\t3: CopyLoc[1](Arg1: &mut Collection)\n\t4: FreezeRef\n\t5: Call[5](id<Collection>(&Collection): &ID)\n\t6: ReadRef\n\t7: Eq\n\t8: BrTrue(15)\nB1:\n\t9: MoveLoc[1](Arg1: &mut Collection)\n\t10: Pop\n\t11: MoveLoc[4](Arg4: &mut TxContext)\n\t12: Pop\n\t13: LdAddr[2](U64: [6, 0, 0, 0, 0, 0, 0, 0])\n\t14: Abort\nB2:\n\t15: MoveLoc[4](Arg4: &mut TxContext)\n\t16: Call[17](new_id(&mut TxContext): VersionedID)\n\t17: CopyLoc[2](Arg2: u8)\n\t18: MoveLoc[3](Arg3: vector<u8>)\n\t19: Call[18](string(vector<u8>): String)\n\t20: Pack[1](FarmCosmetic)\n\t21: StLoc[5](loc0: FarmCosmetic)\n\t22: MoveLoc[1](Arg1: &mut Collection)\n\t23: MoveLoc[5](loc0: FarmCosmetic)\n\t24: Call[7](add<FarmCosmetic>(&mut Collection, FarmCosmetic))\n\t25: Ret\n}\npublic create_monster(loc0: &mut Player) {\nB0:\n\t0: MoveLoc[3](Arg3: vector<u8>)\n\t1: CopyLoc[4](Arg4: u64)\n\t2: CopyLoc[5](Arg5: u8)\n\t3: CopyLoc[6](Arg6: u8)\n\t4: MoveLoc[7](Arg7: vector<u8>)\n\t5: MoveLoc[8](Arg8: vector<u8>)\n\t6: MoveLoc[9](Arg9: &mut TxContext)\n\t7: Call[4](create_monster_(vector<u8>, u64, u8, u8, vector<u8>, vector<u8>, &mut TxContext): Monster)\n\t8: StLoc[10](loc0: Monster)\n\t9: MoveLoc[1](Arg1: &mut Farm)\n\t10: ImmBorrowField[1](Farm.pet_monsters_id: ID)\n\t11: ReadRef\n\t12: CopyLoc[2](Arg2: &mut Collection)\n\t13: FreezeRef\n\t14: Call[5](id<Collection>(&Collection): &ID)\n\t15: ReadRef\n\t16: Eq\n\t17: BrTrue(22)\nB1:\n\t18: MoveLoc[2](Arg2: &mut Collection)\n\t19: Pop\n\t20: LdAddr[3](U64: [5, 0, 0, 0, 0, 0, 0, 0])\n\t21: Abort\nB2:\n\t22: MoveLoc[2](Arg2: &mut Collection)\n\t23: MoveLoc[10](loc0: Monster)\n\t24: Call[8](add<Monster>(&mut Collection, Monster))\n\t25: Ret\n}\npublic create_monster_(): Monster {\nB0:\n\t0: MoveLoc[6](Arg6: &mut TxContext)\n\t1: Call[17](new_id(&mut TxContext): VersionedID)\n\t2: MoveLoc[0](Arg0: vector<u8>)\n\t3: Call[18](string(vector<u8>): String)\n\t4: CopyLoc[1](Arg1: u64)\n\t5: CopyLoc[2](Arg2: u8)\n\t6: CopyLoc[3](Arg3: u8)\n\t7: MoveLoc[4](Arg4: vector<u8>)\n\t8: Call[18](string(vector<u8>): String)\n\t9: LdU64(0)\n\t10: LdU64(0)\n\t11: LdU64(0)\n\t12: LdU64(0)\n\t13: LdU8(0)\n\t14: MoveLoc[5](Arg5: vector<u8>)\n\t15: Call[18](string(vector<u8>): String)\n\t16: Call[4](none<ID>(): Option<ID>)\n\t17: Call[4](none<ID>(): Option<ID>)\n\t18: Pack[2](Monster)\n\t19: Ret\n}\npublic create_monster_cosmetics(loc0: &mut Player) {\nB0:\n\t0: MoveLoc[0](Arg0: &mut Player)\n\t1: ImmBorrowField[2](Player.inventory_id: ID)\n\t2: ReadRef\n\t3: CopyLoc[1](Arg1: &mut Collection)\n\t4: FreezeRef\n\t5: Call[5](id<Collection>(&Collection): &ID)\n\t6: ReadRef\n\t7: Eq\n\t8: BrTrue(15)\nB1:\n\t9: MoveLoc[1](Arg1: &mut Collection)\n\t10: Pop\n\t11: MoveLoc[4](Arg4: &mut TxContext)\n\t12: Pop\n\t13: LdAddr[2](U64: [6, 0, 0, 0, 0, 0, 0, 0])\n\t14: Abort\nB2:\n\t15: MoveLoc[4](Arg4: &mut TxContext)\n\t16: Call[17](new_id(&mut TxContext): VersionedID)\n\t17: CopyLoc[2](Arg2: u8)\n\t18: MoveLoc[3](Arg3: vector<u8>)\n\t19: Call[18](string(vector<u8>): String)\n\t20: Pack[3](MonsterCosmetic)\n\t21: StLoc[5](loc0: MonsterCosmetic)\n\t22: MoveLoc[1](Arg1: &mut Collection)\n\t23: MoveLoc[5](loc0: MonsterCosmetic)\n\t24: Call[9](add<MonsterCosmetic>(&mut Collection, MonsterCosmetic))\n\t25: Ret\n}\npublic create_player(loc0: vector<u8>) {\nB0:\n\t0: MoveLoc[0](Arg0: vector<u8>)\n\t1: CopyLoc[1](Arg1: &mut TxContext)\n\t2: Call[7](create_player_(vector<u8>, &mut TxContext): Player)\n\t3: StLoc[2](loc0: Player)\n\t4: MoveLoc[2](loc0: Player)\n\t5: MoveLoc[1](Arg1: &mut TxContext)\n\t6: FreezeRef\n\t7: Call[23](sender(&TxContext): address)\n\t8: Call[10](transfer<Player>(Player, address))\n\t9: Ret\n}\npublic create_player_(loc0: vector<u8>, loc1: &mut TxContext): Player {\nB0:\n\t0: CopyLoc[1](Arg1: &mut TxContext)\n\t1: Call[17](new_id(&mut TxContext): VersionedID)\n\t2: MoveLoc[0](Arg0: vector<u8>)\n\t3: Call[18](string(vector<u8>): String)\n\t4: LdU64(0)\n\t5: LdU64(0)\n\t6: LdU64(0)\n\t7: LdU64(0)\n\t8: Call[4](none<ID>(): Option<ID>)\n\t9: LdAddr[8](Address: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n\t10: Call[19](new(address): ID)\n\t11: Pack[4](Player)\n\t12: StLoc[3](loc1: Player)\n\t13: MoveLoc[1](Arg1: &mut TxContext)\n\t14: Call[21](new(&mut TxContext): Collection)\n\t15: StLoc[2](loc0: Collection)\n\t16: ImmBorrowLoc[2](loc0: Collection)\n\t17: Call[5](id<Collection>(&Collection): &ID)\n\t18: ReadRef\n\t19: MutBorrowLoc[3](loc1: Player)\n\t20: MutBorrowField[2](Player.inventory_id: ID)\n\t21: WriteRef\n\t22: MoveLoc[2](loc0: Collection)\n\t23: MutBorrowLoc[3](loc1: Player)\n\t24: Call[11](transfer_to_object<Collection, Player>(Collection, &mut Player))\n\t25: MoveLoc[3](loc1: Player)\n\t26: Ret\n}\npublic update_farm_cosmetics() {\nB0:\n\t0: CopyLoc[4](Arg4: u64)\n\t1: LdU64(1)\n\t2: Le\n\t3: BrTrue(8)\nB1:\n\t4: MoveLoc[1](Arg1: &mut Farm)\n\t5: Pop\n\t6: LdAddr[1](U64: [7, 0, 0, 0, 0, 0, 0, 0])\n\t7: Abort\nB2:\n\t8: CopyLoc[4](Arg4: u64)\n\t9: LdU64(0)\n\t10: Eq\n\t11: BrTrue(13)\nB3:\n\t12: Branch(21)\nB4:\n\t13: ImmBorrowLoc[3](Arg3: FarmCosmetic)\n\t14: Call[12](id<FarmCosmetic>(&FarmCosmetic): &ID)\n\t15: ReadRef\n\t16: Call[2](some<ID>(ID): Option<ID>)\n\t17: CopyLoc[1](Arg1: &mut Farm)\n\t18: MutBorrowField[3](Farm.applied_farm_cosmetic_0_id: Option<ID>)\n\t19: WriteRef\n\t20: Branch(28)\nB5:\n\t21: ImmBorrowLoc[3](Arg3: FarmCosmetic)\n\t22: Call[12](id<FarmCosmetic>(&FarmCosmetic): &ID)\n\t23: ReadRef\n\t24: Call[2](some<ID>(ID): Option<ID>)\n\t25: CopyLoc[1](Arg1: &mut Farm)\n\t26: MutBorrowField[4](Farm.applied_farm_cosmetic_1_id: Option<ID>)\n\t27: WriteRef\nB6:\n\t28: MoveLoc[3](Arg3: FarmCosmetic)\n\t29: MoveLoc[1](Arg1: &mut Farm)\n\t30: Call[13](transfer_to_object<FarmCosmetic, Farm>(FarmCosmetic, &mut Farm))\n\t31: Ret\n}\npublic update_farm_stats() {\nB0:\n\t0: CopyLoc[3](Arg3: u64)\n\t1: CopyLoc[1](Arg1: &mut Farm)\n\t2: MutBorrowField[5](Farm.current_xp: u64)\n\t3: WriteRef\n\t4: CopyLoc[2](Arg2: u64)\n\t5: MoveLoc[1](Arg1: &mut Farm)\n\t6: MutBorrowField[6](Farm.level: u64)\n\t7: WriteRef\n\t8: Ret\n}\npublic update_monster_cosmetics() {\nB0:\n\t0: CopyLoc[6](Arg6: u64)\n\t1: LdU64(1)\n\t2: Le\n\t3: BrTrue(8)\nB1:\n\t4: MoveLoc[2](Arg2: &mut Monster)\n\t5: Pop\n\t6: LdAddr[1](U64: [7, 0, 0, 0, 0, 0, 0, 0])\n\t7: Abort\nB2:\n\t8: CopyLoc[6](Arg6: u64)\n\t9: LdU64(0)\n\t10: Eq\n\t11: BrTrue(13)\nB3:\n\t12: Branch(21)\nB4:\n\t13: ImmBorrowLoc[4](Arg4: MonsterCosmetic)\n\t14: Call[14](id<MonsterCosmetic>(&MonsterCosmetic): &ID)\n\t15: ReadRef\n\t16: Call[2](some<ID>(ID): Option<ID>)\n\t17: CopyLoc[2](Arg2: &mut Monster)\n\t18: MutBorrowField[7](Monster.applied_monster_cosmetic_0_id: Option<ID>)\n\t19: WriteRef\n\t20: Branch(28)\nB5:\n\t21: ImmBorrowLoc[4](Arg4: MonsterCosmetic)\n\t22: Call[14](id<MonsterCosmetic>(&MonsterCosmetic): &ID)\n\t23: ReadRef\n\t24: Call[2](some<ID>(ID): Option<ID>)\n\t25: CopyLoc[2](Arg2: &mut Monster)\n\t26: MutBorrowField[8](Monster.applied_monster_cosmetic_1_id: Option<ID>)\n\t27: WriteRef\nB6:\n\t28: MoveLoc[4](Arg4: MonsterCosmetic)\n\t29: MoveLoc[2](Arg2: &mut Monster)\n\t30: Call[15](transfer_to_object<MonsterCosmetic, Monster>(MonsterCosmetic, &mut Monster))\n\t31: Ret\n}\npublic update_monster_stats() {\nB0:\n\t0: CopyLoc[4](Arg4: u8)\n\t1: CopyLoc[3](Arg3: &mut Monster)\n\t2: MutBorrowField[9](Monster.monster_affinity: u8)\n\t3: WriteRef\n\t4: CopyLoc[5](Arg5: u64)\n\t5: CopyLoc[3](Arg3: &mut Monster)\n\t6: MutBorrowField[10](Monster.monster_level: u64)\n\t7: WriteRef\n\t8: CopyLoc[6](Arg6: u64)\n\t9: CopyLoc[3](Arg3: &mut Monster)\n\t10: MutBorrowField[11](Monster.hunger_level: u64)\n\t11: WriteRef\n\t12: CopyLoc[7](Arg7: u64)\n\t13: CopyLoc[3](Arg3: &mut Monster)\n\t14: MutBorrowField[12](Monster.affection_level: u64)\n\t15: WriteRef\n\t16: CopyLoc[8](Arg8: u8)\n\t17: CopyLoc[3](Arg3: &mut Monster)\n\t18: MutBorrowField[13](Monster.buddy_level: u8)\n\t19: WriteRef\n\t20: ImmBorrowLoc[9](Arg9: vector<u8>)\n\t21: Call[16](length<u8>(&vector<u8>): u64)\n\t22: LdU64(0)\n\t23: Neq\n\t24: BrTrue(26)\nB1:\n\t25: Branch(32)\nB2:\n\t26: MoveLoc[9](Arg9: vector<u8>)\n\t27: Call[18](string(vector<u8>): String)\n\t28: MoveLoc[3](Arg3: &mut Monster)\n\t29: MutBorrowField[14](Monster.display: String)\n\t30: WriteRef\n\t31: Branch(34)\nB3:\n\t32: MoveLoc[3](Arg3: &mut Monster)\n\t33: Pop\nB4:\n\t34: Ret\n}\npublic update_player() {\nB0:\n\t0: CopyLoc[1](Arg1: u64)\n\t1: CopyLoc[0](Arg0: &mut Player)\n\t2: MutBorrowField[15](Player.water_runes_count: u64)\n\t3: WriteRef\n\t4: CopyLoc[2](Arg2: u64)\n\t5: CopyLoc[0](Arg0: &mut Player)\n\t6: MutBorrowField[16](Player.fire_runes_count: u64)\n\t7: WriteRef\n\t8: CopyLoc[3](Arg3: u64)\n\t9: CopyLoc[0](Arg0: &mut Player)\n\t10: MutBorrowField[17](Player.wind_runes_count: u64)\n\t11: WriteRef\n\t12: CopyLoc[4](Arg4: u64)\n\t13: MoveLoc[0](Arg0: &mut Player)\n\t14: MutBorrowField[18](Player.earth_runes_count: u64)\n\t15: WriteRef\n\t16: Ret\n}\n}","Geniteam2":"// Move bytecode v4\nmodule 2.Geniteam2 {\nstruct Farm has store, key {\n\tid: VersionedID,\n\tfarm_name: String,\n\tfarm_img_id: u64,\n\tlevel: u64,\n\tcurrent_xp: u64,\n\ttotal_monster_slots: u64,\n\toccupied_monster_slots: u64,\n\tfarm_cosmetic_slot1: Option<FarmCosmetic>,\n\tfarm_cosmetic_slot2: Option<FarmCosmetic>,\n\tpet_monsters: vector<Monster>\n}\nstruct FarmCosmetic has drop, store {\n\tcosmetic_type: u8,\n\tcosmetic_id: u64\n}\nstruct Monster has store, key {\n\tid: VersionedID,\n\tmonster_name: String,\n\tmonster_img_id: u64,\n\tbreed: u8,\n\tmonster_affinity: u8,\n\tmonster_description: String,\n\tmonster_level: u64,\n\tmonster_xp: u64,\n\thunger_level: u64,\n\taffection_level: u64,\n\tbuddy_level: u8,\n\tmonster_cosmetic_slot1: Option<MonsterCosmetic>,\n\tmonster_cosmetic_slot2: Option<MonsterCosmetic>\n}\nstruct MonsterCosmetic has drop, store {\n\tcosmetic_type: u8,\n\tcosmetic_id: u64\n}\nstruct Player has key {\n\tid: VersionedID,\n\tplayer_name: String,\n\tfarm: Farm,\n\twater_runes_count: u64,\n\tfire_runes_count: u64,\n\twind_runes_count: u64,\n\tearth_runes_count: u64,\n\towned_farm_cosmetics: vector<FarmCosmetic>,\n\towned_monster_cosmetics: vector<MonsterCosmetic>\n}\n\npublic add_monster() {\nB0:\n\t0: CopyLoc[0](Arg0: &mut Player)\n\t1: MutBorrowField[0](Player.farm: Farm)\n\t2: MutBorrowField[1](Farm.pet_monsters: vector<Monster>)\n\t3: MoveLoc[1](Arg1: Monster)\n\t4: Call[0](push_back<Monster>(&mut vector<Monster>, Monster))\n\t5: CopyLoc[0](Arg0: &mut Player)\n\t6: ImmBorrowField[0](Player.farm: Farm)\n\t7: ImmBorrowField[2](Farm.occupied_monster_slots: u64)\n\t8: ReadRef\n\t9: LdU64(1)\n\t10: Add\n\t11: CopyLoc[0](Arg0: &mut Player)\n\t12: MutBorrowField[0](Player.farm: Farm)\n\t13: MutBorrowField[2](Farm.occupied_monster_slots: u64)\n\t14: WriteRef\n\t15: CopyLoc[0](Arg0: &mut Player)\n\t16: ImmBorrowField[0](Player.farm: Farm)\n\t17: ImmBorrowField[2](Farm.occupied_monster_slots: u64)\n\t18: ReadRef\n\t19: MoveLoc[0](Arg0: &mut Player)\n\t20: ImmBorrowField[0](Player.farm: Farm)\n\t21: ImmBorrowField[3](Farm.total_monster_slots: u64)\n\t22: ReadRef\n\t23: Le\n\t24: BrTrue(27)\nB1:\n\t25: LdAddr[1](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t26: Abort\nB2:\n\t27: Ret\n}\npublic create_farm_(): Farm {\nB0:\n\t0: MoveLoc[3](Arg3: &mut TxContext)\n\t1: Call[16](new_id(&mut TxContext): VersionedID)\n\t2: MoveLoc[0](Arg0: vector<u8>)\n\t3: Call[17](string(vector<u8>): String)\n\t4: CopyLoc[1](Arg1: u64)\n\t5: LdU64(0)\n\t6: LdU64(0)\n\t7: CopyLoc[2](Arg2: u64)\n\t8: LdU64(0)\n\t9: Call[1](none<FarmCosmetic>(): Option<FarmCosmetic>)\n\t10: Call[1](none<FarmCosmetic>(): Option<FarmCosmetic>)\n\t11: Call[2](empty<Monster>(): vector<Monster>)\n\t12: Pack[0](Farm)\n\t13: Ret\n}\npublic create_monster(loc0: vector<u8>) {\nB0:\n\t0: MoveLoc[0](Arg0: vector<u8>)\n\t1: CopyLoc[1](Arg1: u64)\n\t2: CopyLoc[2](Arg2: u8)\n\t3: CopyLoc[3](Arg3: u8)\n\t4: MoveLoc[4](Arg4: vector<u8>)\n\t5: CopyLoc[5](Arg5: &mut TxContext)\n\t6: Call[3](create_monster_(vector<u8>, u64, u8, u8, vector<u8>, &mut TxContext): Monster)\n\t7: StLoc[6](loc0: Monster)\n\t8: MoveLoc[6](loc0: Monster)\n\t9: MoveLoc[5](Arg5: &mut TxContext)\n\t10: FreezeRef\n\t11: Call[20](sender(&TxContext): address)\n\t12: Call[3](transfer<Monster>(Monster, address))\n\t13: Ret\n}\npublic create_monster_(): Monster {\nB0:\n\t0: MoveLoc[5](Arg5: &mut TxContext)\n\t1: Call[16](new_id(&mut TxContext): VersionedID)\n\t2: MoveLoc[0](Arg0: vector<u8>)\n\t3: Call[17](string(vector<u8>): String)\n\t4: CopyLoc[1](Arg1: u64)\n\t5: CopyLoc[2](Arg2: u8)\n\t6: CopyLoc[3](Arg3: u8)\n\t7: MoveLoc[4](Arg4: vector<u8>)\n\t8: Call[17](string(vector<u8>): String)\n\t9: LdU64(0)\n\t10: LdU64(0)\n\t11: LdU64(0)\n\t12: LdU64(0)\n\t13: LdU8(0)\n\t14: Call[4](none<MonsterCosmetic>(): Option<MonsterCosmetic>)\n\t15: Call[4](none<MonsterCosmetic>(): Option<MonsterCosmetic>)\n\t16: Pack[2](Monster)\n\t17: Ret\n}\npublic create_player(loc0: vector<u8>, loc1: vector<u8>) {\nB0:\n\t0: MoveLoc[1](Arg1: vector<u8>)\n\t1: CopyLoc[2](Arg2: u64)\n\t2: CopyLoc[3](Arg3: u64)\n\t3: CopyLoc[4](Arg4: &mut TxContext)\n\t4: Call[1](create_farm_(vector<u8>, u64, u64, &mut TxContext): Farm)\n\t5: StLoc[5](loc0: Farm)\n\t6: MoveLoc[0](Arg0: vector<u8>)\n\t7: MoveLoc[5](loc0: Farm)\n\t8: CopyLoc[4](Arg4: &mut TxContext)\n\t9: Call[5](create_player_(vector<u8>, Farm, &mut TxContext): Player)\n\t10: StLoc[6](loc1: Player)\n\t11: MoveLoc[6](loc1: Player)\n\t12: MoveLoc[4](Arg4: &mut TxContext)\n\t13: FreezeRef\n\t14: Call[20](sender(&TxContext): address)\n\t15: Call[5](transfer<Player>(Player, address))\n\t16: Ret\n}\npublic create_player_(): Player {\nB0:\n\t0: MoveLoc[2](Arg2: &mut TxContext)\n\t1: Call[16](new_id(&mut TxContext): VersionedID)\n\t2: MoveLoc[0](Arg0: vector<u8>)\n\t3: Call[17](string(vector<u8>): String)\n\t4: MoveLoc[1](Arg1: Farm)\n\t5: LdU64(0)\n\t6: LdU64(0)\n\t7: LdU64(0)\n\t8: LdU64(0)\n\t9: Call[6](empty<FarmCosmetic>(): vector<FarmCosmetic>)\n\t10: Call[7](empty<MonsterCosmetic>(): vector<MonsterCosmetic>)\n\t11: Pack[4](Player)\n\t12: Ret\n}\npublic remove_monster(loc0: &mut Player, loc1: vector<u8>, loc2: &mut TxContext) {\nB0:\n\t0: MoveLoc[0](Arg0: &mut Player)\n\t1: StLoc[4](loc1: &mut Player)\n\t2: MoveLoc[1](Arg1: vector<u8>)\n\t3: Call[22](new_from_bytes(vector<u8>): ID)\n\t4: StLoc[3](loc0: ID)\n\t5: MoveLoc[4](loc1: &mut Player)\n\t6: ImmBorrowLoc[3](loc0: ID)\n\t7: Call[7](remove_monster_(&mut Player, &ID): Monster)\n\t8: StLoc[5](loc2: Monster)\n\t9: MoveLoc[5](loc2: Monster)\n\t10: MoveLoc[2](Arg2: &mut TxContext)\n\t11: FreezeRef\n\t12: Call[20](sender(&TxContext): address)\n\t13: Call[3](transfer<Monster>(Monster, address))\n\t14: Ret\n}\npublic remove_monster_(loc0: &mut Player, loc1: &ID): Monster {\nL0:\tloc2: &mut Farm\nL1:\tloc3: u64\nL2:\tloc4: &Monster\nL3:\tloc5: &mut vector<Monster>\nL4:\tloc6: u64\nB0:\n\t0: MoveLoc[0](Arg0: &mut Player)\n\t1: MutBorrowField[0](Player.farm: Farm)\n\t2: StLoc[4](loc2: &mut Farm)\n\t3: CopyLoc[4](loc2: &mut Farm)\n\t4: MutBorrowField[1](Farm.pet_monsters: vector<Monster>)\n\t5: StLoc[7](loc5: &mut vector<Monster>)\n\t6: CopyLoc[7](loc5: &mut vector<Monster>)\n\t7: FreezeRef\n\t8: Call[8](length<Monster>(&vector<Monster>): u64)\n\t9: StLoc[8](loc6: u64)\n\t10: LdU64(0)\n\t11: StLoc[5](loc3: u64)\nB1:\n\t12: CopyLoc[5](loc3: u64)\n\t13: CopyLoc[8](loc6: u64)\n\t14: Lt\n\t15: BrTrue(17)\nB2:\n\t16: Branch(40)\nB3:\n\t17: CopyLoc[7](loc5: &mut vector<Monster>)\n\t18: CopyLoc[5](loc3: u64)\n\t19: StLoc[3](loc1: u64)\n\t20: StLoc[2](loc0: &mut vector<Monster>)\n\t21: MoveLoc[2](loc0: &mut vector<Monster>)\n\t22: FreezeRef\n\t23: MoveLoc[3](loc1: u64)\n\t24: Call[9](borrow<Monster>(&vector<Monster>, u64): &Monster)\n\t25: StLoc[6](loc4: &Monster)\n\t26: MoveLoc[6](loc4: &Monster)\n\t27: Call[10](id<Monster>(&Monster): &ID)\n\t28: CopyLoc[1](Arg1: &ID)\n\t29: Eq\n\t30: BrTrue(32)\nB4:\n\t31: Branch(35)\nB5:\n\t32: MoveLoc[1](Arg1: &ID)\n\t33: Pop\n\t34: Branch(40)\nB6:\n\t35: CopyLoc[5](loc3: u64)\n\t36: LdU64(1)\n\t37: Add\n\t38: StLoc[5](loc3: u64)\n\t39: Branch(12)\nB7:\n\t40: CopyLoc[5](loc3: u64)\n\t41: CopyLoc[8](loc6: u64)\n\t42: Neq\n\t43: BrTrue(50)\nB8:\n\t44: MoveLoc[7](loc5: &mut vector<Monster>)\n\t45: Pop\n\t46: MoveLoc[4](loc2: &mut Farm)\n\t47: Pop\n\t48: LdAddr[0](U64: [1, 0, 0, 0, 0, 0, 0, 0])\n\t49: Abort\nB9:\n\t50: CopyLoc[4](loc2: &mut Farm)\n\t51: ImmBorrowField[2](Farm.occupied_monster_slots: u64)\n\t52: ReadRef\n\t53: LdU64(1)\n\t54: Sub\n\t55: MoveLoc[4](loc2: &mut Farm)\n\t56: MutBorrowField[2](Farm.occupied_monster_slots: u64)\n\t57: WriteRef\n\t58: MoveLoc[7](loc5: &mut vector<Monster>)\n\t59: CopyLoc[5](loc3: u64)\n\t60: Call[11](remove<Monster>(&mut vector<Monster>, u64): Monster)\n\t61: Ret\n}\npublic update_farm() {\nB0:\n\t0: CopyLoc[1](Arg1: u64)\n\t1: MoveLoc[0](Arg0: &mut Player)\n\t2: MutBorrowField[0](Player.farm: Farm)\n\t3: MutBorrowField[4](Farm.level: u64)\n\t4: WriteRef\n\t5: Ret\n}\npublic update_farm_cosmetic_slot1() {\nB0:\n\t0: CopyLoc[1](Arg1: u8)\n\t1: CopyLoc[2](Arg2: u64)\n\t2: Pack[1](FarmCosmetic)\n\t3: Call[12](some<FarmCosmetic>(FarmCosmetic): Option<FarmCosmetic>)\n\t4: MoveLoc[0](Arg0: &mut Player)\n\t5: MutBorrowField[0](Player.farm: Farm)\n\t6: MutBorrowField[5](Farm.farm_cosmetic_slot1: Option<FarmCosmetic>)\n\t7: WriteRef\n\t8: Ret\n}\npublic update_farm_cosmetic_slot2() {\nB0:\n\t0: CopyLoc[1](Arg1: u8)\n\t1: CopyLoc[2](Arg2: u64)\n\t2: Pack[1](FarmCosmetic)\n\t3: Call[12](some<FarmCosmetic>(FarmCosmetic): Option<FarmCosmetic>)\n\t4: MoveLoc[0](Arg0: &mut Player)\n\t5: MutBorrowField[0](Player.farm: Farm)\n\t6: MutBorrowField[6](Farm.farm_cosmetic_slot2: Option<FarmCosmetic>)\n\t7: WriteRef\n\t8: Ret\n}\npublic update_monster() {\nB0:\n\t0: CopyLoc[1](Arg1: u64)\n\t1: CopyLoc[0](Arg0: &mut Monster)\n\t2: MutBorrowField[7](Monster.monster_level: u64)\n\t3: WriteRef\n\t4: CopyLoc[2](Arg2: u64)\n\t5: CopyLoc[0](Arg0: &mut Monster)\n\t6: MutBorrowField[8](Monster.hunger_level: u64)\n\t7: WriteRef\n\t8: CopyLoc[3](Arg3: u64)\n\t9: CopyLoc[0](Arg0: &mut Monster)\n\t10: MutBorrowField[9](Monster.affection_level: u64)\n\t11: WriteRef\n\t12: CopyLoc[4](Arg4: u8)\n\t13: MoveLoc[0](Arg0: &mut Monster)\n\t14: MutBorrowField[10](Monster.buddy_level: u8)\n\t15: WriteRef\n\t16: Ret\n}\npublic update_monster_cosmetic_slot1() {\nB0:\n\t0: CopyLoc[1](Arg1: u8)\n\t1: CopyLoc[2](Arg2: u64)\n\t2: Pack[3](MonsterCosmetic)\n\t3: Call[13](some<MonsterCosmetic>(MonsterCosmetic): Option<MonsterCosmetic>)\n\t4: MoveLoc[0](Arg0: &mut Monster)\n\t5: MutBorrowField[11](Monster.monster_cosmetic_slot1: Option<MonsterCosmetic>)\n\t6: WriteRef\n\t7: Ret\n}\npublic update_monster_cosmetic_slot2() {\nB0:\n\t0: CopyLoc[1](Arg1: u8)\n\t1: CopyLoc[2](Arg2: u64)\n\t2: Pack[3](MonsterCosmetic)\n\t3: Call[13](some<MonsterCosmetic>(MonsterCosmetic): Option<MonsterCosmetic>)\n\t4: MoveLoc[0](Arg0: &mut Monster)\n\t5: MutBorrowField[12](Monster.monster_cosmetic_slot2: Option<MonsterCosmetic>)\n\t6: WriteRef\n\t7: Ret\n}\npublic update_player() {\nB0:\n\t0: CopyLoc[1](Arg1: u64)\n\t1: CopyLoc[0](Arg0: &mut Player)\n\t2: MutBorrowField[13](Player.water_runes_count: u64)\n\t3: WriteRef\n\t4: CopyLoc[2](Arg2: u64)\n\t5: CopyLoc[0](Arg0: &mut Player)\n\t6: MutBorrowField[14](Player.fire_runes_count: u64)\n\t7: WriteRef\n\t8: CopyLoc[3](Arg3: u64)\n\t9: CopyLoc[0](Arg0: &mut Player)\n\t10: MutBorrowField[15](Player.wind_runes_count: u64)\n\t11: WriteRef\n\t12: CopyLoc[4](Arg4: u64)\n\t13: MoveLoc[0](Arg0: &mut Player)\n\t14: MutBorrowField[16](Player.earth_runes_count: u64)\n\t15: WriteRef\n\t16: Ret\n}\n}","ID":"// Move bytecode v4\nmodule 2.ID {\nstruct ID has copy, drop, store {\n\tbytes: address\n}\nstruct UniqueID has store {\n\tid: ID\n}\nstruct VersionedID has store {\n\tid: UniqueID,\n\tversion: u64\n}\n\npublic bytes(): vector<u8> {\nB0:\n\t0: MoveLoc[0](Arg0: &ID)\n\t1: ImmBorrowField[0](ID.bytes: address)\n\t2: Call[0](to_bytes<address>(&address): vector<u8>)\n\t3: Ret\n}\nnative bytes_to_address(): address\ncreated_by_current_tx<Ty0: key>(): bool {\nB0:\n\t0: MoveLoc[0](Arg0: &Ty0)\n\t1: Call[1](version<Ty0>(&Ty0): u64)\n\t2: LdAddr[0](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t3: Eq\n\t4: Ret\n}\npublic delete(loc0: VersionedID) {\nB0:\n\t0: MoveLoc[0](Arg0: VersionedID)\n\t1: Unpack[2](VersionedID)\n\t2: Pop\n\t3: StLoc[1](loc0: UniqueID)\n\t4: MoveLoc[1](loc0: UniqueID)\n\t5: Call[4](delete_id(UniqueID))\n\t6: Ret\n}\nnative delete_id()\nnative get_versioned_id<Ty0: key>(): &VersionedID\npublic id<Ty0: key>(loc0: &Ty0): &ID {\nB0:\n\t0: MoveLoc[0](Arg0: &Ty0)\n\t1: Call[2](get_versioned_id<Ty0>(&Ty0): &VersionedID)\n\t2: StLoc[1](loc0: &VersionedID)\n\t3: MoveLoc[1](loc0: &VersionedID)\n\t4: Call[9](inner(&VersionedID): &ID)\n\t5: Ret\n}\npublic(friend) id_address<Ty0: key>(loc0: &Ty0): address {\nB0:\n\t0: MoveLoc[0](Arg0: &Ty0)\n\t1: Call[3](id<Ty0>(&Ty0): &ID)\n\t2: StLoc[1](loc0: &ID)\n\t3: MoveLoc[1](loc0: &ID)\n\t4: ImmBorrowField[0](ID.bytes: address)\n\t5: ReadRef\n\t6: Ret\n}\npublic id_bytes<Ty0: key>(loc0: &Ty0): vector<u8> {\nB0:\n\t0: MoveLoc[0](Arg0: &Ty0)\n\t1: Call[2](get_versioned_id<Ty0>(&Ty0): &VersionedID)\n\t2: StLoc[1](loc0: &VersionedID)\n\t3: MoveLoc[1](loc0: &VersionedID)\n\t4: Call[10](inner_bytes(&VersionedID): vector<u8>)\n\t5: Ret\n}\npublic inner(): &ID {\nB0:\n\t0: MoveLoc[0](Arg0: &VersionedID)\n\t1: ImmBorrowField[1](VersionedID.id: UniqueID)\n\t2: ImmBorrowField[2](UniqueID.id: ID)\n\t3: Ret\n}\npublic inner_bytes(): vector<u8> {\nB0:\n\t0: MoveLoc[0](Arg0: &VersionedID)\n\t1: Call[9](inner(&VersionedID): &ID)\n\t2: Call[0](bytes(&ID): vector<u8>)\n\t3: Ret\n}\npublic new(): ID {\nB0:\n\t0: CopyLoc[0](Arg0: address)\n\t1: Pack[0](ID)\n\t2: Ret\n}\npublic new_from_bytes(): ID {\nB0:\n\t0: ImmBorrowLoc[0](Arg0: vector<u8>)\n\t1: Call[4](length<u8>(&vector<u8>): u64)\n\t2: LdAddr[1](U64: [20, 0, 0, 0, 0, 0, 0, 0])\n\t3: Neq\n\t4: BrTrue(6)\nB1:\n\t5: Branch(8)\nB2:\n\t6: LdAddr[0](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t7: Abort\nB3:\n\t8: MoveLoc[0](Arg0: vector<u8>)\n\t9: Call[1](bytes_to_address(vector<u8>): address)\n\t10: Pack[0](ID)\n\t11: Ret\n}\npublic(friend) new_versioned_id(): VersionedID {\nB0:\n\t0: CopyLoc[0](Arg0: address)\n\t1: Pack[0](ID)\n\t2: Pack[1](UniqueID)\n\t3: LdAddr[0](U64: [0, 0, 0, 0, 0, 0, 0, 0])\n\t4: Pack[2](VersionedID)\n\t5: Ret\n}\nversion<Ty0: key>(loc0: &Ty0): u64 {\nB0:\n\t0: MoveLoc[0](Arg0: &Ty0)\n\t1: Call[2](get_versioned_id<Ty0>(&Ty0): &VersionedID)\n\t2: StLoc[1](loc0: &VersionedID)\n\t3: MoveLoc[1](loc0: &VersionedID)\n\t4: ImmBorrowField[3](VersionedID.version: u64)\n\t5: ReadRef\n\t6: Ret\n}\n}","Math":"// Move bytecode v4\nmodule 2.Math {\n\n\npublic max(loc0: u64): u64 {\nB0:\n\t0: CopyLoc[0](Arg0: u64)\n\t1: CopyLoc[1](Arg1: u64)\n\t2: Gt\n\t3: BrTrue(5)\nB1:\n\t4: Branch(8)\nB2:\n\t5: CopyLoc[0](Arg0: u64)\n\t6: StLoc[2](loc0: u64)\n\t7: Branch(10)\nB3:\n\t8: CopyLoc[1](Arg1: u64)\n\t9: StLoc[2](loc0: u64)\nB4:\n\t10: MoveLoc[2](loc0: u64)\n\t11: Ret\n}\npublic min(loc0: u64): u64 {\nB0:\n\t0: CopyLoc[0](Arg0: u64)\n\t1: CopyLoc[1](Arg1: u64)\n\t2: Lt\n\t3: BrTrue(5)\nB1:\n\t4: Branch(8)\nB2:\n\t5: CopyLoc[0](Arg0: u64)\n\t6: StLoc[2](loc0: u64)\n\t7: Branch(10)\nB3:\n\t8: CopyLoc[1](Arg1: u64)\n\t9: StLoc[2](loc0: u64)\nB4:\n\t10: MoveLoc[2](loc0: u64)\n\t11: Ret\n}\n}","ObjectBasics":"// Move bytecode v4\nmodule 2.ObjectBasics {\nstruct NewValueEvent has copy, drop {\n\tnew_value: u64\n}\nstruct Object has store, key {\n\tid: VersionedID,\n\tvalue: u64\n}\nstruct Wrapper has key {\n\tid: VersionedID,\n\to: Object\n}\n\npublic create() {\nB0:\n\t0: MoveLoc[2](Arg2: &mut TxContext)\n\t1: Call[9](new_id(&mut TxContext): VersionedID)\n\t2: CopyLoc[0](Arg0: u64)\n\t3: Pack[1](Object)\n\t4: CopyLoc[1](Arg1: address)\n\t5: Call[0](transfer<Object>(Object, address))\n\t6: Ret\n}\npublic delete(loc0: Object) {\nB0:\n\t0: MoveLoc[0](Arg0: Object)\n\t1: Unpack[1](Object)\n\t2: Pop\n\t3: StLoc[2](loc0: VersionedID)\n\t4: MoveLoc[2](loc0: VersionedID)\n\t5: Call[11](delete(VersionedID))\n\t6: Ret\n}\npublic set_value() {\nB0:\n\t0: CopyLoc[1](Arg1: u64)\n\t1: MoveLoc[0](Arg0: &mut Object)\n\t2: MutBorrowField[0](Object.value: u64)\n\t3: WriteRef\n\t4: Ret\n}\npublic transfer() {\nB0:\n\t0: MoveLoc[0](Arg0: Object)\n\t1: CopyLoc[1](Arg1: address)\n\t2: Call[0](transfer<Object>(Object, address))\n\t3: Ret\n}\npublic transfer_and_freeze() {\nB0:\n\t0: MoveLoc[0](Arg0: Object)\n\t1: CopyLoc[1](Arg1: address)\n\t2: Call[1](transfer_and_freeze<Object>(Object, address))\n\t3: Ret\n}\npublic transfer_to_object() {\nB0:\n\t0: MoveLoc[0](Arg0: Object)\n\t1: MoveLoc[1](Arg1: &mut Object)\n\t2: Call[2](transfer_to_object<Object, Object>(Object, &mut Object))\n\t3: Ret\n}\npublic unwrap(loc0: Wrapper, loc1: &mut TxContext) {\nB0:\n\t0: MoveLoc[0](Arg0: Wrapper)\n\t1: Unpack[2](Wrapper)\n\t2: StLoc[3](loc1: Object)\n\t3: StLoc[2](loc0: VersionedID)\n\t4: MoveLoc[2](loc0: VersionedID)\n\t5: Call[11](delete(VersionedID))\n\t6: MoveLoc[3](loc1: Object)\n\t7: MoveLoc[1](Arg1: &mut TxContext)\n\t8: FreezeRef\n\t9: Call[14](sender(&TxContext): address)\n\t10: Call[0](transfer<Object>(Object, address))\n\t11: Ret\n}\npublic update() {\nB0:\n\t0: CopyLoc[1](Arg1: &Object)\n\t1: ImmBorrowField[0](Object.value: u64)\n\t2: ReadRef\n\t3: MoveLoc[0](Arg0: &mut Object)\n\t4: MutBorrowField[0](Object.value: u64)\n\t5: WriteRef\n\t6: MoveLoc[1](Arg1: &Object)\n\t7: ImmBorrowField[0](Object.value: u64)\n\t8: ReadRef\n\t9: Pack[0](NewValueEvent)\n\t10: Call[3](emit<NewValueEvent>(NewValueEvent))\n\t11: Ret\n}\npublic wrap() {\nB0:\n\t0: CopyLoc[1](Arg1: &mut TxContext)\n\t1: Call[9](new_id(&mut TxContext): VersionedID)\n\t2: MoveLoc[0](Arg0: Object)\n\t3: Pack[2](Wrapper)\n\t4: MoveLoc[1](Arg1: &mut TxContext)\n\t5: FreezeRef\n\t6: Call[14](sender(&TxContext): address)\n\t7: Call[4](transfer<Wrapper>(Wrapper, address))\n\t8: Ret\n}\n}","Transfer":"// Move bytecode v4\nmodule 2.Transfer {\nstruct TransferEvent<Ty0: key> {\n\tobj: Ty0,\n\trecipient: address\n}\n\npublic transfer<Ty0: key>() {\nB0:\n\t0: MoveLoc[0](Arg0: Ty0)\n\t1: CopyLoc[1](Arg1: address)\n\t2: LdFalse\n\t3: Call[0](transfer_internal<Ty0>(Ty0, address, bool))\n\t4: Ret\n}\npublic transfer_and_freeze<Ty0: key>() {\nB0:\n\t0: MoveLoc[0](Arg0: Ty0)\n\t1: CopyLoc[1](Arg1: address)\n\t2: LdTrue\n\t3: Call[0](transfer_internal<Ty0>(Ty0, address, bool))\n\t4: Ret\n}\nnative transfer_internal<Ty0: key>()\npublic transfer_to_object<Ty0: key, Ty1: key>(loc0: Ty0) {\nB0:\n\t0: MoveLoc[1](Arg1: &mut Ty1)\n\t1: FreezeRef\n\t2: Call[1](id_address<Ty1>(&Ty1): address)\n\t3: StLoc[2](loc0: address)\n\t4: MoveLoc[0](Arg0: Ty0)\n\t5: CopyLoc[2](loc0: address)\n\t6: Call[2](transfer_to_object_id<Ty0>(Ty0, address))\n\t7: Ret\n}\nnative transfer_to_object_id<Ty0: key>()\n}","TxContext":"// Move bytecode v4\nmodule 2.TxContext {\nstruct TxContext has drop {\n\tsigner: signer,\n\ttx_hash: vector<u8>,\n\tids_created: u64\n}\n\nnative fresh_id(): address\nids_created(): u64 {\nB0:\n\t0: MoveLoc[0](Arg0: &TxContext)\n\t1: ImmBorrowField[0](TxContext.ids_created: u64)\n\t2: ReadRef\n\t3: Ret\n}\npublic new_id(loc0: &mut TxContext): VersionedID {\nL0:\tloc1: u64\nB0:\n\t0: CopyLoc[0](Arg0: &mut TxContext)\n\t1: ImmBorrowField[0](TxContext.ids_created: u64)\n\t2: ReadRef\n\t3: StLoc[2](loc1: u64)\n\t4: CopyLoc[0](Arg0: &mut TxContext)\n\t5: ImmBorrowField[1](TxContext.tx_hash: vector<u8>)\n\t6: ReadRef\n\t7: CopyLoc[2](loc1: u64)\n\t8: Call[0](fresh_id(vector<u8>, u64): address)\n\t9: Call[5](new_versioned_id(address): VersionedID)\n\t10: StLoc[1](loc0: VersionedID)\n\t11: CopyLoc[2](loc1: u64)\n\t12: LdU64(1)\n\t13: Add\n\t14: MoveLoc[0](Arg0: &mut TxContext)\n\t15: MutBorrowField[0](TxContext.ids_created: u64)\n\t16: WriteRef\n\t17: MoveLoc[1](loc0: VersionedID)\n\t18: Ret\n}\npublic sender(): address {\nB0:\n\t0: MoveLoc[0](Arg0: &TxContext)\n\t1: ImmBorrowField[2](TxContext.signer: signer)\n\t2: Call[6](address_of(&signer): address)\n\t3: Ret\n}\npublic signer_(): &signer {\nB0:\n\t0: MoveLoc[0](Arg0: &TxContext)\n\t1: ImmBorrowField[2](TxContext.signer: signer)\n\t2: Ret\n}\n}"},"owner":"SharedImmutable","tx_digest":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment