Transaction #344275

Hash c3a778c7b84a07887847f774e6fdb218499cf1ed7bf20dc216d3cdab9716a15b
Status Success
Timestamp 975 days ago - 11/6/2021, 6:09:32 AM UTC+0
Block 335158
Stamps Used 208
Burned Fee 0.01230769 TAU
From 554bdec75c364c067e03f9d4113a2dab177f424d45122902a128d9590fba7880 
Contract Name submission
Function Name submit_contract

Additional Info
SubBlock Number 0
Nonce 21017
Processor 5b09493df6c18d17cc883ebce54fcb1f5afbd507533417fe32c006009a9c3c4a
Signature bd4cba41c0ca696b42ae644e7ea0dd160fa36cb5177febfaeb4edebfe62fedcc7c66ccb3df31f3b4f7dba35982ed00209c038eb3dab47593a7ecf4895f16de0f
Stamps Supplied 845
Stamps per TAU 169

Kwargs

code import currency import con_uwarriors_lst001 I = importlib metadata = Hash(default_value=0) balances = Hash(default_value=0) wp = ForeignHash(foreign_contract='con_uwarriors_lst001', foreign_name='balances') @construct def seed(): metadata['operator'] = ctx.caller metadata['cost_reset'] = 150 metadata['cost_burn'] = 300 metadata['cost_join'] = 10 @export def change_metadata(key: str, value: int): assert ctx.caller == metadata['operator'], 'Only operator can set metadata!' metadata[key] = value @export def join_faction(name: str): caller = ctx.caller amount = metadata['cost_join'] assert wp[caller] >= amount , 'Not enough coins to send!' con_uwarriors_lst001.transfer_from(metadata['cost_join'], metadata['operator'], caller) balances['faction',name] += 1 return name @export def reset_character(uid: str): caller = ctx.caller amount = metadata['cost_reset'] assert wp[caller] >= amount , 'Not enough coins to send!' thing_info = I.import_module('con_uw_nft_characters') owner = thing_info.get_owner(uid) assert owner == caller, uid + ' not owned by ' + sender con_uwarriors_lst001.transfer_from(metadata['cost_reset'], metadata['operator'], caller) return uid @export def burn_character(uid: str): caller = ctx.caller amount = metadata['cost_burn'] assert wp[caller] >= amount , 'Not enough coins to send!' thing_info = I.import_module('con_uw_nft_characters') owner = thing_info.get_owner(uid) assert owner == caller, uid + ' not owned by ' + sender con_uwarriors_lst001.transfer_from(metadata['cost_burn'], metadata['operator'], caller) thing_master_contract = I.import_module('con_uw_master__s__1') thing_master_contract.transfer_from( uid=uid, to=ctx.this, main_account=ctx.caller, contract='con_uw_nft_characters') return uid
name con_uw_toolkit

State Changes

Contract con_uw_toolkit
Variable metadata
Key operator
New Value 554bdec75c364c067e03f9d4113a2dab177f424d45122902a128d9590fba7880
 
Contract con_uw_toolkit
Variable metadata
Key cost_reset
New Value 150
 
Contract con_uw_toolkit
Variable metadata
Key cost_burn
New Value 300
 
Contract con_uw_toolkit
Variable metadata
Key cost_join
New Value 10
 
Contract con_uw_toolkit
Variable __code__
New Value import currency import con_uwarriors_lst001 I = importlib __metadata = Hash(default_value=0, contract='con_uw_toolkit', name='metadata') __balances = Hash(default_value=0, contract='con_uw_toolkit', name='balances') __wp = ForeignHash(foreign_contract='con_uwarriors_lst001', foreign_name= 'balances', contract='con_uw_toolkit', name='wp') def ____(): __metadata['operator'] = ctx.caller __metadata['cost_reset'] = 150 __metadata['cost_burn'] = 300 __metadata['cost_join'] = 10 @__export('con_uw_toolkit') def change_metadata(key: str, value: int): assert ctx.caller == __metadata['operator' ], 'Only operator can set metadata!' __metadata[key] = value @__export('con_uw_toolkit') def join_faction(name: str): caller = ctx.caller amount = __metadata['cost_join'] assert __wp[caller] >= amount, 'Not enough coins to send!' con_uwarriors_lst001.transfer_from(__metadata['cost_join'], __metadata[ 'operator'], caller) __balances['faction', name] += 1 return name @__export('con_uw_toolkit') def reset_character(uid: str): caller = ctx.caller amount = __metadata['cost_reset'] assert __wp[caller] >= amount, 'Not enough coins to send!' thing_info = I.import_module('con_uw_nft_characters') owner = thing_info.get_owner(uid) assert owner == caller, uid + ' not owned by ' + sender con_uwarriors_lst001.transfer_from(__metadata['cost_reset'], __metadata ['operator'], caller) return uid @__export('con_uw_toolkit') def burn_character(uid: str): caller = ctx.caller amount = __metadata['cost_burn'] assert __wp[caller] >= amount, 'Not enough coins to send!' thing_info = I.import_module('con_uw_nft_characters') owner = thing_info.get_owner(uid) assert owner == caller, uid + ' not owned by ' + sender con_uwarriors_lst001.transfer_from(__metadata['cost_burn'], __metadata[ 'operator'], caller) thing_master_contract = I.import_module('con_uw_master__s__1') thing_master_contract.transfer_from(uid=uid, to=ctx.this, main_account= ctx.caller, contract='con_uw_nft_characters') return uid
 
