ETH Price: $2,515.78 (+3.06%)

Contract

0xE9981863f72921347209654766C15aDE0623294a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve183651822023-10-16 19:59:47322 days ago1697486387IN
0xE9981863...E0623294a
0 ETH0.0004222416.10191827
Approve183651782023-10-16 19:58:59322 days ago1697486339IN
0xE9981863...E0623294a
0 ETH0.0009942121.37768234
Approve183651752023-10-16 19:58:23322 days ago1697486303IN
0xE9981863...E0623294a
0 ETH0.0011720125.20078636
Approve183651732023-10-16 19:57:59322 days ago1697486279IN
0xE9981863...E0623294a
0 ETH0.0009707420.87305365
Approve183651732023-10-16 19:57:59322 days ago1697486279IN
0xE9981863...E0623294a
0 ETH0.0009707420.87305365
Approve183651722023-10-16 19:57:47322 days ago1697486267IN
0xE9981863...E0623294a
0 ETH0.0008791318.90327139
Approve183651722023-10-16 19:57:47322 days ago1697486267IN
0xE9981863...E0623294a
0 ETH0.0009209919.80326933
Approve183651722023-10-16 19:57:47322 days ago1697486267IN
0xE9981863...E0623294a
0 ETH0.0009209919.80326933
Approve183651722023-10-16 19:57:47322 days ago1697486267IN
0xE9981863...E0623294a
0 ETH0.000944720.31327139
Approve183651722023-10-16 19:57:47322 days ago1697486267IN
0xE9981863...E0623294a
0 ETH0.0010535722.78355104
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0015796333.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Approve183651712023-10-16 19:57:35322 days ago1697486255IN
0xE9981863...E0623294a
0 ETH0.0011146823.97430913
Enable Trading183651702023-10-16 19:57:23322 days ago1697486243IN
0xE9981863...E0623294a
0 ETH0.0005574219.49595883
Approve183651652023-10-16 19:56:23322 days ago1697486183IN
0xE9981863...E0623294a
0 ETH0.0011006823.67311609
View all transactions

Latest 4 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
183651752023-10-16 19:58:23322 days ago1697486303
0xE9981863...E0623294a
2 wei
183651752023-10-16 19:58:23322 days ago1697486303
0xE9981863...E0623294a
2 wei
183651722023-10-16 19:57:47322 days ago1697486267
0xE9981863...E0623294a
0.02220217 ETH
183651722023-10-16 19:57:47322 days ago1697486267
0xE9981863...E0623294a
0.02220217 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Ogama

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-16
*/

