Transaction #1034961

Hash 879a0c8efab6b7be9743807c681db033b8e40c113f9058045226394575cebf04
Status Success
Timestamp 629 days ago - 8/27/2022, 12:28:58 AM UTC+0
Block 986731
Stamps Used 544
Burned Fee 0.03218935 TAU
From ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d 
Contract Name submission
Function Name submit_contract

Additional Info
SubBlock Number 0
Nonce 5562
Processor 5b09493df6c18d17cc883ebce54fcb1f5afbd507533417fe32c006009a9c3c4a
Signature 93e1de61f1808756e15f277770bce99022c435eec46c60a39c2584d2f437c77d6bdc758256ae2ab353fd56c14eddf3c353d1bcbb87c0012ce41a54e58b19f70e
Stamps Supplied 845
Stamps per TAU 169

Kwargs

code # 888b 888 888 888 888 d8P 8888888888 Y88b d88P # 8888b 888 888 888 888 d8P 888 Y88b d88P # 88888b 888 888 888 888 d8P 888 Y88o88P # 888Y88b 888 .d88b. 88888b. 888 888 888 8888b. 888d88K 8888888 Y888P # 888 Y88b888 d8P Y8b 888 "88b 888 888 888 "88b 8888888b 888 888 # 888 Y88888 88888888 888 888 888 888 888 .d888888 888 Y88b 888 888 # 888 Y8888 Y8b. 888 d88P Y88b 888 888 888 888 888 Y88b 888 888 # 888 Y888 "Y8888 88888P" "Y88888 888 "Y888888 888 Y88b 8888888888 888 import con_nebula as neb staking = Hash(default_value='') balances = Hash(default_value=0) metadata = Hash() active = Variable() total_supply = Variable() stake_tax = Variable() stake_amount = Variable() stake_start_date = Variable() stake_start_period = Variable() stake_period = Variable() OPERATORS = [ 'ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d', 'e787ed5907742fa8d50b3ca2701ab8e03ec749ced806a15cdab800a127d7f863' ] @construct def seed(): balances[ctx.caller] = 10 metadata['token_name'] = "Nebula KEY TEST" metadata['token_symbol'] = "KEYT" metadata['operator'] = ctx.caller stake_tax.set(1) stake_amount.set(1_000_000) stake_start_date.set(now) stake_start_period.set(4) stake_period.set(21) active.set(False) total_supply.set(0) @export def change_metadata(key: str, value: Any): assert_owner() metadata[key] = value @export def transfer(amount: float, to: str): assert amount > 0, 'Cannot send negative balances!' assert balances[ctx.caller] >= amount, 'Not enough coins to send!' assert is_int(amount), 'Amount must be an Integer!' balances[ctx.caller] -= amount balances[to] += amount @export def approve(amount: float, to: str): assert amount > 0, 'Cannot send negative balances!' assert is_int(amount), 'Amount must be an Integer!' balances[ctx.caller, to] += amount @export def transfer_from(amount: float, to: str, main_account: str): assert amount > 0, 'Cannot send negative balances!' assert balances[main_account, ctx.caller] >= amount, 'Not enough coins approved to send! You have {} and are trying to spend {}'\ .format(balances[main_account, ctx.caller], amount) assert balances[main_account] >= amount, 'Not enough coins to send!' assert is_int(amount), 'Amount must be an Integer!' balances[main_account, ctx.caller] -= amount balances[main_account] -= amount balances[to] += amount def is_int(amount: float): int_amount = int(amount) return int_amount == amount @export def stake(): assert active.get() == True, 'Contract inactive!' assert staking[ctx.caller] == '', 'Address is already staking!' assert now < (stake_start_date.get() + datetime.timedelta(days=stake_start_period.get())), 'Staking start period ended!' neb.transfer_from(amount=stake_amount.get(), to=ctx.this, main_account=ctx.caller) staking[ctx.caller] = str(now) @export def unstake(): assert active.get() == True, 'Contract inactive!' assert staking[ctx.caller] != '', 'Address is not staking!' total_stake_time = stake_start_period.get() + stake_period.get() if now < (stake_start_date.get() + datetime.timedelta(days=total_stake_time)): # Calculate early unstake tax and payout amount tax = int(stake_amount.get() / 100 * stake_tax.get()) payout = stake_amount.get() - tax # Pay NEB back to user (minus tax for early unstake) neb.transfer(amount=payout, to=ctx.caller) # Retrieve vault contract vault = ForeignVariable(foreign_contract='con_nebula', foreign_name='vault_contract') # If no vault contract set, use internal vault if not vault.get(): vault = Variable() vault.set('INTERNAL_NEB_VAULT') # Pay tax to vault neb.transfer(amount=tax, to=vault.get()) # Reset staking date staking[ctx.caller] = '' return 'Unstaked early. No KEY token minted. Paid back {} NEB'.format(int(payout)) else: # Pay NEB back to user neb.transfer(amount=stake_amount.get(), to=ctx.caller) # Mint KEY token for user balances[ctx.caller] += 1 # Add newly minted KEY to total supply total_supply.set(total_supply.get() + 1) # Reset staking date staking[ctx.caller] = '' return 'Unstaked and minted 1 KEY token. Paid back {} NEB'.format(int(stake_amount.get())) @export def start(): assert_owner() staking.clear() stake_start_date.set(now) @export def set_stake_start_period(days: int): assert_owner() stake_start_period.set(days) @export def set_stake_period(days: int): assert_owner() stake_period.set(days) @export def set_stake_amount(amount: float): assert_owner() assert amount > 0, 'Cannot set negative amount!' stake_amount.set(amount) @export def set_stake_tax(percent: float): assert_owner() assert percent > 0 and percent < 100, 'Wrong tax value!' stake_tax.set(percent) @export def time_until_unstake(): assert staking[ctx.caller] != '', 'Address is not staking!' total_stake_time = stake_start_period.get() + stake_period.get() return (stake_start_date.get() - now) + datetime.timedelta(days=total_stake_time) @export def enable(): assert_owner() active.set(True) @export def disable(): assert_owner() active.set(False) @export def emergency_withdraw(amount: float): assert_owner() neb.transfer(amount, ctx.caller) @export def total_supply(): return int(total_supply.get()) def assert_owner(): assert ctx.caller in OPERATORS, 'Only executable by operators!'
name con_neb_key_test

