ETH Price: $2,520.02 (+13.79%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Multipliers173515082023-05-27 16:13:47645 days ago1685204027IN
0xc448c82B...46a6ddd61
0 ETH0.0023139434.0156066
Approve173515062023-05-27 16:13:23645 days ago1685204003IN
0xc448c82B...46a6ddd61
0 ETH0.0015782733.97649571
Set Swap Back Se...173515052023-05-27 16:13:11645 days ago1685203991IN
0xc448c82B...46a6ddd61
0 ETH0.0010530933.29940041
Set Swap Back Se...173515012023-05-27 16:12:23645 days ago1685203943IN
0xc448c82B...46a6ddd61
0 ETH0.0011180232.46575125
Set Multipliers173515002023-05-27 16:12:11645 days ago1685203931IN
0xc448c82B...46a6ddd61
0 ETH0.0009073133.57580211
Approve173514972023-05-27 16:11:35645 days ago1685203895IN
0xc448c82B...46a6ddd61
0 ETH0.0015103132.64842338
Approve173514922023-05-27 16:10:35645 days ago1685203835IN
0xc448c82B...46a6ddd61
0 ETH0.0015808933.98889589
Approve173514912023-05-27 16:10:23645 days ago1685203823IN
0xc448c82B...46a6ddd61
0 ETH0.0016179134.78483667
Set Multipliers173514782023-05-27 16:07:47645 days ago1685203667IN
0xc448c82B...46a6ddd61
0 ETH0.0010835434.95065097
Set Multipliers173514662023-05-27 16:05:23645 days ago1685203523IN
0xc448c82B...46a6ddd61
0 ETH0.0023718134.87866403
Clear Stuck Bala...173514582023-05-27 16:03:35645 days ago1685203415IN
0xc448c82B...46a6ddd61
0 ETH0.0010369733.70413671
Set Swap Back Se...173514582023-05-27 16:03:35645 days ago1685203415IN
0xc448c82B...46a6ddd61
0 ETH0.0011602633.70413671
Transfer173514542023-05-27 16:02:47645 days ago1685203367IN
0xc448c82B...46a6ddd61
0 ETH0.0044665430.97421945
Transfer173514502023-05-27 16:01:59645 days ago1685203319IN
0xc448c82B...46a6ddd61
0 ETH0.0049636931.43729901
Set Multipliers173510682023-05-27 14:44:59645 days ago1685198699IN
0xc448c82B...46a6ddd61
0 ETH0.000726526.88482656
Set Max Wallet P...173510662023-05-27 14:44:35645 days ago1685198675IN
0xc448c82B...46a6ddd61
0 ETH0.0007909827.09206917
Set Multipliers173510572023-05-27 14:42:47645 days ago1685198567IN
0xc448c82B...46a6ddd61
0 ETH0.0010166132.7918975
Set Multipliers173510522023-05-27 14:41:47645 days ago1685198507IN
0xc448c82B...46a6ddd61
0 ETH0.0010700731.65721637
Set Max Wallet P...173510512023-05-27 14:41:35645 days ago1685198495IN
0xc448c82B...46a6ddd61
0 ETH0.0009025330.91299015
Set Multipliers173510392023-05-27 14:39:11645 days ago1685198351IN
0xc448c82B...46a6ddd61
0 ETH0.0007949423.51768129
Set Max Wallet P...173510392023-05-27 14:39:11645 days ago1685198351IN
0xc448c82B...46a6ddd61
0 ETH0.0006866223.51768129
Approve173467102023-05-27 0:03:47645 days ago1685145827IN
0xc448c82B...46a6ddd61
0 ETH0.0026106556.12866715
Approve173467052023-05-27 0:02:47645 days ago1685145767IN
0xc448c82B...46a6ddd61
0 ETH0.0010987923.76491254

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
173514582023-05-27 16:03:35645 days ago1685203415
0xc448c82B...46a6ddd61
0.05257534 ETH
173514542023-05-27 16:02:47645 days ago1685203367
0xc448c82B...46a6ddd61
0.02538991 ETH
173514502023-05-27 16:01:59645 days ago1685203319
0xc448c82B...46a6ddd61
0.02718542 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RottenEggsToken

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-27
*/

// SPDX-License-Identifier: UNLICENSED

/*

Twitter: https://twitter.com/RottenEggsErc
Tg: https://t.me/RottenEggsErc

Strangers can break your heart, friends can break a promise, rotten eggs will be dealt with always $REGGS

*/

pragma solidity 0.8.12;

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

interface ERC20 {
    function getOwner() external view returns (address);
    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);
}

abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() external onlyOwner {
        owner = address(0);
    }

}

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

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

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract RottenEggsToken is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Rotten Eggs";
    string public constant symbol = "$REGGS";
    uint8 public constant decimals = 18;
    
    uint256 public constant totalSupply = 10**9 * 10**decimals;

    uint256 public _maxWalletToken = totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public totalFee = 10;
    uint256 public constant feeDenominator = 100;
    
    uint256 buyMultiplier = 200;
    uint256 sellMultiplier = 200;
    uint256 transferMultiplier = 200;

    IDEXRouter public router;
    address public immutable pair;

    bool public swapEnabled = true;
    uint256 swapThreshold = totalSupply / 100;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

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

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

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
    }


    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        if(shouldSwapBack()){ swapBack(); }

        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
        balanceOf[recipient] = balanceOf[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && balanceOf[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function swapBack() internal swapping {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapThreshold,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function setMultipliers(uint256 _buy, uint256 _sell) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = totalSupply / _denominator;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"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":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526064620000146012600a62000454565b6200002490633b9aca006200046c565b6200003091906200048e565b600155600a600681905560c860078190556008819055600955805460ff60a01b1916600160a01b1781556064906200006b9060129062000454565b6200007b90633b9aca006200046c565b6200008791906200048e565b600b553480156200009757600080fd5b5060008054336001600160a01b031991821617909155600a8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000108573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012e9190620004b1565b6001600160a01b03908116608052600a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200017f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a59190620004b1565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620001f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021d9190620004b1565b6001600160a01b0390811660a052306000818152600360209081526040808320600a8054909616845282528083206000199055338352600482528083208054600160ff199182168117909255600590935281842080548416821790559383528220805482168417905561dead9091527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80549091169091179055620002c59060129062000454565b620002d590633b9aca006200046c565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003186012600a62000454565b6200032890633b9aca006200046c565b60405190815260200160405180910390a3620004dc565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003965781600019048211156200037a576200037a6200033f565b808516156200038857918102915b93841c93908002906200035a565b509250929050565b600082620003af575060016200044e565b81620003be575060006200044e565b8160018114620003d75760028114620003e25762000402565b60019150506200044e565b60ff841115620003f657620003f66200033f565b50506001821b6200044e565b5060208310610133831016604e8410600b841016171562000427575081810a6200044e565b62000433838362000355565b80600019048211156200044a576200044a6200033f565b0290505b92915050565b60006200046560ff8416836200039e565b9392505050565b60008160001904831182151516156200048957620004896200033f565b500290565b600082620004ac57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004c457600080fd5b81516001600160a01b03811681146200046557600080fd5b60805160a0516116ac6200051e600039600081816104c301528181610b1a01528181610e1301528181610fbc0152610fff01526000610edd01526116ac6000f3fe6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b14610505578063dd62ed3e14610535578063df20fd491461057b578063f887ea401461059b57600080fd5b806395d89b411461047f578063a8aa1b31146104b1578063a9059cbb146104e557600080fd5b8063715018a6116100c6578063715018a61461040257806377b54bad1461041757806378109e5414610437578063893d20e81461044d57600080fd5b80636ddd1713146103945780636f50f507146103b557806370a08231146103d557600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102ee578063313ce5671461031d5780633f4218e014610344578063571ac8b01461037457600080fd5b80631df4ccfc146102a357806323b872dd146102b95780632b112e49146102d957600080fd5b806306fdde03146101ac57806309302dc6146101f9578063095ea7b31461021b578063180b0d7e1461024b57806318160ddd1461026e5780631da1db5e1461028357600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101e36040518060400160405280600b81526020016a526f7474656e204567677360a81b81525081565b6040516101f09190611291565b60405180910390f35b34801561020557600080fd5b506102196102143660046112e6565b6105bb565b005b34801561022757600080fd5b5061023b61023636600461131b565b610626565b60405190151581526020016101f0565b34801561025757600080fd5b50610260606481565b6040519081526020016101f0565b34801561027a57600080fd5b50610260610693565b34801561028f57600080fd5b5061021961029e3660046112e6565b6106b0565b3480156102af57600080fd5b5061026060065481565b3480156102c557600080fd5b5061023b6102d4366004611345565b610729565b3480156102e557600080fd5b506102606107eb565b3480156102fa57600080fd5b5061023b610309366004611381565b6000546001600160a01b0391821691161490565b34801561032957600080fd5b50610332601281565b60405160ff90911681526020016101f0565b34801561035057600080fd5b5061023b61035f366004611381565b60046020526000908152604090205460ff1681565b34801561038057600080fd5b5061023b61038f366004611381565b610872565b3480156103a057600080fd5b50600a5461023b90600160a01b900460ff1681565b3480156103c157600080fd5b506102196103d036600461139c565b610880565b3480156103e157600080fd5b506102606103f0366004611381565b60026020526000908152604090205481565b34801561040e57600080fd5b506102196108b2565b34801561042357600080fd5b5061023b61043236600461131b565b6108ee565b34801561044357600080fd5b5061026060015481565b34801561045957600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101f0565b34801561048b57600080fd5b506101e36040518060400160405280600681526020016524524547475360d01b81525081565b3480156104bd57600080fd5b506104677f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f157600080fd5b5061023b61050036600461131b565b6109fa565b34801561051157600080fd5b5061023b610520366004611381565b60056020526000908152604090205460ff1681565b34801561054157600080fd5b506102606105503660046113be565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058757600080fd5b50610219610596366004611402565b610a07565b3480156105a757600080fd5b50600a54610467906001600160a01b031681565b6000546001600160a01b031633146105ee5760405162461bcd60e51b81526004016105e590611420565b60405180910390fd5b6103e8816105fe6012600a61153a565b61060c90633b9aca00611549565b6106169190611549565b6106209190611568565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106819086815260200190565b60405180910390a35060015b92915050565b61069f6012600a61153a565b6106ad90633b9aca00611549565b81565b6000546001600160a01b031633146106da5760405162461bcd60e51b81526004016105e590611420565b47600060646106e98484611549565b6106f39190611568565b604051909150339082156108fc029083906000818181858888f19350505050158015610723573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d6576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107b1918490610a75565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107e1848484610aaf565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5490919061084b6012600a61153a565b61085990633b9aca00611549565b610863919061158a565b61086d919061158a565b905090565b600061068d82600019610626565b6000546001600160a01b031633146108aa5760405162461bcd60e51b81526004016105e590611420565b600855600755565b6000546001600160a01b031633146108dc5760405162461bcd60e51b81526004016105e590611420565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109195760405162461bcd60e51b81526004016105e590611420565b81610989576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610962573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098691906115a1565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e491906115ba565b60006107e4338484610aaf565b6000546001600160a01b03163314610a315760405162461bcd60e51b81526004016105e590611420565b600a805460ff60a01b1916600160a01b841515021781558190610a569060129061153a565b610a6490633b9aca00611549565b610a6e9190611568565b600b555050565b60008184841115610a995760405162461bcd60e51b81526004016105e59190611291565b506000610aa6848661158a565b95945050505050565b600c5460009060ff1615610acf57610ac8848484610d20565b90506107e4565b6001600160a01b03841660009081526005602052604090205460ff16158015610b1157506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610bc9576001546001600160a01b038416600090815260026020526040902054610b7b9084906115d7565b1115610bc95760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105e5565b610bd1610e06565b15610bde57610bde610e79565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c30918490610a75565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7d57506001600160a01b03841660009081526004602052604090205460ff165b610c9157610c8c858486610f98565b610c93565b825b6001600160a01b038516600090815260026020526040902054909150610cb99082611101565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0d9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d71918490610a75565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610da09083611101565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df49086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610e445750600c5460ff16155b8015610e595750600a54600160a01b900460ff165b801561086d575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ebb57610ebb6115ef565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610f0f57610f0f6115ef565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f599190600090869030904290600401611605565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa75750600654155b15610fb35750816107e4565b600060095490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610ffd575060085461103c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316141561103c57506007545b600061107161104c606480611549565b61106b846110656006548a61116090919063ffffffff16565b90611160565b906111df565b905080156110ed57306000908152600260205260409020546110939082611101565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e49085815260200190565b60405180910390a35b6110f78582611221565b9695505050505050565b60008061110e83856115d7565b9050838110156107e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e5565b60008261116f5750600061068d565b600061117b8385611549565b9050826111888583611568565b146107e45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e5565b60006107e483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611263565b60006107e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a75565b600081836112845760405162461bcd60e51b81526004016105e59190611291565b506000610aa68486611568565b600060208083528351808285015260005b818110156112be578581018301518582016040015282016112a2565b818111156112d0576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156112f857600080fd5b5035919050565b80356001600160a01b038116811461131657600080fd5b919050565b6000806040838503121561132e57600080fd5b611337836112ff565b946020939093013593505050565b60008060006060848603121561135a57600080fd5b611363846112ff565b9250611371602085016112ff565b9150604084013590509250925092565b60006020828403121561139357600080fd5b6107e4826112ff565b600080604083850312156113af57600080fd5b50508035926020909101359150565b600080604083850312156113d157600080fd5b6113da836112ff565b91506113e8602084016112ff565b90509250929050565b80151581146113ff57600080fd5b50565b6000806040838503121561141557600080fd5b8235611337816113f1565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561149157816000190482111561147757611477611440565b8085161561148457918102915b93841c939080029061145b565b509250929050565b6000826114a85750600161068d565b816114b55750600061068d565b81600181146114cb57600281146114d5576114f1565b600191505061068d565b60ff8411156114e6576114e6611440565b50506001821b61068d565b5060208310610133831016604e8410600b8410161715611514575081810a61068d565b61151e8383611456565b806000190482111561153257611532611440565b029392505050565b60006107e460ff841683611499565b600081600019048311821515161561156357611563611440565b500290565b60008261158557634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561159c5761159c611440565b500390565b6000602082840312156115b357600080fd5b5051919050565b6000602082840312156115cc57600080fd5b81516107e4816113f1565b600082198211156115ea576115ea611440565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116555784516001600160a01b031683529383019391830191600101611630565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201813ad0ac81bfd3ede4c62d4af38f47035e4afa3972fd892c1d4eeed45a625b464736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b14610505578063dd62ed3e14610535578063df20fd491461057b578063f887ea401461059b57600080fd5b806395d89b411461047f578063a8aa1b31146104b1578063a9059cbb146104e557600080fd5b8063715018a6116100c6578063715018a61461040257806377b54bad1461041757806378109e5414610437578063893d20e81461044d57600080fd5b80636ddd1713146103945780636f50f507146103b557806370a08231146103d557600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102ee578063313ce5671461031d5780633f4218e014610344578063571ac8b01461037457600080fd5b80631df4ccfc146102a357806323b872dd146102b95780632b112e49146102d957600080fd5b806306fdde03146101ac57806309302dc6146101f9578063095ea7b31461021b578063180b0d7e1461024b57806318160ddd1461026e5780631da1db5e1461028357600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101e36040518060400160405280600b81526020016a526f7474656e204567677360a81b81525081565b6040516101f09190611291565b60405180910390f35b34801561020557600080fd5b506102196102143660046112e6565b6105bb565b005b34801561022757600080fd5b5061023b61023636600461131b565b610626565b60405190151581526020016101f0565b34801561025757600080fd5b50610260606481565b6040519081526020016101f0565b34801561027a57600080fd5b50610260610693565b34801561028f57600080fd5b5061021961029e3660046112e6565b6106b0565b3480156102af57600080fd5b5061026060065481565b3480156102c557600080fd5b5061023b6102d4366004611345565b610729565b3480156102e557600080fd5b506102606107eb565b3480156102fa57600080fd5b5061023b610309366004611381565b6000546001600160a01b0391821691161490565b34801561032957600080fd5b50610332601281565b60405160ff90911681526020016101f0565b34801561035057600080fd5b5061023b61035f366004611381565b60046020526000908152604090205460ff1681565b34801561038057600080fd5b5061023b61038f366004611381565b610872565b3480156103a057600080fd5b50600a5461023b90600160a01b900460ff1681565b3480156103c157600080fd5b506102196103d036600461139c565b610880565b3480156103e157600080fd5b506102606103f0366004611381565b60026020526000908152604090205481565b34801561040e57600080fd5b506102196108b2565b34801561042357600080fd5b5061023b61043236600461131b565b6108ee565b34801561044357600080fd5b5061026060015481565b34801561045957600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101f0565b34801561048b57600080fd5b506101e36040518060400160405280600681526020016524524547475360d01b81525081565b3480156104bd57600080fd5b506104677f000000000000000000000000d692c983ecfa292724682db487e05a0ce691a59681565b3480156104f157600080fd5b5061023b61050036600461131b565b6109fa565b34801561051157600080fd5b5061023b610520366004611381565b60056020526000908152604090205460ff1681565b34801561054157600080fd5b506102606105503660046113be565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058757600080fd5b50610219610596366004611402565b610a07565b3480156105a757600080fd5b50600a54610467906001600160a01b031681565b6000546001600160a01b031633146105ee5760405162461bcd60e51b81526004016105e590611420565b60405180910390fd5b6103e8816105fe6012600a61153a565b61060c90633b9aca00611549565b6106169190611549565b6106209190611568565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106819086815260200190565b60405180910390a35060015b92915050565b61069f6012600a61153a565b6106ad90633b9aca00611549565b81565b6000546001600160a01b031633146106da5760405162461bcd60e51b81526004016105e590611420565b47600060646106e98484611549565b6106f39190611568565b604051909150339082156108fc029083906000818181858888f19350505050158015610723573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d6576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107b1918490610a75565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107e1848484610aaf565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5490919061084b6012600a61153a565b61085990633b9aca00611549565b610863919061158a565b61086d919061158a565b905090565b600061068d82600019610626565b6000546001600160a01b031633146108aa5760405162461bcd60e51b81526004016105e590611420565b600855600755565b6000546001600160a01b031633146108dc5760405162461bcd60e51b81526004016105e590611420565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109195760405162461bcd60e51b81526004016105e590611420565b81610989576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610962573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098691906115a1565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e491906115ba565b60006107e4338484610aaf565b6000546001600160a01b03163314610a315760405162461bcd60e51b81526004016105e590611420565b600a805460ff60a01b1916600160a01b841515021781558190610a569060129061153a565b610a6490633b9aca00611549565b610a6e9190611568565b600b555050565b60008184841115610a995760405162461bcd60e51b81526004016105e59190611291565b506000610aa6848661158a565b95945050505050565b600c5460009060ff1615610acf57610ac8848484610d20565b90506107e4565b6001600160a01b03841660009081526005602052604090205460ff16158015610b1157506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4f57507f000000000000000000000000d692c983ecfa292724682db487e05a0ce691a5966001600160a01b0316836001600160a01b031614155b15610bc9576001546001600160a01b038416600090815260026020526040902054610b7b9084906115d7565b1115610bc95760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105e5565b610bd1610e06565b15610bde57610bde610e79565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c30918490610a75565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7d57506001600160a01b03841660009081526004602052604090205460ff165b610c9157610c8c858486610f98565b610c93565b825b6001600160a01b038516600090815260026020526040902054909150610cb99082611101565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0d9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d71918490610a75565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610da09083611101565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df49086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f000000000000000000000000d692c983ecfa292724682db487e05a0ce691a5961614801590610e445750600c5460ff16155b8015610e595750600a54600160a01b900460ff165b801561086d575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ebb57610ebb6115ef565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610f0f57610f0f6115ef565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f599190600090869030904290600401611605565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa75750600654155b15610fb35750816107e4565b600060095490507f000000000000000000000000d692c983ecfa292724682db487e05a0ce691a5966001600160a01b0316836001600160a01b03161415610ffd575060085461103c565b7f000000000000000000000000d692c983ecfa292724682db487e05a0ce691a5966001600160a01b0316856001600160a01b0316141561103c57506007545b600061107161104c606480611549565b61106b846110656006548a61116090919063ffffffff16565b90611160565b906111df565b905080156110ed57306000908152600260205260409020546110939082611101565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e49085815260200190565b60405180910390a35b6110f78582611221565b9695505050505050565b60008061110e83856115d7565b9050838110156107e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e5565b60008261116f5750600061068d565b600061117b8385611549565b9050826111888583611568565b146107e45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e5565b60006107e483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611263565b60006107e483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a75565b600081836112845760405162461bcd60e51b81526004016105e59190611291565b506000610aa68486611568565b600060208083528351808285015260005b818110156112be578581018301518582016040015282016112a2565b818111156112d0576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156112f857600080fd5b5035919050565b80356001600160a01b038116811461131657600080fd5b919050565b6000806040838503121561132e57600080fd5b611337836112ff565b946020939093013593505050565b60008060006060848603121561135a57600080fd5b611363846112ff565b9250611371602085016112ff565b9150604084013590509250925092565b60006020828403121561139357600080fd5b6107e4826112ff565b600080604083850312156113af57600080fd5b50508035926020909101359150565b600080604083850312156113d157600080fd5b6113da836112ff565b91506113e8602084016112ff565b90509250929050565b80151581146113ff57600080fd5b50565b6000806040838503121561141557600080fd5b8235611337816113f1565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561149157816000190482111561147757611477611440565b8085161561148457918102915b93841c939080029061145b565b509250929050565b6000826114a85750600161068d565b816114b55750600061068d565b81600181146114cb57600281146114d5576114f1565b600191505061068d565b60ff8411156114e6576114e6611440565b50506001821b61068d565b5060208310610133831016604e8410600b8410161715611514575081810a61068d565b61151e8383611456565b806000190482111561153257611532611440565b029392505050565b60006107e460ff841683611499565b600081600019048311821515161561156357611563611440565b500290565b60008261158557634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561159c5761159c611440565b500390565b6000602082840312156115b357600080fd5b5051919050565b6000602082840312156115cc57600080fd5b81516107e4816113f1565b600082198211156115ea576115ea611440565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116555784516001600160a01b031683529383019391830191600101611630565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201813ad0ac81bfd3ede4c62d4af38f47035e4afa3972fd892c1d4eeed45a625b464736f6c634300080c0033

Deployed Bytecode Sourcemap

2982:6665:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3241:43;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3241:43:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5950:174;;;;;;;;;;-1:-1:-1;5950:174:0;;;;;:::i;:::-;;:::i;:::-;;5054:216;;;;;;;;;;-1:-1:-1;5054:216:0;;;;;:::i;:::-;;:::i;:::-;;;1403:14:1;;1396:22;1378:41;;1366:2;1351:18;5054:216:0;1238:187:1;3781:44:0;;;;;;;;;;;;3822:3;3781:44;;;;;1576:25:1;;;1564:2;1549:18;3781:44:0;1430:177:1;3386:58:0;;;;;;;;;;;;;:::i;8241:259::-;;;;;;;;;;-1:-1:-1;8241:259:0;;;;;:::i;:::-;;:::i;3746:28::-;;;;;;;;;;;;;;;;5572:370;;;;;;;;;;-1:-1:-1;5572:370:0;;;;;:::i;:::-;;:::i;9507:137::-;;;;;;;;;;;;;:::i;2302:103::-;;;;;;;;;;-1:-1:-1;2302:103:0;;;;;:::i;:::-;2357:4;2392:5;-1:-1:-1;;;;;2381:16:0;;;2392:5;;2381:16;;2302:103;3338:35;;;;;;;;;;;;3371:2;3338:35;;;;;2308:4:1;2296:17;;;2278:36;;2266:2;2251:18;3338:35:0;2136:184:1;3634:44:0;;;;;;;;;;-1:-1:-1;3634:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5278:122;;;;;;;;;;-1:-1:-1;5278:122:0;;;;;:::i;:::-;;:::i;4017:30::-;;;;;;;;;;-1:-1:-1;4017:30:0;;;;-1:-1:-1;;;4017:30:0;;;;;;9168:144;;;;;;;;;;-1:-1:-1;9168:144:0;;;;;:::i;:::-;;:::i;3512:45::-;;;;;;;;;;-1:-1:-1;3512:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2413:85;;;;;;;;;;;;;:::i;8508:284::-;;;;;;;;;;-1:-1:-1;8508:284:0;;;;;:::i;:::-;;:::i;3453:50::-;;;;;;;;;;;;;;;;4829:78;;;;;;;;;;-1:-1:-1;4881:7:0;4899:5;-1:-1:-1;;;;;4899:5:0;4829:78;;;-1:-1:-1;;;;;2742:32:1;;;2724:51;;2712:2;2697:18;4829:78:0;2578:203:1;3291:40:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3291:40:0;;;;;3979:29;;;;;;;;;;;;;;;5408:156;;;;;;;;;;-1:-1:-1;5408:156:0;;;;;:::i;:::-;;:::i;3685:52::-;;;;;;;;;;-1:-1:-1;3685:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4913:133;;;;;;;;;;-1:-1:-1;4913:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5015:19:0;;;4997:7;5015:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4913:133;9320:179;;;;;;;;;;-1:-1:-1;9320:179:0;;;;;:::i;:::-;;:::i;3948:24::-;;;;;;;;;;-1:-1:-1;3948:24:0;;;;-1:-1:-1;;;;;3948:24:0;;;5950:174;2357:4;2392:5;-1:-1:-1;;;;;2392:5:0;2261:10;2381:16;2245:38;;;;-1:-1:-1;;;2245:38:0;;;;;;;:::i;:::-;;;;;;;;;6112:4:::1;6084:23:::0;3432:12:::1;3371:2;3432;:12;:::i;:::-;3424:20;::::0;:5:::1;:20;:::i;:::-;6070:37;;;;:::i;:::-;6069:47;;;;:::i;:::-;6051:15;:65:::0;-1:-1:-1;5950:174:0:o;5054:216::-;5158:10;5129:4;5146:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5146:32:0;;;;;;;;;;:41;;;5203:37;5129:4;;5146:32;;5203:37;;;;5181:6;1576:25:1;;1564:2;1549:18;;1430:177;5203:37:0;;;;;;;;-1:-1:-1;5258:4:0;5054:216;;;;;:::o;3386:58::-;3432:12;3371:2;3432;:12;:::i;:::-;3424:20;;:5;:20;:::i;:::-;3386:58;:::o;8241:259::-;2357:4;2392:5;-1:-1:-1;;;;;2392:5:0;2261:10;2381:16;2245:38;;;;-1:-1:-1;;;2245:38:0;;;;;;;:::i;:::-;8344:21:::1;8324:17;8435:3;8402:28;8414:16:::0;8344:21;8402:28:::1;:::i;:::-;8400:38;;;;:::i;:::-;8449:43;::::0;8376:62;;-1:-1:-1;8457:10:0::1;::::0;8449:43;::::1;;;::::0;8376:62;;8449:43:::1;::::0;;;8376:62;8457:10;8449:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8313:187;;8241:259:::0;:::o;5572:370::-;-1:-1:-1;;;;;5692:19:0;;5672:4;5692:19;;;:11;:19;;;;;;;;5712:10;5692:31;;;;;;;;-1:-1:-1;;5692:52:0;5689:186;;5794:69;;;;;;;;;;;-1:-1:-1;;;5794:69:0;;;;;;;;-1:-1:-1;;;;;5794:19:0;;-1:-1:-1;5794:19:0;;;:11;:19;;;;;5814:10;5794:31;;;;;;;;;;:69;;5830:6;;5794:35;:69::i;:::-;-1:-1:-1;;;;;5760:19:0;;;;;;:11;:19;;;;;;;;5780:10;5760:31;;;;;;;:103;5689:186;5894:40;5908:6;5916:9;5927:6;5894:13;:40::i;:::-;5887:47;;5572:370;;;;;;:::o;9507:137::-;9620:9;:15;;;;3117:42;9560:7;9602:15;;;;;9560:7;;9620:15;3432:12;3371:2;3432;:12;:::i;:::-;3424:20;;:5;:20;:::i;:::-;9588:29;;;;:::i;:::-;:47;;;;:::i;:::-;9580:56;;9507:137;:::o;5278:122::-;5333:4;5357:35;5365:7;-1:-1:-1;;5357:7:0;:35::i;9168:144::-;2357:4;2392:5;-1:-1:-1;;;;;2392:5:0;2261:10;2381:16;2245:38;;;;-1:-1:-1;;;2245:38:0;;;;;;;:::i;:::-;9251:14:::1;:22:::0;9284:13:::1;:20:::0;9168:144::o;2413:85::-;2357:4;2392:5;-1:-1:-1;;;;;2392:5:0;2261:10;2381:16;2245:38;;;;-1:-1:-1;;;2245:38:0;;;;;;;:::i;:::-;2488:1:::1;2472:18:::0;;-1:-1:-1;;;;;;2472:18:0::1;::::0;;2413:85::o;8508:284::-;8599:12;2392:5;;-1:-1:-1;;;;;2392:5:0;2261:10;2381:16;2245:38;;;;-1:-1:-1;;;2245:38:0;;;;;;;:::i;:::-;8627:11;8624:95:::1;;8663:44;::::0;-1:-1:-1;;;8663:44:0;;8701:4:::1;8663:44;::::0;::::1;2724:51:1::0;-1:-1:-1;;;;;8663:29:0;::::1;::::0;::::1;::::0;2697:18:1;;8663:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8654:53;;8624:95;8736:48;::::0;-1:-1:-1;;;8736:48:0;;8765:10:::1;8736:48;::::0;::::1;6451:51:1::0;6518:18;;;6511:34;;;-1:-1:-1;;;;;8736:28:0;::::1;::::0;::::1;::::0;6424:18:1;;8736:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5408:156::-:0;5488:4;5512:44;5526:10;5538:9;5549:6;5512:13;:44::i;9320:179::-;2357:4;2392:5;-1:-1:-1;;;;;2392:5:0;2261:10;2381:16;2245:38;;;;-1:-1:-1;;;2245:38:0;;;;;;;:::i;:::-;9416:11:::1;:22:::0;;-1:-1:-1;;;;9416:22:0::1;-1:-1:-1::0;;;9416:22:0;::::1;;;;::::0;;9479:12;;3432::::1;::::0;3371:2:::1;::::0;3432:12:::1;:::i;:::-;3424:20;::::0;:5:::1;:20;:::i;:::-;9465:26;;;;:::i;:::-;9449:13;:42:::0;-1:-1:-1;;9320:179:0:o;621:192::-;707:7;743:12;735:6;;;;727:29;;;;-1:-1:-1;;;727:29:0;;;;;;;;:::i;:::-;-1:-1:-1;767:9:0;779:5;783:1;779;:5;:::i;:::-;767:17;621:192;-1:-1:-1;;;;;621:192:0:o;6134:821::-;6246:6;;6226:4;;6246:6;;6243:63;;;6262:41;6277:6;6285:9;6296:6;6262:14;:41::i;:::-;6255:48;;;;6243:63;-1:-1:-1;;;;;6323:27:0;;;;;;:19;:27;;;;;;;;6322:28;:63;;;;-1:-1:-1;;;;;;6355:30:0;;;;;;:19;:30;;;;;;;;6354:31;6322:63;:84;;;;;6402:4;-1:-1:-1;;;;;6389:17:0;:9;-1:-1:-1;;;;;6389:17:0;;;6322:84;6318:203;;;6466:15;;-1:-1:-1;;;;;6432:20:0;;;;;;:9;:20;;;;;;:29;;6455:6;;6432:29;:::i;:::-;6431:50;;6423:86;;;;-1:-1:-1;;;6423:86:0;;7141:2:1;6423:86:0;;;7123:21:1;7180:2;7160:18;;;7153:30;7219:26;7199:18;;;7192:54;7263:18;;6423:86:0;6939:348:1;6423:86:0;6540:16;:14;:16::i;:::-;6537:35;;;6559:10;:8;:10::i;:::-;6604:53;;;;;;;;;;;-1:-1:-1;;;6604:53:0;;;;;;;;-1:-1:-1;;;;;6604:17:0;;-1:-1:-1;6604:17:0;;;:9;:17;;;;;;;;:53;;6626:6;;6604:21;:53::i;:::-;-1:-1:-1;;;;;6584:17:0;;;;;;:9;:17;;;;;;;;:73;;;;6696:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;6719:22:0;;;;;;:11;:22;;;;;;;;6696:45;6695:93;;6754:34;6762:6;6770;6778:9;6754:7;:34::i;:::-;6695:93;;;6745:6;6695:93;-1:-1:-1;;;;;6824:20:0;;;;;;:9;:20;;;;;;6670:118;;-1:-1:-1;6824:40:0;;6670:118;6824:24;:40::i;:::-;-1:-1:-1;;;;;6801:20:0;;;;;;;:9;:20;;;;;;;:63;;;;6882:43;;;;;;;;;;6910:14;1576:25:1;;1564:2;1549:18;;1430:177;6882:43:0;;;;;;;;-1:-1:-1;6943:4:0;;6134:821;-1:-1:-1;;;;6134:821:0:o;6967:330::-;7097:53;;;;;;;;;;;-1:-1:-1;;;7097:53:0;;;;;;;;-1:-1:-1;;;;;7097:17:0;;7060:4;7097:17;;;:9;:17;;;;;;;:53;;7119:6;;7097:21;:53::i;:::-;-1:-1:-1;;;;;7077:17:0;;;;;;;:9;:17;;;;;;:73;;;;7184:20;;;;;;;:32;;7209:6;7184:24;:32::i;:::-;-1:-1:-1;;;;;7161:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7232:35;;;;;;;;;;7260:6;1576:25:1;;1564:2;1549:18;;1430:177;7232:35:0;;;;;;;;-1:-1:-1;7285:4:0;6967:330;;;;;:::o;8036:197::-;8085:4;8109:10;-1:-1:-1;;;;;8123:4:0;8109:18;;;;;:38;;-1:-1:-1;8141:6:0;;;;8140:7;8109:38;:62;;;;-1:-1:-1;8160:11:0;;-1:-1:-1;;;8160:11:0;;;;8109:62;:116;;;;-1:-1:-1;;8212:13:0;;8202:4;8184:24;;;;:9;:24;;;;;;:41;;;8036:197::o;8800:360::-;4142:6;:13;;-1:-1:-1;;4142:13:0;4151:4;4142:13;;;8875:16:::1;::::0;;8889:1:::1;8875:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8875:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8875:16:0::1;8851:40;;8920:4;8902;8907:1;8902:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8902:23:0::1;;;-1:-1:-1::0;;;;;8902:23:0::1;;;::::0;::::1;8946:4;8936;8941:1;8936:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8936:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;8963:6:::1;::::0;9035:13:::1;::::0;8963:189:::1;::::0;-1:-1:-1;;;8963:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;9035:13;8963:6:::1;::::0;9079:4;;9106::::1;::::0;9126:15:::1;::::0;8963:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4160:6:0;:14;;-1:-1:-1;;4160:14:0;;;-1:-1:-1;;;8800:360:0:o;7305:723::-;7391:7;7414:11;;;:28;;-1:-1:-1;7429:8:0;;:13;7414:28;7411:72;;;-1:-1:-1;7465:6:0;7458:13;;7411:72;7495:18;7516;;7495:39;;7563:4;-1:-1:-1;;;;;7550:17:0;:9;-1:-1:-1;;;;;7550:17:0;;7547:154;;;-1:-1:-1;7597:14:0;;7547:154;;;7642:4;-1:-1:-1;;;;;7632:14:0;:6;-1:-1:-1;;;;;7632:14:0;;7629:72;;;-1:-1:-1;7676:13:0;;7629:72;7713:17;7733:62;7774:20;3822:3;;7774:20;:::i;:::-;7733:36;7758:10;7733:20;7744:8;;7733:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;7713:82;-1:-1:-1;7811:13:0;;7808:172;;7885:4;7867:24;;;;:9;:24;;;;;;:39;;7896:9;7867:28;:39::i;:::-;7858:4;7840:24;;;;:9;:24;;;;;;;:66;;;;7926:42;;-1:-1:-1;;;;;7926:42:0;;;;;;;7958:9;1576:25:1;;1564:2;1549:18;;1430:177;7926:42:0;;;;;;;;7808:172;7999:21;:6;8010:9;7999:10;:21::i;:::-;7992:28;7305:723;-1:-1:-1;;;;;;7305:723:0:o;292:181::-;350:7;;382:5;386:1;382;:5;:::i;:::-;370:17;;411:1;406;:6;;398:46;;;;-1:-1:-1;;;398:46:0;;8743:2:1;398:46:0;;;8725:21:1;8782:2;8762:18;;;8755:30;8821:29;8801:18;;;8794:57;8868:18;;398:46:0;8541:351:1;819:250:0;877:7;901:6;897:47;;-1:-1:-1;931:1:0;924:8;;897:47;956:9;968:5;972:1;968;:5;:::i;:::-;956:17;-1:-1:-1;1001:1:0;992:5;996:1;956:17;992:5;:::i;:::-;:10;984:56;;;;-1:-1:-1;;;984:56:0;;9099:2:1;984:56:0;;;9081:21:1;9138:2;9118:18;;;9111:30;9177:34;9157:18;;;9150:62;-1:-1:-1;;;9228:18:1;;;9221:31;9269:19;;984:56:0;8897:397:1;1075:132:0;1133:7;1160:39;1164:1;1167;1160:39;;;;;;;;;;;;;;;;;:3;:39::i;479:136::-;537:7;564:43;568:1;571;564:43;;;;;;;;;;;;;;;;;:3;:43::i;1213:189::-;1299:7;1334:12;1327:5;1319:28;;;;-1:-1:-1;;;1319:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1358:9:0;1370:5;1374:1;1370;:5;:::i;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:180::-;675:6;728:2;716:9;707:7;703:23;699:32;696:52;;;744:1;741;734:12;696:52;-1:-1:-1;767:23:1;;616:180;-1:-1:-1;616:180:1:o;801:173::-;869:20;;-1:-1:-1;;;;;918:31:1;;908:42;;898:70;;964:1;961;954:12;898:70;801:173;;;:::o;979:254::-;1047:6;1055;1108:2;1096:9;1087:7;1083:23;1079:32;1076:52;;;1124:1;1121;1114:12;1076:52;1147:29;1166:9;1147:29;:::i;:::-;1137:39;1223:2;1208:18;;;;1195:32;;-1:-1:-1;;;979:254:1:o;1612:328::-;1689:6;1697;1705;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:29;1816:9;1797:29;:::i;:::-;1787:39;;1845:38;1879:2;1868:9;1864:18;1845:38;:::i;:::-;1835:48;;1930:2;1919:9;1915:18;1902:32;1892:42;;1612:328;;;;;:::o;1945:186::-;2004:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:52;;;2073:1;2070;2063:12;2025:52;2096:29;2115:9;2096:29;:::i;2325:248::-;2393:6;2401;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;-1:-1:-1;;2493:23:1;;;2563:2;2548:18;;;2535:32;;-1:-1:-1;2325:248:1:o;2786:260::-;2854:6;2862;2915:2;2903:9;2894:7;2890:23;2886:32;2883:52;;;2931:1;2928;2921:12;2883:52;2954:29;2973:9;2954:29;:::i;:::-;2944:39;;3002:38;3036:2;3025:9;3021:18;3002:38;:::i;:::-;2992:48;;2786:260;;;;;:::o;3051:118::-;3137:5;3130:13;3123:21;3116:5;3113:32;3103:60;;3159:1;3156;3149:12;3103:60;3051:118;:::o;3174:309::-;3239:6;3247;3300:2;3288:9;3279:7;3275:23;3271:32;3268:52;;;3316:1;3313;3306:12;3268:52;3355:9;3342:23;3374:28;3396:5;3374:28;:::i;3714:329::-;3916:2;3898:21;;;3955:1;3935:18;;;3928:29;-1:-1:-1;;;3988:2:1;3973:18;;3966:36;4034:2;4019:18;;3714:329::o;4048:127::-;4109:10;4104:3;4100:20;4097:1;4090:31;4140:4;4137:1;4130:15;4164:4;4161:1;4154:15;4180:422;4269:1;4312:5;4269:1;4326:270;4347:7;4337:8;4334:21;4326:270;;;4406:4;4402:1;4398:6;4394:17;4388:4;4385:27;4382:53;;;4415:18;;:::i;:::-;4465:7;4455:8;4451:22;4448:55;;;4485:16;;;;4448:55;4564:22;;;;4524:15;;;;4326:270;;;4330:3;4180:422;;;;;:::o;4607:806::-;4656:5;4686:8;4676:80;;-1:-1:-1;4727:1:1;4741:5;;4676:80;4775:4;4765:76;;-1:-1:-1;4812:1:1;4826:5;;4765:76;4857:4;4875:1;4870:59;;;;4943:1;4938:130;;;;4850:218;;4870:59;4900:1;4891:10;;4914:5;;;4938:130;4975:3;4965:8;4962:17;4959:43;;;4982:18;;:::i;:::-;-1:-1:-1;;5038:1:1;5024:16;;5053:5;;4850:218;;5152:2;5142:8;5139:16;5133:3;5127:4;5124:13;5120:36;5114:2;5104:8;5101:16;5096:2;5090:4;5087:12;5083:35;5080:77;5077:159;;;-1:-1:-1;5189:19:1;;;5221:5;;5077:159;5268:34;5293:8;5287:4;5268:34;:::i;:::-;5338:6;5334:1;5330:6;5326:19;5317:7;5314:32;5311:58;;;5349:18;;:::i;:::-;5387:20;;4607:806;-1:-1:-1;;;4607:806:1:o;5418:140::-;5476:5;5505:47;5546:4;5536:8;5532:19;5526:4;5505:47;:::i;5563:168::-;5603:7;5669:1;5665;5661:6;5657:14;5654:1;5651:21;5646:1;5639:9;5632:17;5628:45;5625:71;;;5676:18;;:::i;:::-;-1:-1:-1;5716:9:1;;5563:168::o;5736:217::-;5776:1;5802;5792:132;;5846:10;5841:3;5837:20;5834:1;5827:31;5881:4;5878:1;5871:15;5909:4;5906:1;5899:15;5792:132;-1:-1:-1;5938:9:1;;5736:217::o;5958:125::-;5998:4;6026:1;6023;6020:8;6017:34;;;6031:18;;:::i;:::-;-1:-1:-1;6068:9:1;;5958:125::o;6088:184::-;6158:6;6211:2;6199:9;6190:7;6186:23;6182:32;6179:52;;;6227:1;6224;6217:12;6179:52;-1:-1:-1;6250:16:1;;6088:184;-1:-1:-1;6088:184:1:o;6556:245::-;6623:6;6676:2;6664:9;6655:7;6651:23;6647:32;6644:52;;;6692:1;6689;6682:12;6644:52;6724:9;6718:16;6743:28;6765:5;6743:28;:::i;6806:128::-;6846:3;6877:1;6873:6;6870:1;6867:13;6864:39;;;6883:18;;:::i;:::-;-1:-1:-1;6919:9:1;;6806:128::o;7424:127::-;7485:10;7480:3;7476:20;7473:1;7466:31;7516:4;7513:1;7506:15;7540:4;7537:1;7530:15;7556:980;7818:4;7866:3;7855:9;7851:19;7897:6;7886:9;7879:25;7923:2;7961:6;7956:2;7945:9;7941:18;7934:34;8004:3;7999:2;7988:9;7984:18;7977:31;8028:6;8063;8057:13;8094:6;8086;8079:22;8132:3;8121:9;8117:19;8110:26;;8171:2;8163:6;8159:15;8145:29;;8192:1;8202:195;8216:6;8213:1;8210:13;8202:195;;;8281:13;;-1:-1:-1;;;;;8277:39:1;8265:52;;8372:15;;;;8337:12;;;;8313:1;8231:9;8202:195;;;-1:-1:-1;;;;;;;8453:32:1;;;;8448:2;8433:18;;8426:60;-1:-1:-1;;;8517:3:1;8502:19;8495:35;8414:3;7556:980;-1:-1:-1;;;7556:980:1:o

Swarm Source

ipfs://1813ad0ac81bfd3ede4c62d4af38f47035e4afa3972fd892c1d4eeed45a625b4

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.