ETH Price: $2,417.94 (+1.68%)

Contract

0xfE5430B2F1ef05252B1BF8e5FE71A00D88B4d6D8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer178987132023-08-12 12:15:11420 days ago1691842511IN
0xfE5430B2...D88B4d6D8
0 ETH0.0004446213.88317415
Approve178673182023-08-08 2:46:35424 days ago1691462795IN
0xfE5430B2...D88B4d6D8
0 ETH0.0003709415.30284705
Approve177163762023-07-17 23:53:23445 days ago1689638003IN
0xfE5430B2...D88B4d6D8
0 ETH0.0006389913.81313874
Approve177147952023-07-17 18:34:59445 days ago1689618899IN
0xfE5430B2...D88B4d6D8
0 ETH0.0012956327.848671
Approve177113152023-07-17 6:51:35446 days ago1689576695IN
0xfE5430B2...D88B4d6D8
0 ETH0.0006570614.12317983
Approve174935762023-06-16 16:26:47476 days ago1686932807IN
0xfE5430B2...D88B4d6D8
0 ETH0.0012971927.88224159
Approve174497432023-06-10 12:22:23483 days ago1686399743IN
0xfE5430B2...D88B4d6D8
0 ETH0.0009618620.64799588
Approve174271312023-06-07 7:51:35486 days ago1686124295IN
0xfE5430B2...D88B4d6D8
0 ETH0.0009962121.38544118
Approve174261442023-06-07 4:29:59486 days ago1686112199IN
0xfE5430B2...D88B4d6D8
0 ETH0.0009469620.32817729
Approve174261362023-06-07 4:28:23486 days ago1686112103IN
0xfE5430B2...D88B4d6D8
0 ETH0.0010221321.94177908
Approve174261292023-06-07 4:26:59486 days ago1686112019IN
0xfE5430B2...D88B4d6D8
0 ETH0.0009538720.4764275
Approve174261212023-06-07 4:25:23486 days ago1686111923IN
0xfE5430B2...D88B4d6D8
0 ETH0.0009538320.47556418
Approve172808532023-05-17 17:35:47506 days ago1684344947IN
0xfE5430B2...D88B4d6D8
0 ETH0.002733458.75262259
Approve172795182023-05-17 13:02:23507 days ago1684328543IN
0xfE5430B2...D88B4d6D8
0 ETH0.002983764.05
Approve172786162023-05-17 9:57:23507 days ago1684317443IN
0xfE5430B2...D88B4d6D8
0 ETH0.001980242.563122
Approve171831662023-05-03 22:31:11520 days ago1683153071IN
0xfE5430B2...D88B4d6D8
0 ETH0.0036264677.94828627
Approve171449432023-04-28 13:32:47526 days ago1682688767IN
0xfE5430B2...D88B4d6D8
0 ETH0.0015731333.81347011
Approve170577772023-04-16 6:45:47538 days ago1681627547IN
0xfE5430B2...D88B4d6D8
0 ETH0.0011486924.69042607
Approve170521012023-04-15 11:25:35539 days ago1681557935IN
0xfE5430B2...D88B4d6D8
0 ETH0.0011657925.05787195
Approve170010042023-04-08 3:21:59546 days ago1680924119IN
0xfE5430B2...D88B4d6D8
0 ETH0.0009135519.63628715
Approve169537392023-04-01 10:35:11553 days ago1680345311IN
0xfE5430B2...D88B4d6D8
0 ETH0.0008311517.97162369
Approve168963732023-03-24 9:08:47561 days ago1679648927IN
0xfE5430B2...D88B4d6D8
0 ETH0.0007871916.92013746
Approve168963562023-03-24 9:05:11561 days ago1679648711IN
0xfE5430B2...D88B4d6D8
0 ETH0.0007529616.18450816
Approve168329862023-03-15 11:25:23570 days ago1678879523IN
0xfE5430B2...D88B4d6D8
0 ETH0.0010921123.47428678
Approve168329782023-03-15 11:23:47570 days ago1678879427IN
0xfE5430B2...D88B4d6D8
0 ETH0.001097923.59870827
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BankOfTaoToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-06
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
pragma experimental ABIEncoderV2;
/*

Bank of Tao

https://t.me/bankoftao

A new bank for generational wealth

*/