// SPDX-License-Identifier: Unlicensed
/*
    Website:  https://ogama.vip/home/
    Telegram: https://t.me/OGAMAtoken
    X:        https://x.com/ogamatoken
*/
pragma solidity 0.8.21;

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

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

}

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 IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    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 Ogama is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    uint8 private constant _decimals = 18;
    mapping (address => uint256) private _balances;
    string private constant _name = unicode"OGAMA";
    string private constant _symbol = unicode"OGAMA";
    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 private _reduceBuyTaxAt=35;
    uint256 private _reduceSellTaxAt=35;
    uint256 private _buyCount;
    uint256 private _maxWalletSize = _tTotal * 2 / 100;
    uint256 private _taxSwapThreshold= _tTotal / 250;
    uint256 private _maxTaxSwap= _tTotal / 250;
    address payable private _taxWallet;

    uint256 private constant _tTotal = 1_000_000 * 10**_decimals;
    IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private uniswapV2Pair;
    bool private inSwap;
    bool public tradeEnabled;
    bool private swapEnabled;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[address(uniswapV2Router)] = true;
        _approve(msg.sender, address(this), type(uint256).max);
        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

    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 {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        uint256 taxAmount=0;
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradeEnabled, "Trading not open!");
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the limit ");
                _buyCount++;
            }

            if (to != uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the limit.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

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

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

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function removeLimits() external onlyOwner {
        _maxWalletSize=_tTotal;
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function enableTrading() external onlyOwner {
        require(!tradeEnabled);
        swapEnabled = true;
        tradeEnabled = true;
    }

    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":"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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"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":[],"name":"tradeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260146004556014600555600260065560026007556023600855602360095560646012600a62000034919062000562565b6200004390620f424062000579565b6200005090600262000579565b6200005c919062000593565b600b5560fa6200006f6012600a62000562565b6200007e90620f424062000579565b6200008a919062000593565b600c5560fa6200009d6012600a62000562565b620000ac90620f424062000579565b620000b8919062000593565b600d55600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015620000ed575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a59190620005b3565b6001600160a01b031663c9c6539630600f5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000205573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022b9190620005b3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000276573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200029c9190620005b3565b601080546001600160a01b0319166001600160a01b0392909216919091179055620002c43390565b600e80546001600160a01b0319166001600160a01b0392909216919091179055620002f26012600a62000562565b6200030190620f424062000579565b335f8181526003602090815260408083209490945581546001600160a01b03908116835260029091528382208054600160ff199182168117909255308085528685208054831684179055600e54841685528685208054831684179055600f54909316845294909220805490941690911790925562000381915f19620003f3565b600f546200039c9030906001600160a01b03165f19620003f3565b335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003cd6012600a62000562565b620003dc90620f424062000579565b60405190815260200160405180910390a3620005db565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004a757815f19048211156200048b576200048b62000453565b808516156200049957918102915b93841c93908002906200046c565b509250929050565b5f82620004bf575060016200055c565b81620004cd57505f6200055c565b8160018114620004e65760028114620004f15762000511565b60019150506200055c565b60ff84111562000505576200050562000453565b50506001821b6200055c565b5060208310610133831016604e8410600b841016171562000536575081810a6200055c565b62000542838362000467565b805f190482111562000558576200055862000453565b0290505b92915050565b5f6200057260ff841683620004af565b9392505050565b80820281158282048414176200055c576200055c62000453565b5f82620005ae57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620005c4575f80fd5b81516001600160a01b038116811462000572575f80fd5b61109d80620005e95f395ff3fe6080604052600436106100e7575f3560e01c8063715018a61161008757806395d89b411161005757806395d89b41146100f2578063a9059cbb14610265578063d621e81314610284578063dd62ed3e146102a4575f80fd5b8063715018a614610203578063751039fc146102175780638a8c523c1461022b5780638da5cb5b1461023f575f80fd5b806323b872dd116100c257806323b872dd1461017f578063313ce5671461019e57806351bc3c85146101b957806370a08231146101cf575f80fd5b806306fdde03146100f2578063095ea7b31461012e57806318160ddd1461015d575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b5060408051808201825260058152644f47414d4160d81b602082015290516101259190610cda565b60405180910390f35b348015610139575f80fd5b5061014d610148366004610d3c565b6102e8565b6040519015158152602001610125565b348015610168575f80fd5b506101716102fe565b604051908152602001610125565b34801561018a575f80fd5b5061014d610199366004610d66565b61031d565b3480156101a9575f80fd5b5060405160128152602001610125565b3480156101c4575f80fd5b506101cd610384565b005b3480156101da575f80fd5b506101716101e9366004610da4565b6001600160a01b03165f9081526003602052604090205490565b34801561020e575f80fd5b506101cd6103d5565b348015610222575f80fd5b506101cd61044f565b348015610236575f80fd5b506101cd610496565b34801561024a575f80fd5b505f546040516001600160a01b039091168152602001610125565b348015610270575f80fd5b5061014d61027f366004610d3c565b6104ec565b34801561028f575f80fd5b5060105461014d90600160a81b900460ff1681565b3480156102af575f80fd5b506101716102be366004610dbf565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b5f6102f43384846104f8565b5060015b92915050565b5f61030b6012600a610eea565b61031890620f4240610ef8565b905090565b5f610329848484610558565b61037a843361037585604051806060016040528060288152602001611040602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061096f565b6104f8565b5060019392505050565b600e546001600160a01b0316336001600160a01b0316146103a3575f80fd5b305f9081526003602052604090205480156103c1576103c1816109a7565b4780156103d1576103d181610afe565b5050565b5f546001600160a01b031633146104075760405162461bcd60e51b81526004016103fe90610f0f565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104785760405162461bcd60e51b81526004016103fe90610f0f565b6104846012600a610eea565b61049190620f4240610ef8565b600b55565b5f546001600160a01b031633146104bf5760405162461bcd60e51b81526004016103fe90610f0f565b601054600160a81b900460ff16156104d5575f80fd5b6010805461ffff60a81b191661010160a81b179055565b5f6102f4338484610558565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526002602052604081205460ff1615801561059857506001600160a01b0383165f9081526002602052604090205460ff16155b1561083257601054600160a81b900460ff166105ea5760405162461bcd60e51b815260206004820152601160248201527054726164696e67206e6f74206f70656e2160781b60448201526064016103fe565b6106166064610610600854600a541161060557600454610609565b6006545b8590610b35565b90610bba565b6010549091506001600160a01b0385811691161480156106445750600f546001600160a01b03848116911614155b156106cd57600b548261066b856001600160a01b03165f9081526003602052604090205490565b6106759190610f44565b11156106b85760405162461bcd60e51b8152602060048201526012602482015271022bc31b2b2b239903a3432903634b6b4ba160751b60448201526064016103fe565b600a8054905f6106c783610f57565b91905055505b6010546001600160a01b0384811691161461075157600b5482610704856001600160a01b03165f9081526003602052604090205490565b61070e9190610f44565b11156107515760405162461bcd60e51b815260206004820152601260248201527122bc31b2b2b239903a3432903634b6b4ba1760711b60448201526064016103fe565b6010546001600160a01b03848116911614801561077757506001600160a01b0384163014155b156107a4576107a16064610610600954600a541161079757600554610609565b6007548590610b35565b90505b305f90815260036020526040902054601054600160a01b900460ff161580156107da57506010546001600160a01b038581169116145b80156107ef5750601054600160b01b900460ff165b80156107fc5750600c5481115b156108305761081e6108198461081484600d54610bfb565b610bfb565b6109a7565b47801561082e5761082e47610afe565b505b505b80156108aa57305f908152600360205260409020546108519082610c0f565b305f81815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108a19085815260200190565b60405180910390a35b6001600160a01b0384165f908152600360205260409020546108cc9083610c6d565b6001600160a01b0385165f9081526003602052604090205561090f6108f18383610c6d565b6001600160a01b0385165f9081526003602052604090205490610c0f565b6001600160a01b038085165f8181526003602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109588585610c6d565b60405190815260200160405180910390a350505050565b5f81848411156109925760405162461bcd60e51b81526004016103fe9190610cda565b505f61099e8486610f6f565b95945050505050565b6010805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106109ed576109ed610f82565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a689190610f96565b81600181518110610a7b57610a7b610f82565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac94790610ac09085905f90869030904290600401610fb1565b5f604051808303815f87803b158015610ad7575f80fd5b505af1158015610ae9573d5f803e3d5ffd5b50506010805460ff60a01b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156103d1573d5f803e3d5ffd5b5f825f03610b4457505f6102f8565b5f610b4f8385610ef8565b905082610b5c8583611020565b14610bb35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103fe565b9392505050565b5f610bb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cae565b5f818311610c095782610bb3565b50919050565b5f80610c1b8385610f44565b905083811015610bb35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103fe565b5f610bb383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061096f565b5f8183610cce5760405162461bcd60e51b81526004016103fe9190610cda565b505f61099e8486611020565b5f6020808352835180828501525f5b81811015610d0557858101830151858201604001528201610ce9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d39575f80fd5b50565b5f8060408385031215610d4d575f80fd5b8235610d5881610d25565b946020939093013593505050565b5f805f60608486031215610d78575f80fd5b8335610d8381610d25565b92506020840135610d9381610d25565b929592945050506040919091013590565b5f60208284031215610db4575f80fd5b8135610bb381610d25565b5f8060408385031215610dd0575f80fd5b8235610ddb81610d25565b91506020830135610deb81610d25565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610e4457815f1904821115610e2a57610e2a610df6565b80851615610e3757918102915b93841c9390800290610e0f565b509250929050565b5f82610e5a575060016102f8565b81610e6657505f6102f8565b8160018114610e7c5760028114610e8657610ea2565b60019150506102f8565b60ff841115610e9757610e97610df6565b50506001821b6102f8565b5060208310610133831016604e8410600b8410161715610ec5575081810a6102f8565b610ecf8383610e0a565b805f1904821115610ee257610ee2610df6565b029392505050565b5f610bb360ff841683610e4c565b80820281158282048414176102f8576102f8610df6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156102f8576102f8610df6565b5f60018201610f6857610f68610df6565b5060010190565b818103818111156102f8576102f8610df6565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610fa6575f80fd5b8151610bb381610d25565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610fff5784516001600160a01b031683529383019391830191600101610fda565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261103a57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220880ed74abb0146e31ea9e141a4994246429e69278b50b3a219f2a34651ceadea64736f6c63430008150033

Deployed Bytecode

0x6080604052600436106100e7575f3560e01c8063715018a61161008757806395d89b411161005757806395d89b41146100f2578063a9059cbb14610265578063d621e81314610284578063dd62ed3e146102a4575f80fd5b8063715018a614610203578063751039fc146102175780638a8c523c1461022b5780638da5cb5b1461023f575f80fd5b806323b872dd116100c257806323b872dd1461017f578063313ce5671461019e57806351bc3c85146101b957806370a08231146101cf575f80fd5b806306fdde03146100f2578063095ea7b31461012e57806318160ddd1461015d575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b5060408051808201825260058152644f47414d4160d81b602082015290516101259190610cda565b60405180910390f35b348015610139575f80fd5b5061014d610148366004610d3c565b6102e8565b6040519015158152602001610125565b348015610168575f80fd5b506101716102fe565b604051908152602001610125565b34801561018a575f80fd5b5061014d610199366004610d66565b61031d565b3480156101a9575f80fd5b5060405160128152602001610125565b3480156101c4575f80fd5b506101cd610384565b005b3480156101da575f80fd5b506101716101e9366004610da4565b6001600160a01b03165f9081526003602052604090205490565b34801561020e575f80fd5b506101cd6103d5565b348015610222575f80fd5b506101cd61044f565b348015610236575f80fd5b506101cd610496565b34801561024a575f80fd5b505f546040516001600160a01b039091168152602001610125565b348015610270575f80fd5b5061014d61027f366004610d3c565b6104ec565b34801561028f575f80fd5b5060105461014d90600160a81b900460ff1681565b3480156102af575f80fd5b506101716102be366004610dbf565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b5f6102f43384846104f8565b5060015b92915050565b5f61030b6012600a610eea565b61031890620f4240610ef8565b905090565b5f610329848484610558565b61037a843361037585604051806060016040528060288152602001611040602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061096f565b6104f8565b5060019392505050565b600e546001600160a01b0316336001600160a01b0316146103a3575f80fd5b305f9081526003602052604090205480156103c1576103c1816109a7565b4780156103d1576103d181610afe565b5050565b5f546001600160a01b031633146104075760405162461bcd60e51b81526004016103fe90610f0f565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104785760405162461bcd60e51b81526004016103fe90610f0f565b6104846012600a610eea565b61049190620f4240610ef8565b600b55565b5f546001600160a01b031633146104bf5760405162461bcd60e51b81526004016103fe90610f0f565b601054600160a81b900460ff16156104d5575f80fd5b6010805461ffff60a81b191661010160a81b179055565b5f6102f4338484610558565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526002602052604081205460ff1615801561059857506001600160a01b0383165f9081526002602052604090205460ff16155b1561083257601054600160a81b900460ff166105ea5760405162461bcd60e51b815260206004820152601160248201527054726164696e67206e6f74206f70656e2160781b60448201526064016103fe565b6106166064610610600854600a541161060557600454610609565b6006545b8590610b35565b90610bba565b6010549091506001600160a01b0385811691161480156106445750600f546001600160a01b03848116911614155b156106cd57600b548261066b856001600160a01b03165f9081526003602052604090205490565b6106759190610f44565b11156106b85760405162461bcd60e51b8152602060048201526012602482015271022bc31b2b2b239903a3432903634b6b4ba160751b60448201526064016103fe565b600a8054905f6106c783610f57565b91905055505b6010546001600160a01b0384811691161461075157600b5482610704856001600160a01b03165f9081526003602052604090205490565b61070e9190610f44565b11156107515760405162461bcd60e51b815260206004820152601260248201527122bc31b2b2b239903a3432903634b6b4ba1760711b60448201526064016103fe565b6010546001600160a01b03848116911614801561077757506001600160a01b0384163014155b156107a4576107a16064610610600954600a541161079757600554610609565b6007548590610b35565b90505b305f90815260036020526040902054601054600160a01b900460ff161580156107da57506010546001600160a01b038581169116145b80156107ef5750601054600160b01b900460ff165b80156107fc5750600c5481115b156108305761081e6108198461081484600d54610bfb565b610bfb565b6109a7565b47801561082e5761082e47610afe565b505b505b80156108aa57305f908152600360205260409020546108519082610c0f565b305f81815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108a19085815260200190565b60405180910390a35b6001600160a01b0384165f908152600360205260409020546108cc9083610c6d565b6001600160a01b0385165f9081526003602052604090205561090f6108f18383610c6d565b6001600160a01b0385165f9081526003602052604090205490610c0f565b6001600160a01b038085165f8181526003602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109588585610c6d565b60405190815260200160405180910390a350505050565b5f81848411156109925760405162461bcd60e51b81526004016103fe9190610cda565b505f61099e8486610f6f565b95945050505050565b6010805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106109ed576109ed610f82565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a689190610f96565b81600181518110610a7b57610a7b610f82565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b815291169063791ac94790610ac09085905f90869030904290600401610fb1565b5f604051808303815f87803b158015610ad7575f80fd5b505af1158015610ae9573d5f803e3d5ffd5b50506010805460ff60a01b1916905550505050565b600e546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156103d1573d5f803e3d5ffd5b5f825f03610b4457505f6102f8565b5f610b4f8385610ef8565b905082610b5c8583611020565b14610bb35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103fe565b9392505050565b5f610bb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cae565b5f818311610c095782610bb3565b50919050565b5f80610c1b8385610f44565b905083811015610bb35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103fe565b5f610bb383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061096f565b5f8183610cce5760405162461bcd60e51b81526004016103fe9190610cda565b505f61099e8486611020565b5f6020808352835180828501525f5b81811015610d0557858101830151858201604001528201610ce9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d39575f80fd5b50565b5f8060408385031215610d4d575f80fd5b8235610d5881610d25565b946020939093013593505050565b5f805f60608486031215610d78575f80fd5b8335610d8381610d25565b92506020840135610d9381610d25565b929592945050506040919091013590565b5f60208284031215610db4575f80fd5b8135610bb381610d25565b5f8060408385031215610dd0575f80fd5b8235610ddb81610d25565b91506020830135610deb81610d25565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610e4457815f1904821115610e2a57610e2a610df6565b80851615610e3757918102915b93841c9390800290610e0f565b509250929050565b5f82610e5a575060016102f8565b81610e6657505f6102f8565b8160018114610e7c5760028114610e8657610ea2565b60019150506102f8565b60ff841115610e9757610e97610df6565b50506001821b6102f8565b5060208310610133831016604e8410600b8410161715610ec5575081810a6102f8565b610ecf8383610e0a565b805f1904821115610ee257610ee2610df6565b029392505050565b5f610bb360ff841683610e4c565b80820281158282048414176102f8576102f8610df6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156102f8576102f8610df6565b5f60018201610f6857610f68610df6565b5060010190565b818103818111156102f8576102f8610df6565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610fa6575f80fd5b8151610bb381610d25565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610fff5784516001600160a01b031683529383019391830191600101610fda565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261103a57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220880ed74abb0146e31ea9e141a4994246429e69278b50b3a219f2a34651ceadea64736f6c63430008150033

Deployed Bytecode Sourcemap

3605:6444:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5558:83;;;;;;;;;;-1:-1:-1;5628:5:0;;;;;;;;;;;-1:-1:-1;;;5628:5:0;;;;5558:83;;;;5628:5;5558:83;:::i;:::-;;;;;;;;6391:161;;;;;;;;;;-1:-1:-1;6391:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6391:161:0;1023:187:1;5835:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5835:95:0;1215:177:1;6560:313:0;;;;;;;;;;-1:-1:-1;6560:313:0;;;;;:::i;:::-;;:::i;5744:83::-;;;;;;;;;;-1:-1:-1;5744:83:0;;3858:2;2000:36:1;;1988:2;1973:18;5744:83:0;1858:184:1;9509:348:0;;;;;;;;;;;;;:::i;:::-;;5938:119;;;;;;;;;;-1:-1:-1;5938:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6031:18:0;6004:7;6031:18;;;:9;:18;;;;;;;5938:119;2686:148;;;;;;;;;;;;;:::i;9417:84::-;;;;;;;;;;;;;:::i;9865:144::-;;;;;;;;;;;;;:::i;2472:79::-;;;;;;;;;;-1:-1:-1;2510:7:0;2537:6;2472:79;;-1:-1:-1;;;;;2537:6:0;;;2445:51:1;;2433:2;2418:18;2472:79:0;2299:203:1;6065:167:0;;;;;;;;;;-1:-1:-1;6065:167:0;;;;;:::i;:::-;;:::i;4746:24::-;;;;;;;;;;-1:-1:-1;4746:24:0;;;;-1:-1:-1;;;4746:24:0;;;;;;6240:143;;;;;;;;;;-1:-1:-1;6240:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6348:18:0;;;6321:7;6348:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6240:143;6391:161;6466:4;6483:39;306:10;6506:7;6515:6;6483:8;:39::i;:::-;-1:-1:-1;6540:4:0;6391:161;;;;;:::o;5835:95::-;5888:7;4550:13;3858:2;4550;:13;:::i;:::-;4538:25;;:9;:25;:::i;:::-;5908:14;;5835:95;:::o;6560:313::-;6658:4;6675:36;6685:6;6693:9;6704:6;6675:9;:36::i;:::-;6722:121;6731:6;306:10;6753:89;6791:6;6753:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6753:19:0;;;;;;:11;:19;;;;;;;;306:10;6753:33;;;;;;;;;;:37;:89::i;:::-;6722:8;:121::i;:::-;-1:-1:-1;6861:4:0;6560:313;;;;;:::o;9509:348::-;9573:10;;-1:-1:-1;;;;;9573:10:0;306;-1:-1:-1;;;;;9559:24:0;;9551:33;;;;;;9634:4;9595:20;6031:18;;;:9;:18;;;;;;9654:14;;9651:73;;9682:30;9699:12;9682:16;:30::i;:::-;9753:21;9788:12;;9785:65;;9814:24;9827:10;9814:12;:24::i;:::-;9540:317;;9509:348::o;2686:148::-;2599:6;;-1:-1:-1;;;;;2599:6:0;306:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;;;;;;;;;2793:1:::1;2777:6:::0;;2756:40:::1;::::0;-1:-1:-1;;;;;2777:6:0;;::::1;::::0;2756:40:::1;::::0;2793:1;;2756:40:::1;2824:1;2807:19:::0;;-1:-1:-1;;;;;;2807:19:0::1;::::0;;2686:148::o;9417:84::-;2599:6;;-1:-1:-1;;;;;2599:6:0;306:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;4550:13:::1;3858:2;4550;:13;:::i;:::-;4538:25;::::0;:9:::1;:25;:::i;:::-;9471:14;:22:::0;9417:84::o;9865:144::-;2599:6;;-1:-1:-1;;;;;2599:6:0;306:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;9929:12:::1;::::0;-1:-1:-1;;;9929:12:0;::::1;;;9928:13;9920:22;;;::::0;::::1;;9953:11;:18:::0;;-1:-1:-1;;;;9982:19:0;-1:-1:-1;;;9982:19:0;;;9865:144::o;6065:167::-;6143:4;6160:42;306:10;6184:9;6195:6;6160:9;:42::i;6881:177::-;-1:-1:-1;;;;;6966:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7018:32;;1361:25:1;;;7018:32:0;;1334:18:1;7018:32:0;;;;;;;6881:177;;;:::o;7066:1719::-;-1:-1:-1;;;;;7181:24:0;;7146:17;7181:24;;;:18;:24;;;;;;;;7180:25;:52;;;;-1:-1:-1;;;;;;7210:22:0;;;;;;:18;:22;;;;;;;;7209:23;7180:52;7176:1253;;;7257:12;;-1:-1:-1;;;7257:12:0;;;;7249:42;;;;-1:-1:-1;;;7249:42:0;;5151:2:1;7249:42:0;;;5133:21:1;5190:2;5170:18;;;5163:30;-1:-1:-1;;;5209:18:1;;;5202:47;5266:18;;7249:42:0;4949:341:1;7249:42:0;7318:76;7390:3;7318:67;7340:15;;7330:9;;:25;7329:55;;7370:14;;7329:55;;;7357:12;;7329:55;7318:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7423:13;;7306:88;;-1:-1:-1;;;;;;7415:21:0;;;7423:13;;7415:21;:55;;;;-1:-1:-1;7454:15:0;;-1:-1:-1;;;;;7440:30:0;;;7454:15;;7440:30;;7415:55;7411:197;;;7525:14;;7515:6;7499:13;7509:2;-1:-1:-1;;;;;6031:18:0;6004:7;6031:18;;;:9;:18;;;;;;;5938:119;7499:13;:22;;;;:::i;:::-;:40;;7491:71;;;;-1:-1:-1;;;7491:71:0;;5627:2:1;7491:71:0;;;5609:21:1;5666:2;5646:18;;;5639:30;-1:-1:-1;;;5685:18:1;;;5678:48;5743:18;;7491:71:0;5425:342:1;7491:71:0;7581:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7411:197;7634:13;;-1:-1:-1;;;;;7628:19:0;;;7634:13;;7628:19;7624:131;;7702:14;;7692:6;7676:13;7686:2;-1:-1:-1;;;;;6031:18:0;6004:7;6031:18;;;:9;:18;;;;;;;5938:119;7676:13;:22;;;;:::i;:::-;:40;;7668:71;;;;-1:-1:-1;;;7668:71:0;;6114:2:1;7668:71:0;;;6096:21:1;6153:2;6133:18;;;6126:30;-1:-1:-1;;;6172:18:1;;;6165:48;6230:18;;7668:71:0;5912:342:1;7668:71:0;7780:13;;-1:-1:-1;;;;;7774:19:0;;;7780:13;;7774:19;:43;;;;-1:-1:-1;;;;;;7797:20:0;;7812:4;7797:20;;7774:43;7771:174;;;7850:79;7925:3;7850:70;7872:16;;7862:9;;:26;7861:58;;7904:15;;7861:58;;;7890:13;;7850:6;;:10;:70::i;:79::-;7838:91;;7771:174;8010:4;7961:28;6031:18;;;:9;:18;;;;;;8036:6;;-1:-1:-1;;;8036:6:0;;;;8035:7;:30;;;;-1:-1:-1;8052:13:0;;-1:-1:-1;;;;;8046:19:0;;;8052:13;;8046:19;8035:30;:45;;;;-1:-1:-1;8069:11:0;;-1:-1:-1;;;8069:11:0;;;;8035:45;:87;;;;;8105:17;;8084:20;:38;8035:87;8031:387;;;8143:67;8160:49;8164:6;8171:37;8175:20;8196:11;;8171:3;:37::i;:::-;8160:3;:49::i;:::-;8143:16;:67::i;:::-;8258:21;8301:22;;8298:105;;8348:35;8361:21;8348:12;:35::i;:::-;8124:294;8031:387;7234:1195;7176:1253;8444:11;;8441:161;;8512:4;8494:24;;;;:9;:24;;;;;;:39;;8523:9;8494:28;:39::i;:::-;8487:4;8469:24;;;;:9;:24;;;;;;;:64;;;;8551:39;;-1:-1:-1;;;;;8551:39:0;;;;;;;8580:9;1361:25:1;;1349:2;1334:18;;1215:177;8551:39:0;;;;;;;;8441:161;-1:-1:-1;;;;;8628:15:0;;;;;;:9;:15;;;;;;:27;;8648:6;8628:19;:27::i;:::-;-1:-1:-1;;;;;8612:15:0;;;;;;:9;:15;;;;;:43;8680:40;8698:21;:6;8709:9;8698:10;:21::i;:::-;-1:-1:-1;;;;;8680:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8666:13:0;;;;;;;:9;:13;;;;;:54;;;;8736:41;;;8755:21;:6;8766:9;8755:10;:21::i;:::-;8736:41;;1361:25:1;;;1349:2;1334:18;8736:41:0;;;;;;;7135:1650;7066:1719;;;:::o;1364:190::-;1450:7;1486:12;1478:6;;;;1470:29;;;;-1:-1:-1;;;1470:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1510:9:0;1522:5;1526:1;1522;:5;:::i;:::-;1510:17;1364:190;-1:-1:-1;;;;;1364:190:0:o;8899:410::-;4842:6;:13;;-1:-1:-1;;;;4842:13:0;-1:-1:-1;;;4842:13:0;;;9001:16:::1;::::0;;9015:1:::1;9001:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9001:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9001:16:0::1;8977:40;;9046:4;9028;9033:1;9028:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9028:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9072:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9072:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9028:7;;9072:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9062:4;9067:1;9062:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9062:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9105:15:::1;::::0;:196:::1;::::0;-1:-1:-1;;;9105:196:0;;:15;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9186:11;;9105:15:::1;::::0;9228:4;;9255::::1;::::0;9275:15:::1;::::0;9105:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4878:6:0;:14;;-1:-1:-1;;;;4878:14:0;;;-1:-1:-1;;;;8899:410:0:o;9317:92::-;9374:10;;:27;;-1:-1:-1;;;;;9374:10:0;;;;:27;;;;;9394:6;;9374:10;:27;:10;:27;9394:6;9374:10;:27;;;;;;;;;;;;;;;;;;;1562:246;1620:7;1644:1;1649;1644:6;1640:47;;-1:-1:-1;1674:1:0;1667:8;;1640:47;1697:9;1709:5;1713:1;1709;:5;:::i;:::-;1697:17;-1:-1:-1;1742:1:0;1733:5;1737:1;1697:17;1733:5;:::i;:::-;:10;1725:56;;;;-1:-1:-1;;;1725:56:0;;8321:2:1;1725:56:0;;;8303:21:1;8360:2;8340:18;;;8333:30;8399:34;8379:18;;;8372:62;-1:-1:-1;;;8450:18:1;;;8443:31;8491:19;;1725:56:0;8119:397:1;1725:56:0;1799:1;1562:246;-1:-1:-1;;;1562:246:0:o;1816:132::-;1874:7;1901:39;1905:1;1908;1901:39;;;;;;;;;;;;;;;;;:3;:39::i;8793:98::-;8850:7;8877:1;8875;:3;8874:9;;8882:1;8874:9;;;-1:-1:-1;8880:1:0;8793:98;-1:-1:-1;8793:98:0:o;1033:179::-;1091:7;;1123:5;1127:1;1123;:5;:::i;:::-;1111:17;;1152:1;1147;:6;;1139:46;;;;-1:-1:-1;;;1139:46:0;;8723:2:1;1139:46:0;;;8705:21:1;8762:2;8742:18;;;8735:30;8801:29;8781:18;;;8774:57;8848:18;;1139:46:0;8521:351:1;1220:136:0;1278:7;1305:43;1309:1;1312;1305:43;;;;;;;;;;;;;;;;;:3;:43::i;1956:189::-;2042:7;2077:12;2070:5;2062:28;;;;-1:-1:-1;;;2062:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2101:9:0;2113:5;2117:1;2113;: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;622:70;567:131;:::o;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;5295:125::-;5360:9;;;5381:10;;;5378:36;;;5394:18;;:::i;5772:135::-;5811:3;5832:17;;;5829:43;;5852:18;;:::i;:::-;-1:-1:-1;5899:1:1;5888:13;;5772:135::o;6259:128::-;6326:9;;;6347:11;;;6344:37;;;6361:18;;:::i;6524:127::-;6585:10;6580:3;6576:20;6573:1;6566:31;6616:4;6613:1;6606:15;6640:4;6637:1;6630:15;6656:251;6726:6;6779:2;6767:9;6758:7;6754:23;6750:32;6747:52;;;6795:1;6792;6785:12;6747:52;6827:9;6821:16;6846:31;6871:5;6846:31;:::i;6912:980::-;7174:4;7222:3;7211:9;7207:19;7253:6;7242:9;7235:25;7279:2;7317:6;7312:2;7301:9;7297:18;7290:34;7360:3;7355:2;7344:9;7340:18;7333:31;7384:6;7419;7413:13;7450:6;7442;7435:22;7488:3;7477:9;7473:19;7466:26;;7527:2;7519:6;7515:15;7501:29;;7548:1;7558:195;7572:6;7569:1;7566:13;7558:195;;;7637:13;;-1:-1:-1;;;;;7633:39:1;7621:52;;7728:15;;;;7693:12;;;;7669:1;7587:9;7558:195;;;-1:-1:-1;;;;;;;7809:32:1;;;;7804:2;7789:18;;7782:60;-1:-1:-1;;;7873:3:1;7858:19;7851:35;7770:3;6912:980;-1:-1:-1;;;6912:980:1:o;7897:217::-;7937:1;7963;7953:132;;8007:10;8002:3;7998:20;7995:1;7988:31;8042:4;8039:1;8032:15;8070:4;8067:1;8060:15;7953:132;-1:-1:-1;8099:9:1;;7897:217::o

Swarm Source

ipfs://880ed74abb0146e31ea9e141a4994246429e69278b50b3a219f2a34651ceadea

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.