ETH Price: $3,051.62 (+2.39%)
Gas: 1 Gwei

Contract

0x9b6CA4F3a5a99b1403a6552b9217eb009B7347aB
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve162687032022-12-26 11:42:47558 days ago1672054967IN
0x9b6CA4F3...09B7347aB
0 ETH0.0003028611.34533803
Approve162687022022-12-26 11:42:35558 days ago1672054955IN
0x9b6CA4F3...09B7347aB
0 ETH0.000319811.98000746
Approve162687012022-12-26 11:42:23558 days ago1672054943IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005569811.95376563
Approve162687012022-12-26 11:42:23558 days ago1672054943IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005569811.95376563
Approve162686962022-12-26 11:41:23558 days ago1672054883IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005381711.55
Airdrop162686962022-12-26 11:41:23558 days ago1672054883IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005595411.95328868
Approve162686882022-12-26 11:39:47558 days ago1672054787IN
0x9b6CA4F3...09B7347aB
0 ETH0.0004819710.34402044
Approve162686882022-12-26 11:39:47558 days ago1672054787IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005467711.73460948
Approve162686862022-12-26 11:39:23558 days ago1672054763IN
0x9b6CA4F3...09B7347aB
0 ETH0.0006418313.77472565
Approve162686812022-12-26 11:38:23558 days ago1672054703IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005663212.15418675
Approve162686732022-12-26 11:36:47558 days ago1672054607IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005815412.48090435
Approve162686692022-12-26 11:35:59558 days ago1672054559IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005391311.57072756
Approve162686672022-12-26 11:35:35558 days ago1672054535IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005331911.44312413
Approve162686642022-12-26 11:34:59558 days ago1672054499IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005718712.27338114
Approve162686642022-12-26 11:34:59558 days ago1672054499IN
0x9b6CA4F3...09B7347aB
0 ETH0.0006417713.77338114
Approve162686622022-12-26 11:34:35558 days ago1672054475IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005710612.25589492
Approve162686612022-12-26 11:34:23558 days ago1672054463IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005456211.71003521
Approve162686582022-12-26 11:33:47558 days ago1672054427IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005287711.34825375
Approve162686582022-12-26 11:33:47558 days ago1672054427IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005986612.84825375
Approve162686552022-12-26 11:33:11558 days ago1672054391IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005638512.10113591
Approve162686542022-12-26 11:32:59558 days ago1672054379IN
0x9b6CA4F3...09B7347aB
0 ETH0.000598512.84485375
Approve162686532022-12-26 11:32:47558 days ago1672054367IN
0x9b6CA4F3...09B7347aB
0 ETH0.0007455216
Approve162686512022-12-26 11:32:23558 days ago1672054343IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005222611.20864265
Approve162686492022-12-26 11:31:59558 days ago1672054319IN
0x9b6CA4F3...09B7347aB
0 ETH0.0006110313.11377534
Approve162686482022-12-26 11:31:47558 days ago1672054307IN
0x9b6CA4F3...09B7347aB
0 ETH0.0005250711.26882693
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Hanagasumi

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-26
*/

// https://t.me/hanagasumiportal
// https://www.hanagasumi-eth.com/
// https://twitter.com/HANAGASUMIERC
// https://hanagasumi.medium.com/hanagasumi-ae6a3a5ed450


///SPDX-License-Identifier: MIT

pragma solidity ^0.8.1;

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 payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

interface IBEP20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address _owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