abstract contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(msg.sender);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    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);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

}

interface IERC20 {

    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    function approve(address spender, uint256 amount) external returns (bool);
    function transfer(address recipient, uint256 amount) external returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

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

contract ERC20 is IERC20, IERC20Metadata {
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _balances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _symbol = symbol_;
        _name = name_;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    function balanceOf(address account) public view virtual 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 virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(msg.sender, spender, currentAllowance - subtractedValue);
        }

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

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, 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 _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);
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract BankOfTaoToken is ERC20, Ownable {

    uint256 public maxTransactionAmount;
    uint256 public maxWallet;

    bool public limitsInEffect = true;

    mapping(address => bool) public isExcludedMaxTransactionAmount;
    mapping(address => bool) public automatedMarketMakerPairs;

    constructor() ERC20("Bank of Tao", "BANKOFTAO") {
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        isExcludedMaxTransactionAmount[address(uniswapV2Router)] = true;

        address uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        
        isExcludedMaxTransactionAmount[uniswapV2Pair] = true;
        automatedMarketMakerPairs[uniswapV2Pair] = true;

        uint256 totalSupply = 100_000_000 * 1e18;

        maxTransactionAmount = totalSupply * 5 / 1000;
        maxWallet = totalSupply * 20 / 1000;

        isExcludedMaxTransactionAmount[owner()] = true;

        /*
            _mint is an internal function in ERC20.sol that is only called here,
            and CANNOT be called ever again
        */
        _mint(msg.sender, totalSupply);
    }

    function removeLimits() external onlyOwner returns (bool) {
        limitsInEffect = false;
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner()
            ) {

                if (
                    automatedMarketMakerPairs[from] &&
                    !isExcludedMaxTransactionAmount[to]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "!maxTransactionAmount."
                    );
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "!maxWallet"
                    );
                }

                else if (
                    automatedMarketMakerPairs[to] &&
                    !isExcludedMaxTransactionAmount[from]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "!maxTransactionAmount."
                    );
                } else if (!isExcludedMaxTransactionAmount[to]) {
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "!maxWallet"
                    );
                }
            }
        }

        super._transfer(from, to, amount);
    }
}

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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"address","name":"","type":"address"}],"name":"isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"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"}]

