FTM Price: $0.40 (+1.53%)
Gas: 35 Gwei

Contract

0x8Dc673878d325C028D08d73C24cD59E15df62a4c
 

Overview

FTM Balance

Fantom LogoFantom LogoFantom Logo0 FTM

FTM Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value
Approve694574142023-10-18 6:08:14127 days 20 hrs ago1697609294IN
0x8Dc673...5df62a4c
0 FTM0.0014859731.76375721
Approve693707122023-10-16 0:30:07130 days 2 hrs ago1697416207IN
0x8Dc673...5df62a4c
0 FTM0.0012354726.43016112
Approve693706572023-10-16 0:28:11130 days 2 hrs ago1697416091IN
0x8Dc673...5df62a4c
0 FTM0.0011848125.33272238
Approve693255742023-10-14 18:23:34131 days 8 hrs ago1697307814IN
0x8Dc673...5df62a4c
0 FTM0.0030966566.24576557
Approve693255482023-10-14 18:22:21131 days 8 hrs ago1697307741IN
0x8Dc673...5df62a4c
0 FTM0.0032120868.67833299
Approve692727092023-10-13 6:17:37132 days 20 hrs ago1697177857IN
0x8Dc673...5df62a4c
0 FTM0.0034467973.73620732
Approve692726812023-10-13 6:16:30132 days 20 hrs ago1697177790IN
0x8Dc673...5df62a4c
0 FTM0.0044777295.73930632
Approve692219232023-10-11 15:07:25134 days 11 hrs ago1697036845IN
0x8Dc673...5df62a4c
0 FTM0.00561579120.13689233
Approve692209852023-10-11 14:22:59134 days 12 hrs ago1697034179IN
0x8Dc673...5df62a4c
0 FTM0.0030036364.22138654
Approve691610412023-10-09 18:08:23136 days 8 hrs ago1696874903IN
0x8Dc673...5df62a4c
0 FTM0.00868295185.75160489
Approve691609902023-10-09 18:06:39136 days 8 hrs ago1696874799IN
0x8Dc673...5df62a4c
0 FTM0.0040366386.30813212
Approve690890912023-10-07 18:02:59138 days 8 hrs ago1696701779IN
0x8Dc673...5df62a4c
0 FTM0.0020789744.47490127
Approve690890782023-10-07 18:02:29138 days 8 hrs ago1696701749IN
0x8Dc673...5df62a4c
0 FTM0.0020176243.13936769
Approve690367442023-10-06 6:37:50139 days 19 hrs ago1696574270IN
0x8Dc673...5df62a4c
0 FTM0.0014794531.64957987
Approve690367102023-10-06 6:36:28139 days 20 hrs ago1696574188IN
0x8Dc673...5df62a4c
0 FTM0.0021715646.43071609
Approve689799952023-10-04 18:14:26141 days 8 hrs ago1696443266IN
0x8Dc673...5df62a4c
0 FTM0.0014647331.33459568
Approve689797722023-10-04 18:05:11141 days 8 hrs ago1696442711IN
0x8Dc673...5df62a4c
0 FTM0.0014966432
Approve689252012023-10-03 6:13:36142 days 20 hrs ago1696313616IN
0x8Dc673...5df62a4c
0 FTM0.001212925.94723812
Approve689251872023-10-03 6:13:07142 days 20 hrs ago1696313587IN
0x8Dc673...5df62a4c
0 FTM0.0012052525.76990683
Approve688581442023-10-01 12:31:52144 days 14 hrs ago1696163512IN
0x8Dc673...5df62a4c
0 FTM0.0012741327.25704271
Approve688581182023-10-01 12:30:52144 days 14 hrs ago1696163452IN
0x8Dc673...5df62a4c
0 FTM0.0013098328.0058008
Approve687659862023-09-29 12:06:56146 days 14 hrs ago1695989216IN
0x8Dc673...5df62a4c
0 FTM0.0015048932.19364523
Approve687659602023-09-29 12:06:19146 days 14 hrs ago1695989179IN
0x8Dc673...5df62a4c
0 FTM0.0015027432.1306156
Approve686942552023-09-27 20:04:23148 days 6 hrs ago1695845063IN
0x8Dc673...5df62a4c
0 FTM0.0014021129.99492797
Approve686942392023-09-27 20:03:50148 days 6 hrs ago1695845030IN
0x8Dc673...5df62a4c
0 FTM0.0020976644.85061173
View all transactions

