Holesky Testnet

Contract

0x272347F941fb5f35854D8f5DbDcEdef1A515dB41

Overview

ETH Balance

0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Pay Ether17463542024-06-16 9:07:36211 days ago1718528856IN
0x272347F9...1A515dB41
0.2 ETH0.000039861.01217756
Pay Ether17274622024-06-13 12:18:00214 days ago1718281080IN
0x272347F9...1A515dB41
0.01 ETH0.000044551.13132467
Pay Ether16982432024-06-08 21:36:24219 days ago1717882584IN
0x272347F9...1A515dB41
0.1 ETH0.000039431.00122743
Pay Ether16978752024-06-08 20:14:36219 days ago1717877676IN
0x272347F9...1A515dB41
0.00001 ETH0.000043531.10541794
Pay Ether16977612024-06-08 19:50:12219 days ago1717876212IN
0x272347F9...1A515dB41
0.2 ETH0.000051141.29848485
Pay Ether16977572024-06-08 19:49:12219 days ago1717876152IN
0x272347F9...1A515dB41
0.000001 ETH0.000051241.30107486
Pay Ether16976622024-06-08 19:28:36219 days ago1717874916IN
0x272347F9...1A515dB41
0.001 ETH0.000069731.77058603
Pay Ether16974612024-06-08 18:44:36219 days ago1717872276IN
0x272347F9...1A515dB41
0.2 ETH0.000044491.12981059
Pay Ether16971702024-06-08 17:40:48219 days ago1717868448IN
0x272347F9...1A515dB41
0.1 ETH0.000045671.15970443
Pay Ether16906012024-06-07 17:07:12220 days ago1717780032IN
0x272347F9...1A515dB41
1 ETH0.000038990.99000956
Pay Ether16704482024-06-04 14:05:36223 days ago1717509936IN
0x272347F9...1A515dB41
0.01 ETH0.00004351.10456363
Pay Ether16099412024-05-25 15:25:24233 days ago1716650724IN
0x272347F9...1A515dB41
0 ETH0.000050931.29324854
Pay Ether16099272024-05-25 15:22:36233 days ago1716650556IN
0x272347F9...1A515dB41
0 ETH0.000048831.23983206
Pay Ether16099192024-05-25 15:20:36233 days ago1716650436IN
0x272347F9...1A515dB41
0.000001 ETH0.000051371.30430281
Pay Ether13793562024-04-19 19:39:48269 days ago1713555588IN
0x272347F9...1A515dB41
0.0001 ETH0.000156993.98617461
Pay Ether13793332024-04-19 19:34:36269 days ago1713555276IN
0x272347F9...1A515dB41
0.0001 ETH0.000145773.70119349
Pay Ether13535042024-04-15 19:10:12273 days ago1713208212IN
0x272347F9...1A515dB41
0.001 ETH0.000172894.38970903
Pay Ether11679672024-03-18 19:53:48301 days ago1710791628IN
0x272347F9...1A515dB41
0.034 ETH0.000104552.65475029
Pay Ether11679562024-03-18 19:51:36301 days ago1710791496IN
0x272347F9...1A515dB41
0.034 ETH0.000093882.38375596
Pay Ether11679332024-03-18 19:46:48301 days ago1710791208IN
0x272347F9...1A515dB41
6 ETH0.000103792.63527805
Pay Ether11679032024-03-18 19:40:12301 days ago1710790812IN
0x272347F9...1A515dB41
0.001 ETH0.000127792.26248945

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
17463542024-06-16 9:07:36211 days ago1718528856
0x272347F9...1A515dB41
0.2 ETH
17274622024-06-13 12:18:00214 days ago1718281080
0x272347F9...1A515dB41
0.01 ETH
16982432024-06-08 21:36:24219 days ago1717882584
0x272347F9...1A515dB41
0.1 ETH
16978752024-06-08 20:14:36219 days ago1717877676
0x272347F9...1A515dB41
0.00001 ETH
16977612024-06-08 19:50:12219 days ago1717876212
0x272347F9...1A515dB41
0.2 ETH
16977572024-06-08 19:49:12219 days ago1717876152
0x272347F9...1A515dB41
0.000001 ETH
16976622024-06-08 19:28:36219 days ago1717874916
0x272347F9...1A515dB41
0.001 ETH
16974612024-06-08 18:44:36219 days ago1717872276
0x272347F9...1A515dB41
0.2 ETH
16971702024-06-08 17:40:48219 days ago1717868448
0x272347F9...1A515dB41
0.1 ETH
16906012024-06-07 17:07:12220 days ago1717780032
0x272347F9...1A515dB41
1 ETH
16704482024-06-04 14:05:36223 days ago1717509936
0x272347F9...1A515dB41
0.01 ETH
16099412024-05-25 15:25:24233 days ago1716650724
0x272347F9...1A515dB41
0 ETH
16099272024-05-25 15:22:36233 days ago1716650556
0x272347F9...1A515dB41
0 ETH
16099192024-05-25 15:20:36233 days ago1716650436
0x272347F9...1A515dB41
0.000001 ETH
13793562024-04-19 19:39:48269 days ago1713555588
0x272347F9...1A515dB41
0.0001 ETH
13793332024-04-19 19:34:36269 days ago1713555276
0x272347F9...1A515dB41
0.0001 ETH
13535042024-04-15 19:10:12273 days ago1713208212
0x272347F9...1A515dB41
0.001 ETH
11679672024-03-18 19:53:48301 days ago1710791628
0x272347F9...1A515dB41
0.034 ETH
11679562024-03-18 19:51:36301 days ago1710791496
0x272347F9...1A515dB41
0.034 ETH
11679332024-03-18 19:46:48301 days ago1710791208
0x272347F9...1A515dB41
6 ETH
11679032024-03-18 19:40:12301 days ago1710790812
0x272347F9...1A515dB41
0.001 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.3.10

Optimization Enabled:
N/A

Other Settings:
default evmVersion, GNU GPLv3 license

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)

Contract ABI

[{"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"}]}]

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


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.