Goerli Testnet

Contract

0xd44BB808bfE43095dBb94c83077766382D63952a
Source Code
Transaction Hash
Method
Block
From
To
Value
Transfer101363872023-12-01 2:39:1214 mins ago1701398352IN
0xd44BB8...2D63952a
0 ETH0.000002150.04621852
Transfer101322502023-11-30 9:15:0017 hrs 38 mins ago1701335700IN
0xd44BB8...2D63952a
0 ETH0.000051371
Transfer101312012023-11-30 4:48:0022 hrs 5 mins ago1701319680IN
0xd44BB8...2D63952a
0 ETH0.000002950.1
Approve101302262023-11-30 0:48:121 day 2 hrs ago1701305292IN
0xd44BB8...2D63952a
0 ETH0.000069161.50000001
Transfer101302242023-11-30 0:47:481 day 2 hrs ago1701305268IN
0xd44BB8...2D63952a
0 ETH0.000034281
Transfer101302082023-11-30 0:43:481 day 2 hrs ago1701305028IN
0xd44BB8...2D63952a
0 ETH0.000002950.10000001
Transfer101296342023-11-29 22:19:001 day 4 hrs ago1701296340IN
0xd44BB8...2D63952a
0 ETH00.00000001
Transfer101289702023-11-29 19:37:001 day 7 hrs ago1701286620IN
0xd44BB8...2D63952a
0 ETH0.000051381
Approve101288412023-11-29 19:04:361 day 7 hrs ago1701284676IN
0xd44BB8...2D63952a
0 ETH0.000069681.50000001
Approve101274552023-11-29 13:11:001 day 13 hrs ago1701263460IN
0xd44BB8...2D63952a
0 ETH0.000069681.50000005
Transfer101263172023-11-29 8:26:001 day 18 hrs ago1701246360IN
0xd44BB8...2D63952a
0 ETH0.000051381
Transfer101259182023-11-29 6:45:241 day 20 hrs ago1701240324IN
0xd44BB8...2D63952a
0 ETH0.000034281
Transfer101247502023-11-29 1:47:482 days 1 hr ago1701222468IN
0xd44BB8...2D63952a
0 ETH0.000034281
Approve101241742023-11-28 23:15:002 days 3 hrs ago1701213300IN
0xd44BB8...2D63952a
0 ETH0.000069681.50000002
Transfer101241612023-11-28 23:12:122 days 3 hrs ago1701213132IN
0xd44BB8...2D63952a
0 ETH0.000051381
Transfer101241032023-11-28 22:57:482 days 3 hrs ago1701212268IN
0xd44BB8...2D63952a
0 ETH00.00000004
Transfer101223692023-11-28 15:20:362 days 11 hrs ago1701184836IN
0xd44BB8...2D63952a
0 ETH0.000051371
Approve101221902023-11-28 14:37:242 days 12 hrs ago1701182244IN
0xd44BB8...2D63952a
0 ETH0.000069681.50000001
Transfer101221882023-11-28 14:37:002 days 12 hrs ago1701182220IN
0xd44BB8...2D63952a
0 ETH0.000077081.50000001
Transfer101219632023-11-28 13:40:122 days 13 hrs ago1701178812IN
0xd44BB8...2D63952a
0 ETH00.00000011
Approve101208112023-11-28 8:43:362 days 18 hrs ago1701161016IN
0xd44BB8...2D63952a
0 ETH0.000036210.77948143
Approve101208092023-11-28 8:43:122 days 18 hrs ago1701160992IN
0xd44BB8...2D63952a
0 ETH0.000018840.77948143
Approve101207342023-11-28 8:23:122 days 18 hrs ago1701159792IN
0xd44BB8...2D63952a
0 ETH0.000036210.77948143
Transfer101204702023-11-28 7:19:122 days 19 hrs ago1701155952IN
0xd44BB8...2D63952a
0 ETH0.000051431.50000001
Transfer101198142023-11-28 4:35:002 days 22 hrs ago1701146100IN
0xd44BB8...2D63952a
0 ETH0.000077081.50000001
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
101344562023-11-30 18:29:248 hrs 23 mins ago1701368964
0xd44BB8...2D63952a
0 ETH
101344562023-11-30 18:29:248 hrs 23 mins ago1701368964
0xd44BB8...2D63952a
0 ETH
101344562023-11-30 18:29:248 hrs 23 mins ago1701368964
0xd44BB8...2D63952a
0 ETH
101344562023-11-30 18:29:248 hrs 23 mins ago1701368964
0xd44BB8...2D63952a
0 ETH
101344562023-11-30 18:29:248 hrs 23 mins ago1701368964
0xd44BB8...2D63952a
0 ETH
101344562023-11-30 18:29:248 hrs 23 mins ago1701368964
0xd44BB8...2D63952a
0 ETH
101344562023-11-30 18:29:248 hrs 23 mins ago1701368964
0xd44BB8...2D63952a
0 ETH
101344562023-11-30 18:29:248 hrs 23 mins ago1701368964
0xd44BB8...2D63952a
0 ETH
101344562023-11-30 18:29:248 hrs 23 mins ago1701368964
0xd44BB8...2D63952a
0 ETH
101331322023-11-30 12:56:0013 hrs 57 mins ago1701348960
0xd44BB8...2D63952a
0 ETH
101331322023-11-30 12:56:0013 hrs 57 mins ago1701348960
0xd44BB8...2D63952a
0 ETH
101331322023-11-30 12:56:0013 hrs 57 mins ago1701348960
0xd44BB8...2D63952a
0 ETH
101322162023-11-30 9:05:0017 hrs 48 mins ago1701335100
0xd44BB8...2D63952a
0 ETH
101322162023-11-30 9:05:0017 hrs 48 mins ago1701335100
0xd44BB8...2D63952a
0 ETH
101322162023-11-30 9:05:0017 hrs 48 mins ago1701335100
0xd44BB8...2D63952a
0 ETH
101322162023-11-30 9:05:0017 hrs 48 mins ago1701335100
0xd44BB8...2D63952a
0 ETH
101302312023-11-30 0:49:241 day 2 hrs ago1701305364
0xd44BB8...2D63952a
0 ETH
101302312023-11-30 0:49:241 day 2 hrs ago1701305364
0xd44BB8...2D63952a
0 ETH
101302312023-11-30 0:49:241 day 2 hrs ago1701305364
0xd44BB8...2D63952a
0 ETH
101302312023-11-30 0:49:241 day 2 hrs ago1701305364
0xd44BB8...2D63952a
0 ETH
101302312023-11-30 0:49:241 day 2 hrs ago1701305364
0xd44BB8...2D63952a
0 ETH
101302312023-11-30 0:49:241 day 2 hrs ago1701305364
0xd44BB8...2D63952a
0 ETH
101302312023-11-30 0:49:241 day 2 hrs ago1701305364
0xd44BB8...2D63952a
0 ETH
101302312023-11-30 0:49:241 day 2 hrs ago1701305364
0xd44BB8...2D63952a
0 ETH
101302312023-11-30 0:49:241 day 2 hrs ago1701305364
0xd44BB8...2D63952a
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SelfSufficientERC20

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 100 runs

