Source Code
Overview
MATIC Balance
0.6 MATIC
More Info
ContractCreator:
Last Txn Sent
No transactions sent
First Txn Sent
No transactions sent
Multichain Info
N/A
Latest 22 from a total of 22 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Make Choice | 29377410 | 486 days ago | IN | 0 MATIC | 0.0021192 | ||||
Deposit | 29377408 | 486 days ago | IN | 0.1 MATIC | 0.0021064 | ||||
Deposit | 29377352 | 486 days ago | IN | 0.1 MATIC | 0.0021064 | ||||
Deposit | 29377310 | 486 days ago | IN | 0.1 MATIC | 0.0021064 | ||||
Deposit | 29376903 | 486 days ago | IN | 0.2 MATIC | 0.0007226 | ||||
Make Choice | 29376902 | 486 days ago | IN | 0 MATIC | 0.00074094 | ||||
Reveal | 29376902 | 486 days ago | IN | 0 MATIC | 0.00074885 | ||||
Make Choice | 29376896 | 486 days ago | IN | 0 MATIC | 0.00076385 | ||||
Make Choice | 29376880 | 486 days ago | IN | 0 MATIC | 0.0008042 | ||||
Deposit | 29376875 | 486 days ago | IN | 0.1 MATIC | 0.00079889 | ||||
Kill | 29376803 | 486 days ago | IN | 0 MATIC | 0.00121908 | ||||
Make Choice | 29376762 | 486 days ago | IN | 0 MATIC | 0.00016218 | ||||
Deposit | 29376761 | 486 days ago | IN | 0.2 MATIC | 0.0001136 | ||||
Make Choice | 29376755 | 486 days ago | IN | 0 MATIC | 0.00015542 | ||||
Reveal | 29376737 | 486 days ago | IN | 0 MATIC | 0.00016661 | ||||
Reveal | 29376730 | 486 days ago | IN | 0 MATIC | 0.00016318 | ||||
Make Choice | 29376730 | 486 days ago | IN | 0 MATIC | 0.0001177 | ||||
Make Choice | 29376717 | 486 days ago | IN | 0 MATIC | 0.00391968 | ||||
Make Choice | 29376714 | 486 days ago | IN | 0 MATIC | 0.00411434 | ||||
Deposit | 29376701 | 486 days ago | IN | 0.1 MATIC | 0.00105882 | ||||
Deposit | 29376603 | 486 days ago | IN | 0.1 MATIC | 0.00149742 | ||||
0x34610782 | 29376484 | 487 days ago | IN | Create: Vyper_contract | 0 MATIC | 0.00140317 |
Loading...
Loading
Contract Self Destruct called at Txn Hash 0xe3a9f86ddbd385a4f5df4466a0065a9aa9b3e1fb045fc39f8e4c733e39fbab9e
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.7
Contract Source Code (Vyper language format)
## Rock Paper Scissors Vyper Game player0: public(address) player1: public(address) player0Choice: public(uint256) player1Choice: public(uint256) player0ChoiceMade: public(bool) player1ChoiceMade: public(bool) winner: public(address) choice_legend: public(HashMap[uint256, String[10]]) player0choice_legend: public(String[10]) player1choice_legend: public(String[10]) deposit_balance: public(uint256) @external def __init__(): self.player0 = msg.sender self.player1 = 0xdf7CDf6b1A6CC2509218e61fD68e4abf223cbbDE self.choice_legend[0] = "Rock" self.choice_legend[1] = "Paper" self.choice_legend[2] = "Scissors" @internal def _resetChoices(): self.player0Choice = 4 self.player1Choice = 4 self.player0ChoiceMade = False self.player1ChoiceMade = False # deposit function that checks if the player is one of the two players. @external @payable def deposit(): self.deposit_balance += msg.value assert msg.sender == self.player0 or msg.sender == self.player1 # reward depositors @internal @payable def reward(): send(self.winner, self.deposit_balance) self.deposit_balance = 0 # make a choice in the game, and save the choices made. @external def makeChoice(_choice: uint256): if msg.sender == self.player0: self.player0Choice = _choice self.player0ChoiceMade = True self.player0choice_legend = self.choice_legend[_choice] elif msg.sender == self.player1: self.player1Choice = _choice self.player1ChoiceMade = True self.player1choice_legend = self.choice_legend[_choice] # calculate store and winner address + pay out rewards @external def reveal(): if self.player0ChoiceMade and self.player1ChoiceMade: if self.player0Choice == self.player1Choice: self.winner = empty(address) self._resetChoices() elif self.player0Choice == 0 and self.player1Choice == 1: self.winner = self.player1 self._resetChoices() self.reward() elif self.player0Choice == 0 and self.player1Choice == 2: self.winner = self.player0 self._resetChoices() self.reward() elif self.player0Choice == 1 and self.player1Choice == 0: self.winner = self.player0 self._resetChoices() self.reward() elif self.player0Choice == 1 and self.player1Choice == 2: self.winner = self.player1 self._resetChoices() self.reward() elif self.player0Choice == 2 and self.player1Choice == 0: self.winner = self.player1 self._resetChoices() self.reward() elif self.player0Choice == 2 and self.player1Choice == 1: self.winner = self.player0 self._resetChoices() self.reward() elif self.player1Choice == 0 and self.player0Choice == 2: self.winner = self.player1 self._resetChoices() self.reward() elif self.player1Choice == 0 and self.player0Choice == 1: self.winner = self.player0 elif self.player1Choice == 1 and self.player0Choice == 0: self.winner = self.player1 self._resetChoices() self.reward() elif self.player1Choice == 1 and self.player0Choice == 2: self.winner = self.player0 self._resetChoices() self.reward() elif self.player1Choice == 2 and self.player0Choice == 0: self.winner = self.player0 self._resetChoices() self.reward() elif self.player1Choice == 2 and self.player0Choice == 1: self.winner = self.player1 self._resetChoices() self.reward() else: self.winner = empty(address) self._resetChoices() # emergency self destruct function much needed here. @external def kill(): assert msg.sender == self.player0 or msg.sender == self.player1 selfdestruct(msg.sender)
[{"stateMutability":"nonpayable","type":"constructor","inputs":[],"outputs":[]},{"stateMutability":"payable","type":"function","name":"deposit","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"makeChoice","inputs":[{"name":"_choice","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"reveal","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"kill","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"player0","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"player1","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"player0Choice","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"player1Choice","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"player0ChoiceMade","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"player1ChoiceMade","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"winner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"choice_legend","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"player0choice_legend","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"player1choice_legend","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"deposit_balance","inputs":[],"outputs":[{"name":"","type":"uint256"}]}]
Contract Creation Code
34610782573360005573df7cdf6b1a6cc2509218e61fd68e4abf223cbbde60015560046040527f526f636b0000000000000000000000000000000000000000000000000000000060605260408051806007600060205260005260406000205560208201600160076000602052600052604060002001815181555050505060056040527f506170657200000000000000000000000000000000000000000000000000000060605260408051806007600160205260005260406000205560208201600160076001602052600052604060002001815181555050505060086040527f53636973736f727300000000000000000000000000000000000000000000000060605260408051806007600260205260005260406000205560208201600160076002602052600052604060002001815181555050505061063b6101466100003961063b610000f36003361161000c576105f0565b60003560e01c63d0e30db08118610058576004361061062957600c54348082018281106106295790509050600c55600054331861004a576001610051565b6001543318155b1561062957005b3461062957635bc565fb81186100e457602436106106295760005433186100ab576004356002556001600455600760043560205260005260406000208054806008556001820180546009555050506100e2565b60015433186100e257600435600355600160055560076004356020526000526040600020805480600a55600182018054600b555050505b005b63a475b5dd81186103a6576004361061062957600454610105576000610109565b6005545b156103a4576003546002541861012a5760006006556103a46105f6566103a4565b60025461013d5760016003541815610140565b60005b61038e57600254610157576002600354181561015a565b60005b610374576001600254186101715760035415610174565b60005b61035a5760016002541861018e5760026003541815610191565b60005b610340576002600254186101a857600354156101ab565b60005b610326576002600254186101c557600160035418156101c8565b60005b61030c576003546101df57600260025418156101e2565b60005b6102f2576003546101f957600160025418156101fc565b60005b6102e7576001600354186102135760025415610216565b60005b6102cd576001600354186102305760026002541815610233565b60005b6102b35760026003541861024a576002541561024d565b60005b61029957600260035418610267576001600254181561026a565b60005b61027f5760006006556103a46105f6566103a4565b60015460065561028d6105f6565b6103a461060c566103a4565b6000546006556102a76105f6565b6103a461060c566103a4565b6000546006556102c16105f6565b6103a461060c566103a4565b6001546006556102db6105f6565b6103a461060c566103a4565b6000546006556103a4565b6001546006556103006105f6565b6103a461060c566103a4565b60005460065561031a6105f6565b6103a461060c566103a4565b6001546006556103346105f6565b6103a461060c566103a4565b60015460065561034e6105f6565b6103a461060c566103a4565b6000546006556103686105f6565b6103a461060c566103a4565b6000546006556103826105f6565b6103a461060c566103a4565b60015460065561039c6105f6565b6103a461060c565b005b6341c0e1b581186103d957600436106106295760005433186103c95760016103d0565b6001543318155b156106295733ff005b63d42863ac81186103f857600436106106295760005460405260206040f35b63d30895e4811861041757600436106106295760015460405260206040f35b6332b75ea5811861043657600436106106295760025460405260206040f35b63d8b1f219811861045557600436106106295760035460405260206040f35b63ad6a847f811861047457600436106106295760045460405260206040f35b636b31280f811861049357600436106106295760055460405260206040f35b63dfbf53ae81186104b257600436106106295760065460405260206040f35b63a4ef66d6811861051f576024361061062957602080604052600760043560205260005260406000208160400181548082526001830160208301815481525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506040f35b63906f66f181186105775760043610610629576020806040528060400160085480825260208201600954815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b6375da396b81186105cf57600436106106295760208060405280604001600a5480825260208201600b54815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b638627436b81186105ee576004361061062957600c5460405260206040f35b505b60006000fd5b6004600255600460035560006004556000600555565b6000600060006000600c546006546000f115610629576000600c55565b600080fda165767970657283000307000b005b600080fd
Deployed Bytecode
0x6003361161000c576105f0565b60003560e01c63d0e30db08118610058576004361061062957600c54348082018281106106295790509050600c55600054331861004a576001610051565b6001543318155b1561062957005b3461062957635bc565fb81186100e457602436106106295760005433186100ab576004356002556001600455600760043560205260005260406000208054806008556001820180546009555050506100e2565b60015433186100e257600435600355600160055560076004356020526000526040600020805480600a55600182018054600b555050505b005b63a475b5dd81186103a6576004361061062957600454610105576000610109565b6005545b156103a4576003546002541861012a5760006006556103a46105f6566103a4565b60025461013d5760016003541815610140565b60005b61038e57600254610157576002600354181561015a565b60005b610374576001600254186101715760035415610174565b60005b61035a5760016002541861018e5760026003541815610191565b60005b610340576002600254186101a857600354156101ab565b60005b610326576002600254186101c557600160035418156101c8565b60005b61030c576003546101df57600260025418156101e2565b60005b6102f2576003546101f957600160025418156101fc565b60005b6102e7576001600354186102135760025415610216565b60005b6102cd576001600354186102305760026002541815610233565b60005b6102b35760026003541861024a576002541561024d565b60005b61029957600260035418610267576001600254181561026a565b60005b61027f5760006006556103a46105f6566103a4565b60015460065561028d6105f6565b6103a461060c566103a4565b6000546006556102a76105f6565b6103a461060c566103a4565b6000546006556102c16105f6565b6103a461060c566103a4565b6001546006556102db6105f6565b6103a461060c566103a4565b6000546006556103a4565b6001546006556103006105f6565b6103a461060c566103a4565b60005460065561031a6105f6565b6103a461060c566103a4565b6001546006556103346105f6565b6103a461060c566103a4565b60015460065561034e6105f6565b6103a461060c566103a4565b6000546006556103686105f6565b6103a461060c566103a4565b6000546006556103826105f6565b6103a461060c566103a4565b60015460065561039c6105f6565b6103a461060c565b005b6341c0e1b581186103d957600436106106295760005433186103c95760016103d0565b6001543318155b156106295733ff005b63d42863ac81186103f857600436106106295760005460405260206040f35b63d30895e4811861041757600436106106295760015460405260206040f35b6332b75ea5811861043657600436106106295760025460405260206040f35b63d8b1f219811861045557600436106106295760035460405260206040f35b63ad6a847f811861047457600436106106295760045460405260206040f35b636b31280f811861049357600436106106295760055460405260206040f35b63dfbf53ae81186104b257600436106106295760065460405260206040f35b63a4ef66d6811861051f576024361061062957602080604052600760043560205260005260406000208160400181548082526001830160208301815481525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506040f35b63906f66f181186105775760043610610629576020806040528060400160085480825260208201600954815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b6375da396b81186105cf57600436106106295760208060405280604001600a5480825260208201600b54815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b638627436b81186105ee576004361061062957600c5460405260206040f35b505b60006000fd5b6004600255600460035560006004556000600555565b6000600060006000600c546006546000f115610629576000600c55565b600080fda165767970657283000307000b
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.