Latest 1 internal transaction

Parent Txn Hash Block From To Value
468809502022-09-13 15:13:31527 days 11 hrs ago1663082011  Contract Creation0 FTM
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CherryTreeToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at ftmscan.com on 2022-09-13
*/

// CherryTree.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/**
 * Cherry Tree Token (CHRT) contract
 *
 * Classic ERC20 contract.
 * No mint. No burn. No pause. No admin.
 * Fix supply: 100 000 Cherry Tree tokens for ever
 *
 * Owner powers:
 *   - none
 */


abstract contract Ownable {

  // ==== Events      ====
  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  // ==== Storage     ====
  // Private so it cannot be changed by inherited contracts
  address private _owner;


  // ==== Constructor ====
  constructor() {
    _transferOwnership(msg.sender);
  }


  // ==== Modifiers   ====
  modifier onlyOwner() {
    require(_owner == msg.sender, "Ownable: caller is not the owner");
    _;
  }


  // ==== Views       ====
  function owner() public view virtual returns (address) {
    return _owner;
  }


  // ==== Mutators    ====

  function renounceOwnership() public virtual onlyOwner {
    _transferOwnership(address(0));
  }

  function transferOwnership(address newOwner_) public virtual onlyOwner {
    require(newOwner_ != address(0), "Ownable: new owner is the zero address");
    _transferOwnership(newOwner_);
  }


  // ==== Internals   ====

  function _transferOwnership(address newOwner_) internal virtual {
    address oldOwner = owner();
    _owner = newOwner_;
    emit OwnershipTransferred(oldOwner, newOwner_);
  }
}


interface IERC20 {

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

    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 transfer(     address to,                uint256 amount)  external returns (bool);
    function approve(      address spender,           uint256 amount)  external returns (bool);
    function transferFrom( address from,  address to, uint256 amount ) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name()     external view returns (string memory);
    function symbol()   external view returns (string memory);
    function decimals() external view returns (uint8);
}