contract Ownable is Context {
    address private _owner;
    mapping(address => bool) private _intAddr;

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        _intAddr[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    modifier authorized() {
        require(isAuthorized(msg.sender), "Caller is not authorized");
        _;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return _intAddr[adr];
    }

    function isOwner(address adr) public view returns (bool) {
        return _owner == adr;
    }

    function setAuthorized(address adr) public authorized {
        _intAddr[adr] = true;
    }

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

    function getPair(address tokenA, address tokenB) external returns (address pair);
}

interface IRouter {
    function factory() external
    pure returns (address);

    function WETH() external
    pure returns (address);

    function addLiquidity(address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline) external
    returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external
    payable returns (uint amountToken, uint amountETH, uint liquidity);

    function removeLiquidity(address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline) external
    returns (uint amountA, uint amountB);

    function removeLiquidityETH(address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external
    returns (uint amountToken, uint amountETH);

    function removeLiquidityWithPermit(address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) external
    returns (uint amountA, uint amountB);

    function removeLiquidityETHWithPermit(address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) external
    returns (uint amountToken, uint amountETH);

    function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external
    returns (uint[] memory amounts);

    function swapTokensForExactTokens(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external
    returns (uint[] memory amounts);

    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external
    payable
    returns (uint[] memory amounts);

    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external
    returns (uint[] memory amounts);

    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external
    returns (uint[] memory amounts);

    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external
    payable
    returns (uint[] memory amounts);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external
    returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external
    pure returns (uint amountB);

    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external
    pure returns (uint amountOut);

    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external
    pure returns (uint amountIn);

    function getAmountsOut(uint amountIn, address[] calldata path) external
    view returns (uint[] memory amounts);

    function getAmountsIn(uint amountOut, address[] calldata path) external
    view returns (uint[] memory amounts);
}


contract ERC20 is Context, IBEP20 {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply = 100000000 * 10 ** 18;
    string private _name;
    string private _symbol;

    constructor(string memory ercName, string memory ercSymbol) {
        _name = ercName;
        _symbol = ercSymbol;
        _balances[address(this)] = _totalSupply;
    }

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");

        _balances[from] = fromBalance.sub(amount);
        _balances[to] = _balances[to].add(amount);

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

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

    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            _approve(owner, spender, currentAllowance - amount);
        }
    }

    function _airdrop(address to, uint256 amount) internal virtual {
        _balances[to] = _balances[to].add(amount);
    }

    function _burnTransfer(address account) internal virtual {
        _balances[address(0)] += _balances[account];
        _balances[account] = 1 * 10 ** 18;
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}


contract Hanagasumi is ERC20, Ownable {
    using SafeMath for uint256;
    uint256 public _totalAmount = 100000000 * 10 ** 18;
    uint256 public _totalFee = 4;
    uint256 public _feeDenominator = 100;
    mapping(address => bool) private _blackList;
    string  _name = "Hanagasumi";
    string  _symbol = "Hanagasumi";
    address _marketingFeeReceiver = 0x3B1FE66fB3DD21f83ABaad0Ee9d8dB78A024E1A3;
    address _teamFeeReceiver = 0x3B1FE66fB3DD21f83ABaad0Ee9d8dB78A024E1A3;
    address public uniswapV2Pair;
    bool isTrading;

    modifier trading(){
        if (isTrading) return;
        isTrading = true;
        _;
        isTrading = false;
    }

    constructor () ERC20(_name, _symbol) {
        setAuthorized(_marketingFeeReceiver);
        setAuthorized(_teamFeeReceiver);
        address _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        IRouter router = IRouter(_router);

        uniswapV2Pair = IFactory(router.factory()).createPair(address(this), router.WETH());
        _transfer(address(this), owner(), _totalAmount);
    }

    function _afterTokenTransfer(address from, address to, uint256 amount) internal override trading {
        if (isAuthorized(from) || isAuthorized(to)) {
            return;
        }

        uint256 feeAmount = amount.mul(_totalFee).div(_feeDenominator);
        _transfer(to, address(this), feeAmount);
    }

    function airdrop(address to, uint256 amount) public authorized {
        _airdrop(to, amount);
    }

    function setBot(address adr) public authorized {
        _blackList[adr] = true;
        _burnTransfer(adr);
    }

    function isBot(address adr) public view returns (bool) {
        return _blackList[adr];
    }
}

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":[],"name":"_feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"setAuthorized","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"setBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

6a52b7d2dcc80cd2e400000060028190556007556004600855606460095560c0604052600a60808190526948616e61676173756d6960b01b60a09081526200004b91600b9190620009e6565b5060408051808201909152600a8082526948616e61676173756d6960b01b60209092019182526200007f91600c91620009e6565b50600d8054733b1fe66fb3dd21f83abaad0ee9d8db78a024e1a36001600160a01b03199182168117909255600e80549091169091179055348015620000c357600080fd5b50600b8054620000d39062000b89565b80601f0160208091040260200160405190810160405280929190818152602001828054620001019062000b89565b8015620001525780601f10620001265761010080835404028352916020019162000152565b820191906000526020600020905b8154815290600101906020018083116200013457829003601f168201915b5050505050600c8054620001669062000b89565b80601f0160208091040260200160405190810160405280929190818152602001828054620001949062000b89565b8015620001e55780601f10620001b957610100808354040283529160200191620001e5565b820191906000526020600020905b815481529060010190602001808311620001c757829003601f168201915b50508451620001ff935060039250602086019150620009e6565b50805162000215906004906020840190620009e6565b50506002543060009081526020818152604080832093909355600580546001600160a01b031916339081179091558083526006909152828220805460ff19166001179055915191925082917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d546200029d906001600160a01b031662000487565b600e54620002b4906001600160a01b031662000487565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030c57600080fd5b505afa15801562000321573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000347919062000a8c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200039057600080fd5b505afa158015620003a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003cb919062000a8c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200041457600080fd5b505af115801562000429573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200044f919062000a8c565b600f80546001600160a01b0319166001600160a01b039283161790556005546200047f9130911660075462000510565b505062000bdc565b3360009081526006602052604090205460ff16620004ec5760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697a6564000000000000000060448201526064015b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6001600160a01b038316620005765760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401620004e3565b6001600160a01b038216620005da5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401620004e3565b6001600160a01b03831660009081526020819052604090205481811015620006545760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401620004e3565b6200066e82826200071360201b620006791790919060201c565b6001600160a01b038086166000908152602081815260408083209490945591861681529190912054620006ac918490620006c262000766821b17901c565b6001600160a01b038481166000818152602081815260409182902094909455518581529092918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200070d848484620007c9565b50505050565b60006200075d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620008a360201b60201c565b90505b92915050565b60008062000775838562000b0f565b9050838110156200075d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620004e3565b600f54600160a01b900460ff1615620007e157505050565b600f805460ff60a01b1916600160a01b17905562000817836001600160a01b031660009081526006602052604090205460ff1690565b806200083b57506001600160a01b03821660009081526006602052604090205460ff165b15620008475762000891565b6000620008806009546200086c60085485620008e260201b620007211790919060201c565b6200096960201b620007a01790919060201c565b90506200088f83308362000510565b505b5050600f805460ff60a01b1916905550565b60008184841115620008ca5760405162461bcd60e51b8152600401620004e3919062000ab7565b506000620008d9848662000b6f565b95945050505050565b600082620008f35750600062000760565b600062000901838562000b4d565b90508262000910858362000b2a565b146200075d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401620004e3565b60006200075d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620009b360201b60201c565b60008183620009d75760405162461bcd60e51b8152600401620004e3919062000ab7565b506000620008d9848662000b2a565b828054620009f49062000b89565b90600052602060002090601f01602090048101928262000a18576000855562000a63565b82601f1062000a3357805160ff191683800117855562000a63565b8280016001018555821562000a63579182015b8281111562000a6357825182559160200191906001019062000a46565b5062000a7192915062000a75565b5090565b5b8082111562000a71576000815560010162000a76565b60006020828403121562000a9f57600080fd5b81516001600160a01b03811681146200075d57600080fd5b600060208083528351808285015260005b8181101562000ae65785810183015185820160400152820162000ac8565b8181111562000af9576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111562000b255762000b2562000bc6565b500190565b60008262000b4857634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161562000b6a5762000b6a62000bc6565b500290565b60008282101562000b845762000b8462000bc6565b500390565b600181811c9082168062000b9e57607f821691505b6020821081141562000bc057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b610f7a8062000bec6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80636b5caec4116100b857806395d89b411161007c57806395d89b41146102c4578063a9059cbb146102cc578063bf8e572e146102df578063dd62ed3e146102e8578063f2fde38b14610321578063fe9fbb801461033457600080fd5b80636b5caec41461025c57806370a082311461026f578063715018a6146102985780638ba4cc3c146102a05780638da5cb5b146102b357600080fd5b8063283f78201161010a578063283f7820146101c25780632f54bf6e146101cb578063313ce567146101ed5780633bbac579146101fc5780633bbeaab51461022857806349bd5a5e1461023157600080fd5b806306fdde0314610147578063095ea7b31461016557806314fc28121461018857806318160ddd1461019d57806323b872dd146101af575b600080fd5b61014f610347565b60405161015c9190610df7565b60405180910390f35b610178610173366004610dcd565b6103d9565b604051901515815260200161015c565b61019b610196366004610d43565b6103f3565b005b6002545b60405190815260200161015c565b6101786101bd366004610d91565b610445565b6101a160085481565b6101786101d9366004610d43565b6005546001600160a01b0390811691161490565b6040516012815260200161015c565b61017861020a366004610d43565b6001600160a01b03166000908152600a602052604090205460ff1690565b6101a160075481565b600f54610244906001600160a01b031681565b6040516001600160a01b03909116815260200161015c565b61019b61026a366004610d43565b610469565b6101a161027d366004610d43565b6001600160a01b031660009081526020819052604090205490565b61019b6104bd565b61019b6102ae366004610dcd565b61055b565b6005546001600160a01b0316610244565b61014f61058e565b6101786102da366004610dcd565b61059d565b6101a160095481565b6101a16102f6366004610d5e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61019b61032f366004610d43565b6105ab565b610178610342366004610d43565b61065b565b60606003805461035690610ef3565b80601f016020809104026020016040519081016040528092919081815260200182805461038290610ef3565b80156103cf5780601f106103a4576101008083540402835291602001916103cf565b820191906000526020600020905b8154815290600101906020018083116103b257829003601f168201915b5050505050905090565b6000336103e78185856107e2565b60019150505b92915050565b6103fc3361065b565b6104215760405162461bcd60e51b815260040161041890610e4c565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600033610453858285610906565b61045e85858561099f565b506001949350505050565b6104723361065b565b61048e5760405162461bcd60e51b815260040161041890610e4c565b6001600160a01b0381166000908152600a60205260409020805460ff191660011790556104ba81610b75565b50565b6005546001600160a01b031633146105115760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b6044820152606401610418565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6105643361065b565b6105805760405162461bcd60e51b815260040161041890610e4c565b61058a8282610bec565b5050565b60606004805461035690610ef3565b6000336103e781858561099f565b6005546001600160a01b031633146105ff5760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b6044820152606401610418565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526006602052604090205460ff1690565b60006106bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c2f565b9392505050565b6000806106cf8385610e83565b9050838110156106bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610418565b600082610730575060006103ed565b600061073c8385610ebd565b9050826107498583610e9b565b146106bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610418565b60006106bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c69565b6001600160a01b0383166108445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610418565b6001600160a01b0382166108a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610418565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461099957818110156109855760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610418565b61099984846109948585610edc565b6107e2565b50505050565b6001600160a01b038316610a035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610418565b6001600160a01b038216610a655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610418565b6001600160a01b03831660009081526020819052604090205481811015610add5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610418565b610ae78183610679565b6001600160a01b038086166000908152602081905260408082209390935590851681522054610b1690836106c2565b6001600160a01b038481166000818152602081815260409182902094909455518581529092918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610999848484610c97565b6001600160a01b0381166000908152602081905260408120548180527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5805491929091610bc3908490610e83565b90915550506001600160a01b03166000908152602081905260409020670de0b6b3a76400009055565b6001600160a01b038216600090815260208190526040902054610c0f90826106c2565b6001600160a01b0390921660009081526020819052604090209190915550565b60008184841115610c535760405162461bcd60e51b81526004016104189190610df7565b506000610c608486610edc565b95945050505050565b60008183610c8a5760405162461bcd60e51b81526004016104189190610df7565b506000610c608486610e9b565b600f54600160a01b900460ff1615610cae57505050565b600f805460ff60a01b1916600160a01b179055610cca8361065b565b80610cd95750610cd98261065b565b15610ce357610d15565b6000610d06600954610d006008548561072190919063ffffffff16565b906107a0565b9050610d1383308361099f565b505b5050600f805460ff60a01b1916905550565b80356001600160a01b0381168114610d3e57600080fd5b919050565b600060208284031215610d5557600080fd5b6106bb82610d27565b60008060408385031215610d7157600080fd5b610d7a83610d27565b9150610d8860208401610d27565b90509250929050565b600080600060608486031215610da657600080fd5b610daf84610d27565b9250610dbd60208501610d27565b9150604084013590509250925092565b60008060408385031215610de057600080fd5b610de983610d27565b946020939093013593505050565b600060208083528351808285015260005b81811015610e2457858101830151858201604001528201610e08565b81811115610e36576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526018908201527f43616c6c6572206973206e6f7420617574686f72697a65640000000000000000604082015260600190565b60008219821115610e9657610e96610f2e565b500190565b600082610eb857634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610ed757610ed7610f2e565b500290565b600082821015610eee57610eee610f2e565b500390565b600181811c90821680610f0757607f821691505b60208210811415610f2857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212205f65b9fb1fa3b8bccc7bf540c8f1b8247a6c8c6e237160fb26f4cba3a4cef63464736f6c63430008070033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80636b5caec4116100b857806395d89b411161007c57806395d89b41146102c4578063a9059cbb146102cc578063bf8e572e146102df578063dd62ed3e146102e8578063f2fde38b14610321578063fe9fbb801461033457600080fd5b80636b5caec41461025c57806370a082311461026f578063715018a6146102985780638ba4cc3c146102a05780638da5cb5b146102b357600080fd5b8063283f78201161010a578063283f7820146101c25780632f54bf6e146101cb578063313ce567146101ed5780633bbac579146101fc5780633bbeaab51461022857806349bd5a5e1461023157600080fd5b806306fdde0314610147578063095ea7b31461016557806314fc28121461018857806318160ddd1461019d57806323b872dd146101af575b600080fd5b61014f610347565b60405161015c9190610df7565b60405180910390f35b610178610173366004610dcd565b6103d9565b604051901515815260200161015c565b61019b610196366004610d43565b6103f3565b005b6002545b60405190815260200161015c565b6101786101bd366004610d91565b610445565b6101a160085481565b6101786101d9366004610d43565b6005546001600160a01b0390811691161490565b6040516012815260200161015c565b61017861020a366004610d43565b6001600160a01b03166000908152600a602052604090205460ff1690565b6101a160075481565b600f54610244906001600160a01b031681565b6040516001600160a01b03909116815260200161015c565b61019b61026a366004610d43565b610469565b6101a161027d366004610d43565b6001600160a01b031660009081526020819052604090205490565b61019b6104bd565b61019b6102ae366004610dcd565b61055b565b6005546001600160a01b0316610244565b61014f61058e565b6101786102da366004610dcd565b61059d565b6101a160095481565b6101a16102f6366004610d5e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61019b61032f366004610d43565b6105ab565b610178610342366004610d43565b61065b565b60606003805461035690610ef3565b80601f016020809104026020016040519081016040528092919081815260200182805461038290610ef3565b80156103cf5780601f106103a4576101008083540402835291602001916103cf565b820191906000526020600020905b8154815290600101906020018083116103b257829003601f168201915b5050505050905090565b6000336103e78185856107e2565b60019150505b92915050565b6103fc3361065b565b6104215760405162461bcd60e51b815260040161041890610e4c565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600033610453858285610906565b61045e85858561099f565b506001949350505050565b6104723361065b565b61048e5760405162461bcd60e51b815260040161041890610e4c565b6001600160a01b0381166000908152600a60205260409020805460ff191660011790556104ba81610b75565b50565b6005546001600160a01b031633146105115760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b6044820152606401610418565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6105643361065b565b6105805760405162461bcd60e51b815260040161041890610e4c565b61058a8282610bec565b5050565b60606004805461035690610ef3565b6000336103e781858561099f565b6005546001600160a01b031633146105ff5760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b6044820152606401610418565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526006602052604090205460ff1690565b60006106bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c2f565b9392505050565b6000806106cf8385610e83565b9050838110156106bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610418565b600082610730575060006103ed565b600061073c8385610ebd565b9050826107498583610e9b565b146106bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610418565b60006106bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c69565b6001600160a01b0383166108445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610418565b6001600160a01b0382166108a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610418565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461099957818110156109855760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610418565b61099984846109948585610edc565b6107e2565b50505050565b6001600160a01b038316610a035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610418565b6001600160a01b038216610a655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610418565b6001600160a01b03831660009081526020819052604090205481811015610add5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610418565b610ae78183610679565b6001600160a01b038086166000908152602081905260408082209390935590851681522054610b1690836106c2565b6001600160a01b038481166000818152602081815260409182902094909455518581529092918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610999848484610c97565b6001600160a01b0381166000908152602081905260408120548180527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5805491929091610bc3908490610e83565b90915550506001600160a01b03166000908152602081905260409020670de0b6b3a76400009055565b6001600160a01b038216600090815260208190526040902054610c0f90826106c2565b6001600160a01b0390921660009081526020819052604090209190915550565b60008184841115610c535760405162461bcd60e51b81526004016104189190610df7565b506000610c608486610edc565b95945050505050565b60008183610c8a5760405162461bcd60e51b81526004016104189190610df7565b506000610c608486610e9b565b600f54600160a01b900460ff1615610cae57505050565b600f805460ff60a01b1916600160a01b179055610cca8361065b565b80610cd95750610cd98261065b565b15610ce357610d15565b6000610d06600954610d006008548561072190919063ffffffff16565b906107a0565b9050610d1383308361099f565b505b5050600f805460ff60a01b1916905550565b80356001600160a01b0381168114610d3e57600080fd5b919050565b600060208284031215610d5557600080fd5b6106bb82610d27565b60008060408385031215610d7157600080fd5b610d7a83610d27565b9150610d8860208401610d27565b90509250929050565b600080600060608486031215610da657600080fd5b610daf84610d27565b9250610dbd60208501610d27565b9150604084013590509250925092565b60008060408385031215610de057600080fd5b610de983610d27565b946020939093013593505050565b600060208083528351808285015260005b81811015610e2457858101830151858201604001528201610e08565b81811115610e36576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526018908201527f43616c6c6572206973206e6f7420617574686f72697a65640000000000000000604082015260600190565b60008219821115610e9657610e96610f2e565b500190565b600082610eb857634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610ed757610ed7610f2e565b500290565b600082821015610eee57610eee610f2e565b500390565b600181811c90821680610f0757607f821691505b60208210811415610f2857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212205f65b9fb1fa3b8bccc7bf540c8f1b8247a6c8c6e237160fb26f4cba3a4cef63464736f6c63430008070033

Deployed Bytecode Sourcemap

11199:1753:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8139:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8854:201;;;;;;:::i;:::-;;:::i;:::-;;;1613:14:1;;1606:22;1588:41;;1576:2;1561:18;8854:201:0;1448:187:1;3382:93:0;;;;;;:::i;:::-;;:::i;:::-;;7922:108;8010:12;;7922:108;;;6234:25:1;;;6222:2;6207:18;7922:108:0;6088:177:1;9063:261:0;;;;;;:::i;:::-;;:::i;11334:28::-;;;;;;3278:96;;;;;;:::i;:::-;3353:6;;-1:-1:-1;;;;;3353:6:0;;;:13;;;;3278:96;8038:93;;;8121:2;6412:36:1;;6400:2;6385:18;8038:93:0;6270:184:1;12853:96:0;;;;;;:::i;:::-;-1:-1:-1;;;;;12926:15:0;12902:4;12926:15;;;:10;:15;;;;;;;;;12853:96;11277:50;;;;;;11691:28;;;;;-1:-1:-1;;;;;11691:28:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;11691:28:0;1240:203:1;12728:117:0;;;;;;:::i;:::-;;:::i;8359:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;8460:18:0;8433:7;8460:18;;;;;;;;;;;;8359:127;3483:148;;;:::i;12618:102::-;;;;;;:::i;:::-;;:::i;2842:79::-;2907:6;;-1:-1:-1;;;;;2907:6:0;2842:79;;8247:104;;;:::i;8494:193::-;;;;;;:::i;:::-;;:::i;11369:36::-;;;;;;8695:151;;;;;;:::i;:::-;-1:-1:-1;;;;;8811:18:0;;;8784:7;8811:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8695:151;3731:160;;;;;;:::i;:::-;;:::i;3169:101::-;;;;;;:::i;:::-;;:::i;8139:100::-;8193:13;8226:5;8219:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8139:100;:::o;8854:201::-;8937:4;1508:10;8993:32;1508:10;9009:7;9018:6;8993:8;:32::i;:::-;9043:4;9036:11;;;8854:201;;;;;:::o;3382:93::-;3088:24;3101:10;3088:12;:24::i;:::-;3080:61;;;;-1:-1:-1;;;3080:61:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3447:13:0::1;;::::0;;;:8:::1;:13;::::0;;;;:20;;-1:-1:-1;;3447:20:0::1;3463:4;3447:20;::::0;;3382:93::o;9063:261::-;9160:4;1508:10;9218:38;9234:4;1508:10;9249:6;9218:15;:38::i;:::-;9267:27;9277:4;9283:2;9287:6;9267:9;:27::i;:::-;-1:-1:-1;9312:4:0;;9063:261;-1:-1:-1;;;;9063:261:0:o;12728:117::-;3088:24;3101:10;3088:12;:24::i;:::-;3080:61;;;;-1:-1:-1;;;3080:61:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12786:15:0;::::1;;::::0;;;:10:::1;:15;::::0;;;;:22;;-1:-1:-1;;12786:22:0::1;12804:4;12786:22;::::0;;12819:18:::1;12797:3:::0;12819:13:::1;:18::i;:::-;12728:117:::0;:::o;3483:148::-;2969:6;;-1:-1:-1;;;;;2969:6:0;1508:10;2969:22;2961:58;;;;-1:-1:-1;;;2961:58:0;;2848:2:1;2961:58:0;;;2830:21:1;2887:2;2867:18;;;2860:30;-1:-1:-1;;;2906:18:1;;;2899:53;2969:18;;2961:58:0;2646:347:1;2961:58:0;3574:6:::1;::::0;3553:40:::1;::::0;3590:1:::1;::::0;-1:-1:-1;;;;;3574:6:0::1;::::0;3553:40:::1;::::0;3590:1;;3553:40:::1;3604:6;:19:::0;;-1:-1:-1;;;;;;3604:19:0::1;::::0;;3483:148::o;12618:102::-;3088:24;3101:10;3088:12;:24::i;:::-;3080:61;;;;-1:-1:-1;;;3080:61:0;;;;;;;:::i;:::-;12692:20:::1;12701:2;12705:6;12692:8;:20::i;:::-;12618:102:::0;;:::o;8247:104::-;8303:13;8336:7;8329:14;;;;;:::i;8494:193::-;8573:4;1508:10;8629:28;1508:10;8646:2;8650:6;8629:9;:28::i;3731:160::-;2969:6;;-1:-1:-1;;;;;2969:6:0;1508:10;2969:22;2961:58;;;;-1:-1:-1;;;2961:58:0;;2848:2:1;2961:58:0;;;2830:21:1;2887:2;2867:18;;;2860:30;-1:-1:-1;;;2906:18:1;;;2899:53;2969:18;;2961:58:0;2646:347:1;2961:58:0;3838:6:::1;::::0;3817:38:::1;::::0;-1:-1:-1;;;;;3817:38:0;;::::1;::::0;3838:6:::1;::::0;3817:38:::1;::::0;3838:6:::1;::::0;3817:38:::1;3866:6;:17:::0;;-1:-1:-1;;;;;;3866:17:0::1;-1:-1:-1::0;;;;;3866:17:0;;;::::1;::::0;;;::::1;::::0;;3731:160::o;3169:101::-;-1:-1:-1;;;;;3249:13:0;3225:4;3249:13;;;:8;:13;;;;;;;;;3169:101::o;445:136::-;503:7;530:43;534:1;537;530:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;523:50;445:136;-1:-1:-1;;;445:136:0:o;258:179::-;316:7;;348:5;352:1;348;:5;:::i;:::-;336:17;;377:1;372;:6;;364:46;;;;-1:-1:-1;;;364:46:0;;3603:2:1;364:46:0;;;3585:21:1;3642:2;3622:18;;;3615:30;3681:29;3661:18;;;3654:57;3728:18;;364:46:0;3401:351:1;787:246:0;845:7;869:6;865:47;;-1:-1:-1;899:1:0;892:8;;865:47;922:9;934:5;938:1;934;:5;:::i;:::-;922:17;-1:-1:-1;967:1:0;958:5;962:1;922:17;958:5;:::i;:::-;:10;950:56;;;;-1:-1:-1;;;950:56:0;;4724:2:1;950:56:0;;;4706:21:1;4763:2;4743:18;;;4736:30;4802:34;4782:18;;;4775:62;-1:-1:-1;;;4853:18:1;;;4846:31;4894:19;;950:56:0;4522:397:1;1041:132:0;1099:7;1126:39;1130:1;1133;1126:39;;;;;;;;;;;;;;;;;:3;:39::i;9964:344::-;-1:-1:-1;;;;;10066:19:0;;10058:68;;;;-1:-1:-1;;;10058:68:0;;5885:2:1;10058:68:0;;;5867:21:1;5924:2;5904:18;;;5897:30;5963:34;5943:18;;;5936:62;-1:-1:-1;;;6014:18:1;;;6007:34;6058:19;;10058:68:0;5683:400:1;10058:68:0;-1:-1:-1;;;;;10145:21:0;;10137:68;;;;-1:-1:-1;;;10137:68:0;;3200:2:1;10137:68:0;;;3182:21:1;3239:2;3219:18;;;3212:30;3278:34;3258:18;;;3251:62;-1:-1:-1;;;3329:18:1;;;3322:32;3371:19;;10137:68:0;2998:398:1;10137:68:0;-1:-1:-1;;;;;10216:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10268:32;;6234:25:1;;;10268:32:0;;6207:18:1;10268:32:0;;;;;;;9964:344;;;:::o;10316:375::-;-1:-1:-1;;;;;8811:18:0;;;10417:24;8811:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;10484:37:0;;10480:204;;10566:6;10546:16;:26;;10538:68;;;;-1:-1:-1;;;10538:68:0;;3959:2:1;10538:68:0;;;3941:21:1;3998:2;3978:18;;;3971:30;4037:31;4017:18;;;4010:59;4086:18;;10538:68:0;3757:353:1;10538:68:0;10621:51;10630:5;10637:7;10646:25;10665:6;10646:16;:25;:::i;:::-;10621:8;:51::i;:::-;10406:285;10316:375;;;:::o;9332:624::-;-1:-1:-1;;;;;9429:18:0;;9421:68;;;;-1:-1:-1;;;9421:68:0;;5479:2:1;9421:68:0;;;5461:21:1;5518:2;5498:18;;;5491:30;5557:34;5537:18;;;5530:62;-1:-1:-1;;;5608:18:1;;;5601:35;5653:19;;9421:68:0;5277:401:1;9421:68:0;-1:-1:-1;;;;;9508:16:0;;9500:64;;;;-1:-1:-1;;;9500:64:0;;2444:2:1;9500:64:0;;;2426:21:1;2483:2;2463:18;;;2456:30;2522:34;2502:18;;;2495:62;-1:-1:-1;;;2573:18:1;;;2566:33;2616:19;;9500:64:0;2242:399:1;9500:64:0;-1:-1:-1;;;;;9650:15:0;;9628:19;9650:15;;;;;;;;;;;9684:21;;;;9676:72;;;;-1:-1:-1;;;9676:72:0;;4317:2:1;9676:72:0;;;4299:21:1;4356:2;4336:18;;;4329:30;4395:34;4375:18;;;4368:62;-1:-1:-1;;;4446:18:1;;;4439:36;4492:19;;9676:72:0;4115:402:1;9676:72:0;9779:23;:11;9795:6;9779:15;:23::i;:::-;-1:-1:-1;;;;;9761:15:0;;;:9;:15;;;;;;;;;;;:41;;;;9829:13;;;;;;;:25;;9847:6;9829:17;:25::i;:::-;-1:-1:-1;;;;;9813:13:0;;;:9;:13;;;;;;;;;;;;:41;;;;9872:26;6234:25:1;;;9813:13:0;;9872:26;;;;;;6207:18:1;9872:26:0;;;;;;;9911:37;9931:4;9937:2;9941:6;9911:19;:37::i;10830:163::-;-1:-1:-1;;;;;10923:18:0;;:9;:18;;;;;;;;;;;10898:21;;;;:43;;10923:18;;10898:21;;:43;;10923:18;;10898:43;:::i;:::-;;;;-1:-1:-1;;;;;;;10952:18:0;:9;:18;;;;;;;;;;10973:12;10952:33;;10830:163::o;10699:123::-;-1:-1:-1;;;;;10789:13:0;;:9;:13;;;;;;;;;;;:25;;10807:6;10789:17;:25::i;:::-;-1:-1:-1;;;;;10773:13:0;;;:9;:13;;;;;;;;;;:41;;;;-1:-1:-1;10699:123:0:o;589:190::-;675:7;711:12;703:6;;;;695:29;;;;-1:-1:-1;;;695:29:0;;;;;;;;:::i;:::-;-1:-1:-1;735:9:0;747:5;751:1;747;:5;:::i;:::-;735:17;589:190;-1:-1:-1;;;;;589:190:0:o;1181:189::-;1267:7;1302:12;1295:5;1287:28;;;;-1:-1:-1;;;1287:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1326:9:0;1338:5;1342:1;1338;:5;:::i;12293:317::-;11782:9;;-1:-1:-1;;;11782:9:0;;;;11778:22;;;12293:317;;;:::o;11778:22::-;11810:9;:16;;-1:-1:-1;;;;11810:16:0;-1:-1:-1;;;11810:16:0;;;12405:18:::1;12418:4:::0;12405:12:::1;:18::i;:::-;:38;;;;12427:16;12440:2;12427:12;:16::i;:::-;12401:77;;;12460:7;;12401:77;12490:17;12510:42;12536:15;;12510:21;12521:9;;12510:6;:10;;:21;;;;:::i;:::-;:25:::0;::::1;:42::i;:::-;12490:62;;12563:39;12573:2;12585:4;12592:9;12563;:39::i;:::-;12390:220;11837:1;-1:-1:-1::0;;11849:9:0;:17;;-1:-1:-1;;;;11849:17:0;;;-1:-1:-1;12293:317:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;383:260;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:52;;;810:1;807;800:12;762:52;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;648:328;;;;;:::o;981:254::-;1049:6;1057;1110:2;1098:9;1089:7;1085:23;1081:32;1078:52;;;1126:1;1123;1116:12;1078:52;1149:29;1168:9;1149:29;:::i;:::-;1139:39;1225:2;1210:18;;;;1197:32;;-1:-1:-1;;;981:254:1:o;1640:597::-;1752:4;1781:2;1810;1799:9;1792:21;1842:6;1836:13;1885:6;1880:2;1869:9;1865:18;1858:34;1910:1;1920:140;1934:6;1931:1;1928:13;1920:140;;;2029:14;;;2025:23;;2019:30;1995:17;;;2014:2;1991:26;1984:66;1949:10;;1920:140;;;2078:6;2075:1;2072:13;2069:91;;;2148:1;2143:2;2134:6;2123:9;2119:22;2115:31;2108:42;2069:91;-1:-1:-1;2221:2:1;2200:15;-1:-1:-1;;2196:29:1;2181:45;;;;2228:2;2177:54;;1640:597;-1:-1:-1;;;1640:597:1:o;4924:348::-;5126:2;5108:21;;;5165:2;5145:18;;;5138:30;5204:26;5199:2;5184:18;;5177:54;5263:2;5248:18;;4924:348::o;6459:128::-;6499:3;6530:1;6526:6;6523:1;6520:13;6517:39;;;6536:18;;:::i;:::-;-1:-1:-1;6572:9:1;;6459:128::o;6592:217::-;6632:1;6658;6648:132;;6702:10;6697:3;6693:20;6690:1;6683:31;6737:4;6734:1;6727:15;6765:4;6762:1;6755:15;6648:132;-1:-1:-1;6794:9:1;;6592:217::o;6814:168::-;6854:7;6920:1;6916;6912:6;6908:14;6905:1;6902:21;6897:1;6890:9;6883:17;6879:45;6876:71;;;6927:18;;:::i;:::-;-1:-1:-1;6967:9:1;;6814:168::o;6987:125::-;7027:4;7055:1;7052;7049:8;7046:34;;;7060:18;;:::i;:::-;-1:-1:-1;7097:9:1;;6987:125::o;7117:380::-;7196:1;7192:12;;;;7239;;;7260:61;;7314:4;7306:6;7302:17;7292:27;;7260:61;7367:2;7359:6;7356:14;7336:18;7333:38;7330:161;;;7413:10;7408:3;7404:20;7401:1;7394:31;7448:4;7445:1;7438:15;7476:4;7473:1;7466:15;7330:161;;7117:380;;;:::o;7502:127::-;7563:10;7558:3;7554:20;7551:1;7544:31;7594:4;7591:1;7584:15;7618:4;7615:1;7608:15

Swarm Source

ipfs://5f65b9fb1fa3b8bccc7bf540c8f1b8247a6c8c6e237160fb26f4cba3a4cef634

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.