Other Settings:
default evmVersion, Apache-2.0 license

Contract Source Code (Solidity Multiple files format)

File 3 of 3: SelfSufficientERC20.sol
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.6.12;

import "ERC20.sol";

/*
  Fake MockERC20 proxy.
  Admins can manipulate balances.
  Users can mint for themselves.
*/
contract SelfSufficientERC20 is ERC20 {
    // Simple permissions management.
    mapping(address => bool) admins;
    address owner;
    uint256 max_mint = MAX_MINT;

    uint256 constant MAX_MINT = 1000; // Maximal amount per selfMint transaction.

    function initlialize(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) external onlyOwner {
        require(decimals_ == 0, "ALREADY_INITIALIZED");
        require(_decimals != 0, "ILLEGAL_INIT_VALUE");
        name_ = _name;
        symbol_ = _symbol;
        decimals_ = _decimals;
    }

    constructor() public {
        admins[msg.sender] = true;
        owner = msg.sender;
    }

    modifier onlyAdmin() {
        require(admins[msg.sender], "ONLY_ADMIN");
        _;
    }

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

    function registerAdmin(address newAdmin) external onlyOwner {
        admins[newAdmin] = true;
    }

    function removeAdmin(address oldAdmin) external onlyOwner {
        require(oldAdmin != owner, "OWNER_MUST_REMAIN_ADMIN");
        admins[oldAdmin] = false;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        admins[newOwner] = true;
        owner = newOwner;
    }

    function adminApproval(
        address fundsOwner,
        address spender,
        uint256 value
    ) external onlyAdmin {
        _approve(fundsOwner, spender, value);
    }

    function setBalance(address account, uint256 amount) external onlyAdmin {
        _totalSupply += amount - _balances[account];
        _balances[account] = amount;
    }

    function resetMaxMint(uint256 newMax) external onlyOwner {
        max_mint = newMax;
    }

    function selfMint(uint256 amount) external {
        require(amount <= max_mint, "ILLEGAL_AMOUNT");
        _mint(msg.sender, amount);
    }
}