abstract contract ERC20 is IERC20, IERC20Metadata {

    // ==== Storage ====

    uint   private _totalSupply;

    // Strings cannot be immutable
    string private _name;
    string private _symbol;

    mapping(address => uint256)                     private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;


    // ==== Constructor ====

    constructor(string memory name_, string memory symbol_) {
      _name = name_;
      _symbol = symbol_;
    }


    // ==== Views      ====

    function name() public view virtual override returns (string memory) {
      return _name;
    }

    function symbol() public view virtual override returns (string memory) {
      return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
      return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
      return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
      return _balances[account];
    }


    // ==== Mutators   ====

    /**
     * @dev See {IERC20-transfer}.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
      address owner = msg.sender;
      _transfer(owner, to, amount);
      return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
      return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = msg.sender;
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = msg.sender;
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = msg.sender;
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = msg.sender;
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    // ==== Internals ====

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to   != address(0), "ERC20: transfer to the zero address");

        uint fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }


    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply       += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        uint accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner   != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
}


contract CherryTreeToken is ERC20, Ownable {

    constructor() ERC20("Cherry Tree", "CHRT") {
        // Supply is 100 000 for ever
        _mint(msg.sender, 100000 ether);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"renounceOwnership","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":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040518060400160405280600b81526020016a436865727279205472656560a81b8152506040518060400160405280600481526020016310d2149560e21b815250816001908162000064919062000298565b50600262000073828262000298565b5050506200008733620000a360201b60201c565b6200009d3369152d02c7e14af68000006200010c565b6200038c565b6000620000b86005546001600160a01b031690565b600580546001600160a01b0319166001600160a01b0385811691821790925560405192935091908316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001675760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806000808282546200017a919062000364565b90915550506001600160a01b03821660009081526003602052604081208054839290620001a990849062000364565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200021e57607f821691505b6020821081036200023f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029357600081815260208120601f850160051c810160208610156200026e5750805b601f850160051c820191505b818110156200028f578281556001016200027a565b5050505b505050565b81516001600160401b03811115620002b457620002b4620001f3565b620002cc81620002c5845462000209565b8462000245565b602080601f831160018114620003045760008415620002eb5750858301515b600019600386901b1c1916600185901b1785556200028f565b600085815260208120601f198616915b82811015620003355788860151825594840194600190910190840162000314565b5085821015620003545787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200038657634e487b7160e01b600052601160045260246000fd5b92915050565b610b9a806200039c6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d7146101cd578063a9059cbb146101e0578063dd62ed3e146101f3578063f2fde38b1461022c57600080fd5b8063715018a6146101a05780638da5cb5b146101aa57806395d89b41146101c557600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce56714610155578063395093511461016457806370a082311461017757600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f761023f565b60405161010491906109e4565b60405180910390f35b61012061011b366004610a4e565b6102d1565b6040519015158152602001610104565b6000545b604051908152602001610104565b610120610150366004610a78565b6102eb565b60405160128152602001610104565b610120610172366004610a4e565b61030f565b610134610185366004610ab4565b6001600160a01b031660009081526003602052604090205490565b6101a861034e565b005b6005546040516001600160a01b039091168152602001610104565b6100f76103b9565b6101206101db366004610a4e565b6103c8565b6101206101ee366004610a4e565b610472565b610134610201366004610ad6565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6101a861023a366004610ab4565b610480565b60606001805461024e90610b09565b80601f016020809104026020016040519081016040528092919081815260200182805461027a90610b09565b80156102c75780601f1061029c576101008083540402835291602001916102c7565b820191906000526020600020905b8154815290600101906020018083116102aa57829003601f168201915b5050505050905090565b6000336102df818585610562565b60019150505b92915050565b6000336102f98582856106ba565b61030485858561074c565b506001949350505050565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091906102df9082908690610349908790610b43565b610562565b6005546001600160a01b031633146103ad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6103b76000610964565b565b60606002805461024e90610b09565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909190838110156104655760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016103a4565b6103048286868403610562565b6000336102df81858561074c565b6005546001600160a01b031633146104da5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103a4565b6001600160a01b0381166105565760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103a4565b61055f81610964565b50565b6001600160a01b0383166105dd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b0382166106595760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260046020908152604080832093861683529290522054600019811461074657818110156107395760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103a4565b6107468484848403610562565b50505050565b6001600160a01b0383166107c85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b0382166108445760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b038316600090815260036020526040902054818110156108d35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061090a908490610b43565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161095691815260200190565b60405180910390a350505050565b60006109786005546001600160a01b031690565b600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385811691821790925560405192935091908316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b81811015610a11578581018301518582016040015282016109f5565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a4957600080fd5b919050565b60008060408385031215610a6157600080fd5b610a6a83610a32565b946020939093013593505050565b600080600060608486031215610a8d57600080fd5b610a9684610a32565b9250610aa460208501610a32565b9150604084013590509250925092565b600060208284031215610ac657600080fd5b610acf82610a32565b9392505050565b60008060408385031215610ae957600080fd5b610af283610a32565b9150610b0060208401610a32565b90509250929050565b600181811c90821680610b1d57607f821691505b602082108103610b3d57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102e557634e487b7160e01b600052601160045260246000fdfea264697066735822122045fc3f09eda6e95e2b67e2a0071c308740a69d9844048fd109efa7585b5477ad64736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d7146101cd578063a9059cbb146101e0578063dd62ed3e146101f3578063f2fde38b1461022c57600080fd5b8063715018a6146101a05780638da5cb5b146101aa57806395d89b41146101c557600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce56714610155578063395093511461016457806370a082311461017757600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f761023f565b60405161010491906109e4565b60405180910390f35b61012061011b366004610a4e565b6102d1565b6040519015158152602001610104565b6000545b604051908152602001610104565b610120610150366004610a78565b6102eb565b60405160128152602001610104565b610120610172366004610a4e565b61030f565b610134610185366004610ab4565b6001600160a01b031660009081526003602052604090205490565b6101a861034e565b005b6005546040516001600160a01b039091168152602001610104565b6100f76103b9565b6101206101db366004610a4e565b6103c8565b6101206101ee366004610a4e565b610472565b610134610201366004610ad6565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6101a861023a366004610ab4565b610480565b60606001805461024e90610b09565b80601f016020809104026020016040519081016040528092919081815260200182805461027a90610b09565b80156102c75780601f1061029c576101008083540402835291602001916102c7565b820191906000526020600020905b8154815290600101906020018083116102aa57829003601f168201915b5050505050905090565b6000336102df818585610562565b60019150505b92915050565b6000336102f98582856106ba565b61030485858561074c565b506001949350505050565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091906102df9082908690610349908790610b43565b610562565b6005546001600160a01b031633146103ad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6103b76000610964565b565b60606002805461024e90610b09565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909190838110156104655760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016103a4565b6103048286868403610562565b6000336102df81858561074c565b6005546001600160a01b031633146104da5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103a4565b6001600160a01b0381166105565760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103a4565b61055f81610964565b50565b6001600160a01b0383166105dd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b0382166106595760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260046020908152604080832093861683529290522054600019811461074657818110156107395760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103a4565b6107468484848403610562565b50505050565b6001600160a01b0383166107c85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b0382166108445760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b038316600090815260036020526040902054818110156108d35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103a4565b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061090a908490610b43565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161095691815260200190565b60405180910390a350505050565b60006109786005546001600160a01b031690565b600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385811691821790925560405192935091908316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b81811015610a11578581018301518582016040015282016109f5565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a4957600080fd5b919050565b60008060408385031215610a6157600080fd5b610a6a83610a32565b946020939093013593505050565b600080600060608486031215610a8d57600080fd5b610a9684610a32565b9250610aa460208501610a32565b9150604084013590509250925092565b600060208284031215610ac657600080fd5b610acf82610a32565b9392505050565b60008060408385031215610ae957600080fd5b610af283610a32565b9150610b0060208401610a32565b90509250929050565b600181811c90821680610b1d57607f821691505b602082108103610b3d57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102e557634e487b7160e01b600052601160045260246000fdfea264697066735822122045fc3f09eda6e95e2b67e2a0071c308740a69d9844048fd109efa7585b5477ad64736f6c63430008110033

Deployed Bytecode Sourcemap

8100:189:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3011:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4346:199;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:1;;1185:22;1167:41;;1155:2;1140:18;4346:199:0;1027:187:1;3326:106:0;3387:7;3412:12;3326:106;;;1365:25:1;;;1353:2;1338:18;3326:106:0;1219:177:1;4611:293:0;;;;;;:::i;:::-;;:::i;3227:91::-;;;3308:2;1876:36:1;;1864:2;1849:18;3227:91:0;1734:184:1;5014:236:0;;;;;;:::i;:::-;;:::i;3495:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3594:18:0;3569:7;3594:18;;;:9;:18;;;;;;;3495:125;948:97;;;:::i;:::-;;829:81;898:6;;829:81;;-1:-1:-1;;;;;898:6:0;;;2260:74:1;;2248:2;2233:18;829:81:0;2114:226:1;3117:102:0;;;:::i;5360:434::-;;;;;;:::i;:::-;;:::i;3715:185::-;;;;;;:::i;:::-;;:::i;3963:149::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4077:18:0;;;4052:7;4077:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3963:149;1051:194;;;;;;:::i;:::-;;:::i;3011:98::-;3065:13;3096:5;3089:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3011:98;:::o;4346:199::-;4429:4;4462:10;4483:32;4462:10;4499:7;4508:6;4483:8;:32::i;:::-;4533:4;4526:11;;;4346:199;;;;;:::o;4611:293::-;4742:4;4777:10;4798:38;4814:4;4777:10;4829:6;4798:15;:38::i;:::-;4847:27;4857:4;4863:2;4867:6;4847:9;:27::i;:::-;-1:-1:-1;4892:4:0;;4611:293;-1:-1:-1;;;;4611:293:0:o;5014:236::-;5135:10;5102:4;4077:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;4077:27:0;;;;;;;;;;5102:4;;5135:10;5156:64;;5135:10;;4077:27;;5181:38;;5209:10;;5181:38;:::i;:::-;5156:8;:64::i;948:97::-;722:6;;-1:-1:-1;;;;;722:6:0;732:10;722:20;714:65;;;;-1:-1:-1;;;714:65:0;;3538:2:1;714:65:0;;;3520:21:1;;;3557:18;;;3550:30;3616:34;3596:18;;;3589:62;3668:18;;714:65:0;;;;;;;;;1009:30:::1;1036:1;1009:18;:30::i;:::-;948:97::o:0;3117:102::-;3173:13;3204:7;3197:14;;;;;:::i;5360:434::-;5486:10;5453:4;4077:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;4077:27:0;;;;;;;;;;5453:4;;5486:10;5598:15;5578:16;:35;;5570:85;;;;-1:-1:-1;;;5570:85:0;;3899:2:1;5570:85:0;;;3881:21:1;3938:2;3918:18;;;3911:30;3977:34;3957:18;;;3950:62;4048:7;4028:18;;;4021:35;4073:19;;5570:85:0;3697:401:1;5570:85:0;5691:60;5700:5;5707:7;5735:15;5716:16;:34;5691:8;:60::i;3715:185::-;3794:4;3825:10;3844:28;3825:10;3861:2;3865:6;3844:9;:28::i;1051:194::-;722:6;;-1:-1:-1;;;;;722:6:0;732:10;722:20;714:65;;;;-1:-1:-1;;;714:65:0;;3538:2:1;714:65:0;;;3520:21:1;;;3557:18;;;3550:30;3616:34;3596:18;;;3589:62;3668:18;;714:65:0;3336:356:1;714:65:0;-1:-1:-1;;;;;1137:23:0;::::1;1129:74;;;::::0;-1:-1:-1;;;1129:74:0;;4305:2:1;1129:74:0::1;::::0;::::1;4287:21:1::0;4344:2;4324:18;;;4317:30;4383:34;4363:18;;;4356:62;4454:8;4434:18;;;4427:36;4480:19;;1129:74:0::1;4103:402:1::0;1129:74:0::1;1210:29;1229:9;1210:18;:29::i;:::-;1051:194:::0;:::o;7251:382::-;-1:-1:-1;;;;;7387:21:0;;7379:70;;;;-1:-1:-1;;;7379:70:0;;4712:2:1;7379:70:0;;;4694:21:1;4751:2;4731:18;;;4724:30;4790:34;4770:18;;;4763:62;4861:6;4841:18;;;4834:34;4885:19;;7379:70:0;4510:400:1;7379:70:0;-1:-1:-1;;;;;7468:21:0;;7460:68;;;;-1:-1:-1;;;7460:68:0;;5117:2:1;7460:68:0;;;5099:21:1;5156:2;5136:18;;;5129:30;5195:34;5175:18;;;5168:62;5266:4;5246:18;;;5239:32;5288:19;;7460:68:0;4915:398:1;7460:68:0;-1:-1:-1;;;;;7541:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7593:32;;1365:25:1;;;7593:32:0;;1338:18:1;7593:32:0;;;;;;;7251:382;;;:::o;7641:450::-;-1:-1:-1;;;;;4077:18:0;;;7776:21;4077:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;7840:37:0;;7836:248;;7922:6;7902:16;:26;;7894:68;;;;-1:-1:-1;;;7894:68:0;;5520:2:1;7894:68:0;;;5502:21:1;5559:2;5539:18;;;5532:30;5598:31;5578:18;;;5571:59;5647:18;;7894:68:0;5318:353:1;7894:68:0;8006:51;8015:5;8022:7;8050:6;8031:16;:25;8006:8;:51::i;:::-;7765:326;7641:450;;;:::o;5909:569::-;-1:-1:-1;;;;;6040:18:0;;6032:68;;;;-1:-1:-1;;;6032:68:0;;5878:2:1;6032:68:0;;;5860:21:1;5917:2;5897:18;;;5890:30;5956:34;5936:18;;;5929:62;6027:7;6007:18;;;6000:35;6052:19;;6032:68:0;5676:401:1;6032:68:0;-1:-1:-1;;;;;6119:18:0;;6111:66;;;;-1:-1:-1;;;6111:66:0;;6284:2:1;6111:66:0;;;6266:21:1;6323:2;6303:18;;;6296:30;6362:34;6342:18;;;6335:62;6433:5;6413:18;;;6406:33;6456:19;;6111:66:0;6082:399:1;6111:66:0;-1:-1:-1;;;;;6209:15:0;;6190:16;6209:15;;;:9;:15;;;;;;6243:21;;;;6235:72;;;;-1:-1:-1;;;6235:72:0;;6688:2:1;6235:72:0;;;6670:21:1;6727:2;6707:18;;;6700:30;6766:34;6746:18;;;6739:62;6837:8;6817:18;;;6810:36;6863:19;;6235:72:0;6486:402:1;6235:72:0;-1:-1:-1;;;;;6343:15:0;;;;;;;:9;:15;;;;;;6361:20;;;6343:38;;6403:13;;;;;;;;:23;;6375:6;;6343:15;6403:23;;6375:6;;6403:23;:::i;:::-;;;;;;;;6459:2;-1:-1:-1;;;;;6444:26:0;6453:4;-1:-1:-1;;;;;6444:26:0;;6463:6;6444:26;;;;1365:25:1;;1353:2;1338:18;;1219:177;6444:26:0;;;;;;;;6021:457;5909:569;;;:::o;1283:181::-;1354:16;1373:7;898:6;;-1:-1:-1;;;;;898:6:0;;829:81;1373:7;1387:6;:18;;;;-1:-1:-1;;;;;1387:18:0;;;;;;;;;1417:41;;1354:26;;-1:-1:-1;1387:18:0;1417:41;;;;;;-1:-1:-1;;1417:41:0;1347:117;1283:181;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;-1:-1:-1;;;;;684:54:1;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:1:o;1401:328::-;1478:6;1486;1494;1547:2;1535:9;1526:7;1522:23;1518:32;1515:52;;;1563:1;1560;1553:12;1515:52;1586:29;1605:9;1586:29;:::i;:::-;1576:39;;1634:38;1668:2;1657:9;1653:18;1634:38;:::i;:::-;1624:48;;1719:2;1708:9;1704:18;1691:32;1681:42;;1401:328;;;;;:::o;1923:186::-;1982:6;2035:2;2023:9;2014:7;2010:23;2006:32;2003:52;;;2051:1;2048;2041:12;2003:52;2074:29;2093:9;2074:29;:::i;:::-;2064:39;1923:186;-1:-1:-1;;;1923:186:1:o;2345:260::-;2413:6;2421;2474:2;2462:9;2453:7;2449:23;2445:32;2442:52;;;2490:1;2487;2480:12;2442:52;2513:29;2532:9;2513:29;:::i;:::-;2503:39;;2561:38;2595:2;2584:9;2580:18;2561:38;:::i;:::-;2551:48;;2345:260;;;;;:::o;2610:437::-;2689:1;2685:12;;;;2732;;;2753:61;;2807:4;2799:6;2795:17;2785:27;;2753:61;2860:2;2852:6;2849:14;2829:18;2826:38;2823:218;;-1:-1:-1;;;2894:1:1;2887:88;2998:4;2995:1;2988:15;3026:4;3023:1;3016:15;2823:218;;2610:437;;;:::o;3052:279::-;3117:9;;;3138:10;;;3135:190;;;-1:-1:-1;;;3178:1:1;3171:88;3282:4;3279:1;3272:15;3310:4;3307:1;3300:15

Swarm Source

ipfs://45fc3f09eda6e95e2b67e2a0071c308740a69d9844048fd109efa7585b5477ad

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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