Mumbai Testnet

Contract

0x2eFbAa7BC2a3F2c351084469907D493861988980

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

Token Holdings

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Value
Redeem Token475345772024-03-27 6:38:5734 hrs ago1711521537IN
0x2eFbAa7B...861988980
0 MATIC0.00030315
Redeem Token475345672024-03-27 6:38:3534 hrs ago1711521515IN
0x2eFbAa7B...861988980
0 MATIC0.000303165
Redeem Token475345582024-03-27 6:38:1534 hrs ago1711521495IN
0x2eFbAa7B...861988980
0 MATIC0.000302925
Redeem Token474437782024-03-24 23:32:333 days ago1711323153IN
0x2eFbAa7B...861988980
0 MATIC0.000313437.2
Redeem Token474437632024-03-24 23:32:013 days ago1711323121IN
0x2eFbAa7B...861988980
0 MATIC0.000436557.2
Redeem Token474428172024-03-24 22:58:313 days ago1711321111IN
0x2eFbAa7B...861988980
0 MATIC0.0012667829.10000001
Redeem Token474428082024-03-24 22:58:113 days ago1711321091IN
0x2eFbAa7B...861988980
0 MATIC0.0019286329.10000001
Redeem Token474427942024-03-24 22:57:413 days ago1711321061IN
0x2eFbAa7B...861988980
0 MATIC0.0012667829.10000001
Redeem Token474415292024-03-24 22:12:533 days ago1711318373IN
0x2eFbAa7B...861988980
0 MATIC0.0016392930.00000002
Redeem Token474415252024-03-24 22:12:453 days ago1711318365IN
0x2eFbAa7B...861988980
0 MATIC0.0016392930.00000002
Redeem Token474415212024-03-24 22:12:373 days ago1711318357IN
0x2eFbAa7B...861988980
0 MATIC0.0016392930.00000001
Redeem Token474415182024-03-24 22:12:293 days ago1711318349IN
0x2eFbAa7B...861988980
0 MATIC0.0014753627.00000002
Redeem Token474415092024-03-24 22:12:113 days ago1711318331IN
0x2eFbAa7B...861988980
0 MATIC0.0019370627.00000002
Redeem Token474415042024-03-24 22:12:013 days ago1711318321IN
0x2eFbAa7B...861988980
0 MATIC0.0010447624.00000001
Redeem Token474415042024-03-24 22:12:013 days ago1711318321IN
0x2eFbAa7B...861988980
0 MATIC0.0014551624.00000001
Redeem Token474414872024-03-24 22:11:233 days ago1711318283IN
0x2eFbAa7B...861988980
0 MATIC0.0010444824.00000001
Redeem Token474414802024-03-24 22:11:093 days ago1711318269IN
0x2eFbAa7B...861988980
0 MATIC0.0010444824.00000001
Redeem Token474414752024-03-24 22:10:593 days ago1711318259IN
0x2eFbAa7B...861988980
0 MATIC0.0010444824.00000001
Redeem Token474414722024-03-24 22:10:533 days ago1711318253IN
0x2eFbAa7B...861988980
0 MATIC0.001212420.00000001
Redeem Token474414622024-03-24 22:10:313 days ago1711318231IN
0x2eFbAa7B...861988980
0 MATIC0.0008706420.00000001
Redeem Token474414542024-03-24 22:10:133 days ago1711318213IN
0x2eFbAa7B...861988980
0 MATIC0.0008706420.00000001
Redeem Token474414492024-03-24 22:10:033 days ago1711318203IN
0x2eFbAa7B...861988980
0 MATIC0.0012126420.00000001
Redeem Token474414402024-03-24 22:09:453 days ago1711318185IN
0x2eFbAa7B...861988980
0 MATIC0.0008706420.00000001
Redeem Token474414352024-03-24 22:09:333 days ago1711318173IN
0x2eFbAa7B...861988980
0 MATIC0.0012126420.00000001
Redeem Token474414302024-03-24 22:09:233 days ago1711318163IN
0x2eFbAa7B...861988980
0 MATIC0.0008706420.00000001
View all transactions

Parent Txn Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FaucetController

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 2 : FaucetController.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.12;

import "./IERC20.sol";