State Changes

Contract con_neb_key_test
Variable balances
Key ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d
New Value 10
 
Contract con_neb_key_test
Variable metadata
Key token_name
New Value Nebula KEY TEST
 
Contract con_neb_key_test
Variable metadata
Key token_symbol
New Value KEYT
 
Contract con_neb_key_test
Variable metadata
Key operator
New Value ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d
 
Contract con_neb_key_test
Variable stake_tax
New Value 1
 
Contract con_neb_key_test
Variable stake_amount
New Value 1000000
 
Contract con_neb_key_test
Variable stake_start_date
New Value 2022,8,27,0,29,0,0
 
Contract con_neb_key_test
Variable stake_start_period
New Value 4
 
Contract con_neb_key_test
Variable stake_period
New Value 21
 
Contract con_neb_key_test
Variable active
New Value false
 
Contract con_neb_key_test
Variable total_supply
New Value 0
 
Contract con_neb_key_test
Variable __code__
New Value import con_nebula as neb __staking = Hash(default_value='', contract='con_neb_key_test', name='staking') __balances = Hash(default_value=0, contract='con_neb_key_test', name='balances' ) __metadata = Hash(contract='con_neb_key_test', name='metadata') __active = Variable(contract='con_neb_key_test', name='active') __total_supply = Variable(contract='con_neb_key_test', name='total_supply') __stake_tax = Variable(contract='con_neb_key_test', name='stake_tax') __stake_amount = Variable(contract='con_neb_key_test', name='stake_amount') __stake_start_date = Variable(contract='con_neb_key_test', name= 'stake_start_date') __stake_start_period = Variable(contract='con_neb_key_test', name= 'stake_start_period') __stake_period = Variable(contract='con_neb_key_test', name='stake_period') OPERATORS = ['ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d' , 'e787ed5907742fa8d50b3ca2701ab8e03ec749ced806a15cdab800a127d7f863'] def ____(): __balances[ctx.caller] = 10 __metadata['token_name'] = 'Nebula KEY TEST' __metadata['token_symbol'] = 'KEYT' __metadata['operator'] = ctx.caller __stake_tax.set(1) __stake_amount.set(1000000) __stake_start_date.set(now) __stake_start_period.set(4) __stake_period.set(21) __active.set(False) __total_supply.set(0) @__export('con_neb_key_test') def change_metadata(key: str, value: Any): __assert_owner() __metadata[key] = value @__export('con_neb_key_test') def transfer(amount: float, to: str): assert amount > 0, 'Cannot send negative balances!' assert __balances[ctx.caller] >= amount, 'Not enough coins to send!' assert __is_int(amount), 'Amount must be an Integer!' __balances[ctx.caller] -= amount __balances[to] += amount @__export('con_neb_key_test') def approve(amount: float, to: str): assert amount > 0, 'Cannot send negative balances!' assert __is_int(amount), 'Amount must be an Integer!' __balances[ctx.caller, to] += amount @__export('con_neb_key_test') def transfer_from(amount: float, to: str, main_account: str): assert amount > 0, 'Cannot send negative balances!' assert __balances[main_account, ctx.caller ] >= amount, 'Not enough coins approved to send! You have {} and are trying to spend {}'.format( __balances[main_account, ctx.caller], amount) assert __balances[main_account] >= amount, 'Not enough coins to send!' assert __is_int(amount), 'Amount must be an Integer!' __balances[main_account, ctx.caller] -= amount __balances[main_account] -= amount __balances[to] += amount def __is_int(amount: float): int_amount = int(amount) return int_amount == amount @__export('con_neb_key_test') def stake(): assert __active.get() == True, 'Contract inactive!' assert __staking[ctx.caller] == '', 'Address is already staking!' assert now < __stake_start_date.get() + datetime.timedelta(days= __stake_start_period.get()), 'Staking start period ended!' neb.transfer_from(amount=__stake_amount.get(), to=ctx.this, main_account=ctx.caller) __staking[ctx.caller] = str(now) @__export('con_neb_key_test') def unstake(): assert __active.get() == True, 'Contract inactive!' assert __staking[ctx.caller] != '', 'Address is not staking!' total_stake_time = __stake_start_period.get() + __stake_period.get() if now < __stake_start_date.get() + datetime.timedelta(days= total_stake_time): tax = int(__stake_amount.get() / 100 * __stake_tax.get()) payout = __stake_amount.get() - tax neb.transfer(amount=payout, to=ctx.caller) __vault = ForeignVariable(foreign_contract='con_nebula', foreign_name='vault_contract', contract='con_neb_key_test', name='vault') if not __vault.get(): __vault = Variable(contract='con_neb_key_test', name='vault') __vault.set('INTERNAL_NEB_VAULT') neb.transfer(amount=tax, to=__vault.get()) __staking[ctx.caller] = '' return 'Unstaked early. No KEY token minted. Paid back {} NEB'.format( int(payout)) else: neb.transfer(amount=__stake_amount.get(), to=ctx.caller) __balances[ctx.caller] += 1 __total_supply.set(__total_supply.get() + 1) __staking[ctx.caller] = '' return 'Unstaked and minted 1 KEY token. Paid back {} NEB'.format(int (__stake_amount.get())) @__export('con_neb_key_test') def start(): __assert_owner() __staking.clear() __stake_start_date.set(now) @__export('con_neb_key_test') def set_stake_start_period(days: int): __assert_owner() __stake_start_period.set(days) @__export('con_neb_key_test') def set_stake_period(days: int): __assert_owner() __stake_period.set(days) @__export('con_neb_key_test') def set_stake_amount(amount: float): __assert_owner() assert amount > 0, 'Cannot set negative amount!' __stake_amount.set(amount) @__export('con_neb_key_test') def set_stake_tax(percent: float): __assert_owner() assert percent > 0 and percent < 100, 'Wrong tax value!' __stake_tax.set(percent) @__export('con_neb_key_test') def time_until_unstake(): assert __staking[ctx.caller] != '', 'Address is not staking!' total_stake_time = __stake_start_period.get() + __stake_period.get() return __stake_start_date.get() - now + datetime.timedelta(days= total_stake_time) @__export('con_neb_key_test') def enable(): __assert_owner() __active.set(True) @__export('con_neb_key_test') def disable(): __assert_owner() __active.set(False) @__export('con_neb_key_test') def emergency_withdraw(amount: float): __assert_owner() neb.transfer(amount, ctx.caller) @__export('con_neb_key_test') def total_supply(): return int(__total_supply.get()) def __assert_owner(): assert ctx.caller in OPERATORS, 'Only executable by operators!'
 