60806040526008805460ff191660011790553480156200001e57600080fd5b506040518060400160405280600b81526020016a42616e6b206f662054616f60a81b8152506040518060400160405280600981526020016842414e4b4f4654414f60b81b8152508060049081620000769190620004e9565b506003620000858382620004e9565b50505062000099336200030a60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d6000818152600960209081527fbaa441ac52505693dd98c7dd2f5bbf8f9349b7da9de72f9d52e5cac70e7da8ce805460ff191660011790556040805163c45a015560e01b81529051849263c45a015592600480820193918290030181865afa1580156200011f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001459190620005b5565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000193573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b99190620005b5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000207573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022d9190620005b5565b6001600160a01b03811660009081526009602090815260408083208054600160ff199182168117909255600a90935292208054909116909117905590506a52b7d2dcc80cd2e40000006103e862000286826005620005fd565b6200029291906200061d565b6006556103e8620002a5826014620005fd565b620002b191906200061d565b600755600160096000620002cd6005546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556200030133826200035c565b50505062000656565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620003b75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620003cb919062000640565b90915550506001600160a01b03821660009081526001602052604081208054839290620003fa90849062000640565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200046f57607f821691505b6020821081036200049057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004e457600081815260208120601f850160051c81016020861015620004bf5750805b601f850160051c820191505b81811015620004e057828155600101620004cb565b5050505b505050565b81516001600160401b0381111562000505576200050562000444565b6200051d816200051684546200045a565b8462000496565b602080601f8311600181146200055557600084156200053c5750858301515b600019600386901b1c1916600185901b178555620004e0565b600085815260208120601f198616915b82811015620005865788860151825594840194600190910190840162000565565b5085821015620005a55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620005c857600080fd5b81516001600160a01b0381168114620005e057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620006175762000617620005e7565b92915050565b6000826200063b57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620006175762000617620005e7565b610e5a80620006666000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063751039fc116100ad578063b62496f511610071578063b62496f51461026d578063c8c8ebe414610290578063dd62ed3e14610299578063f2fde38b146102d0578063f8b45b05146102e357600080fd5b8063751039fc1461021c5780638da5cb5b1461022457806395d89b411461023f578063a457c2d714610247578063a9059cbb1461025a57600080fd5b806339509351116100f457806339509351146101a65780634a62bb65146101b95780634bb2c785146101c657806370a08231146101e9578063715018a61461021257600080fd5b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017257806323b872dd14610184578063313ce56714610197575b600080fd5b6101396102ec565b6040516101469190610be7565b60405180910390f35b61016261015d366004610c51565b61037e565b6040519015158152602001610146565b6002545b604051908152602001610146565b610162610192366004610c7b565b610395565b60405160128152602001610146565b6101626101b4366004610c51565b610442565b6008546101629060ff1681565b6101626101d4366004610cb7565b60096020526000908152604090205460ff1681565b6101766101f7366004610cb7565b6001600160a01b031660009081526001602052604090205490565b61021a61047c565b005b6101626104c1565b6005546040516001600160a01b039091168152602001610146565b61013961050c565b610162610255366004610c51565b61051b565b610162610268366004610c51565b6105b2565b61016261027b366004610cb7565b600a6020526000908152604090205460ff1681565b61017660065481565b6101766102a7366004610cd9565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b61021a6102de366004610cb7565b6105bf565b61017660075481565b6060600380546102fb90610d0c565b80601f016020809104026020016040519081016040528092919081815260200182805461032790610d0c565b80156103745780601f1061034957610100808354040283529160200191610374565b820191906000526020600020905b81548152906001019060200180831161035757829003601f168201915b5050505050905090565b600061038b338484610669565b5060015b92915050565b60006103a284848461078b565b6001600160a01b0384166000908152602081815260408083203384529091529020548281101561042a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104378533858403610669565b506001949350505050565b336000818152602081815260408083206001600160a01b0387168452909152812054909161038b918590610477908690610d46565b610669565b3361048f6005546001600160a01b031690565b6001600160a01b0316146104b55760405162461bcd60e51b815260040161042190610d67565b6104bf6000610a40565b565b6000336104d66005546001600160a01b031690565b6001600160a01b0316146104fc5760405162461bcd60e51b815260040161042190610d67565b506008805460ff19169055600190565b6060600480546102fb90610d0c565b336000908152602081815260408083206001600160a01b03861684529091528120548281101561059b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610421565b6105a83385858403610669565b5060019392505050565b600061038b33848461078b565b336105d26005546001600160a01b031690565b6001600160a01b0316146105f85760405162461bcd60e51b815260040161042190610d67565b6001600160a01b03811661065d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610421565b61066681610a40565b50565b6001600160a01b0383166106cb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610421565b6001600160a01b03821661072c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610421565b6001600160a01b038381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107b15760405162461bcd60e51b815260040161042190610d9c565b6001600160a01b0382166107d75760405162461bcd60e51b815260040161042190610de1565b806000036107f0576107eb83836000610a92565b505050565b60085460ff1615610a35576005546001600160a01b0384811691161480159061082757506005546001600160a01b03838116911614155b15610a35576001600160a01b0383166000908152600a602052604090205460ff16801561086d57506001600160a01b03821660009081526009602052604090205460ff16155b15610923576006548111156108bd5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610421565b6007546001600160a01b0383166000908152600160205260409020546108e39083610d46565b111561091e5760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610421565b610a35565b6001600160a01b0382166000908152600a602052604090205460ff16801561096457506001600160a01b03831660009081526009602052604090205460ff16155b156109b45760065481111561091e5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610421565b6001600160a01b03821660009081526009602052604090205460ff16610a35576007546001600160a01b0383166000908152600160205260409020546109fa9083610d46565b1115610a355760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610421565b6107eb838383610a92565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316610ab85760405162461bcd60e51b815260040161042190610d9c565b6001600160a01b038216610ade5760405162461bcd60e51b815260040161042190610de1565b6001600160a01b03831660009081526001602052604090205481811015610b565760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610421565b6001600160a01b03808516600090815260016020526040808220858503905591851681529081208054849290610b8d908490610d46565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bd991815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015610c1457858101830151858201604001528201610bf8565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c4c57600080fd5b919050565b60008060408385031215610c6457600080fd5b610c6d83610c35565b946020939093013593505050565b600080600060608486031215610c9057600080fd5b610c9984610c35565b9250610ca760208501610c35565b9150604084013590509250925092565b600060208284031215610cc957600080fd5b610cd282610c35565b9392505050565b60008060408385031215610cec57600080fd5b610cf583610c35565b9150610d0360208401610c35565b90509250929050565b600181811c90821680610d2057607f821691505b602082108103610d4057634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561038f57634e487b7160e01b600052601160045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b60608201526080019056fea2646970667358221220a6d899f14b5d93a7bde440a1a7eb7c94b4cc99363490e630c35bfdaf516e25cd64736f6c63430008110033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063751039fc116100ad578063b62496f511610071578063b62496f51461026d578063c8c8ebe414610290578063dd62ed3e14610299578063f2fde38b146102d0578063f8b45b05146102e357600080fd5b8063751039fc1461021c5780638da5cb5b1461022457806395d89b411461023f578063a457c2d714610247578063a9059cbb1461025a57600080fd5b806339509351116100f457806339509351146101a65780634a62bb65146101b95780634bb2c785146101c657806370a08231146101e9578063715018a61461021257600080fd5b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461017257806323b872dd14610184578063313ce56714610197575b600080fd5b6101396102ec565b6040516101469190610be7565b60405180910390f35b61016261015d366004610c51565b61037e565b6040519015158152602001610146565b6002545b604051908152602001610146565b610162610192366004610c7b565b610395565b60405160128152602001610146565b6101626101b4366004610c51565b610442565b6008546101629060ff1681565b6101626101d4366004610cb7565b60096020526000908152604090205460ff1681565b6101766101f7366004610cb7565b6001600160a01b031660009081526001602052604090205490565b61021a61047c565b005b6101626104c1565b6005546040516001600160a01b039091168152602001610146565b61013961050c565b610162610255366004610c51565b61051b565b610162610268366004610c51565b6105b2565b61016261027b366004610cb7565b600a6020526000908152604090205460ff1681565b61017660065481565b6101766102a7366004610cd9565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b61021a6102de366004610cb7565b6105bf565b61017660075481565b6060600380546102fb90610d0c565b80601f016020809104026020016040519081016040528092919081815260200182805461032790610d0c565b80156103745780601f1061034957610100808354040283529160200191610374565b820191906000526020600020905b81548152906001019060200180831161035757829003601f168201915b5050505050905090565b600061038b338484610669565b5060015b92915050565b60006103a284848461078b565b6001600160a01b0384166000908152602081815260408083203384529091529020548281101561042a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104378533858403610669565b506001949350505050565b336000818152602081815260408083206001600160a01b0387168452909152812054909161038b918590610477908690610d46565b610669565b3361048f6005546001600160a01b031690565b6001600160a01b0316146104b55760405162461bcd60e51b815260040161042190610d67565b6104bf6000610a40565b565b6000336104d66005546001600160a01b031690565b6001600160a01b0316146104fc5760405162461bcd60e51b815260040161042190610d67565b506008805460ff19169055600190565b6060600480546102fb90610d0c565b336000908152602081815260408083206001600160a01b03861684529091528120548281101561059b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610421565b6105a83385858403610669565b5060019392505050565b600061038b33848461078b565b336105d26005546001600160a01b031690565b6001600160a01b0316146105f85760405162461bcd60e51b815260040161042190610d67565b6001600160a01b03811661065d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610421565b61066681610a40565b50565b6001600160a01b0383166106cb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610421565b6001600160a01b03821661072c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610421565b6001600160a01b038381166000818152602081815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107b15760405162461bcd60e51b815260040161042190610d9c565b6001600160a01b0382166107d75760405162461bcd60e51b815260040161042190610de1565b806000036107f0576107eb83836000610a92565b505050565b60085460ff1615610a35576005546001600160a01b0384811691161480159061082757506005546001600160a01b03838116911614155b15610a35576001600160a01b0383166000908152600a602052604090205460ff16801561086d57506001600160a01b03821660009081526009602052604090205460ff16155b15610923576006548111156108bd5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610421565b6007546001600160a01b0383166000908152600160205260409020546108e39083610d46565b111561091e5760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610421565b610a35565b6001600160a01b0382166000908152600a602052604090205460ff16801561096457506001600160a01b03831660009081526009602052604090205460ff16155b156109b45760065481111561091e5760405162461bcd60e51b815260206004820152601660248201527510b6b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6044820152606401610421565b6001600160a01b03821660009081526009602052604090205460ff16610a35576007546001600160a01b0383166000908152600160205260409020546109fa9083610d46565b1115610a355760405162461bcd60e51b815260206004820152600a602482015269085b585e15d85b1b195d60b21b6044820152606401610421565b6107eb838383610a92565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316610ab85760405162461bcd60e51b815260040161042190610d9c565b6001600160a01b038216610ade5760405162461bcd60e51b815260040161042190610de1565b6001600160a01b03831660009081526001602052604090205481811015610b565760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610421565b6001600160a01b03808516600090815260016020526040808220858503905591851681529081208054849290610b8d908490610d46565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bd991815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015610c1457858101830151858201604001528201610bf8565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c4c57600080fd5b919050565b60008060408385031215610c6457600080fd5b610c6d83610c35565b946020939093013593505050565b600080600060608486031215610c9057600080fd5b610c9984610c35565b9250610ca760208501610c35565b9150604084013590509250925092565b600060208284031215610cc957600080fd5b610cd282610c35565b9392505050565b60008060408385031215610cec57600080fd5b610cf583610c35565b9150610d0360208401610c35565b90509250929050565b600181811c90821680610d2057607f821691505b602082108103610d4057634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561038f57634e487b7160e01b600052601160045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b60608201526080019056fea2646970667358221220a6d899f14b5d93a7bde440a1a7eb7c94b4cc99363490e630c35bfdaf516e25cd64736f6c63430008110033