contract FaucetController {
  address private _owner;

  event OwnerUpdated(address indexed oldOwner, address indexed newOwner);
  event TokenRedeemed(address indexed user, uint amount,bool result);

  constructor() {
    _owner = msg.sender;
    emit OwnerUpdated(address(0),msg.sender);
  }

  function owner() public view returns(address){
    return _owner;
  }

  modifier onlyOwner() {
    require(owner() == msg.sender, "Not Faucet Owner");
    _;
  }

  function getTokenFund(address _tokenAddress) external view returns(uint) {
    return IERC20(_tokenAddress).balanceOf(address(this));
  }

  function getFaucetEthBalance() external view returns(uint){
    return address(this).balance;
  }

  function redeemToken(address _tokenAddress,address _userAddress,uint _amount) external returns(bool){
    require(IERC20(_tokenAddress).balanceOf(address(this)) > 0,"No Fund Detected For Token");

    bool result = IERC20(_tokenAddress).transfer(_userAddress,_amount);
    emit TokenRedeemed(_userAddress,_amount,result);

    return result;
  }

  function setOwner(address _newOwner) public onlyOwner returns(address){
    require(_newOwner != address(0),"Address Must Not Be Empty");

    address _oldOwner = owner();
    _owner = _newOwner;
    emit OwnerUpdated(_oldOwner,_newOwner);

    return owner();
  }

}

