Holesky Testnet

Contract

0x8Ef16FFDe7fc18F2E6d4Ca338AA0F318fd61e848

Overview

ETH Balance

110.8 ETH

Token Holdings

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Faucet33215422025-02-10 3:04:0030 hrs ago1739156640IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet33162052025-02-09 7:49:362 days ago1739087376IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000030.00097001
Faucet33162052025-02-09 7:49:362 days ago1739087376IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet33132882025-02-08 21:28:242 days ago1739050104IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000009240.10000001
Faucet33052882025-02-07 17:05:123 days ago1738947912IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet33051572025-02-07 16:38:003 days ago1738946280IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000090.00100001
Faucet33036092025-02-07 11:08:123 days ago1738926492IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000053241.50000002
Faucet33036082025-02-07 11:08:003 days ago1738926480IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000138691.50000002
Faucet33027362025-02-07 7:57:244 days ago1738915044IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000030.00097001
Faucet33027362025-02-07 7:57:244 days ago1738915044IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet32991052025-02-06 19:04:484 days ago1738868688IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet32965022025-02-06 9:53:124 days ago1738835592IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000138691.50000001
Faucet32958132025-02-06 7:26:005 days ago1738826760IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000090.00106701
Faucet32950212025-02-06 4:38:485 days ago1738816728IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet32914642025-02-05 16:05:245 days ago1738771524IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet32825272025-02-04 7:59:127 days ago1738655952IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000042591.2
Faucet32824942025-02-04 7:51:247 days ago1738655484IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000042591.2
Faucet32824922025-02-04 7:51:007 days ago1738655460IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000110951.2
Faucet32757362025-02-03 7:50:128 days ago1738569012IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000138691.5
Faucet32630552025-02-01 10:15:009 days ago1738404900IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000034420.97000001
Faucet32629842025-02-01 10:00:369 days ago1738404036IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet32543002025-01-31 2:27:2411 days ago1738290444IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet32499852025-01-30 11:08:3611 days ago1738235316IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet32450222025-01-29 17:25:2412 days ago1738171524IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000080.00097001
Faucet32445062025-01-29 15:32:1212 days ago1738164732IN
0x8Ef16FFD...8fd61e848
0.1 ETH0.000000110.00120001
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MOVEFaucet

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
cancun EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : MOVEFaucet.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

interface IERC20 {
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function decimals() external view returns (uint8);
}

contract MOVEFaucet {

    IERC20 public move;
    uint256 public rateLimit = 1 days;
    uint256 public amount = 10;
    address owner;
    mapping(address => uint256) public lastFaucetClaim;

    constructor(IERC20 _move) {
        move = _move;
        owner = msg.sender;
    }

    function faucet() external payable {
        require(msg.value == 10 ** 17, "MOVEFaucet: eth invalid amount");
        require(move.balanceOf(msg.sender) < 10 ** move.decimals(), "MOVEFaucet: balance must be less than 1 MOVE");
        require(block.timestamp - lastFaucetClaim[msg.sender] >= rateLimit, "MOVEFaucet: rate limit exceeded");
        lastFaucetClaim[msg.sender] = block.timestamp;
        require(move.transfer(msg.sender, amount * 10 ** move.decimals()), "MOVEFaucet: transfer failed");
    }

    function setConfig(uint256 _rateLimit, uint256 _amount, address _owner) external {
        require(msg.sender == owner, "MOVEFaucet: only owner can set config");
        rateLimit = _rateLimit;
        amount = _amount;
        owner = _owner;
    }

    function withdraw() external {
        require(msg.sender == owner, "MOVEFaucet: only owner can retrieve funds");
        (bool status,) = owner.call{value: address(this).balance}("");
        require(status == true, "error during transaction");
    }
}

