Transaction #18556

Hash 71b0d0b7404c1a14c0237e645b22d0c986da2ca14a9e1480e82cfd12b0482a6c
Status Success
Timestamp 264 days ago - 8/12/2023, 11:56:00 PM UTC+0
Block 18556
Stamps Used 165
Burned Fee 0.00976331 TAU
From 1351e423715020237f509f5492f4999f7349eed53ce1c1ad4d4679aebf9e8af0 
Contract Name submission
Function Name submit_contract

Additional Info
Nonce 15
Processor 5b09493df6c18d17cc883ebce54fcb1f5afbd507533417fe32c006009a9c3c4a
Signature 7db3ca8b275d80f8c5c7ca1b7c1ecb917290cdf13b93b3b40d46d7a4f12acc9dbff53aaa9a85a35128d4be8defcc0e8d730e70ed4ec929ccbb04ac7e90bd9d0a
Stamps Supplied 845
Stamps per TAU 169

Kwargs

code random.seed() movement = Hash(default_value=0) winner = Variable() player_1 = Variable() player_2 = Variable() turn = Variable() players = Variable() @construct def seed(): movement['piedra'] = 1 movement['papel'] = 2 movement['tijera'] = 3 players.set([]) player_1.set(0) player_2.set(0) turn.set(0) @export def play(movimiento: int): # ASSERTS assert movimiento < 4, 'Rock: 1, Paper: 2, Scissor: 3' for address in players.get(): assert address != ctx.caller, 'You have played' turn += 1 if turn.get() == 3: players.set([]) turn.set(1) # REGISTER WALLETS players.set(players.get() + [ctx.caller]) # REGISTER MOVEMENTS if turn.get() == 1: player_1.set(random.randint(1, 3)) if turn.get() == 2: player_2.set(random.randint(1, 3)) determinarGanador() def determinarGanador(): if turn.get() == 1: return 'You have already made your move, wait for the next player' if player_1.get() == player_2.get(): return 'Draw' elif (player_1.get() == movement['piedra'] and player_2.get() == movement['tijera']) or (player_1.get() == movement['papel'] and player_2.get() == movement['piedra']) or (player_1.get() == movement['tijera'] and player_2.get() == movement['papel']): winner.set(movement['playes'][0]) return winner.get() else: winner.set(movement['playes'][1]) return winner.get() @export def quienGano(): return winner.get() @export def Jugadores(): return movement['players']
name con_game_1vs1_

State Changes

Contract con_game_1vs1_
Variable __code__
New Value random.seed() __movement = Hash(default_value=0, contract='con_game_1vs1_', name='movement') __winner = Variable(contract='con_game_1vs1_', name='winner') __player_1 = Variable(contract='con_game_1vs1_', name='player_1') __player_2 = Variable(contract='con_game_1vs1_', name='player_2') __turn = Variable(contract='con_game_1vs1_', name='turn') __players = Variable(contract='con_game_1vs1_', name='players') def ____(): __movement['piedra'] = 1 __movement['papel'] = 2 __movement['tijera'] = 3 __players.set([]) __player_1.set(0) __player_2.set(0) __turn.set(0) @__export('con_game_1vs1_') def play(movimiento: int): assert movimiento < 4, 'Rock: 1, Paper: 2, Scissor: 3' for address in __players.get(): assert address != ctx.caller, 'You have played' __turn += 1 if __turn.get() == 3: __players.set([]) __turn.set(1) __players.set(__players.get() + [ctx.caller]) if __turn.get() == 1: __player_1.set(random.randint(1, 3)) if __turn.get() == 2: __player_2.set(random.randint(1, 3)) __determinarGanador() def __determinarGanador(): if __turn.get() == 1: return 'You have already made your move, wait for the next player' if __player_1.get() == __player_2.get(): return 'Draw' elif __player_1.get() == __movement['piedra'] and __player_2.get( ) == __movement['tijera'] or __player_1.get() == __movement['papel' ] and __player_2.get() == __movement['piedra'] or __player_1.get( ) == __movement['tijera'] and __player_2.get() == __movement['papel']: __winner.set(__movement['playes'][0]) return __winner.get() else: __winner.set(__movement['playes'][1]) return __winner.get() @__export('con_game_1vs1_') def quienGano(): return __winner.get() @__export('con_game_1vs1_') def Jugadores(): return __movement['players']
 
