Mumbai Testnet

Contract

0x51a9AE250Fa9a7dA78cf333320639647fF117b42

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Value
Transfer263902762022-05-20 10:08:45678 days ago1653041325IN
0x51a9AE25...7fF117b42
0 MATIC0.000149782.91
Approve248504912022-02-12 8:27:58775 days ago1644654478IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.93999998
Approve248281242022-02-11 15:26:22775 days ago1644593182IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.94
Approve248278362022-02-11 15:13:14775 days ago1644592394IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.94
Approve248271012022-02-11 14:38:26775 days ago1644590306IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.94
Approve248266542022-02-11 14:17:48775 days ago1644589068IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.93999999
Approve248253182022-02-11 13:19:04775 days ago1644585544IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.93999997
Approve248241412022-02-11 12:30:34775 days ago1644582634IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.94
Approve248241212022-02-11 12:29:22775 days ago1644582562IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.94
Approve248238642022-02-11 12:20:18776 days ago1644582018IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.94
Approve248232542022-02-11 11:55:20776 days ago1644580520IN
0x51a9AE25...7fF117b42
0 MATIC0.000090241.94
Transfer248201492022-02-11 9:49:22776 days ago1644572962IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248201432022-02-11 9:49:10776 days ago1644572950IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248201372022-02-11 9:48:58776 days ago1644572938IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248201322022-02-11 9:48:48776 days ago1644572928IN
0x51a9AE25...7fF117b42
0 MATIC0.000128592.5
Transfer248201252022-02-11 9:48:34776 days ago1644572914IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.50000001
Transfer248201202022-02-11 9:48:24776 days ago1644572904IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248201132022-02-11 9:48:10776 days ago1644572890IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248201092022-02-11 9:48:02776 days ago1644572882IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248201032022-02-11 9:47:50776 days ago1644572870IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248200982022-02-11 9:47:40776 days ago1644572860IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248200932022-02-11 9:47:26776 days ago1644572846IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248200882022-02-11 9:47:16776 days ago1644572836IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248200832022-02-11 9:47:06776 days ago1644572826IN
0x51a9AE25...7fF117b42
0 MATIC0.000128622.5
Transfer248200772022-02-11 9:46:54776 days ago1644572814IN
0x51a9AE25...7fF117b42
0 MATIC0.000128592.5
View all transactions

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x2193fBf6...DDb8a9F89
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Eth

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : Eth.sol
// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