File 2 of 2 : IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.12;

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);

    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);

    function transfer(address to, uint256 amount) external returns (bool);
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"result","type":"bool"}],"name":"TokenRedeemed","type":"event"},{"inputs":[],"name":"getFaucetEthBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"getTokenFund","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"address","name":"_userAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"redeemToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7660405160405180910390a361092e806100bb6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630753482a1461005c5780630d71bdc31461007a57806313af4035146100aa5780638da5cb5b146100da578063f6ed8519146100f8575b600080fd5b610064610128565b604051610071919061052c565b60405180910390f35b610094600480360381019061008f91906105d6565b610130565b6040516100a19190610644565b60405180910390f35b6100c460048036038101906100bf919061065f565b6102ca565b6040516100d1919061069b565b60405180910390f35b6100e2610467565b6040516100ef919061069b565b60405180910390f35b610112600480360381019061010d919061065f565b610490565b60405161011f919061052c565b60405180910390f35b600047905090565b6000808473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161016c919061069b565b602060405180830381865afa158015610189573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ad91906106cb565b116101ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e490610755565b60405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b815260040161022a929190610775565b6020604051808303816000875af1158015610249573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026d91906107ca565b90508373ffffffffffffffffffffffffffffffffffffffff167ffd0dd20f662b440144b778fdab766602e85f4e60ec0762983c82d844990beed184836040516102b79291906107f7565b60405180910390a2809150509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff166102eb610467565b73ffffffffffffffffffffffffffffffffffffffff1614610341576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103389061086c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a8906108d8565b60405180910390fd5b60006103bb610467565b9050826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7660405160405180910390a361045f610467565b915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104cb919061069b565b602060405180830381865afa1580156104e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050c91906106cb565b9050919050565b6000819050919050565b61052681610513565b82525050565b6000602082019050610541600083018461051d565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105778261054c565b9050919050565b6105878161056c565b811461059257600080fd5b50565b6000813590506105a48161057e565b92915050565b6105b381610513565b81146105be57600080fd5b50565b6000813590506105d0816105aa565b92915050565b6000806000606084860312156105ef576105ee610547565b5b60006105fd86828701610595565b935050602061060e86828701610595565b925050604061061f868287016105c1565b9150509250925092565b60008115159050919050565b61063e81610629565b82525050565b60006020820190506106596000830184610635565b92915050565b60006020828403121561067557610674610547565b5b600061068384828501610595565b91505092915050565b6106958161056c565b82525050565b60006020820190506106b0600083018461068c565b92915050565b6000815190506106c5816105aa565b92915050565b6000602082840312156106e1576106e0610547565b5b60006106ef848285016106b6565b91505092915050565b600082825260208201905092915050565b7f4e6f2046756e6420446574656374656420466f7220546f6b656e000000000000600082015250565b600061073f601a836106f8565b915061074a82610709565b602082019050919050565b6000602082019050818103600083015261076e81610732565b9050919050565b600060408201905061078a600083018561068c565b610797602083018461051d565b9392505050565b6107a781610629565b81146107b257600080fd5b50565b6000815190506107c48161079e565b92915050565b6000602082840312156107e0576107df610547565b5b60006107ee848285016107b5565b91505092915050565b600060408201905061080c600083018561051d565b6108196020830184610635565b9392505050565b7f4e6f7420466175636574204f776e657200000000000000000000000000000000600082015250565b60006108566010836106f8565b915061086182610820565b602082019050919050565b6000602082019050818103600083015261088581610849565b9050919050565b7f41646472657373204d757374204e6f7420426520456d70747900000000000000600082015250565b60006108c26019836106f8565b91506108cd8261088c565b602082019050919050565b600060208201905081810360008301526108f1816108b5565b905091905056fea2646970667358221220dab4ea0581b5aaf18af7ead6257caa4d60bd1d85a34d19042ac6925b9b6ba38664736f6c634300080c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630753482a1461005c5780630d71bdc31461007a57806313af4035146100aa5780638da5cb5b146100da578063f6ed8519146100f8575b600080fd5b610064610128565b604051610071919061052c565b60405180910390f35b610094600480360381019061008f91906105d6565b610130565b6040516100a19190610644565b60405180910390f35b6100c460048036038101906100bf919061065f565b6102ca565b6040516100d1919061069b565b60405180910390f35b6100e2610467565b6040516100ef919061069b565b60405180910390f35b610112600480360381019061010d919061065f565b610490565b60405161011f919061052c565b60405180910390f35b600047905090565b6000808473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161016c919061069b565b602060405180830381865afa158015610189573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ad91906106cb565b116101ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e490610755565b60405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b815260040161022a929190610775565b6020604051808303816000875af1158015610249573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026d91906107ca565b90508373ffffffffffffffffffffffffffffffffffffffff167ffd0dd20f662b440144b778fdab766602e85f4e60ec0762983c82d844990beed184836040516102b79291906107f7565b60405180910390a2809150509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff166102eb610467565b73ffffffffffffffffffffffffffffffffffffffff1614610341576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103389061086c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156103b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a8906108d8565b60405180910390fd5b60006103bb610467565b9050826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7660405160405180910390a361045f610467565b915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104cb919061069b565b602060405180830381865afa1580156104e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050c91906106cb565b9050919050565b6000819050919050565b61052681610513565b82525050565b6000602082019050610541600083018461051d565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105778261054c565b9050919050565b6105878161056c565b811461059257600080fd5b50565b6000813590506105a48161057e565b92915050565b6105b381610513565b81146105be57600080fd5b50565b6000813590506105d0816105aa565b92915050565b6000806000606084860312156105ef576105ee610547565b5b60006105fd86828701610595565b935050602061060e86828701610595565b925050604061061f868287016105c1565b9150509250925092565b60008115159050919050565b61063e81610629565b82525050565b60006020820190506106596000830184610635565b92915050565b60006020828403121561067557610674610547565b5b600061068384828501610595565b91505092915050565b6106958161056c565b82525050565b60006020820190506106b0600083018461068c565b92915050565b6000815190506106c5816105aa565b92915050565b6000602082840312156106e1576106e0610547565b5b60006106ef848285016106b6565b91505092915050565b600082825260208201905092915050565b7f4e6f2046756e6420446574656374656420466f7220546f6b656e000000000000600082015250565b600061073f601a836106f8565b915061074a82610709565b602082019050919050565b6000602082019050818103600083015261076e81610732565b9050919050565b600060408201905061078a600083018561068c565b610797602083018461051d565b9392505050565b6107a781610629565b81146107b257600080fd5b50565b6000815190506107c48161079e565b92915050565b6000602082840312156107e0576107df610547565b5b60006107ee848285016107b5565b91505092915050565b600060408201905061080c600083018561051d565b6108196020830184610635565b9392505050565b7f4e6f7420466175636574204f776e657200000000000000000000000000000000600082015250565b60006108566010836106f8565b915061086182610820565b602082019050919050565b6000602082019050818103600083015261088581610849565b9050919050565b7f41646472657373204d757374204e6f7420426520456d70747900000000000000600082015250565b60006108c26019836106f8565b91506108cd8261088c565b602082019050919050565b600060208201905081810360008301526108f1816108b5565b905091905056fea2646970667358221220dab4ea0581b5aaf18af7ead6257caa4d60bd1d85a34d19042ac6925b9b6ba38664736f6c634300080c0033

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

Txn 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.