ETH Price: $3,353.19 (+4.14%)
 

Overview

ETH Balance

0.002 ETH

Eth Value

$6.71 (@ $3,353.19/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer177436242023-07-21 19:32:35559 days ago1689967955IN
0x7824fba2...198222A75
0 ETH0.0031952647.66277525
Approve174069642023-06-04 11:31:59607 days ago1685878319IN
0x7824fba2...198222A75
0 ETH0.0008544418.4640672
Approve174010282023-06-03 15:25:23607 days ago1685805923IN
0x7824fba2...198222A75
0 ETH0.0016613835.77187263
Approve174006512023-06-03 14:08:47607 days ago1685801327IN
0x7824fba2...198222A75
0 ETH0.0025011853.85370252
Approve173955432023-06-02 20:55:47608 days ago1685739347IN
0x7824fba2...198222A75
0 ETH0.001064122.99474192
Approve173941282023-06-02 16:07:11608 days ago1685722031IN
0x7824fba2...198222A75
0 ETH0.0030742766.10767704
Approve173940662023-06-02 15:54:35608 days ago1685721275IN
0x7824fba2...198222A75
0 ETH0.0017942138.58187127
Approve173935762023-06-02 14:15:35608 days ago1685715335IN
0x7824fba2...198222A75
0 ETH0.0018820240.52248415
Approve173932932023-06-02 13:17:59608 days ago1685711879IN
0x7824fba2...198222A75
0 ETH0.0015975634.56733702
Approve173932332023-06-02 13:05:47608 days ago1685711147IN
0x7824fba2...198222A75
0 ETH0.0019119141.11296127
Approve173932272023-06-02 13:04:35608 days ago1685711075IN
0x7824fba2...198222A75
0 ETH0.0021401646.02113349
Approve173932142023-06-02 13:01:59608 days ago1685710919IN
0x7824fba2...198222A75
0 ETH0.0026805757.64190797
Approve173932082023-06-02 13:00:47608 days ago1685710847IN
0x7824fba2...198222A75
0 ETH0.0019162241.20564114
Approve173930022023-06-02 12:18:47609 days ago1685708327IN
0x7824fba2...198222A75
0 ETH0.0008149627.99031803
Approve173929662023-06-02 12:11:35609 days ago1685707895IN
0x7824fba2...198222A75
0 ETH0.0017672638.18962507
Approve173929022023-06-02 11:58:11609 days ago1685707091IN
0x7824fba2...198222A75
0 ETH0.0011778725.48628673
Approve173928982023-06-02 11:57:23609 days ago1685707043IN
0x7824fba2...198222A75
0 ETH0.0011342524.5424721
Approve173928542023-06-02 11:48:11609 days ago1685706491IN
0x7824fba2...198222A75
0 ETH0.0008143927.97070491
Approve173927782023-06-02 11:32:59609 days ago1685705579IN
0x7824fba2...198222A75
0 ETH0.0016040134.66196108
Approve173925852023-06-02 10:52:59609 days ago1685703179IN
0x7824fba2...198222A75
0 ETH0.0013609829.26590788
Approve173925422023-06-02 10:43:47609 days ago1685702627IN
0x7824fba2...198222A75
0 ETH0.0012857927.7854433
Approve173925292023-06-02 10:40:47609 days ago1685702447IN
0x7824fba2...198222A75
0 ETH0.0012569927.02986615
Approve173925202023-06-02 10:38:59609 days ago1685702339IN
0x7824fba2...198222A75
0 ETH0.0011061823.81770078
Approve173925192023-06-02 10:38:47609 days ago1685702327IN
0x7824fba2...198222A75
0 ETH0.0010286822.14887115
Approve173924972023-06-02 10:34:23609 days ago1685702063IN
0x7824fba2...198222A75
0 ETH0.0010988623.66000071
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:
Printing

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-02
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.18;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    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 Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract Printing is Context, IERC20, Ownable {
  
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _walletExcluded;
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 100_000_000_000_000 * 10**_decimals;
    //Swap Threshold (0.04%)
    uint256 private constant minSwap = 40_000_000 * 10 **_decimals;
    //Define 1%
    uint256 private constant onePercent = 1_000_000_000_000 * 10**_decimals;
    //Max Tx at Launch
    uint256 public maxTxAmount = (onePercent * 2) + (2 * 10 ** _decimals);

    uint256 private launchBlock;
    uint256 private buyValue = 0;

    uint256 private _tax;
    uint256 public buyTax = 25;
    uint256 public sellTax = 60;
    
    string private constant _name = "Printing";
    string private constant _symbol = "FED";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address payable public treasuryAddress;

    bool private launch = false;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        treasuryAddress = payable(0x593D386733FDA7c640aCEe64066A08B3F4d48AfC);
        _balance[msg.sender] = _totalSupply;
        _walletExcluded[0x593D386733FDA7c640aCEe64066A08B3F4d48AfC] = true;
        _walletExcluded[msg.sender] = true;
        _walletExcluded[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = 2**256 - 1;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

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

    function transfer(address recipient, uint256 amount)public override returns (bool){
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool){
        require(spender != address(0), "cannot approve the 0 address");
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        _transfer(sender, recipient, amount);
        emit Approval(sender, msg.sender, _allowances[sender][msg.sender]);
        return true;
    }

    function enableTrading() external onlyOwner {
        launch = true;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _walletExcluded[wallet] = true;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function changeBuyValue(uint256 newBuyValue) external onlyOwner {
        buyValue = newBuyValue;
    }

    function _tokenTransfer(address from, address to, uint256 amount) private {
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

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

        if (_walletExcluded[from] || _walletExcluded[to]) {
            _tax = 0;
        } else {
            require(launch, "Trading not open");
            require(amount <= maxTxAmount, "MaxTx Enabled at launch");
            if (block.number < launchBlock + buyValue + 2) {_tax=99;} else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minSwap) { //Sets Max Internal Swap
                        if (tokensToSwap > onePercent * 4) { 
                            tokensToSwap = onePercent * 4;
                        }
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                } else {
                    _tax = 0;
                }
            }
        }
        _tokenTransfer(from, to, amount);
    }

    function manualSendBalance() external {
        require(_msgSender() == treasuryAddress);
        uint256 contractETHBalance = address(this).balance;
        treasuryAddress.transfer(contractETHBalance);
        uint256 contractBalance = balanceOf(address(this));
        _tokenTransfer(address(this), treasuryAddress, contractBalance);
    } 

    function manualSwapTokens() external {
        require(_msgSender() == treasuryAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            treasuryAddress,
            block.timestamp
        );
    }
    
    receive() external payable {}
}

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":"wallet","type":"address"}],"name":"addExcludedWallet","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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyValue","type":"uint256"}],"name":"changeBuyValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"inputs":[],"name":"treasuryAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620004ad565b6200001f906002620004c5565b6200002d6012600a620004ad565b6200003e9064e8d4a51000620004c5565b6200004b906002620004c5565b620000579190620004df565b60055560006007556019600955603c600a55600d805460ff60a01b191690553480156200008357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200012a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001509190620004f5565b6001600160a01b031663c9c6539630600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d99190620004f5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000227573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024d9190620004f5565b600c80546001600160a01b03929092166001600160a01b0319928316179055600d805490911673593d386733fda7c640acee64066a08b3f4d48afc179055620002996012600a620004ad565b620002ab90655af3107a4000620004c5565b33600090815260026020908152604080832093909355600481527f37365f308eb6fec9fb0c8f6749d50cf156c3058ce5e0087df69b13385362f0d48054600160ff19918216811790925584842080548216831790553084528484208054909116909117905560038152828220600b546001600160a01b031683529052206000199055620003353390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200036f6012600a620004ad565b6200038190655af3107a4000620004c5565b60405190815260200160405180910390a362000520565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003ef578160001904821115620003d357620003d362000398565b80851615620003e157918102915b93841c9390800290620003b3565b509250929050565b6000826200040857506001620004a7565b816200041757506000620004a7565b81600181146200043057600281146200043b576200045b565b6001915050620004a7565b60ff8411156200044f576200044f62000398565b50506001821b620004a7565b5060208310610133831016604e8410600b841016171562000480575081810a620004a7565b6200048c8383620003ae565b8060001904821115620004a357620004a362000398565b0290505b92915050565b6000620004be60ff841683620003f7565b9392505050565b8082028115828204841417620004a757620004a762000398565b80820180821115620004a757620004a762000398565b6000602082840312156200050857600080fd5b81516001600160a01b0381168114620004be57600080fd5b61125580620005306000396000f3fe60806040526004361061014f5760003560e01c806389112cdb116100b6578063a9059cbb1161006f578063a9059cbb146103bc578063c5f956af146103dc578063cc1776d3146103fc578063dba9d42014610412578063dd62ed3e14610432578063f2fde38b1461047857600080fd5b806389112cdb146103075780638a8c523c146103275780638c0b5e221461033c5780638da5cb5b146103525780639036ed4d1461037057806395d89b411461039057600080fd5b806349bd5a5e1161010857806349bd5a5e146102445780634f7041a51461027c57806370a0823114610292578063715018a6146102c8578063751039fc146102dd5780637c4c75eb146102f257600080fd5b806306fdde031461015b578063095ea7b31461019e57806318160ddd146101ce57806323b872dd146101f157806328176f8914610211578063313ce5671461022857600080fd5b3661015657005b600080fd5b34801561016757600080fd5b506040805180820190915260088152675072696e74696e6760c01b60208201525b6040516101959190610e76565b60405180910390f35b3480156101aa57600080fd5b506101be6101b9366004610ed9565b610498565b6040519015158152602001610195565b3480156101da57600080fd5b506101e361055a565b604051908152602001610195565b3480156101fd57600080fd5b506101be61020c366004610f05565b61057d565b34801561021d57600080fd5b5061022661063f565b005b34801561023457600080fd5b5060405160128152602001610195565b34801561025057600080fd5b50600c54610264906001600160a01b031681565b6040516001600160a01b039091168152602001610195565b34801561028857600080fd5b506101e360095481565b34801561029e57600080fd5b506101e36102ad366004610f46565b6001600160a01b031660009081526002602052604090205490565b3480156102d457600080fd5b506102266106c6565b3480156102e957600080fd5b5061022661073a565b3480156102fe57600080fd5b50610226610785565b34801561031357600080fd5b50610226610322366004610f6a565b6107c1565b34801561033357600080fd5b506102266107f0565b34801561034857600080fd5b506101e360055481565b34801561035e57600080fd5b506000546001600160a01b0316610264565b34801561037c57600080fd5b5061022661038b366004610f83565b610833565b34801561039c57600080fd5b5060408051808201909152600381526211915160ea1b6020820152610188565b3480156103c857600080fd5b506101be6103d7366004610ed9565b610868565b3480156103e857600080fd5b50600d54610264906001600160a01b031681565b34801561040857600080fd5b506101e3600a5481565b34801561041e57600080fd5b5061022661042d366004610f46565b61087e565b34801561043e57600080fd5b506101e361044d366004610fa5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561048457600080fd5b50610226610493366004610f46565b6108cc565b60006001600160a01b0383166104f55760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420617070726f766520746865203020616464726573730000000060448201526064015b60405180910390fd5b3360008181526003602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006105686012600a6110d8565b61057890655af3107a40006110e7565b905090565b6001600160a01b03831660009081526003602090815260408083203384529091528120546105ac9083906110fe565b6001600160a01b03851660009081526003602090815260408083203384529091529020556105db8484846108ff565b6001600160a01b038416600081815260036020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b600d546001600160a01b0316336001600160a01b03161461065f57600080fd5b600d5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610699573d6000803e3d6000fd5b5030600081815260026020526040902054600d5490916106c2916001600160a01b031683610b64565b5050565b6000546001600160a01b031633146106f05760405162461bcd60e51b81526004016104ec90611111565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107645760405162461bcd60e51b81526004016104ec90611111565b6107706012600a6110d8565b61078090655af3107a40006110e7565b600555565b600d546001600160a01b0316336001600160a01b0316146107a557600080fd5b306000908152600260205260409020546107be81610c6f565b50565b6000546001600160a01b031633146107eb5760405162461bcd60e51b81526004016104ec90611111565b600755565b6000546001600160a01b0316331461081a5760405162461bcd60e51b81526004016104ec90611111565b600d805460ff60a01b1916600160a01b17905543600655565b6000546001600160a01b0316331461085d5760405162461bcd60e51b81526004016104ec90611111565b600991909155600a55565b60006108753384846108ff565b50600192915050565b6000546001600160a01b031633146108a85760405162461bcd60e51b81526004016104ec90611111565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146108f65760405162461bcd60e51b81526004016104ec90611111565b6107be81610db6565b6001600160a01b0383166109635760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ec565b6001600160a01b03831660009081526004602052604090205460ff16806109a257506001600160a01b03821660009081526004602052604090205460ff165b156109b1576000600855610b54565b600d54600160a01b900460ff166109fd5760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b60448201526064016104ec565b600554811115610a4f5760405162461bcd60e51b815260206004820152601760248201527f4d6178547820456e61626c6564206174206c61756e636800000000000000000060448201526064016104ec565b600754600654610a5f9190611146565b610a6a906002611146565b431015610a7b576063600855610b54565b600c546001600160a01b0390811690841603610a9c57600954600855610b54565b600c546001600160a01b0390811690831603610b4e5730600090815260026020526040902054610ace6012600a6110d8565b610adc906302625a006110e7565b811115610b4257610aef6012600a6110d8565b610afe9064e8d4a510006110e7565b610b099060046110e7565b811115610b3957610b1c6012600a6110d8565b610b2b9064e8d4a510006110e7565b610b369060046110e7565b90505b610b4281610c6f565b50600a54600855610b54565b60006008555b610b5f838383610b64565b505050565b6000606460085483610b7691906110e7565b610b809190611159565b90506000610b8e82846110fe565b6001600160a01b038616600090815260026020526040902054909150610bb59084906110fe565b6001600160a01b038087166000908152600260205260408082209390935590861681522054610be5908290611146565b6001600160a01b038516600090815260026020526040808220929092553081522054610c12908390611146565b3060009081526002602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ca457610ca461117b565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d219190611191565b81600181518110610d3457610d3461117b565b6001600160a01b039283166020918202929092010152600b54600d5460405163791ac94760e01b81529183169263791ac94792610d8092879260009288929091169042906004016111ae565b600060405180830381600087803b158015610d9a57600080fd5b505af1158015610dae573d6000803e3d6000fd5b505050505050565b6001600160a01b038116610e1b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ec565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208083528351808285015260005b81811015610ea357858101830151858201604001528201610e87565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107be57600080fd5b60008060408385031215610eec57600080fd5b8235610ef781610ec4565b946020939093013593505050565b600080600060608486031215610f1a57600080fd5b8335610f2581610ec4565b92506020840135610f3581610ec4565b929592945050506040919091013590565b600060208284031215610f5857600080fd5b8135610f6381610ec4565b9392505050565b600060208284031215610f7c57600080fd5b5035919050565b60008060408385031215610f9657600080fd5b50508035926020909101359150565b60008060408385031215610fb857600080fd5b8235610fc381610ec4565b91506020830135610fd381610ec4565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561102f57816000190482111561101557611015610fde565b8085161561102257918102915b93841c9390800290610ff9565b509250929050565b60008261104657506001610554565b8161105357506000610554565b816001811461106957600281146110735761108f565b6001915050610554565b60ff84111561108457611084610fde565b50506001821b610554565b5060208310610133831016604e8410600b84101617156110b2575081810a610554565b6110bc8383610ff4565b80600019048211156110d0576110d0610fde565b029392505050565b6000610f6360ff841683611037565b808202811582820484141761055457610554610fde565b8181038181111561055457610554610fde565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561055457610554610fde565b60008261117657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111a357600080fd5b8151610f6381610ec4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111fe5784516001600160a01b0316835293830193918301916001016111d9565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c25995e9e76bea063d6d1e708ca913c35aad8cdefb72af6fe0f33782aa5fdbf564736f6c63430008120033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c806389112cdb116100b6578063a9059cbb1161006f578063a9059cbb146103bc578063c5f956af146103dc578063cc1776d3146103fc578063dba9d42014610412578063dd62ed3e14610432578063f2fde38b1461047857600080fd5b806389112cdb146103075780638a8c523c146103275780638c0b5e221461033c5780638da5cb5b146103525780639036ed4d1461037057806395d89b411461039057600080fd5b806349bd5a5e1161010857806349bd5a5e146102445780634f7041a51461027c57806370a0823114610292578063715018a6146102c8578063751039fc146102dd5780637c4c75eb146102f257600080fd5b806306fdde031461015b578063095ea7b31461019e57806318160ddd146101ce57806323b872dd146101f157806328176f8914610211578063313ce5671461022857600080fd5b3661015657005b600080fd5b34801561016757600080fd5b506040805180820190915260088152675072696e74696e6760c01b60208201525b6040516101959190610e76565b60405180910390f35b3480156101aa57600080fd5b506101be6101b9366004610ed9565b610498565b6040519015158152602001610195565b3480156101da57600080fd5b506101e361055a565b604051908152602001610195565b3480156101fd57600080fd5b506101be61020c366004610f05565b61057d565b34801561021d57600080fd5b5061022661063f565b005b34801561023457600080fd5b5060405160128152602001610195565b34801561025057600080fd5b50600c54610264906001600160a01b031681565b6040516001600160a01b039091168152602001610195565b34801561028857600080fd5b506101e360095481565b34801561029e57600080fd5b506101e36102ad366004610f46565b6001600160a01b031660009081526002602052604090205490565b3480156102d457600080fd5b506102266106c6565b3480156102e957600080fd5b5061022661073a565b3480156102fe57600080fd5b50610226610785565b34801561031357600080fd5b50610226610322366004610f6a565b6107c1565b34801561033357600080fd5b506102266107f0565b34801561034857600080fd5b506101e360055481565b34801561035e57600080fd5b506000546001600160a01b0316610264565b34801561037c57600080fd5b5061022661038b366004610f83565b610833565b34801561039c57600080fd5b5060408051808201909152600381526211915160ea1b6020820152610188565b3480156103c857600080fd5b506101be6103d7366004610ed9565b610868565b3480156103e857600080fd5b50600d54610264906001600160a01b031681565b34801561040857600080fd5b506101e3600a5481565b34801561041e57600080fd5b5061022661042d366004610f46565b61087e565b34801561043e57600080fd5b506101e361044d366004610fa5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561048457600080fd5b50610226610493366004610f46565b6108cc565b60006001600160a01b0383166104f55760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420617070726f766520746865203020616464726573730000000060448201526064015b60405180910390fd5b3360008181526003602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006105686012600a6110d8565b61057890655af3107a40006110e7565b905090565b6001600160a01b03831660009081526003602090815260408083203384529091528120546105ac9083906110fe565b6001600160a01b03851660009081526003602090815260408083203384529091529020556105db8484846108ff565b6001600160a01b038416600081815260036020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b600d546001600160a01b0316336001600160a01b03161461065f57600080fd5b600d5460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610699573d6000803e3d6000fd5b5030600081815260026020526040902054600d5490916106c2916001600160a01b031683610b64565b5050565b6000546001600160a01b031633146106f05760405162461bcd60e51b81526004016104ec90611111565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107645760405162461bcd60e51b81526004016104ec90611111565b6107706012600a6110d8565b61078090655af3107a40006110e7565b600555565b600d546001600160a01b0316336001600160a01b0316146107a557600080fd5b306000908152600260205260409020546107be81610c6f565b50565b6000546001600160a01b031633146107eb5760405162461bcd60e51b81526004016104ec90611111565b600755565b6000546001600160a01b0316331461081a5760405162461bcd60e51b81526004016104ec90611111565b600d805460ff60a01b1916600160a01b17905543600655565b6000546001600160a01b0316331461085d5760405162461bcd60e51b81526004016104ec90611111565b600991909155600a55565b60006108753384846108ff565b50600192915050565b6000546001600160a01b031633146108a85760405162461bcd60e51b81526004016104ec90611111565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146108f65760405162461bcd60e51b81526004016104ec90611111565b6107be81610db6565b6001600160a01b0383166109635760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ec565b6001600160a01b03831660009081526004602052604090205460ff16806109a257506001600160a01b03821660009081526004602052604090205460ff165b156109b1576000600855610b54565b600d54600160a01b900460ff166109fd5760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b60448201526064016104ec565b600554811115610a4f5760405162461bcd60e51b815260206004820152601760248201527f4d6178547820456e61626c6564206174206c61756e636800000000000000000060448201526064016104ec565b600754600654610a5f9190611146565b610a6a906002611146565b431015610a7b576063600855610b54565b600c546001600160a01b0390811690841603610a9c57600954600855610b54565b600c546001600160a01b0390811690831603610b4e5730600090815260026020526040902054610ace6012600a6110d8565b610adc906302625a006110e7565b811115610b4257610aef6012600a6110d8565b610afe9064e8d4a510006110e7565b610b099060046110e7565b811115610b3957610b1c6012600a6110d8565b610b2b9064e8d4a510006110e7565b610b369060046110e7565b90505b610b4281610c6f565b50600a54600855610b54565b60006008555b610b5f838383610b64565b505050565b6000606460085483610b7691906110e7565b610b809190611159565b90506000610b8e82846110fe565b6001600160a01b038616600090815260026020526040902054909150610bb59084906110fe565b6001600160a01b038087166000908152600260205260408082209390935590861681522054610be5908290611146565b6001600160a01b038516600090815260026020526040808220929092553081522054610c12908390611146565b3060009081526002602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ca457610ca461117b565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d219190611191565b81600181518110610d3457610d3461117b565b6001600160a01b039283166020918202929092010152600b54600d5460405163791ac94760e01b81529183169263791ac94792610d8092879260009288929091169042906004016111ae565b600060405180830381600087803b158015610d9a57600080fd5b505af1158015610dae573d6000803e3d6000fd5b505050505050565b6001600160a01b038116610e1b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ec565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208083528351808285015260005b81811015610ea357858101830151858201604001528201610e87565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107be57600080fd5b60008060408385031215610eec57600080fd5b8235610ef781610ec4565b946020939093013593505050565b600080600060608486031215610f1a57600080fd5b8335610f2581610ec4565b92506020840135610f3581610ec4565b929592945050506040919091013590565b600060208284031215610f5857600080fd5b8135610f6381610ec4565b9392505050565b600060208284031215610f7c57600080fd5b5035919050565b60008060408385031215610f9657600080fd5b50508035926020909101359150565b60008060408385031215610fb857600080fd5b8235610fc381610ec4565b91506020830135610fd381610ec4565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561102f57816000190482111561101557611015610fde565b8085161561102257918102915b93841c9390800290610ff9565b509250929050565b60008261104657506001610554565b8161105357506000610554565b816001811461106957600281146110735761108f565b6001915050610554565b60ff84111561108457611084610fde565b50506001821b610554565b5060208310610133831016604e8410600b84101617156110b2575081810a610554565b6110bc8383610ff4565b80600019048211156110d0576110d0610fde565b029392505050565b6000610f6360ff841683611037565b808202811582820484141761055457610554610fde565b8181038181111561055457610554610fde565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561055457610554610fde565b60008261117657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111a357600080fd5b8151610f6381610ec4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111fe5784516001600160a01b0316835293830193918301916001016111d9565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c25995e9e76bea063d6d1e708ca913c35aad8cdefb72af6fe0f33782aa5fdbf564736f6c63430008120033

Deployed Bytecode Sourcemap

2501:6452:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4273:83;;;;;;;;;;-1:-1:-1;4343:5:0;;;;;;;;;;;;-1:-1:-1;;;4343:5:0;;;;4273:83;;;;;;;:::i;:::-;;;;;;;;5107:288;;;;;;;;;;-1:-1:-1;5107:288:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5107:288:0;1023:187:1;4550:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;4550:100:0;1215:177:1;5403:343:0;;;;;;;;;;-1:-1:-1;5403:343:0;;;;;:::i;:::-;;:::i;7943:348::-;;;;;;;;;;;;;:::i;:::-;;4459:83;;;;;;;;;;-1:-1:-1;4459:83:0;;2773:2;2000:36:1;;1988:2;1973:18;4459:83:0;1858:184:1;3477:28:0;;;;;;;;;;-1:-1:-1;3477:28:0;;;;-1:-1:-1;;;;;3477:28:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;3477:28:0;2047:203:1;3258:26:0;;;;;;;;;;;;;;;;4658:118;;;;;;;;;;-1:-1:-1;4658:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;4751:17:0;4724:7;4751:17;;;:8;:17;;;;;;;4658:118;1830:148;;;;;;;;;;;;;:::i;5994:88::-;;;;;;;;;;;;;:::i;8300:201::-;;;;;;;;;;;;;:::i;6243:105::-;;;;;;;;;;-1:-1:-1;6243:105:0;;;;;:::i;:::-;;:::i;5754:113::-;;;;;;;;;;;;;:::i;3082:69::-;;;;;;;;;;;;;;;;1262:79;;;;;;;;;;-1:-1:-1;1300:7:0;1327:6;-1:-1:-1;;;;;1327:6:0;1262:79;;6090:145;;;;;;;;;;-1:-1:-1;6090:145:0;;;;;:::i;:::-;;:::i;4364:87::-;;;;;;;;;;-1:-1:-1;4436:7:0;;;;;;;;;;;;-1:-1:-1;;;4436:7:0;;;;4364:87;;4784:165;;;;;;;;;;-1:-1:-1;4784:165:0;;;;;:::i;:::-;;:::i;3512:38::-;;;;;;;;;;-1:-1:-1;3512:38:0;;;;-1:-1:-1;;;;;3512:38:0;;;3291:27;;;;;;;;;;;;;;;;5875:111;;;;;;;;;;-1:-1:-1;5875:111:0;;;;;:::i;:::-;;:::i;4957:142::-;;;;;;;;;;-1:-1:-1;4957:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;5064:18:0;;;5038:7;5064:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4957:142;1476:109;;;;;;;;;;-1:-1:-1;1476:109:0;;;;;:::i;:::-;;:::i;5107:288::-;5182:4;-1:-1:-1;;;;;5206:21:0;;5198:62;;;;-1:-1:-1;;;5198:62:0;;3764:2:1;5198:62:0;;;3746:21:1;3803:2;3783:18;;;3776:30;3842;3822:18;;;3815:58;3890:18;;5198:62:0;;;;;;;;;5283:10;5271:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5271:32:0;;;;;;;;;;;;:41;;;5328:37;1361:25:1;;;5271:32:0;;5283:10;5328:37;;1334:18:1;5328:37:0;;;;;;;-1:-1:-1;5383:4:0;5107:288;;;;;:::o;4550:100::-;4603:7;2844:13;2773:2;2844;:13;:::i;:::-;2822:35;;:19;:35;:::i;:::-;4623:19;;4550:100;:::o;5403:343::-;-1:-1:-1;;;;;5552:19:0;;5501:4;5552:19;;;:11;:19;;;;;;;;5572:10;5552:31;;;;;;;;:40;;5586:6;;5552:40;:::i;:::-;-1:-1:-1;;;;;5518:19:0;;;;;;:11;:19;;;;;;;;5538:10;5518:31;;;;;;;:74;5603:36;5530:6;5621:9;5632:6;5603:9;:36::i;:::-;-1:-1:-1;;;;;5655:61:0;;5684:19;;;;:11;:19;;;;;;;;5672:10;5684:31;;;;;;;;;;;5655:61;;1361:25:1;;;5672:10:0;;5655:61;;;1334:18:1;5655:61:0;;;;;;;-1:-1:-1;5734:4:0;5403:343;;;;;:::o;7943:348::-;8016:15;;-1:-1:-1;;;;;8016:15:0;180:10;-1:-1:-1;;;;;8000:31:0;;7992:40;;;;;;8104:15;;:44;;8072:21;;-1:-1:-1;;;;;8104:15:0;;:44;;;;;8072:21;;8043:26;8104:44;8043:26;8104:44;8072:21;8104:15;:44;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8203:4:0;8159:23;4751:17;;;:8;:17;;;;;;8250:15;;4751:17;;8220:63;;-1:-1:-1;;;;;8250:15:0;4751:17;8220:14;:63::i;:::-;7981:310;;7943:348::o;1830:148::-;1389:6;;-1:-1:-1;;;;;1389:6:0;180:10;1389:22;1381:67;;;;-1:-1:-1;;;1381:67:0;;;;;;;:::i;:::-;1937:1:::1;1921:6:::0;;1900:40:::1;::::0;-1:-1:-1;;;;;1921:6:0;;::::1;::::0;1900:40:::1;::::0;1937:1;;1900:40:::1;1968:1;1951:19:::0;;-1:-1:-1;;;;;;1951:19:0::1;::::0;;1830:148::o;5994:88::-;1389:6;;-1:-1:-1;;;;;1389:6:0;180:10;1389:22;1381:67;;;;-1:-1:-1;;;1381:67:0;;;;;;;:::i;:::-;2844:13:::1;2773:2;2844;:13;:::i;:::-;2822:35;::::0;:19:::1;:35;:::i;:::-;6048:11;:26:::0;5994:88::o;8300:201::-;8372:15;;-1:-1:-1;;;;;8372:15:0;180:10;-1:-1:-1;;;;;8356:31:0;;8348:40;;;;;;8443:4;8399:23;4751:17;;;:8;:17;;;;;;8460:33;4751:17;8460:16;:33::i;:::-;8337:164;8300:201::o;6243:105::-;1389:6;;-1:-1:-1;;;;;1389:6:0;180:10;1389:22;1381:67;;;;-1:-1:-1;;;1381:67:0;;;;;;;:::i;:::-;6318:8:::1;:22:::0;6243:105::o;5754:113::-;1389:6;;-1:-1:-1;;;;;1389:6:0;180:10;1389:22;1381:67;;;;-1:-1:-1;;;1381:67:0;;;;;;;:::i;:::-;5809:6:::1;:13:::0;;-1:-1:-1;;;;5809:13:0::1;-1:-1:-1::0;;;5809:13:0::1;::::0;;5847:12:::1;5833:11;:26:::0;5754:113::o;6090:145::-;1389:6;;-1:-1:-1;;;;;1389:6:0;180:10;1389:22;1381:67;;;;-1:-1:-1;;;1381:67:0;;;;;;;:::i;:::-;6178:6:::1;:18:::0;;;;6207:7:::1;:20:::0;6090:145::o;4784:165::-;4861:4;4877:42;180:10;4901:9;4912:6;4877:9;:42::i;:::-;-1:-1:-1;4937:4:0;4784:165;;;;:::o;5875:111::-;1389:6;;-1:-1:-1;;;;;1389:6:0;180:10;1389:22;1381:67;;;;-1:-1:-1;;;1381:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5948:23:0::1;;::::0;;;:15:::1;:23;::::0;;;;:30;;-1:-1:-1;;5948:30:0::1;5974:4;5948:30;::::0;;5875:111::o;1476:109::-;1389:6;;-1:-1:-1;;;;;1389:6:0;180:10;1389:22;1381:67;;;;-1:-1:-1;;;1381:67:0;;;;;;;:::i;:::-;1549:28:::1;1568:8;1549:18;:28::i;6784:1151::-:0;-1:-1:-1;;;;;6872:18:0;;6864:68;;;;-1:-1:-1;;;6864:68:0;;6303:2:1;6864:68:0;;;6285:21:1;6342:2;6322:18;;;6315:30;6381:34;6361:18;;;6354:62;-1:-1:-1;;;6432:18:1;;;6425:35;6477:19;;6864:68:0;6101:401:1;6864:68:0;-1:-1:-1;;;;;6949:21:0;;;;;;:15;:21;;;;;;;;;:44;;-1:-1:-1;;;;;;6974:19:0;;;;;;:15;:19;;;;;;;;6949:44;6945:940;;;7017:1;7010:4;:8;6945:940;;;7059:6;;-1:-1:-1;;;7059:6:0;;;;7051:35;;;;-1:-1:-1;;;7051:35:0;;6709:2:1;7051:35:0;;;6691:21:1;6748:2;6728:18;;;6721:30;-1:-1:-1;;;6767:18:1;;;6760:46;6823:18;;7051:35:0;6507:340:1;7051:35:0;7119:11;;7109:6;:21;;7101:57;;;;-1:-1:-1;;;7101:57:0;;7054:2:1;7101:57:0;;;7036:21:1;7093:2;7073:18;;;7066:30;7132:25;7112:18;;;7105:53;7175:18;;7101:57:0;6852:347:1;7101:57:0;7206:8;;7192:11;;:22;;;;:::i;:::-;:26;;7217:1;7192:26;:::i;:::-;7177:12;:41;7173:701;;;7226:2;7221:4;:7;7173:701;;;7267:13;;-1:-1:-1;;;;;7267:13:0;;;7259:21;;;;7255:604;;7312:6;;7305:4;:13;7255:604;;;7354:13;;-1:-1:-1;;;;;7354:13:0;;;7348:19;;;;7344:515;;7433:4;7392:20;4751:17;;;:8;:17;;;;;;2942:14;2773:2;2942;:14;:::i;:::-;2929:27;;:10;:27;:::i;:::-;7466:12;:22;7462:284;;;3038:13;2773:2;3038;:13;:::i;:::-;3018:33;;:17;:33;:::i;:::-;7561:14;;7574:1;7561:14;:::i;:::-;7546:12;:29;7542:124;;;3038:13;2773:2;3038;:13;:::i;:::-;3018:33;;:17;:33;:::i;:::-;7624:14;;7637:1;7624:14;:::i;:::-;7609:29;;7542:124;7692:30;7709:12;7692:16;:30::i;:::-;-1:-1:-1;7775:7:0;;7768:4;:14;7344:515;;;7838:1;7831:4;:8;7344:515;7895:32;7910:4;7916:2;7920:6;7895:14;:32::i;:::-;6784:1151;;;:::o;6356:420::-;6441:17;6479:3;6471:4;;6462:6;:13;;;;:::i;:::-;6461:21;;;;:::i;:::-;6441:41;-1:-1:-1;6493:22:0;6518:18;6441:41;6518:6;:18;:::i;:::-;-1:-1:-1;;;;;6566:14:0;;;;;;:8;:14;;;;;;6493:43;;-1:-1:-1;6566:23:0;;6583:6;;6566:23;:::i;:::-;-1:-1:-1;;;;;6549:14:0;;;;;;;:8;:14;;;;;;:40;;;;6615:12;;;;;;;:29;;6630:14;;6615:29;:::i;:::-;-1:-1:-1;;;;;6600:12:0;;;;;;:8;:12;;;;;;:44;;;;6698:4;6681:23;;;;:35;;6707:9;;6681:35;:::i;:::-;6672:4;6655:23;;;;:8;:23;;;;;;;;;:61;;;;6734:34;1361:25:1;;;-1:-1:-1;;;;;6734:34:0;;;;;;;;;;1334:18:1;6734:34:0;;;;;;;6430:346;;6356:420;;;:::o;8509:400::-;8599:16;;;8613:1;8599:16;;;;;;;;8575:21;;8599:16;;;;;;;;;;-1:-1:-1;8599:16:0;8575:40;;8644:4;8626;8631:1;8626:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8626:23:0;;;:7;;;;;;;;;;:23;;;;8670:15;;:22;;;-1:-1:-1;;;8670:22:0;;;;:15;;;;;:20;;:22;;;;;8626:7;;8670:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8660:4;8665:1;8660:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8660:32:0;;;:7;;;;;;;;;:32;8703:15;;8845;;8703:198;;-1:-1:-1;;;8703:198:0;;:15;;;;:66;;:198;;8784:11;;8703:15;;8826:4;;8845:15;;;;8875;;8703:198;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8564:345;8509:400;:::o;1593:229::-;-1:-1:-1;;;;;1667:22:0;;1659:73;;;;-1:-1:-1;;;1659:73:0;;9271:2:1;1659:73:0;;;9253:21:1;9310:2;9290:18;;;9283:30;9349:34;9329:18;;;9322:62;-1:-1:-1;;;9400:18:1;;;9393:36;9446:19;;1659:73:0;9069:402:1;1659:73:0;1769:6;;;1748:38;;-1:-1:-1;;;;;1748:38:0;;;;1769:6;;;1748:38;;;1797:6;:17;;-1:-1:-1;;;;;;1797:17:0;-1:-1:-1;;;;;1797:17:0;;;;;;;;;;1593:229::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:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;:::-;2491:5;2255:247;-1:-1:-1;;;2255:247:1:o;2507:180::-;2566:6;2619:2;2607:9;2598:7;2594:23;2590:32;2587:52;;;2635:1;2632;2625:12;2587:52;-1:-1:-1;2658:23:1;;2507:180;-1:-1:-1;2507:180:1:o;2692:248::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;-1:-1:-1;;2860:23:1;;;2930:2;2915:18;;;2902:32;;-1:-1:-1;2692:248:1:o;3169:388::-;3237:6;3245;3298:2;3286:9;3277:7;3273:23;3269:32;3266:52;;;3314:1;3311;3304:12;3266:52;3353:9;3340:23;3372:31;3397:5;3372:31;:::i;:::-;3422:5;-1:-1:-1;3479:2:1;3464:18;;3451:32;3492:33;3451:32;3492:33;:::i;:::-;3544:7;3534:17;;;3169:388;;;;;:::o;3919:127::-;3980:10;3975:3;3971:20;3968:1;3961:31;4011:4;4008:1;4001:15;4035:4;4032:1;4025:15;4051:422;4140:1;4183:5;4140:1;4197:270;4218:7;4208:8;4205:21;4197:270;;;4277:4;4273:1;4269:6;4265:17;4259:4;4256:27;4253:53;;;4286:18;;:::i;:::-;4336:7;4326:8;4322:22;4319:55;;;4356:16;;;;4319:55;4435:22;;;;4395:15;;;;4197:270;;;4201:3;4051:422;;;;;:::o;4478:806::-;4527:5;4557:8;4547:80;;-1:-1:-1;4598:1:1;4612:5;;4547:80;4646:4;4636:76;;-1:-1:-1;4683:1:1;4697:5;;4636:76;4728:4;4746:1;4741:59;;;;4814:1;4809:130;;;;4721:218;;4741:59;4771:1;4762:10;;4785:5;;;4809:130;4846:3;4836:8;4833:17;4830:43;;;4853:18;;:::i;:::-;-1:-1:-1;;4909:1:1;4895:16;;4924:5;;4721:218;;5023:2;5013:8;5010:16;5004:3;4998:4;4995:13;4991:36;4985:2;4975:8;4972:16;4967:2;4961:4;4958:12;4954:35;4951:77;4948:159;;;-1:-1:-1;5060:19:1;;;5092:5;;4948:159;5139:34;5164:8;5158:4;5139:34;:::i;:::-;5209:6;5205:1;5201:6;5197:19;5188:7;5185:32;5182:58;;;5220:18;;:::i;:::-;5258:20;;4478:806;-1:-1:-1;;;4478:806:1:o;5289:140::-;5347:5;5376:47;5417:4;5407:8;5403:19;5397:4;5376:47;:::i;5434:168::-;5507:9;;;5538;;5555:15;;;5549:22;;5535:37;5525:71;;5576:18;;:::i;5607:128::-;5674:9;;;5695:11;;;5692:37;;;5709:18;;:::i;5740:356::-;5942:2;5924:21;;;5961:18;;;5954:30;6020:34;6015:2;6000:18;;5993:62;6087:2;6072:18;;5740:356::o;7204:125::-;7269:9;;;7290:10;;;7287:36;;;7303:18;;:::i;7334:217::-;7374:1;7400;7390:132;;7444:10;7439:3;7435:20;7432:1;7425:31;7479:4;7476:1;7469:15;7507:4;7504:1;7497:15;7390:132;-1:-1:-1;7536:9:1;;7334:217::o;7688:127::-;7749:10;7744:3;7740:20;7737:1;7730:31;7780:4;7777:1;7770:15;7804:4;7801:1;7794:15;7820:251;7890:6;7943:2;7931:9;7922:7;7918:23;7914:32;7911:52;;;7959:1;7956;7949:12;7911:52;7991:9;7985:16;8010:31;8035:5;8010:31;:::i;8076:988::-;8346:4;8394:3;8383:9;8379:19;8425:6;8414:9;8407:25;8451:2;8489:6;8484:2;8473:9;8469:18;8462:34;8532:3;8527:2;8516:9;8512:18;8505:31;8556:6;8591;8585:13;8622:6;8614;8607:22;8660:3;8649:9;8645:19;8638:26;;8699:2;8691:6;8687:15;8673:29;;8720:1;8730:195;8744:6;8741:1;8738:13;8730:195;;;8809:13;;-1:-1:-1;;;;;8805:39:1;8793:52;;8900:15;;;;8865:12;;;;8841:1;8759:9;8730:195;;;-1:-1:-1;;;;;;;8981:32:1;;;;8976:2;8961:18;;8954:60;-1:-1:-1;;;9045:3:1;9030:19;9023:35;8942:3;8076:988;-1:-1:-1;;;8076:988:1:o

Swarm Source

ipfs://c25995e9e76bea063d6d1e708ca913c35aad8cdefb72af6fe0f33782aa5fdbf5

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.