Contract con_uw_toolkit
Variable __compiled__
New Value e3000000000000000000000000060000004000000073a6000000640064016c005a00640064016c015a0165025a03650464006402640364048d035a05650464006402640564048d035a066507640664056402640764088d045a086409640a84005a09650a64028301650b650c640b9c02640c640d840483015a0d650a64028301650b640e9c01640f6410840483015a0e650a64028301650b64119c0164126413840483015a0f650a64028301650b64119c0164146415840483015a10640153002916e9000000004eda0e636f6e5f75775f746f6f6c6b6974da086d657461646174612903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65da0862616c616e636573da14636f6e5f7577617272696f72735f6c7374303031da0277702904da10666f726569676e5f636f6e7472616374da0c666f726569676e5f6e616d6572050000007206000000630000000000000000000000000300000043000000732600000074006a01740264013c006402740264033c006404740264053c006406740264073c006400530029084eda086f70657261746f72e996000000da0a636f73745f7265736574692c010000da09636f73745f6275726ee90a000000da09636f73745f6a6f696e2903da03637478da0663616c6c6572da0a5f5f6d65746164617461a90072150000007215000000da00da045f5f5f5f0a000000730800000000010a010801080172170000002902da036b6579da0576616c7565630200000000000000020000000300000043000000732200000074006a017402640119006b02731674036402830182017c0174027c003c006400530029034e720c0000007a1f4f6e6c79206f70657261746f722063616e20736574206d65746164617461212904721200000072130000007214000000da0e417373657274696f6e4572726f72290272180000007219000000721500000072150000007216000000da0f6368616e67655f6d65746164617461110000007306000000000210010601721b00000029017206000000630100000000000000030000000400000043000000735000000074006a017d017402640119007d0274037c0119007c026b057322740464028301820174056a067402640119007402640319007c0183030100740764047c006602050019006405370003003c007c00530029064e72110000007a194e6f7420656e6f75676820636f696e7320746f2073656e6421720c000000da0766616374696f6ee9010000002908721200000072130000007214000000da045f5f7770721a0000007208000000da0d7472616e736665725f66726f6dda0a5f5f62616c616e636573290372060000007213000000da06616d6f756e74721500000072150000007216000000da0c6a6f696e5f66616374696f6e18000000730e00000000020601080114010c010a01140172220000002901da03756964630100000000000000050000000400000043000000736800000074006a017d017402640119007d0274037c0119007c026b057322740464028301820174056a06640383017d037c036a077c0083017d047c047c016b02734e74047c0064041700740817008301820174096a0a7402640119007402640519007c01830301007c00530029064e720e0000007a194e6f7420656e6f75676820636f696e7320746f2073656e6421da15636f6e5f75775f6e66745f636861726163746572737a0e206e6f74206f776e656420627920720c000000290b721200000072130000007214000000721e000000721a000000da0149da0d696d706f72745f6d6f64756c65da096765745f6f776e6572da0673656e6465727208000000721f0000002905722300000072130000007221000000da0a7468696e675f696e666fda056f776e6572721500000072150000007216000000da0f72657365745f63686172616374657223000000731200000000020601080114010a010a0118010c010a01722b000000630100000000000000060000000600000043000000738800000074006a017d017402640119007d0274037c0119007c026b057322740464028301820174056a06640383017d037c036a077c0083017d047c047c016b02734e74047c0064041700740817008301820174096a0a7402640119007402640519007c018303010074056a06640683017d057c056a0a7c0074006a0b74006a01640364078d0401007c00530029084e720f0000007a194e6f7420656e6f75676820636f696e7320746f2073656e642172240000007a0e206e6f74206f776e656420627920720c000000da13636f6e5f75775f6d61737465725f5f735f5f3129047223000000da02746fda0c6d61696e5f6163636f756e747205000000290c721200000072130000007214000000721e000000721a00000072250000007226000000722700000072280000007208000000721f000000da047468697329067223000000721300000072210000007229000000722a000000da157468696e675f6d61737465725f636f6e7472616374721500000072150000007216000000da0e6275726e5f63686172616374657230000000731800000000020601080114010a010a0118010c010a010a010a010c0172310000002911da0863757272656e63797208000000da09696d706f72746c69627225000000da044861736872140000007220000000da0b466f726569676e48617368721e0000007217000000da085f5f6578706f7274da03737472da03696e74721b0000007222000000722b00000072310000007215000000721500000072150000007216000000da083c6d6f64756c653e01000000731e0000000801080104010e010e0104010c030807060112060601100a0601100c0601
 
Contract con_uw_toolkit
Variable __owner__
New Value null
 
Contract con_uw_toolkit
Variable __submitted__
New Value 2021,11,6,6,9,33,0
 
Contract con_uw_toolkit
Variable __developer__
New Value 554bdec75c364c067e03f9d4113a2dab177f424d45122902a128d9590fba7880
 
Contract currency
Variable balances
Key 554bdec75c364c067e03f9d4113a2dab177f424d45122902a128d9590fba7880
New Value 60446.14014927396735278