File 1 of 3: ERC20.sol
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.6.12;

import "IERC20.sol";

abstract contract ERC20 is IERC20 {
    mapping(address => uint256) internal _balances;

    mapping(address => mapping(address => uint256)) internal _allowances;

    uint256 internal _totalSupply;
    string internal name_;
    string internal symbol_;
    uint8 internal decimals_;

    function name() external view override returns (string memory) {
        return name_;
    }

    function symbol() external view override returns (string memory) {
        return symbol_;
    }

    function decimals() external view override returns (uint8) {
        return decimals_;
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 value) public override returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 sender_allowance = _allowances[sender][msg.sender];
        require(sender_allowance >= amount, "ERC20: transfer exceeds allowance");
        _approve(sender, msg.sender, sender_allowance - amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        uint256 spender_allowance = _allowances[msg.sender][spender];
        require(spender_allowance + addedValue >= spender_allowance, "ERC20: Overflow");
        _approve(msg.sender, spender, spender_allowance + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        uint256 sender_allowance = _allowances[msg.sender][spender];
        require(sender_allowance >= subtractedValue, "ERC20: transfer exceeds allowance");
        _approve(msg.sender, spender, sender_allowance - subtractedValue);
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        uint256 sender_balance = _balances[sender];
        uint256 recipient_balance = _balances[recipient];
        require(sender_balance >= amount, "ERC20: transfer amount exceeds balance");
        require(recipient_balance + amount >= recipient_balance, "ERC20: Overflow");
        _balances[sender] = sender_balance - amount;
        _balances[recipient] = recipient_balance + amount;
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");
        uint256 _total = _totalSupply;
        require(_total + amount >= _total, "ERC20: Overflow");
        _totalSupply = _total + amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 current_balance = _balances[account];
        require(current_balance >= value, "ERC20: burn amount exceeds balance");
        _balances[account] = current_balance - value;
        _totalSupply -= value;
        emit Transfer(account, address(0), value);
    }

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

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

    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        uint256 current_allowance = _allowances[account][msg.sender];
        require(current_allowance >= amount, "ERC20: burn amount exceeds allowance");
        _approve(account, msg.sender, current_allowance - amount);
    }
}

File 2 of 3: IERC20.sol
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.6.12;

/*
  Interface of the ERC20 standard as defined in the EIP. Does not include
  the optional functions; to access them see {ERC20Detailed}.
*/
interface IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);

    function totalSupply() external view returns (uint256);

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

    function transfer(address recipient, uint256 amount) external returns (bool);

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

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

    function transferFrom(
        address sender,
        address recipient,
        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);
}

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":"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":"fundsOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"adminApproval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"value","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":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"name":"initlialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"registerAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"oldAdmin","type":"address"}],"name":"removeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"resetMaxMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"selfMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBalance","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","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"}]