contract Eth {
  // MODEL

  address public owner;
  address public pendingOwner;

  string public constant name = "ETH ERC20";
  string public constant symbol = "ETH";
  uint8 public immutable decimals = 18;

  address private constant ZERO = address(type(uint160).min);

  uint256 public totalSupply;
  mapping(address => uint256) public balanceOf;
  mapping(address => mapping(address => uint256)) public allowance;

  constructor(address _owner) {
    require(_owner != address(0), "Zero");
    owner = _owner;
  }

  // EVENT

  event Approval(
    address indexed _owner,
    address indexed _spender,
    uint256 _value
  );

  event Transfer(address indexed _from, address indexed _to, uint256 _value);

  // UPDATE

  function approve(address _spender, uint256 _value) external returns (bool) {
    _approve(msg.sender, _spender, _value);
    return true;
  }

  function transfer(address _to, uint256 _value) external returns (bool) {
    _transfer(msg.sender, _to, _value);
    return true;
  }

  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  ) external returns (bool) {
    if (
      msg.sender != _from && allowance[_from][msg.sender] != type(uint256).max
    ) {
      allowance[_from][msg.sender] -= _value;

      emit Approval(_from, msg.sender, allowance[_from][msg.sender]);
    }
    _transfer(_from, _to, _value);
    return true;
  }

  function mint() external {
    totalSupply += 1000000000000000000000;
    balanceOf[msg.sender] += 1000000000000000000000;
    emit Transfer(ZERO, msg.sender, 1000000000000000000000);
  }

  function mint(uint256 _value) external {
    require(msg.sender == owner, "Forbidden");
    totalSupply += _value;
    balanceOf[msg.sender] += _value;
    emit Transfer(ZERO, msg.sender, _value);
  }

  // HELPER

  function _approve(
    address _owner,
    address _spender,
    uint256 _value
  ) private {
    allowance[_owner][_spender] = _value;
    emit Approval(_owner, _spender, _value);
  }

  function _transfer(
    address _from,
    address _to,
    uint256 _value
  ) private {
    balanceOf[_from] -= _value;
    balanceOf[_to] += _value;
    emit Transfer(_from, _to, _value);
  }

  function setOwner(address _pendingOwner) external {
    require(msg.sender == owner, "Forbidden");
    require(_pendingOwner != address(0), "Zero");
    pendingOwner = _pendingOwner;
  }

  function acceptOwner() external {
    require(msg.sender == pendingOwner, "Forbidden");
    owner = msg.sender;
  }
}

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

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"acceptOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pendingOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a9059cbb11610066578063a9059cbb1461025b578063dd62ed3e1461026e578063e30c397814610299578063ebbc4965146102ac57600080fd5b806370a08231146101db5780638da5cb5b146101fb57806395d89b4114610226578063a0712d681461024857600080fd5b806313af4035116100d357806313af40351461016557806318160ddd1461017857806323b872dd1461018f578063313ce567146101a257600080fd5b806306fdde03146100fa578063095ea7b3146101385780631249c58b1461015b575b600080fd5b6101226040518060400160405280600981526020016804554482045524332360bc1b81525081565b60405161012f91906107b4565b60405180910390f35b61014b610146366004610773565b6102b4565b604051901515815260200161012f565b6101636102ca565b005b6101636101733660046106e5565b61035a565b61018160025481565b60405190815260200161012f565b61014b61019d366004610738565b6103ee565b6101c97f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff909116815260200161012f565b6101816101e93660046106e5565b60036020526000908152604090205481565b60005461020e906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b6101226040518060400160405280600381526020016208aa8960eb1b81525081565b61016361025636600461079c565b6104db565b61014b610269366004610773565b61057b565b61018161027c366004610706565b600460209081526000928352604080842090915290825290205481565b60015461020e906001600160a01b031681565b610163610588565b60006102c13384846105c6565b50600192915050565b683635c9adc5dea00000600260008282546102e5919061082a565b90915550503360009081526003602052604081208054683635c9adc5dea00000929061031290849061082a565b9091555050604051683635c9adc5dea00000815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3565b6000546001600160a01b0316331461038d5760405162461bcd60e51b815260040161038490610807565b60405180910390fd5b6001600160a01b0381166103cc5760405162461bcd60e51b8152600401610384906020808252600490820152635a65726f60e01b604082015260600190565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000336001600160a01b0385161480159061042e57506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b156104c6576001600160a01b038416600090815260046020908152604080832033845290915281208054849290610466908490610842565b90915550506001600160a01b038416600081815260046020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b6104d1848484610628565b5060019392505050565b6000546001600160a01b031633146105055760405162461bcd60e51b815260040161038490610807565b8060026000828254610517919061082a565b9091555050336000908152600360205260408120805483929061053b90849061082a565b909155505060405181815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350565b60006102c1338484610628565b6001546001600160a01b031633146105b25760405162461bcd60e51b815260040161038490610807565b600080546001600160a01b03191633179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526003602052604081208054839290610650908490610842565b90915550506001600160a01b0382166000908152600360205260408120805483929061067d90849061082a565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161061b91815260200190565b80356001600160a01b03811681146106e057600080fd5b919050565b6000602082840312156106f6578081fd5b6106ff826106c9565b9392505050565b60008060408385031215610718578081fd5b610721836106c9565b915061072f602084016106c9565b90509250929050565b60008060006060848603121561074c578081fd5b610755846106c9565b9250610763602085016106c9565b9150604084013590509250925092565b60008060408385031215610785578182fd5b61078e836106c9565b946020939093013593505050565b6000602082840312156107ad578081fd5b5035919050565b6000602080835283518082850152825b818110156107e0578581018301518582016040015282016107c4565b818111156107f15783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600990820152682337b93134b23232b760b91b604082015260600190565b6000821982111561083d5761083d610859565b500190565b60008282101561085457610854610859565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212209af048aa45346f7fe673333900984508312c55b88b1baa7937f3aa47525b85fd64736f6c63430008040033

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.