Settings
{
  "remappings": [
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "@createx/=lib/createx/src/",
    "ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "murky/=lib/murky/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/",
    "openzeppelin/=lib/createx/lib/openzeppelin-contracts/contracts/",
    "@safe-smart-account/=lib/safe-smart-account/",
    "solady/=lib/createx/lib/solady/",
    "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/",
    "safe-smart-account/=lib/safe-smart-account/",
    "solmate/=lib/solmate/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": false,
  "libraries": {}
}

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"_move","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"faucet","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastFaucetClaim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"move","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rateLimit","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"name":"setConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405262015180600155600a600255348015601a575f80fd5b5060405161091c38038061091c8339810160408190526037916063565b5f80546001600160a01b039092166001600160a01b03199283161790556003805490911633179055608e565b5f602082840312156072575f80fd5b81516001600160a01b03811681146087575f80fd5b9392505050565b6108818061009b5f395ff3fe60806040526004361061006e575f3560e01c80638a8772051161004c5780638a877205146100e6578063aa8c217c14610111578063b8038b3e14610126578063de5f72fd14610145575f80fd5b80633ccfd60b146100725780633ec48a2e1461008857806361e08e72146100c3575b5f80fd5b34801561007d575f80fd5b5061008661014d565b005b348015610093575f80fd5b505f546100a6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ce575f80fd5b506100d860015481565b6040519081526020016100ba565b3480156100f1575f80fd5b506100d8610100366004610672565b60046020525f908152604090205481565b34801561011c575f80fd5b506100d860025481565b348015610131575f80fd5b50610086610140366004610692565b610267565b6100866102f9565b6003546001600160a01b031633146101be5760405162461bcd60e51b815260206004820152602960248201527f4d4f56454661756365743a206f6e6c79206f776e65722063616e2072657472696044820152686576652066756e647360b81b60648201526084015b60405180910390fd5b6003546040515f916001600160a01b03169047908381818185875af1925050503d805f8114610208576040519150601f19603f3d011682016040523d82523d5f602084013e61020d565b606091505b50909150506001811515146102645760405162461bcd60e51b815260206004820152601860248201527f6572726f7220647572696e67207472616e73616374696f6e000000000000000060448201526064016101b5565b50565b6003546001600160a01b031633146102cf5760405162461bcd60e51b815260206004820152602560248201527f4d4f56454661756365743a206f6e6c79206f776e65722063616e2073657420636044820152646f6e66696760d81b60648201526084016101b5565b600192909255600255600380546001600160a01b0319166001600160a01b03909216919091179055565b3467016345785d8a0000146103505760405162461bcd60e51b815260206004820152601e60248201527f4d4f56454661756365743a2065746820696e76616c696420616d6f756e74000060448201526064016101b5565b5f8054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c291906106c4565b6103cd90600a6107dd565b5f546040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610412573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061043691906107eb565b106104985760405162461bcd60e51b815260206004820152602c60248201527f4d4f56454661756365743a2062616c616e6365206d757374206265206c65737360448201526b207468616e2031204d4f564560a01b60648201526084016101b5565b600154335f908152600460205260409020546104b49042610802565b10156105025760405162461bcd60e51b815260206004820152601f60248201527f4d4f56454661756365743a2072617465206c696d69742065786365656465640060448201526064016101b5565b335f8181526004602081815260408084204290559254835163313ce56760e01b815293516001600160a01b039091169463a9059cbb949093869363313ce5679383830193919290918290030181865afa158015610561573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058591906106c4565b61059090600a6107dd565b60025461059d9190610815565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156105e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610609919061082c565b6106555760405162461bcd60e51b815260206004820152601b60248201527f4d4f56454661756365743a207472616e73666572206661696c6564000000000060448201526064016101b5565b565b80356001600160a01b038116811461066d575f80fd5b919050565b5f60208284031215610682575f80fd5b61068b82610657565b9392505050565b5f805f606084860312156106a4575f80fd5b83359250602084013591506106bb60408501610657565b90509250925092565b5f602082840312156106d4575f80fd5b815160ff8116811461068b575f80fd5b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561073357808504811115610717576107176106e4565b600184161561072557908102905b60019390931c9280026106fc565b935093915050565b5f82610749575060016107d7565b8161075557505f6107d7565b816001811461076b576002811461077557610791565b60019150506107d7565b60ff841115610786576107866106e4565b50506001821b6107d7565b5060208310610133831016604e8410600b84101617156107b4575081810a6107d7565b6107c05f1984846106f8565b805f19048211156107d3576107d36106e4565b0290505b92915050565b5f61068b60ff84168361073b565b5f602082840312156107fb575f80fd5b5051919050565b818103818111156107d7576107d76106e4565b80820281158282048414176107d7576107d76106e4565b5f6020828403121561083c575f80fd5b8151801515811461068b575f80fdfea26469706673582212207a554637cb8dfc061f091c11d92009ebfb4f764d9db51dd34b4ee2b83164c3c464736f6c634300081a0033000000000000000000000000c36ba8b8fd9ecbf36288b9b9b0ae9fc3e0645227

Deployed Bytecode

0x60806040526004361061006e575f3560e01c80638a8772051161004c5780638a877205146100e6578063aa8c217c14610111578063b8038b3e14610126578063de5f72fd14610145575f80fd5b80633ccfd60b146100725780633ec48a2e1461008857806361e08e72146100c3575b5f80fd5b34801561007d575f80fd5b5061008661014d565b005b348015610093575f80fd5b505f546100a6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ce575f80fd5b506100d860015481565b6040519081526020016100ba565b3480156100f1575f80fd5b506100d8610100366004610672565b60046020525f908152604090205481565b34801561011c575f80fd5b506100d860025481565b348015610131575f80fd5b50610086610140366004610692565b610267565b6100866102f9565b6003546001600160a01b031633146101be5760405162461bcd60e51b815260206004820152602960248201527f4d4f56454661756365743a206f6e6c79206f776e65722063616e2072657472696044820152686576652066756e647360b81b60648201526084015b60405180910390fd5b6003546040515f916001600160a01b03169047908381818185875af1925050503d805f8114610208576040519150601f19603f3d011682016040523d82523d5f602084013e61020d565b606091505b50909150506001811515146102645760405162461bcd60e51b815260206004820152601860248201527f6572726f7220647572696e67207472616e73616374696f6e000000000000000060448201526064016101b5565b50565b6003546001600160a01b031633146102cf5760405162461bcd60e51b815260206004820152602560248201527f4d4f56454661756365743a206f6e6c79206f776e65722063616e2073657420636044820152646f6e66696760d81b60648201526084016101b5565b600192909255600255600380546001600160a01b0319166001600160a01b03909216919091179055565b3467016345785d8a0000146103505760405162461bcd60e51b815260206004820152601e60248201527f4d4f56454661756365743a2065746820696e76616c696420616d6f756e74000060448201526064016101b5565b5f8054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c291906106c4565b6103cd90600a6107dd565b5f546040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610412573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061043691906107eb565b106104985760405162461bcd60e51b815260206004820152602c60248201527f4d4f56454661756365743a2062616c616e6365206d757374206265206c65737360448201526b207468616e2031204d4f564560a01b60648201526084016101b5565b600154335f908152600460205260409020546104b49042610802565b10156105025760405162461bcd60e51b815260206004820152601f60248201527f4d4f56454661756365743a2072617465206c696d69742065786365656465640060448201526064016101b5565b335f8181526004602081815260408084204290559254835163313ce56760e01b815293516001600160a01b039091169463a9059cbb949093869363313ce5679383830193919290918290030181865afa158015610561573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058591906106c4565b61059090600a6107dd565b60025461059d9190610815565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156105e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610609919061082c565b6106555760405162461bcd60e51b815260206004820152601b60248201527f4d4f56454661756365743a207472616e73666572206661696c6564000000000060448201526064016101b5565b565b80356001600160a01b038116811461066d575f80fd5b919050565b5f60208284031215610682575f80fd5b61068b82610657565b9392505050565b5f805f606084860312156106a4575f80fd5b83359250602084013591506106bb60408501610657565b90509250925092565b5f602082840312156106d4575f80fd5b815160ff8116811461068b575f80fd5b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561073357808504811115610717576107176106e4565b600184161561072557908102905b60019390931c9280026106fc565b935093915050565b5f82610749575060016107d7565b8161075557505f6107d7565b816001811461076b576002811461077557610791565b60019150506107d7565b60ff841115610786576107866106e4565b50506001821b6107d7565b5060208310610133831016604e8410600b84101617156107b4575081810a6107d7565b6107c05f1984846106f8565b805f19048211156107d3576107d36106e4565b0290505b92915050565b5f61068b60ff84168361073b565b5f602082840312156107fb575f80fd5b5051919050565b818103818111156107d7576107d76106e4565b80820281158282048414176107d7576107d76106e4565b5f6020828403121561083c575f80fd5b8151801515811461068b575f80fdfea26469706673582212207a554637cb8dfc061f091c11d92009ebfb4f764d9db51dd34b4ee2b83164c3c464736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000c36ba8b8fd9ecbf36288b9b9b0ae9fc3e0645227

-----Decoded View---------------
Arg [0] : _move (address): 0xC36ba8B8fD9EcbF36288b9B9B0ae9FC3E0645227

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c36ba8b8fd9ecbf36288b9b9b0ae9fc3e0645227


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  ]

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.