Goerli Testnet

Contract

0xd44BB808bfE43095dBb94c83077766382D63952a
Transaction Hash
Method
Block
From
To
Value
Approve106173552024-03-01 5:43:4821 hrs ago1709271828IN
0xd44BB808...82D63952a
0 ETH0.000043511.5
Approve106036402024-02-27 10:44:363 days ago1709030676IN
0xd44BB808...82D63952a
0 ETH0.000069161.50002946
Approve106036342024-02-27 10:43:243 days ago1709030604IN
0xd44BB808...82D63952a
0 ETH0.000039311.50003394
Approve106036292024-02-27 10:41:483 days ago1709030508IN
0xd44BB808...82D63952a
0 ETH0.000069161.50002992
Approve106028682024-02-27 7:06:243 days ago1709017584IN
0xd44BB808...82D63952a
0 ETH0.000069161.50000001
Approve106028592024-02-27 7:03:483 days ago1709017428IN
0xd44BB808...82D63952a
0 ETH0.000069161.50000001
Approve106027992024-02-27 6:48:003 days ago1709016480IN
0xd44BB808...82D63952a
0 ETH0.000043511.5
Approve106027772024-02-27 6:41:123 days ago1709016072IN
0xd44BB808...82D63952a
0 ETH0.000069161.5
Approve106022072024-02-27 3:55:003 days ago1709006100IN
0xd44BB808...82D63952a
0 ETH0.000039311.5
Approve106022002024-02-27 3:53:123 days ago1709005992IN
0xd44BB808...82D63952a
0 ETH0.000069161.50000001
Self Mint106021932024-02-27 3:50:363 days ago1709005836IN
0xd44BB808...82D63952a
0 ETH0.00007911.5
Approve105981402024-02-26 8:03:244 days ago1708934604IN
0xd44BB808...82D63952a
0 ETH0.000069161.5
Approve105978682024-02-26 6:45:364 days ago1708929936IN
0xd44BB808...82D63952a
0 ETH0.000069161.50000001
Approve105969892024-02-26 2:31:485 days ago1708914708IN
0xd44BB808...82D63952a
0 ETH0.000069161.5
Approve105967182024-02-26 1:12:485 days ago1708909968IN
0xd44BB808...82D63952a
0 ETH0.000043511.5
Self Mint105967142024-02-26 1:11:005 days ago1708909860IN
0xd44BB808...82D63952a
0 ETH0.000053431.5
Approve105966612024-02-26 0:55:245 days ago1708908924IN
0xd44BB808...82D63952a
0 ETH0.000069161.5
Approve105966052024-02-26 0:37:245 days ago1708907844IN
0xd44BB808...82D63952a
0 ETH0.000069161.5
Self Mint105964772024-02-25 23:56:125 days ago1708905372IN
0xd44BB808...82D63952a
0 ETH0.000079081.5
Self Mint105964692024-02-25 23:54:125 days ago1708905252IN
0xd44BB808...82D63952a
0 ETH0.000079081.5
Approve105964542024-02-25 23:50:005 days ago1708905000IN
0xd44BB808...82D63952a
0 ETH0.000069161.5
Self Mint105964512024-02-25 23:49:005 days ago1708904940IN
0xd44BB808...82D63952a
0 ETH0.000053431.5
Self Mint105964492024-02-25 23:48:365 days ago1708904916IN
0xd44BB808...82D63952a
0 ETH0.000079081.5
Self Mint105963582024-02-25 23:22:125 days ago1708903332IN
0xd44BB808...82D63952a
0 ETH0.000079081.5
Approve105941712024-02-25 12:51:125 days ago1708865472IN
0xd44BB808...82D63952a
0 ETH0.000069161.5
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
106182982024-03-01 10:11:3616 hrs ago1709287896
0xd44BB808...82D63952a
0 ETH
106182982024-03-01 10:11:3616 hrs ago1709287896
0xd44BB808...82D63952a
0 ETH
106182982024-03-01 10:11:3616 hrs ago1709287896
0xd44BB808...82D63952a
0 ETH
106182982024-03-01 10:11:3616 hrs ago1709287896
0xd44BB808...82D63952a
0 ETH
106182982024-03-01 10:11:3616 hrs ago1709287896
0xd44BB808...82D63952a
0 ETH
106182982024-03-01 10:11:3616 hrs ago1709287896
0xd44BB808...82D63952a
0 ETH
106182952024-03-01 10:10:3616 hrs ago1709287836
0xd44BB808...82D63952a
0 ETH
106182952024-03-01 10:10:3616 hrs ago1709287836
0xd44BB808...82D63952a
0 ETH
106182952024-03-01 10:10:3616 hrs ago1709287836
0xd44BB808...82D63952a
0 ETH
106114632024-02-29 1:25:482 days ago1709169948
0xd44BB808...82D63952a
0 ETH
106114632024-02-29 1:25:482 days ago1709169948
0xd44BB808...82D63952a
0 ETH
106114632024-02-29 1:25:482 days ago1709169948
0xd44BB808...82D63952a
0 ETH
106113662024-02-29 0:58:002 days ago1709168280
0xd44BB808...82D63952a
0 ETH
106113662024-02-29 0:58:002 days ago1709168280
0xd44BB808...82D63952a
0 ETH
106113662024-02-29 0:58:002 days ago1709168280
0xd44BB808...82D63952a
0 ETH
106113612024-02-29 0:56:242 days ago1709168184
0xd44BB808...82D63952a
0 ETH
106113612024-02-29 0:56:242 days ago1709168184
0xd44BB808...82D63952a
0 ETH
106113612024-02-29 0:56:242 days ago1709168184
0xd44BB808...82D63952a
0 ETH
106113542024-02-29 0:53:482 days ago1709168028
0xd44BB808...82D63952a
0 ETH
106113542024-02-29 0:53:482 days ago1709168028
0xd44BB808...82D63952a
0 ETH
106113542024-02-29 0:53:482 days ago1709168028
0xd44BB808...82D63952a
0 ETH
106113512024-02-29 0:52:482 days ago1709167968
0xd44BB808...82D63952a
0 ETH
106113512024-02-29 0:52:482 days ago1709167968
0xd44BB808...82D63952a
0 ETH
106113512024-02-29 0:52:482 days ago1709167968
0xd44BB808...82D63952a
0 ETH
106113482024-02-29 0:52:002 days ago1709167920
0xd44BB808...82D63952a
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.