60806040526103e860085534801561001657600080fd5b50336000818152600660205260409020805460ff19166001179055600780546001600160a01b03191690911790556111d9806100536000396000f3fe608060405234801561001057600080fd5b50600436106101115760003560e01c806395d89b41116100ad578063c52cac8911610071578063c52cac891461048c578063c700362d146104a9578063dd62ed3e146104df578063e30443bc1461050d578063f2fde38b1461053957610111565b806395d89b41146102d8578063a457c2d7146102e0578063a9059cbb1461030c578063ab25aec614610338578063c38c58131461046657610111565b806306fdde0314610116578063095ea7b3146101935780630d3c69b4146101d35780631785f53c146101f257806318160ddd1461021857806323b872dd14610232578063313ce56714610268578063395093511461028657806370a08231146102b2575b600080fd5b61011e61055f565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610158578181015183820152602001610140565b50505050905090810190601f1680156101855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101bf600480360360408110156101a957600080fd5b506001600160a01b0381351690602001356105f5565b604080519115158252519081900360200190f35b6101f0600480360360208110156101e957600080fd5b503561060b565b005b6101f06004803603602081101561020857600080fd5b50356001600160a01b0316610660565b61022061072a565b60408051918252519081900360200190f35b6101bf6004803603606081101561024857600080fd5b506001600160a01b03813581169160208101359091169060400135610730565b6102706107b8565b6040805160ff9092168252519081900360200190f35b6101bf6004803603604081101561029c57600080fd5b506001600160a01b0381351690602001356107c1565b610220600480360360208110156102c857600080fd5b50356001600160a01b0316610845565b61011e610860565b6101bf600480360360408110156102f657600080fd5b506001600160a01b0381351690602001356108c1565b6101bf6004803603604081101561032257600080fd5b506001600160a01b038135169060200135610931565b6101f06004803603606081101561034e57600080fd5b810190602081018135600160201b81111561036857600080fd5b82018360208201111561037a57600080fd5b803590602001918460018302840111600160201b8311171561039b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156103ed57600080fd5b8201836020820111156103ff57600080fd5b803590602001918460018302840111600160201b8311171561042057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff16915061093e9050565b6101f06004803603602081101561047c57600080fd5b50356001600160a01b0316610a62565b6101f0600480360360208110156104a257600080fd5b5035610ad2565b6101f0600480360360608110156104bf57600080fd5b506001600160a01b03813581169160208101359091169060400135610b23565b610220600480360360408110156104f557600080fd5b506001600160a01b0381358116916020013516610b84565b6101f06004803603604081101561052357600080fd5b506001600160a01b038135169060200135610baf565b6101f06004803603602081101561054f57600080fd5b50356001600160a01b0316610c2b565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105eb5780601f106105c0576101008083540402835291602001916105eb565b820191906000526020600020905b8154815290600101906020018083116105ce57829003601f168201915b5050505050905090565b6000610602338484610cae565b50600192915050565b600854811115610653576040805162461bcd60e51b815260206004820152600e60248201526d1253131151d05317d05353d5539560921b604482015290519081900360640190fd5b61065d3382610d9a565b50565b6007546001600160a01b031633146106ac576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6007546001600160a01b0382811691161415610709576040805162461bcd60e51b815260206004820152601760248201527627aba722a92fa6aaa9aa2fa922a6a0a4a72fa0a226a4a760491b604482015290519081900360640190fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b60025490565b600061073d848484610e9d565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156107a05760405162461bcd60e51b81526004018080602001828103825260218152602001806111146021913960400191505060405180910390fd5b6107ad8533858403610cae565b506001949350505050565b60055460ff1690565b3360009081526001602090815260408083206001600160a01b038616845290915281205482810181111561082e576040805162461bcd60e51b815260206004820152600f60248201526e45524332303a204f766572666c6f7760881b604482015290519081900360640190fd5b61083b3385858401610cae565b5060019392505050565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105eb5780601f106105c0576101008083540402835291602001916105eb565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156109245760405162461bcd60e51b81526004018080602001828103825260218152602001806111146021913960400191505060405180910390fd5b61083b3385858403610cae565b6000610602338484610e9d565b6007546001600160a01b0316331461098a576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b60055460ff16156109d8576040805162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b604482015290519081900360640190fd5b60ff8116610a22576040805162461bcd60e51b8152602060048201526012602482015271494c4c4547414c5f494e49545f56414c554560701b604482015290519081900360640190fd5b8251610a3590600390602086019061103b565b508151610a4990600490602085019061103b565b506005805460ff191660ff929092169190911790555050565b6007546001600160a01b03163314610aae576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6007546001600160a01b03163314610b1e576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b600855565b3360009081526006602052604090205460ff16610b74576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b604482015290519081900360640190fd5b610b7f838383610cae565b505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3360009081526006602052604090205460ff16610c00576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b604482015290519081900360640190fd5b6001600160a01b03909116600090815260208190526040902080546002805491840391909101905555565b6007546001600160a01b03163314610c77576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6001600160a01b03166000818152600660205260409020805460ff19166001179055600780546001600160a01b0319169091179055565b6001600160a01b038316610cf35760405162461bcd60e51b81526004018080602001828103825260248152602001806111806024913960400191505060405180910390fd5b6001600160a01b038216610d385760405162461bcd60e51b81526004018080602001828103825260228152602001806110f26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216610df5576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254818101811115610e41576040805162461bcd60e51b815260206004820152600f60248201526e45524332303a204f766572666c6f7760881b604482015290519081900360640190fd5b8082016002556001600160a01b038316600081815260208181526040808320805487019055805186815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3505050565b6001600160a01b038316610ee25760405162461bcd60e51b815260040180806020018281038252602581526020018061115b6025913960400191505060405180910390fd5b6001600160a01b038216610f275760405162461bcd60e51b81526004018080602001828103825260238152602001806110cf6023913960400191505060405180910390fd5b6001600160a01b0380841660009081526020819052604080822054928516825290205482821015610f895760405162461bcd60e51b81526004018080602001828103825260268152602001806111356026913960400191505060405180910390fd5b808382011015610fd2576040805162461bcd60e51b815260206004820152600f60248201526e45524332303a204f766572666c6f7760881b604482015290519081900360640190fd5b6001600160a01b0380861660008181526020818152604080832088880390559388168083529184902085880190558351878152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061107c57805160ff19168380011785556110a9565b828001600101855582156110a9579182015b828111156110a957825182559160200191906001019061108e565b506110b59291506110b9565b5090565b5b808211156110b557600081556001016110ba56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e73666572206578636565647320616c6c6f77616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a264697066735822122027edee8c1beb2a90deadb559ead2d818d7c43c1e3f076a442c14a0122afbf21964736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101115760003560e01c806395d89b41116100ad578063c52cac8911610071578063c52cac891461048c578063c700362d146104a9578063dd62ed3e146104df578063e30443bc1461050d578063f2fde38b1461053957610111565b806395d89b41146102d8578063a457c2d7146102e0578063a9059cbb1461030c578063ab25aec614610338578063c38c58131461046657610111565b806306fdde0314610116578063095ea7b3146101935780630d3c69b4146101d35780631785f53c146101f257806318160ddd1461021857806323b872dd14610232578063313ce56714610268578063395093511461028657806370a08231146102b2575b600080fd5b61011e61055f565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610158578181015183820152602001610140565b50505050905090810190601f1680156101855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101bf600480360360408110156101a957600080fd5b506001600160a01b0381351690602001356105f5565b604080519115158252519081900360200190f35b6101f0600480360360208110156101e957600080fd5b503561060b565b005b6101f06004803603602081101561020857600080fd5b50356001600160a01b0316610660565b61022061072a565b60408051918252519081900360200190f35b6101bf6004803603606081101561024857600080fd5b506001600160a01b03813581169160208101359091169060400135610730565b6102706107b8565b6040805160ff9092168252519081900360200190f35b6101bf6004803603604081101561029c57600080fd5b506001600160a01b0381351690602001356107c1565b610220600480360360208110156102c857600080fd5b50356001600160a01b0316610845565b61011e610860565b6101bf600480360360408110156102f657600080fd5b506001600160a01b0381351690602001356108c1565b6101bf6004803603604081101561032257600080fd5b506001600160a01b038135169060200135610931565b6101f06004803603606081101561034e57600080fd5b810190602081018135600160201b81111561036857600080fd5b82018360208201111561037a57600080fd5b803590602001918460018302840111600160201b8311171561039b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156103ed57600080fd5b8201836020820111156103ff57600080fd5b803590602001918460018302840111600160201b8311171561042057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff16915061093e9050565b6101f06004803603602081101561047c57600080fd5b50356001600160a01b0316610a62565b6101f0600480360360208110156104a257600080fd5b5035610ad2565b6101f0600480360360608110156104bf57600080fd5b506001600160a01b03813581169160208101359091169060400135610b23565b610220600480360360408110156104f557600080fd5b506001600160a01b0381358116916020013516610b84565b6101f06004803603604081101561052357600080fd5b506001600160a01b038135169060200135610baf565b6101f06004803603602081101561054f57600080fd5b50356001600160a01b0316610c2b565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105eb5780601f106105c0576101008083540402835291602001916105eb565b820191906000526020600020905b8154815290600101906020018083116105ce57829003601f168201915b5050505050905090565b6000610602338484610cae565b50600192915050565b600854811115610653576040805162461bcd60e51b815260206004820152600e60248201526d1253131151d05317d05353d5539560921b604482015290519081900360640190fd5b61065d3382610d9a565b50565b6007546001600160a01b031633146106ac576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6007546001600160a01b0382811691161415610709576040805162461bcd60e51b815260206004820152601760248201527627aba722a92fa6aaa9aa2fa922a6a0a4a72fa0a226a4a760491b604482015290519081900360640190fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b60025490565b600061073d848484610e9d565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156107a05760405162461bcd60e51b81526004018080602001828103825260218152602001806111146021913960400191505060405180910390fd5b6107ad8533858403610cae565b506001949350505050565b60055460ff1690565b3360009081526001602090815260408083206001600160a01b038616845290915281205482810181111561082e576040805162461bcd60e51b815260206004820152600f60248201526e45524332303a204f766572666c6f7760881b604482015290519081900360640190fd5b61083b3385858401610cae565b5060019392505050565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105eb5780601f106105c0576101008083540402835291602001916105eb565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156109245760405162461bcd60e51b81526004018080602001828103825260218152602001806111146021913960400191505060405180910390fd5b61083b3385858403610cae565b6000610602338484610e9d565b6007546001600160a01b0316331461098a576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b60055460ff16156109d8576040805162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b604482015290519081900360640190fd5b60ff8116610a22576040805162461bcd60e51b8152602060048201526012602482015271494c4c4547414c5f494e49545f56414c554560701b604482015290519081900360640190fd5b8251610a3590600390602086019061103b565b508151610a4990600490602085019061103b565b506005805460ff191660ff929092169190911790555050565b6007546001600160a01b03163314610aae576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6007546001600160a01b03163314610b1e576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b600855565b3360009081526006602052604090205460ff16610b74576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b604482015290519081900360640190fd5b610b7f838383610cae565b505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3360009081526006602052604090205460ff16610c00576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b604482015290519081900360640190fd5b6001600160a01b03909116600090815260208190526040902080546002805491840391909101905555565b6007546001600160a01b03163314610c77576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6001600160a01b03166000818152600660205260409020805460ff19166001179055600780546001600160a01b0319169091179055565b6001600160a01b038316610cf35760405162461bcd60e51b81526004018080602001828103825260248152602001806111806024913960400191505060405180910390fd5b6001600160a01b038216610d385760405162461bcd60e51b81526004018080602001828103825260228152602001806110f26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216610df5576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254818101811115610e41576040805162461bcd60e51b815260206004820152600f60248201526e45524332303a204f766572666c6f7760881b604482015290519081900360640190fd5b8082016002556001600160a01b038316600081815260208181526040808320805487019055805186815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3505050565b6001600160a01b038316610ee25760405162461bcd60e51b815260040180806020018281038252602581526020018061115b6025913960400191505060405180910390fd5b6001600160a01b038216610f275760405162461bcd60e51b81526004018080602001828103825260238152602001806110cf6023913960400191505060405180910390fd5b6001600160a01b0380841660009081526020819052604080822054928516825290205482821015610f895760405162461bcd60e51b81526004018080602001828103825260268152602001806111356026913960400191505060405180910390fd5b808382011015610fd2576040805162461bcd60e51b815260206004820152600f60248201526e45524332303a204f766572666c6f7760881b604482015290519081900360640190fd5b6001600160a01b0380861660008181526020818152604080832088880390559388168083529184902085880190558351878152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061107c57805160ff19168380011785556110a9565b828001600101855582156110a9579182015b828111156110a957825182559160200191906001019061108e565b506110b59291506110b9565b5090565b5b808211156110b557600081556001016110ba56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e73666572206578636565647320616c6c6f77616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a264697066735822122027edee8c1beb2a90deadb559ead2d818d7c43c1e3f076a442c14a0122afbf21964736f6c634300060c0033