Contract con_game_1vs1_
Variable __compiled__
New Value e30000000000000000000000000500000040000000739c00000065006a0183000100650264006401640264038d035a0365046401640464058d025a0565046401640664058d025a0665046401640764058d025a0765046401640864058d025a0865046401640964058d025a09640a640b84005a0a650b64018301650c640c9c01640d640e840483015a0d640f641084005a0e650b6401830164116412840083015a0f650b6401830164136414840083015a10641553002916e900000000da0e636f6e5f67616d655f317673315fda086d6f76656d656e742903da0d64656661756c745f76616c7565da08636f6e7472616374da046e616d65da0677696e6e6572290272050000007206000000da08706c617965725f31da08706c617965725f32da047475726eda07706c617965727363000000000000000000000000030000004300000073440000006401740064023c006403740064043c006405740064063c0074016a0267008301010074036a0264078301010074046a0264078301010074056a026407830101006400530029084ee901000000da06706965647261e902000000da05706170656ce903000000da0674696a65726172010000002906da0a5f5f6d6f76656d656e74da095f5f706c6179657273da03736574da0a5f5f706c617965725f31da0a5f5f706c617965725f32da065f5f7475726ea90072180000007218000000da00da045f5f5f5f0a000000730e00000000010801080108010a010a010a01721a0000002901da0a6d6f76696d69656e746f63010000000000000003000000040000004300000073b80000007c0064016b0073107400640283018201784a74016a02830044005d3e7d017c0174036a046b03733074006403830182017c02640437007d027c026a02830064056b02721a74016a056700830101007c026a05640483010100711a570074016a0574016a02830074036a0467011700830101007c026a02830064046b02729074066a0574076a08640464058302830101007c026a02830064066b0272ae74096a0574076a0864046405830283010100740a830001006400530029074ee9040000007a1d526f636b3a20312c2050617065723a20322c2053636973736f723a20337a0f596f75206861766520706c61796564720c0000007210000000720e000000290bda0e417373657274696f6e4572726f727213000000da03676574da03637478da0663616c6c657272140000007215000000da0672616e646f6dda0772616e64696e747216000000da135f5f64657465726d696e617247616e61646f722903721b000000da07616464726573737217000000721800000072180000007219000000da04706c617914000000731a000000000210010e01120108010c010a010e0116010c0112010c011201722500000063000000000000000000000000030000004300000073bc00000074006a01830064016b0272106402530074026a01830074036a0183006b0272246403530074026a0183007404640419006b02724474036a0183007404640519006b02738474026a0183007404640619006b02726474036a0183007404640419006b02738474026a0183007404640519006b02729e74036a0183007404640619006b02729e74056a06740464071900640819008301010074056a018300530074056a06740464071900640119008301010074056a01830053006400530029094e720c0000007a39596f75206861766520616c7265616479206d61646520796f7572206d6f76652c207761697420666f7220746865206e65787420706c61796572da0444726177720d0000007211000000720f000000da06706c61796573720100000029077217000000721e000000721500000072160000007212000000da085f5f77696e6e657272140000007218000000721800000072180000007219000000722300000025000000731800000000010c0104011001040116011a0116011a011201080212017223000000630000000000000000000000000100000043000000730800000074006a018300530029014e29027228000000721e0000007218000000721800000072180000007219000000da09717569656e47616e6f350000007302000000000272290000006300000000000000000000000002000000430000007308000000740064011900530029024e720b000000290172120000007218000000721800000072180000007219000000da094a756761646f7265733a00000073020000000002722a0000004e29117221000000da0473656564da04486173687212000000da085661726961626c6572280000007215000000721600000072170000007213000000721a000000da085f5f6578706f7274da03696e74722500000072230000007229000000722a0000007218000000721800000072180000007219000000da083c6d6f64756c653e01000000731800000008010e010c010c010c010c010c03080a0601101008101005
 
Contract con_game_1vs1_
Variable __developer__
New Value 1351e423715020237f509f5492f4999f7349eed53ce1c1ad4d4679aebf9e8af0
 
Contract con_game_1vs1_
Variable __owner__
New Value null
 
Contract con_game_1vs1_
Variable __submitted__
New Value 2023,8,12,23,56,1,0
 
Contract con_game_1vs1_
Variable movement
Key papel
New Value 2
 
Contract con_game_1vs1_
Variable movement
Key piedra
New Value 1
 
Contract con_game_1vs1_
Variable movement
Key tijera
New Value 3
 
Contract con_game_1vs1_
Variable player_1
New Value 0
 
Contract con_game_1vs1_
Variable player_2
New Value 0
 
Contract con_game_1vs1_
Variable players
New Value []
 
Contract con_game_1vs1_
Variable turn
New Value 0
 
Contract currency
Variable balances
Key 1351e423715020237f509f5492f4999f7349eed53ce1c1ad4d4679aebf9e8af0
New Value 230.321434263806643251832135080128