Contract con_neb_key_test
Variable __compiled__
New Value e3000000000000000000000000050000004000000073ee010000640064016c005a01650264026403640464058d035a03650264006403640664058d035a0465026403640764088d025a0565066403640964088d025a0765066403640a64088d025a0865066403640b64088d025a0965066403640c64088d025a0a65066403640d64088d025a0b65066403640e64088d025a0c65066403640f64088d025a0d6410641167025a0e6412641384005a0f6510640383016511651264149c0264156416840483015a136510640383016514651164179c0264186419840483015a156510640383016514651164179c02641a641b840483015a16651064038301651465116511641c9c03641d641e840483015a176514641f9c016420642184045a1865106403830164226423840083015a1965106403830164246425840083015a1a65106403830164266427840083015a1b651064038301651c64289c016429642a840483015a1d651064038301651c64289c01642b642c840483015a1e6510640383016514641f9c01642d642e840483015a1f6510640383016514642f9c0164306431840483015a2065106403830164326433840083015a2165106403830164346435840083015a2265106403830164366437840083015a236510640383016514641f9c0164386439840483015a24651064038301643a640a840083015a25643b643c84005a2664015300293de9000000004eda00da10636f6e5f6e65625f6b65795f74657374da077374616b696e672903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65da0862616c616e636573da086d65746164617461290272060000007207000000da06616374697665da0c746f74616c5f737570706c79da097374616b655f746178da0c7374616b655f616d6f756e74da107374616b655f73746172745f64617465da127374616b655f73746172745f706572696f64da0c7374616b655f706572696f64da4061653764313464366439623834343366383831626136323434373237623639623638313031306537383264346665343832646266623062366163613032643564da4065373837656435393037373432666138643530623363613237303161623865303365633734396365643830366131356364616238303061313237643766383633630000000000000000000000000300000043000000736e0000006401740074016a023c006402740364033c006404740364053c0074016a02740364063c0074046a0564078301010074066a0564088301010074076a0574088301010074096a05640983010100740a6a05640a83010100740b6a05640b83010100740c6a05640c8301010064005300290d4ee90a0000007a0f4e6562756c61204b45592054455354da0a746f6b656e5f6e616d65da044b455954da0c746f6b656e5f73796d626f6cda086f70657261746f72e9010000006940420f00e904000000e915000000467201000000290dda0a5f5f62616c616e636573da03637478da0663616c6c6572da0a5f5f6d65746164617461da0b5f5f7374616b655f746178da03736574da0e5f5f7374616b655f616d6f756e74da125f5f7374616b655f73746172745f64617465da036e6f77da145f5f7374616b655f73746172745f706572696f64da0e5f5f7374616b655f706572696f64da085f5f616374697665da0e5f5f746f74616c5f737570706c79a900722800000072280000007202000000da045f5f5f5f13000000731600000000010a01080108010a010a010a010a010a010a010a0172290000002902da036b6579da0576616c756563020000000000000002000000030000004300000073120000007400830001007c0174017c003c006400530029014e2902da0e5f5f6173736572745f6f776e6572721e0000002902722a000000722b000000722800000072280000007202000000da0f6368616e67655f6d6574616461746121000000730400000000020601722d0000002902da06616d6f756e74da02746f630200000000000000020000000400000043000000735c0000007c0064016b0473107400640283018201740174026a0319007c006b057326740064038301820174047c00830173367400640483018201740174026a03050019007c00380003003c0074017c01050019007c00370003003c006400530029054e72010000007a1e43616e6e6f742073656e64206e656761746976652062616c616e636573217a194e6f7420656e6f75676820636f696e7320746f2073656e64217a1a416d6f756e74206d75737420626520616e20496e7465676572212905da0e417373657274696f6e4572726f72721b000000721c000000721d000000da085f5f69735f696e742902722e000000722f000000722800000072280000007202000000da087472616e7366657227000000730a000000000210011601100112017232000000630200000000000000020000000400000043000000733a0000007c0064016b047310740064028301820174017c00830173207400640383018201740274036a047c016602050019007c00370003003c006400530029044e72010000007a1e43616e6e6f742073656e64206e656761746976652062616c616e636573217a1a416d6f756e74206d75737420626520616e20496e746567657221290572300000007231000000721b000000721c000000721d0000002902722e000000722f000000722800000072280000007202000000da07617070726f766530000000730600000000021001100172330000002903722e000000722f000000da0c6d61696e5f6163636f756e74630300000000000000030000000500000043000000739a0000007c0064016b047310740064028301820174017c0274026a03660219007c006b05733c740064036a0474017c0274026a03660219007c0083028301820174017c0219007c006b057350740064048301820174057c0083017360740064058301820174017c0274026a036602050019007c00380003003c0074017c02050019007c00380003003c0074017c01050019007c00370003003c006400530029064e72010000007a1e43616e6e6f742073656e64206e656761746976652062616c616e636573217a494e6f7420656e6f75676820636f696e7320617070726f76656420746f2073656e642120596f752068617665207b7d20616e642061726520747279696e6720746f207370656e64207b7d7a194e6f7420656e6f75676820636f696e7320746f2073656e64217a1a416d6f756e74206d75737420626520616e20496e74656765722129067230000000721b000000721c000000721d000000da06666f726d617472310000002903722e000000722f0000007234000000722800000072280000007202000000da0d7472616e736665725f66726f6d370000007312000000000210010c010c011401140110011601100172360000002901722e000000630100000000000000020000000200000043000000731000000074007c0083017d017c017c006b02530029014e2901da03696e742902722e000000da0a696e745f616d6f756e747228000000722800000072020000007231000000440000007304000000000108017231000000630000000000000000000000000500000043000000737800000074006a01830064016b0273147402640283018201740374046a05190064036b02732a7402640483018201740674076a01830074086a09740a6a01830064058d0117006b00734e7402640683018201740b6a0c740d6a01830074046a0e74046a0564078d030100740f74068301740374046a053c006400530029084e547a12436f6e747261637420696e6163746976652172020000007a1b4164647265737320697320616c7265616479207374616b696e67212901da04646179737a1b5374616b696e6720737461727420706572696f6420656e646564212903722e000000722f000000723400000029107226000000da036765747230000000da095f5f7374616b696e67721c000000721d00000072230000007222000000da086461746574696d65da0974696d6564656c74617224000000da036e656272360000007221000000da0474686973da037374727228000000722800000072280000007202000000da057374616b6549000000730e0000000002140116010c0118010e010a017241000000630000000000000000040000000600000043000000733601000074006a01830064016b0273147402640283018201740374046a05190064036b03732a740264048301820174066a01830074076a01830017007d00740874096a018300740a6a0b7c0064058d0117006b0072de740c740d6a01830064061b00740e6a018300140083017d01740d6a0183007c0118007d02740f6a107c0274046a0564078d020100741164086409640a640b640c8d047d037c036a01830073b47412640a640b640d8d027d037c036a13640e83010100740f6a107c017c036a01830064078d0201006403740374046a053c00640f6a14740c7c02830183015300740f6a10740d6a01830074046a0564078d020100741574046a05050019006410370003003c0074166a1374166a01830064101700830101006403740374046a053c0064116a14740c740d6a0183008301830153006400530029124e547a12436f6e747261637420696e6163746976652172020000007a1741646472657373206973206e6f74207374616b696e672129017239000000e9640000002902722e000000722f000000da0a636f6e5f6e6562756c61da0e7661756c745f636f6e74726163747203000000da057661756c742904da10666f726569676e5f636f6e7472616374da0c666f726569676e5f6e616d6572060000007207000000290272060000007207000000da12494e5445524e414c5f4e45425f5641554c547a35556e7374616b6564206561726c792e204e6f204b455920746f6b656e206d696e7465642e2050616964206261636b207b7d204e454272180000007a31556e7374616b656420616e64206d696e7465642031204b455920746f6b656e2e2050616964206261636b207b7d204e454229177226000000723a0000007230000000723b000000721c000000721d0000007224000000722500000072230000007222000000723c000000723d00000072370000007221000000721f000000723e0000007232000000da0f466f726569676e5661726961626c65da085661726961626c6572200000007235000000721b00000072270000002904da10746f74616c5f7374616b655f74696d65da03746178da067061796f7574da075f5f7661756c74722800000072280000007202000000da07756e7374616b6554000000733000000000021401160110010c010c0118010c01100104010401080108010c010a0112010a0104010a021401120112010a010601724f000000630000000000000000000000000200000043000000731c00000074008300010074016a028300010074036a047405830101006400530029014e2906722c000000723b000000da05636c6561727222000000722000000072230000007228000000722800000072280000007202000000da057374617274710000007306000000000206010801725100000029017239000000630100000000000000010000000200000043000000731400000074008300010074016a027c00830101006400530029014e2903722c0000007224000000722000000029017239000000722800000072280000007202000000da167365745f7374616b655f73746172745f706572696f64780000007304000000000206017252000000630100000000000000010000000200000043000000731400000074008300010074016a027c00830101006400530029014e2903722c0000007225000000722000000029017239000000722800000072280000007202000000da107365745f7374616b655f706572696f647e000000730400000000020601725300000063010000000000000001000000020000004300000073240000007400830001007c0064016b047316740164028301820174026a037c00830101006400530029034e72010000007a1b43616e6e6f7420736574206e6567617469766520616d6f756e74212904722c0000007230000000722100000072200000002901722e000000722800000072280000007202000000da107365745f7374616b655f616d6f756e7484000000730600000000020601100172540000002901da0770657263656e74630100000000000000010000000200000043000000732c0000007400830001007c0064016b0472167c0064026b00731e740164038301820174026a037c00830101006400530029044e720100000072420000007a1057726f6e67207461782076616c7565212904722c0000007230000000721f000000722000000029017255000000722800000072280000007202000000da0d7365745f7374616b655f7461788b00000073060000000002060118017256000000630000000000000000010000000400000043000000733e000000740074016a02190064016b037316740364028301820174046a05830074066a05830017007d0074076a0583007408180074096a0a7c0064038d011700530029044e72020000007a1741646472657373206973206e6f74207374616b696e672129017239000000290b723b000000721c000000721d00000072300000007224000000723a000000722500000072220000007223000000723c000000723d0000002901724b000000722800000072280000007202000000da1274696d655f756e74696c5f756e7374616b659200000073080000000002160110010e017257000000630000000000000000000000000200000043000000731400000074008300010074016a026401830101006400530029024e542903722c000000722600000072200000007228000000722800000072280000007202000000da06656e61626c659a0000007304000000000206017258000000630000000000000000000000000200000043000000731400000074008300010074016a026401830101006400530029024e462903722c000000722600000072200000007228000000722800000072280000007202000000da0764697361626c65a00000007304000000000206017259000000630100000000000000010000000300000043000000731800000074008300010074016a027c0074036a04830201006400530029014e2905722c000000723e0000007232000000721c000000721d0000002901722e000000722800000072280000007202000000da12656d657267656e63795f7769746864726177a6000000730400000000020601725a000000630000000000000000000000000200000043000000730c000000740074016a0283008301530029014e290372370000007227000000723a0000007228000000722800000072280000007202000000720b000000ac00000073020000000002630000000000000000000000000200000043000000731600000074006a0174026b06731274036401830182016400530029024e7a1d4f6e6c792065786563757461626c65206279206f70657261746f7273212904721c000000721d000000da094f50455241544f525372300000007228000000722800000072280000007202000000722c000000b100000073020000000001722c00000029277243000000723e000000da0448617368723b000000721b000000721e000000724a00000072260000007227000000721f0000007221000000722200000072240000007225000000725b0000007229000000da085f5f6578706f72747240000000da03416e79722d000000da05666c6f617472320000007233000000723600000072310000007241000000724f000000725100000072370000007252000000725300000072540000007256000000725700000072580000007259000000725a000000720b000000722c0000007228000000722800000072280000007202000000da083c6d6f64756c653e01000000735400000008010e010e020c010c010c010c010c0104010801040108010c0102010603080e0601120506011208060112060601140c0e05100b101d100706011005060110050601100606011006100810061006060110051005
 
Contract con_neb_key_test
Variable __owner__
New Value null
 
Contract con_neb_key_test
Variable __submitted__
New Value 2022,8,27,0,29,0,0
 
Contract con_neb_key_test
Variable __developer__
New Value ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d
 
Contract currency
Variable balances
Key ae7d14d6d9b8443f881ba6244727b69b681010e782d4fe482dbfb0b6aca02d5d
New Value 115505.382418093322152786790877960945