Deployed Bytecode Sourcemap

184:1886:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;378:92:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1226:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1226:154:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1928:140:2;;;;;;;;;;;;;;;;-1:-1:-1;1928:140:2;;:::i;:::-;;1171:162;;;;;;;;;;;;;;;;-1:-1:-1;1171:162:2;-1:-1:-1;;;;;1171:162:2;;:::i;676:98:0:-;;;:::i;:::-;;;;;;;;;;;;;;;;1386:431;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1386:431:0;;;;;;;;;;;;;;;;;:::i;578:92::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1823:344;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1823:344:0;;;;;;;;:::i;780:117::-;;;;;;;;;;;;;;;;-1:-1:-1;780:117:0;-1:-1:-1;;;;;780:117:0;;:::i;476:96::-;;;:::i;2173:354::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2173:354:0;;;;;;;;:::i;903:170::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;903:170:0;;;;;;;;:::i;439:330:2:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;439:330:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;439:330:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;439:330:2;;;;;;;;-1:-1:-1;439:330:2;;-1:-1:-1;;;;;439:330:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;439:330:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;439:330:2;;-1:-1:-1;;;439:330:2;;;;;-1:-1:-1;439:330:2;;-1:-1:-1;439:330:2:i;1065:100::-;;;;;;;;;;;;;;;;-1:-1:-1;1065:100:2;-1:-1:-1;;;;;1065:100:2;;:::i;1831:91::-;;;;;;;;;;;;;;;;-1:-1:-1;1831:91:2;;:::i;1473:177::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1473:177:2;;;;;;;;;;;;;;;;;:::i;1079:141:0:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1079:141:0;;;;;;;;;;:::i;1656:169:2:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1656:169:2;;;;;;;;:::i;1339:128::-;;;;;;;;;;;;;;;;-1:-1:-1;1339:128:2;-1:-1:-1;;;;;1339:128:2;;:::i;378:92:0:-;458:5;451:12;;;;;;;;-1:-1:-1;;451:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;426:13;;451:12;;458:5;;451:12;;458:5;451:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;378:92;:::o;1226:154::-;1300:4;1316:36;1325:10;1337:7;1346:5;1316:8;:36::i;:::-;-1:-1:-1;1369:4:0;1226:154;;;;:::o;1928:140:2:-;1999:8;;1989:6;:18;;1981:45;;;;;-1:-1:-1;;;1981:45:2;;;;;;;;;;;;-1:-1:-1;;;1981:45:2;;;;;;;;;;;;;;;2036:25;2042:10;2054:6;2036:5;:25::i;:::-;1928:140;:::o;1171:162::-;1021:5;;-1:-1:-1;;;;;1021:5:2;1007:10;:19;999:42;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;;;;1259:5:::1;::::0;-1:-1:-1;;;;;1247:17:2;;::::1;1259:5:::0;::::1;1247:17;;1239:53;;;::::0;;-1:-1:-1;;;1239:53:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1239:53:2;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;1302:16:2::1;1321:5;1302:16:::0;;;:6:::1;:16;::::0;;;;:24;;-1:-1:-1;;1302:24:2::1;::::0;;1171:162::o;676:98:0:-;755:12;;676:98;:::o;1386:431::-;1522:4;1538:36;1548:6;1556:9;1567:6;1538:9;:36::i;:::-;-1:-1:-1;;;;;1611:19:0;;1584:24;1611:19;;;:11;:19;;;;;;;;1631:10;1611:31;;;;;;;;1660:26;;;;1652:72;;;;-1:-1:-1;;;1652:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1734:55;1743:6;1751:10;1782:6;1763:16;:25;1734:8;:55::i;:::-;-1:-1:-1;1806:4:0;;1386:431;-1:-1:-1;;;;1386:431:0:o;578:92::-;654:9;;;;578:92;:::o;1823:344::-;1959:10;1903:4;1947:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;1947:32:0;;;;;;;;;;1997:30;;;:51;-1:-1:-1;1997:51:0;1989:79;;;;;-1:-1:-1;;;1989:79:0;;;;;;;;;;;;-1:-1:-1;;;1989:79:0;;;;;;;;;;;;;;;2078:61;2087:10;2099:7;2128:10;2108:17;:30;2078:8;:61::i;:::-;-1:-1:-1;2156:4:0;;1823:344;-1:-1:-1;;;1823:344:0:o;780:117::-;-1:-1:-1;;;;;872:18:0;846:7;872:18;;;;;;;;;;;;780:117::o;476:96::-;558:7;551:14;;;;;;;;-1:-1:-1;;551:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;526:13;;551:14;;558:7;;551:14;;558:7;551:14;;;;;;;;;;;;;;;;;;;;;;;;2173:354;2313:10;2258:4;2301:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;2301:32:0;;;;;;;;;;2351:35;;;;2343:81;;;;-1:-1:-1;;;2343:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2434:65;2443:10;2455:7;2483:15;2464:16;:34;2434:8;:65::i;903:170::-;989:4;1005:40;1015:10;1027:9;1038:6;1005:9;:40::i;439:330:2:-;1021:5;;-1:-1:-1;;;;;1021:5:2;1007:10;:19;999:42;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;;;;588:9:::1;::::0;::::1;;:14:::0;580:46:::1;;;::::0;;-1:-1:-1;;;580:46:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;580:46:2;;;;;;;;;;;;;::::1;;644:14;::::0;::::1;636:45;;;::::0;;-1:-1:-1;;;636:45:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;636:45:2;;;;;;;;;;;;;::::1;;691:13:::0;;::::1;::::0;:5:::1;::::0;:13:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;714:17:2;;::::1;::::0;:7:::1;::::0;:17:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;741:9:2::1;:21:::0;;-1:-1:-1;;741:21:2::1;;::::0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;439:330:2:o;1065:100::-;1021:5;;-1:-1:-1;;;;;1021:5:2;1007:10;:19;999:42;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:16:2::1;;::::0;;;:6:::1;:16;::::0;;;;:23;;-1:-1:-1;;1135:23:2::1;1154:4;1135:23;::::0;;1065:100::o;1831:91::-;1021:5;;-1:-1:-1;;;;;1021:5:2;1007:10;:19;999:42;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;;;;1898:8:::1;:17:::0;1831:91::o;1473:177::-;918:10;911:18;;;;:6;:18;;;;;;;;903:41;;;;;-1:-1:-1;;;903:41:2;;;;;;;;;;;;-1:-1:-1;;;903:41:2;;;;;;;;;;;;;;;1607:36:::1;1616:10;1628:7;1637:5;1607:8;:36::i;:::-;1473:177:::0;;;:::o;1079:141:0:-;-1:-1:-1;;;;;1186:18:0;;;1160:7;1186:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;1079:141::o;1656:169:2:-;918:10;911:18;;;;:6;:18;;;;;;;;903:41;;;;;-1:-1:-1;;;903:41:2;;;;;;;;;;;;-1:-1:-1;;;903:41:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;1763:18:2;;::::1;:9;:18:::0;;;::::1;::::0;;;;;;;;1738:12:::1;:43:::0;;1754:27;;::::1;1738:43:::0;;;::::1;::::0;;1791:27;1656:169::o;1339:128::-;1021:5;;-1:-1:-1;;;;;1021:5:2;1007:10;:19;999:42;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;-1:-1:-1;;;999:42:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;1411:16:2::1;;::::0;;;:6:::1;:16;::::0;;;;:23;;-1:-1:-1;;1411:23:2::1;1430:4;1411:23;::::0;;1444:5:::1;:16:::0;;-1:-1:-1;;;;;;1444:16:2::1;::::0;;::::1;::::0;;1339:128::o;4052:359:0:-;-1:-1:-1;;;;;4174:19:0;;4166:68;;;;-1:-1:-1;;;4166:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4252:21:0;;4244:68;;;;-1:-1:-1;;;4244:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4323:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:35;;;4373:31;;;;;;;;;;;;;;;;;4052:359;;;:::o;3258:371::-;-1:-1:-1;;;;;3333:21:0;;3325:65;;;;;-1:-1:-1;;;3325:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3417:12;;3447:15;;;:25;-1:-1:-1;3447:25:0;3439:53;;;;;-1:-1:-1;;;3439:53:0;;;;;;;;;;;;-1:-1:-1;;;3439:53:0;;;;;;;;;;;;;;;3517:15;;;3502:12;:30;-1:-1:-1;;;;;3542:18:0;;:9;:18;;;;;;;;;;;:28;;;;;;3585:37;;;;;;;;;;;;;;;;;;3258:371;;;:::o;2533:719::-;-1:-1:-1;;;;;2660:20:0;;2652:70;;;;-1:-1:-1;;;2652:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2740:23:0;;2732:71;;;;-1:-1:-1;;;2732:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2838:17:0;;;2813:22;2838:17;;;;;;;;;;;;2893:20;;;;;;;;2931:24;;;;2923:75;;;;-1:-1:-1;;;2923:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3046:17;3036:6;3016:17;:26;:47;;3008:75;;;;;-1:-1:-1;;;3008:75:0;;;;;;;;;;;;-1:-1:-1;;;3008:75:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3093:17:0;;;:9;:17;;;;;;;;;;;3113:23;;;3093:43;;3146:20;;;;;;;;;;3169:26;;;3146:49;;3210:35;;;;;;;3146:20;;3210:35;;;;;;;;;;;2533:719;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;

Swarm Source

ipfs://27edee8c1beb2a90deadb559ead2d818d7c43c1e3f076a442c14a0122afbf219

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  ]
[ 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.