Deployed Bytecode Sourcemap

6232:3024:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2578:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3366:167;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;3366:167:0;1004:187:1;3252:108:0;3340:12;;3252:108;;;1342:25:1;;;1330:2;1315:18;3252:108:0;1196:177:1;4171:488:0;;;;;;:::i;:::-;;:::i;2684:93::-;;;2767:2;1853:36:1;;1841:2;1826:18;2684:93:0;1711:184:1;3539:211:0;;;;;;:::i;:::-;;:::i;6358:33::-;;;;;;;;;6400:62;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2783:127;;;;;;:::i;:::-;-1:-1:-1;;;;;2884:18:0;2857:7;2884:18;;;:9;:18;;;;;;;2783:127;629:103;;;:::i;:::-;;7481:121;;;:::i;410:87::-;483:6;;410:87;;-1:-1:-1;;;;;483:6:0;;;2237:51:1;;2225:2;2210:18;410:87:0;2091:203:1;2468:104:0;;;:::i;3756:409::-;;;;;;:::i;:::-;;:::i;2916:173::-;;;;;;:::i;:::-;;:::i;6469:57::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6283:35;;;;;;3095:151;;;;;;:::i;:::-;-1:-1:-1;;;;;3211:18:0;;;3184:7;3211:18;;;;;;;;;;;:27;;;;;;;;;;;;;3095:151;738:201;;;;;;:::i;:::-;;:::i;6325:24::-;;;;;;2578:100;2632:13;2665:5;2658:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2578:100;:::o;3366:167::-;3449:4;3466:37;3475:10;3487:7;3496:6;3466:8;:37::i;:::-;-1:-1:-1;3521:4:0;3366:167;;;;;:::o;4171:488::-;4311:4;4328:36;4338:6;4346:9;4357:6;4328:9;:36::i;:::-;-1:-1:-1;;;;;4404:19:0;;4377:24;4404:19;;;;;;;;;;;4424:10;4404:31;;;;;;;;4454:26;;;;4446:79;;;;-1:-1:-1;;;4446:79:0;;3151:2:1;4446:79:0;;;3133:21:1;3190:2;3170:18;;;3163:30;3229:34;3209:18;;;3202:62;-1:-1:-1;;;3280:18:1;;;3273:38;3328:19;;4446:79:0;;;;;;;;;4561:55;4570:6;4578:10;4609:6;4590:16;:25;4561:8;:55::i;:::-;-1:-1:-1;4647:4:0;;4171:488;-1:-1:-1;;;;4171:488:0:o;3539:211::-;3653:10;3627:4;3674:23;;;;;;;;;;;-1:-1:-1;;;;;3674:32:0;;;;;;;;;;3627:4;;3644:76;;3665:7;;3674:45;;3709:10;;3674:45;:::i;:::-;3644:8;:76::i;629:103::-;554:10;543:7;483:6;;-1:-1:-1;;;;;483:6:0;;410:87;543:7;-1:-1:-1;;;;;543:21:0;;535:66;;;;-1:-1:-1;;;535:66:0;;;;;;;:::i;:::-;694:30:::1;721:1;694:18;:30::i;:::-;629:103::o:0;7481:121::-;7533:4;554:10;543:7;483:6;;-1:-1:-1;;;;;483:6:0;;410:87;543:7;-1:-1:-1;;;;;543:21:0;;535:66;;;;-1:-1:-1;;;535:66:0;;;;;;;:::i;:::-;-1:-1:-1;7550:14:0::1;:22:::0;;-1:-1:-1;;7550:22:0::1;::::0;;;7481:121;:::o;2468:104::-;2524:13;2557:7;2550:14;;;;;:::i;3756:409::-;3905:10;3849:4;3893:23;;;;;;;;;;;-1:-1:-1;;;;;3893:32:0;;;;;;;;;;3944:35;;;;3936:85;;;;-1:-1:-1;;;3936:85:0;;4148:2:1;3936:85:0;;;4130:21:1;4187:2;4167:18;;;4160:30;4226:34;4206:18;;;4199:62;-1:-1:-1;;;4277:18:1;;;4270:35;4322:19;;3936:85:0;3946:401:1;3936:85:0;4057:65;4066:10;4078:7;4106:15;4087:16;:34;4057:8;:65::i;:::-;-1:-1:-1;4153:4:0;;3756:409;-1:-1:-1;;;3756:409:0:o;2916:173::-;3002:4;3019:40;3029:10;3041:9;3052:6;3019:9;:40::i;738:201::-;554:10;543:7;483:6;;-1:-1:-1;;;;;483:6:0;;410:87;543:7;-1:-1:-1;;;;;543:21:0;;535:66;;;;-1:-1:-1;;;535:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;827:22:0;::::1;819:73;;;::::0;-1:-1:-1;;;819:73:0;;4554:2:1;819:73:0::1;::::0;::::1;4536:21:1::0;4593:2;4573:18;;;4566:30;4632:34;4612:18;;;4605:62;-1:-1:-1;;;4683:18:1;;;4676:36;4729:19;;819:73:0::1;4352:402:1::0;819:73:0::1;903:28;922:8;903:18;:28::i;:::-;738:201:::0;:::o;5571:380::-;-1:-1:-1;;;;;5707:19:0;;5699:68;;;;-1:-1:-1;;;5699:68:0;;4961:2:1;5699:68:0;;;4943:21:1;5000:2;4980:18;;;4973:30;5039:34;5019:18;;;5012:62;-1:-1:-1;;;5090:18:1;;;5083:34;5134:19;;5699:68:0;4759:400:1;5699:68:0;-1:-1:-1;;;;;5786:21:0;;5778:68;;;;-1:-1:-1;;;5778:68:0;;5366:2:1;5778:68:0;;;5348:21:1;5405:2;5385:18;;;5378:30;5444:34;5424:18;;;5417:62;-1:-1:-1;;;5495:18:1;;;5488:32;5537:19;;5778:68:0;5164:398:1;5778:68:0;-1:-1:-1;;;;;5859:18:0;;;:11;:18;;;;;;;;;;;:27;;;;;;;;;;;;;:36;;;5911:32;;1342:25:1;;;5911:32:0;;1315:18:1;5911:32:0;;;;;;;5571:380;;;:::o;7610:1643::-;-1:-1:-1;;;;;7742:18:0;;7734:68;;;;-1:-1:-1;;;7734:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7821:16:0;;7813:64;;;;-1:-1:-1;;;7813:64:0;;;;;;;:::i;:::-;7894:6;7904:1;7894:11;7890:93;;7922:28;7938:4;7944:2;7948:1;7922:15;:28::i;:::-;7610:1643;;;:::o;7890:93::-;7999:14;;;;7995:1205;;;483:6;;-1:-1:-1;;;;;8052:15:0;;;483:6;;8052:15;;;;:49;;-1:-1:-1;483:6:0;;-1:-1:-1;;;;;8088:13:0;;;483:6;;8088:13;;8052:49;8030:1159;;;-1:-1:-1;;;;;8164:31:0;;;;;;:25;:31;;;;;;;;:91;;;;-1:-1:-1;;;;;;8221:34:0;;;;;;:30;:34;;;;;;;;8220:35;8164:91;8138:1036;;;8342:20;;8332:6;:30;;8298:138;;;;-1:-1:-1;;;8298:138:0;;6579:2:1;8298:138:0;;;6561:21:1;6618:2;6598:18;;;6591:30;-1:-1:-1;;;6637:18:1;;;6630:52;6699:18;;8298:138:0;6377:346:1;8298:138:0;8519:9;;-1:-1:-1;;;;;2884:18:0;;2857:7;2884:18;;;:9;:18;;;;;;8493:22;;:6;:22;:::i;:::-;:35;;8459:131;;;;-1:-1:-1;;;8459:131:0;;6930:2:1;8459:131:0;;;6912:21:1;6969:2;6949:18;;;6942:30;-1:-1:-1;;;6988:18:1;;;6981:40;7038:18;;8459:131:0;6728:334:1;8459:131:0;8138:1036;;;-1:-1:-1;;;;;8661:29:0;;;;;;:25;:29;;;;;;;;:91;;;;-1:-1:-1;;;;;;8716:36:0;;;;;;:30;:36;;;;;;;;8715:37;8661:91;8635:539;;;8839:20;;8829:6;:30;;8795:138;;;;-1:-1:-1;;;8795:138:0;;6579:2:1;8795:138:0;;;6561:21:1;6618:2;6598:18;;;6591:30;-1:-1:-1;;;6637:18:1;;;6630:52;6699:18;;8795:138:0;6377:346:1;8635:539:0;-1:-1:-1;;;;;8964:34:0;;;;;;:30;:34;;;;;;;;8959:215;;9083:9;;-1:-1:-1;;;;;2884:18:0;;2857:7;2884:18;;;:9;:18;;;;;;9057:22;;:6;:22;:::i;:::-;:35;;9023:131;;;;-1:-1:-1;;;9023:131:0;;6930:2:1;9023:131:0;;;6912:21:1;6969:2;6949:18;;;6942:30;-1:-1:-1;;;6988:18:1;;;6981:40;7038:18;;9023:131:0;6728:334:1;9023:131:0;9212:33;9228:4;9234:2;9238:6;9212:15;:33::i;945:191::-;1038:6;;;-1:-1:-1;;;;;1055:17:0;;;-1:-1:-1;;;;;;1055:17:0;;;;;;;1088:40;;1038:6;;;1055:17;1038:6;;1088:40;;1019:16;;1088:40;1008:128;945:191;:::o;4665:616::-;-1:-1:-1;;;;;4805:20:0;;4797:70;;;;-1:-1:-1;;;4797:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4886:23:0;;4878:71;;;;-1:-1:-1;;;4878:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4986:17:0;;4962:21;4986:17;;;:9;:17;;;;;;5022:23;;;;5014:74;;;;-1:-1:-1;;;5014:74:0;;7269:2:1;5014:74:0;;;7251:21:1;7308:2;7288:18;;;7281:30;7347:34;7327:18;;;7320:62;-1:-1:-1;;;7398:18:1;;;7391:36;7444:19;;5014:74:0;7067:402:1;5014:74:0;-1:-1:-1;;;;;5124:17:0;;;;;;;:9;:17;;;;;;5144:22;;;5124:42;;5188:20;;;;;;;;:30;;5160:6;;5124:17;5188:30;;5160:6;;5188:30;:::i;:::-;;;;;;;;5253:9;-1:-1:-1;;;;;5236:35:0;5245:6;-1:-1:-1;;;;;5236:35:0;;5264:6;5236:35;;;;1342:25:1;;1330:2;1315:18;;1196:177;5236:35:0;;;;;;;;4786:495;4665:616;;;:::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:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:1:o;2299:260::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;2467:29;2486:9;2467:29;:::i;:::-;2457:39;;2515:38;2549:2;2538:9;2534:18;2515:38;:::i;:::-;2505:48;;2299:260;;;;;:::o;2564:380::-;2643:1;2639:12;;;;2686;;;2707:61;;2761:4;2753:6;2749:17;2739:27;;2707:61;2814:2;2806:6;2803:14;2783:18;2780:38;2777:161;;2860:10;2855:3;2851:20;2848:1;2841:31;2895:4;2892:1;2885:15;2923:4;2920:1;2913:15;2777:161;;2564:380;;;:::o;3358:222::-;3423:9;;;3444:10;;;3441:133;;;3496:10;3491:3;3487:20;3484:1;3477:31;3531:4;3528:1;3521:15;3559:4;3556:1;3549:15;3585:356;3787:2;3769:21;;;3806:18;;;3799:30;3865:34;3860:2;3845:18;;3838:62;3932:2;3917:18;;3585:356::o;5567:401::-;5769:2;5751:21;;;5808:2;5788:18;;;5781:30;5847:34;5842:2;5827:18;;5820:62;-1:-1:-1;;;5913:2:1;5898:18;;5891:35;5958:3;5943:19;;5567:401::o;5973:399::-;6175:2;6157:21;;;6214:2;6194:18;;;6187:30;6253:34;6248:2;6233:18;;6226:62;-1:-1:-1;;;6319:2:1;6304:18;;6297:33;6362:3;6347:19;;5973:399::o

Swarm Source

ipfs://a6d899f14b5d93a7bde440a1a7eb7c94b4cc99363490e630c35bfdaf516e25cd

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

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.