Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 21 from a total of 21 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Pay Ether | 1746354 | 211 days ago | IN | 0.2 ETH | 0.00003986 | ||||
Pay Ether | 1727462 | 214 days ago | IN | 0.01 ETH | 0.00004455 | ||||
Pay Ether | 1698243 | 219 days ago | IN | 0.1 ETH | 0.00003943 | ||||
Pay Ether | 1697875 | 219 days ago | IN | 0.00001 ETH | 0.00004353 | ||||
Pay Ether | 1697761 | 219 days ago | IN | 0.2 ETH | 0.00005114 | ||||
Pay Ether | 1697757 | 219 days ago | IN | 0.000001 ETH | 0.00005124 | ||||
Pay Ether | 1697662 | 219 days ago | IN | 0.001 ETH | 0.00006973 | ||||
Pay Ether | 1697461 | 219 days ago | IN | 0.2 ETH | 0.00004449 | ||||
Pay Ether | 1697170 | 219 days ago | IN | 0.1 ETH | 0.00004567 | ||||
Pay Ether | 1690601 | 220 days ago | IN | 1 ETH | 0.00003899 | ||||
Pay Ether | 1670448 | 223 days ago | IN | 0.01 ETH | 0.0000435 | ||||
Pay Ether | 1609941 | 233 days ago | IN | 0 ETH | 0.00005093 | ||||
Pay Ether | 1609927 | 233 days ago | IN | 0 ETH | 0.00004883 | ||||
Pay Ether | 1609919 | 233 days ago | IN | 0.000001 ETH | 0.00005137 | ||||
Pay Ether | 1379356 | 269 days ago | IN | 0.0001 ETH | 0.00015699 | ||||
Pay Ether | 1379333 | 269 days ago | IN | 0.0001 ETH | 0.00014577 | ||||
Pay Ether | 1353504 | 273 days ago | IN | 0.001 ETH | 0.00017289 | ||||
Pay Ether | 1167967 | 301 days ago | IN | 0.034 ETH | 0.00010455 | ||||
Pay Ether | 1167956 | 301 days ago | IN | 0.034 ETH | 0.00009388 | ||||
Pay Ether | 1167933 | 301 days ago | IN | 6 ETH | 0.00010379 | ||||
Pay Ether | 1167903 | 301 days ago | IN | 0.001 ETH | 0.00012779 |
Latest 21 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
1746354 | 211 days ago | 0.2 ETH | ||||
1727462 | 214 days ago | 0.01 ETH | ||||
1698243 | 219 days ago | 0.1 ETH | ||||
1697875 | 219 days ago | 0.00001 ETH | ||||
1697761 | 219 days ago | 0.2 ETH | ||||
1697757 | 219 days ago | 0.000001 ETH | ||||
1697662 | 219 days ago | 0.001 ETH | ||||
1697461 | 219 days ago | 0.2 ETH | ||||
1697170 | 219 days ago | 0.1 ETH | ||||
1690601 | 220 days ago | 1 ETH | ||||
1670448 | 223 days ago | 0.01 ETH | ||||
1609941 | 233 days ago | 0 ETH | ||||
1609927 | 233 days ago | 0 ETH | ||||
1609919 | 233 days ago | 0.000001 ETH | ||||
1379356 | 269 days ago | 0.0001 ETH | ||||
1379333 | 269 days ago | 0.0001 ETH | ||||
1353504 | 273 days ago | 0.001 ETH | ||||
1167967 | 301 days ago | 0.034 ETH | ||||
1167956 | 301 days ago | 0.034 ETH | ||||
1167933 | 301 days ago | 6 ETH | ||||
1167903 | 301 days ago | 0.001 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.10
Contract Source Code (Vyper language format)
#pragma version ^0.3.0 interface ERC20: def transfer(_to: address, _value: uint256) -> bool: nonpayable def transferFrom(_from: address, _to: address, _value: uint256) -> bool: nonpayable interface WETH: def deposit(): payable # configuration state: admin: public(address) weth: public(immutable(WETH)) acceptedTokens: public(HashMap[ERC20, bool]) @external def __init__(_weth: address): weth = WETH(_weth) self.acceptedTokens[ERC20(_weth)] = True self.admin = msg.sender # state: pendingRefund: public(HashMap[address, HashMap[ERC20, uint256]]) # admin actions: event SetAdmin: old: indexed(address) new: indexed(address) event SetToken: token: indexed(ERC20) accepted: indexed(bool) event Withdraw: token: indexed(ERC20) amount: indexed(uint256) event Refund: user: indexed(address) token: indexed(ERC20) amount: indexed(uint256) @external def setAdmin(_newAdmin: address): assert msg.sender == self.admin, "auth" self.admin = _newAdmin log SetAdmin(msg.sender, _newAdmin) @external def setToken(_token: ERC20, _accepted: bool): assert msg.sender == self.admin, "auth" self.acceptedTokens[_token] = _accepted log SetToken(_token, _accepted) @external def withdraw(_token: ERC20, _amount: uint256): assert msg.sender == self.admin, "auth" assert _token.transfer(msg.sender, _amount), "tfr" log Withdraw(_token, _amount) @external def refund(_user: address, _token: ERC20, _amount: uint256): assert msg.sender == self.admin, "auth" self.pendingRefund[_user][_token] += _amount log Refund(_user, _token, _amount) # user actions: event Pay: user: indexed(address) token: indexed(ERC20) amount: indexed(uint256) event ClaimRefund: user: indexed(address) token: indexed(ERC20) amount: indexed(uint256) @external def payToken(_token: ERC20, _amount: uint256): assert self.acceptedTokens[_token], "token" assert _token.transferFrom(msg.sender, self, _amount), "tfr" log Pay(msg.sender, _token, _amount) @external @payable def payEther(): weth.deposit(value = msg.value) log Pay(msg.sender, ERC20(weth.address), msg.value) @external def claimRefund(_token: ERC20, _amount: uint256): self.pendingRefund[msg.sender][_token] -= _amount assert _token.transfer(msg.sender, _amount), "tfr" log ClaimRefund(msg.sender, _token, _amount)
[{"name":"SetAdmin","inputs":[{"name":"old","type":"address","indexed":true},{"name":"new","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetToken","inputs":[{"name":"token","type":"address","indexed":true},{"name":"accepted","type":"bool","indexed":true}],"anonymous":false,"type":"event"},{"name":"Withdraw","inputs":[{"name":"token","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"name":"Refund","inputs":[{"name":"user","type":"address","indexed":true},{"name":"token","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"name":"Pay","inputs":[{"name":"user","type":"address","indexed":true},{"name":"token","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"name":"ClaimRefund","inputs":[{"name":"user","type":"address","indexed":true},{"name":"token","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_weth","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setAdmin","inputs":[{"name":"_newAdmin","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setToken","inputs":[{"name":"_token","type":"address"},{"name":"_accepted","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"withdraw","inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"refund","inputs":[{"name":"_user","type":"address"},{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"payToken","inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"payEther","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"claimRefund","inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"weth","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"acceptedTokens","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"pendingRefund","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}]}]
Contract Creation Code
61080c51503461004a57602061086f5f395f518060a01c61004a5760405260405161080c52600160016040516020525f5260405f2055335f5561080c61004e6100003961082c610000f35b5f80fd5f3560e01c60026009820660011b6107fa01601e395f51565b63f851a440811861003357346107f6575f5460405260206040f35b633816a29281186107f2576044361034176107f6576004358060a01c6107f6576040526024358060011c6107f6576060525f543318156100c95760046080527f617574680000000000000000000000000000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60605160016040516020525f5260405f20556060516040517fb7ebab83a58ce61ea26b563c1f73ed2fb8e747c78205f72382399303a9c7b1d25f6080a3006107f2565b633fc8cef381186107f257346107f657602061080c60403960206040f36107f2565b6382dc4a058118610169576024361034176107f6576004358060a01c6107f65760405260016040516020525f5260405f205460605260206060f35b63704b6c0281186107f2576024361034176107f6576004358060a01c6107f6576040525f543318156101f15760046060527f617574680000000000000000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040515f55604051337f848ac24ab84501710d6631faab117b66b79aba7ec6f7778cf3bcff428c1a4efc5f6060a3006107f2565b637aaefd35811861027d576044361034176107f6576004358060a01c6107f6576040526024358060a01c6107f65760605260026040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b6382ad6f3581186107f2576064361034176107f6576004358060a01c6107f6576040526024358060a01c6107f6576060525f543318156103135760046080527f617574680000000000000000000000000000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60026040516020525f5260405f20806060516020525f5260405f20905080546044358082018281106107f657905090508155506044356060516040517ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae5f6080a4006107f2565b63f3fef3a381186107f2576044361034176107f6576004358060a01c6107f6576040525f543318156104025760046060527f617574680000000000000000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405163a9059cbb6060523360805260243560a052602060606044607c5f855af161042f573d5f5f3e3d5ffd5b60203d106107f6576060518060011c6107f65760c05260c09050516104ac57600360e0527f74667200000000000000000000000000000000000000000000000000000000006101005260e05060e0518061010001601f825f031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b6024356040517f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243645f6060a3006107f2565b6310510ec181186107f2576044361034176107f6576004358060a01c6107f65760405260016040516020525f5260405f205461056f5760056060527f746f6b656e00000000000000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516323b872dd606052336080523060a05260243560c052602060606064607c5f855af16105a0573d5f5f3e3d5ffd5b60203d106107f6576060518060011c6107f65760e05260e0905051610621576003610100527f74667200000000000000000000000000000000000000000000000000000000006101205261010050610100518061012001601f825f031636823750506308c379a060c052602060e052601f19601f61010051011660440160dcfd5b602435604051337f288d9a5737d39d766acb848da277a970d9ee31f9115e17490b9393e282fa7b4d5f6060a4006107f2565b63f7474d0081146003361116156106c657602061080c5f395f5163d0e30db0604052803b156107f6575f60406004605c34855af1610693573d5f5f3e3d5ffd5b5034602061080c5f395f51337f288d9a5737d39d766acb848da277a970d9ee31f9115e17490b9393e282fa7b4d5f6040a4005b63b97de68f81186107f2576044361034176107f6576004358060a01c6107f6576040526002336020525f5260405f20806040516020525f5260405f20905080546024358082038281116107f6579050905081555060405163a9059cbb6060523360805260243560a052602060606044607c5f855af1610747573d5f5f3e3d5ffd5b60203d106107f6576060518060011c6107f65760c05260c09050516107c457600360e0527f74667200000000000000000000000000000000000000000000000000000000006101005260e05060e0518061010001601f825f031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b602435604051337f59104a9db1fa479901487310a7e3c5b60e3be0f04afa71c60e276575826d92ce5f6060a4005b5f5ffd5b5f80fd012e010c022507f204dd0018037a07f206538419080c81121820a16576797065728300030a001500000000000000000000000094373a4919b3240d86ea41593d5eba789fef3848
Deployed Bytecode
0x5f3560e01c60026009820660011b6107fa01601e395f51565b63f851a440811861003357346107f6575f5460405260206040f35b633816a29281186107f2576044361034176107f6576004358060a01c6107f6576040526024358060011c6107f6576060525f543318156100c95760046080527f617574680000000000000000000000000000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60605160016040516020525f5260405f20556060516040517fb7ebab83a58ce61ea26b563c1f73ed2fb8e747c78205f72382399303a9c7b1d25f6080a3006107f2565b633fc8cef381186107f257346107f657602061080c60403960206040f36107f2565b6382dc4a058118610169576024361034176107f6576004358060a01c6107f65760405260016040516020525f5260405f205460605260206060f35b63704b6c0281186107f2576024361034176107f6576004358060a01c6107f6576040525f543318156101f15760046060527f617574680000000000000000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040515f55604051337f848ac24ab84501710d6631faab117b66b79aba7ec6f7778cf3bcff428c1a4efc5f6060a3006107f2565b637aaefd35811861027d576044361034176107f6576004358060a01c6107f6576040526024358060a01c6107f65760605260026040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b6382ad6f3581186107f2576064361034176107f6576004358060a01c6107f6576040526024358060a01c6107f6576060525f543318156103135760046080527f617574680000000000000000000000000000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b60026040516020525f5260405f20806060516020525f5260405f20905080546044358082018281106107f657905090508155506044356060516040517ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae5f6080a4006107f2565b63f3fef3a381186107f2576044361034176107f6576004358060a01c6107f6576040525f543318156104025760046060527f617574680000000000000000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405163a9059cbb6060523360805260243560a052602060606044607c5f855af161042f573d5f5f3e3d5ffd5b60203d106107f6576060518060011c6107f65760c05260c09050516104ac57600360e0527f74667200000000000000000000000000000000000000000000000000000000006101005260e05060e0518061010001601f825f031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b6024356040517f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243645f6060a3006107f2565b6310510ec181186107f2576044361034176107f6576004358060a01c6107f65760405260016040516020525f5260405f205461056f5760056060527f746f6b656e00000000000000000000000000000000000000000000000000000060805260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516323b872dd606052336080523060a05260243560c052602060606064607c5f855af16105a0573d5f5f3e3d5ffd5b60203d106107f6576060518060011c6107f65760e05260e0905051610621576003610100527f74667200000000000000000000000000000000000000000000000000000000006101205261010050610100518061012001601f825f031636823750506308c379a060c052602060e052601f19601f61010051011660440160dcfd5b602435604051337f288d9a5737d39d766acb848da277a970d9ee31f9115e17490b9393e282fa7b4d5f6060a4006107f2565b63f7474d0081146003361116156106c657602061080c5f395f5163d0e30db0604052803b156107f6575f60406004605c34855af1610693573d5f5f3e3d5ffd5b5034602061080c5f395f51337f288d9a5737d39d766acb848da277a970d9ee31f9115e17490b9393e282fa7b4d5f6040a4005b63b97de68f81186107f2576044361034176107f6576004358060a01c6107f6576040526002336020525f5260405f20806040516020525f5260405f20905080546024358082038281116107f6579050905081555060405163a9059cbb6060523360805260243560a052602060606044607c5f855af1610747573d5f5f3e3d5ffd5b60203d106107f6576060518060011c6107f65760c05260c09050516107c457600360e0527f74667200000000000000000000000000000000000000000000000000000000006101005260e05060e0518061010001601f825f031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b602435604051337f59104a9db1fa479901487310a7e3c5b60e3be0f04afa71c60e276575826d92ce5f6060a4005b5f5ffd5b5f80fd012e010c022507f204dd0018037a07f2065300000000000000000000000094373a4919b3240d86ea41593d5eba789fef3848
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000094373a4919b3240d86ea41593d5eba789fef3848
-----Decoded View---------------
Arg [0] : _weth (address): 0x94373a4919B3240D86eA41593D5eBa789FEF3848
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000094373a4919b3240d86ea41593d5eba789fef3848
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.