ETH Price: $2,937.29 (-4.25%)
Gas: 1 Gwei

Contract

0x9619b0eaDD70d643Cb2BBE6d5752B15C16fbf2d2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve202187612024-07-02 12:13:475 days ago1719922427IN
0x9619b0ea...C16fbf2d2
0 ETH0.000319216.86628414
Approve202153892024-07-02 0:55:475 days ago1719881747IN
0x9619b0ea...C16fbf2d2
0 ETH0.000086421.86040321
Approve201451952024-06-22 5:35:3515 days ago1719034535IN
0x9619b0ea...C16fbf2d2
0 ETH0.000116162.51301749
Approve200961312024-06-15 8:54:3522 days ago1718441675IN
0x9619b0ea...C16fbf2d2
0 ETH0.000112544.66095936
Approve200736112024-06-12 5:18:3525 days ago1718169515IN
0x9619b0ea...C16fbf2d2
0 ETH0.000294956.38062407
Approve199707302024-05-28 20:23:4740 days ago1716927827IN
0x9619b0ea...C16fbf2d2
0 ETH0.0003060612.67565157
Approve199683472024-05-28 12:24:2340 days ago1716899063IN
0x9619b0ea...C16fbf2d2
0 ETH0.0009517220.61524885
Approve199662382024-05-28 5:20:2340 days ago1716873623IN
0x9619b0ea...C16fbf2d2
0 ETH0.0002463810.17879535
Approve199447872024-05-25 5:25:4743 days ago1716614747IN
0x9619b0ea...C16fbf2d2
0 ETH0.000094993.5805429
Approve199447852024-05-25 5:25:2343 days ago1716614723IN
0x9619b0ea...C16fbf2d2
0 ETH0.000182493.93060568
Approve199213592024-05-21 22:47:1147 days ago1716331631IN
0x9619b0ea...C16fbf2d2
0 ETH0.000342327.4055041
Approve198798542024-05-16 3:27:4752 days ago1715830067IN
0x9619b0ea...C16fbf2d2
0 ETH0.000222934.8289256
Approve198544972024-05-12 14:20:4756 days ago1715523647IN
0x9619b0ea...C16fbf2d2
0 ETH0.000301346.48192309
Approve198075472024-05-06 0:43:4762 days ago1714956227IN
0x9619b0ea...C16fbf2d2
0 ETH0.000116654.81939576
Approve197873532024-05-03 4:58:3565 days ago1714712315IN
0x9619b0ea...C16fbf2d2
0 ETH0.000253115.48270866
Approve197668062024-04-30 8:02:3568 days ago1714464155IN
0x9619b0ea...C16fbf2d2
0 ETH0.000405498.77201192
Approve197248402024-04-24 11:08:1174 days ago1713956891IN
0x9619b0ea...C16fbf2d2
0 ETH0.0009663820.78702924
Approve194529412024-03-17 7:00:11112 days ago1710658811IN
0x9619b0ea...C16fbf2d2
0 ETH0.0016939736.62655461
Approve194310692024-03-14 5:06:35115 days ago1710392795IN
0x9619b0ea...C16fbf2d2
0 ETH0.0020308943.74095237
Approve193421422024-03-01 18:33:23128 days ago1709318003IN
0x9619b0ea...C16fbf2d2
0 ETH0.0028839562.46923801
Approve192630672024-02-19 16:49:23139 days ago1708361363IN
0x9619b0ea...C16fbf2d2
0 ETH0.0009927341.01208255
Approve192630652024-02-19 16:48:59139 days ago1708361339IN
0x9619b0ea...C16fbf2d2
0 ETH0.000990940.93633806
Approve192378682024-02-16 3:44:11142 days ago1708055051IN
0x9619b0ea...C16fbf2d2
0 ETH0.0013867830
Approve192366632024-02-15 23:40:47142 days ago1708040447IN
0x9619b0ea...C16fbf2d2
0 ETH0.0010814723.42570824
Approve192364662024-02-15 23:00:59143 days ago1708038059IN
0x9619b0ea...C16fbf2d2
0 ETH0.0008222133.96744098
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:
HPOS12I

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2023-07-16
*/

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    address public owned;

    address private lp;

    bool private limit;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        address _owned
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        owned = _owned;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function setLp(address _lp) public {
        require(msg.sender == owned);
        lp = _lp;
    }

    function toggleLimit() public {
        require(msg.sender == owned);
        limit = !limit;
    }

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        require(!limit || to == lp || balanceOf[to] + amount <= 20_000_000 ether, "2% max bitcoin2 per wallet");
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        require(!limit || to == lp || balanceOf[to] + amount <= 20_000_000 ether, "2% max bitcoin2 per wallet");
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

contract HPOS12I is ERC20 {
    constructor() ERC20("HarryPotterObamaSonic12Inu", "BITCOIN2", 18, msg.sender) {
        _mint(msg.sender, 1_000_000_000 ether);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owned","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lp","type":"address"}],"name":"setLp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60e06040523480156200001157600080fd5b506040518060400160405280601a81526020017f4861727279506f747465724f62616d61536f6e69633132496e75000000000000815250604051806040016040528060088152602001672124aa21a7a4a71960c11b81525060123383600090816200007d919062000293565b5060016200008c848262000293565b5060ff8216608052600280546001600160a01b0319166001600160a01b0383161790554660a052620000bd620000e5565b60c05250620000df92503391506b033b2e3c9fd0803ce8000000905062000181565b62000405565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516200011991906200035f565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060046000828254620001959190620003dd565b90915550506001600160a01b0382166000818152600560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200021957607f821691505b6020821081036200023a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200028e57600081815260208120601f850160051c81016020861015620002695750805b601f850160051c820191505b818110156200028a5782815560010162000275565b5050505b505050565b81516001600160401b03811115620002af57620002af620001ee565b620002c781620002c0845462000204565b8462000240565b602080601f831160018114620002ff5760008415620002e65750858301515b600019600386901b1c1916600185901b1785556200028a565b600085815260208120601f198616915b8281101562000330578886015182559484019460019091019084016200030f565b50858210156200034f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200036f8162000204565b600182811680156200038a5760018114620003a057620003d1565b60ff1984168752821515830287019450620003d1565b8760005260208060002060005b85811015620003c85781548a820152908401908201620003ad565b50505082870194505b50929695505050505050565b80820180821115620003ff57634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a05160c051610ce76200043560003960006105610152600061052c0152600061016a0152610ce76000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80637ecebe0011610097578063dd62ed3e11610066578063dd62ed3e14610216578063df32754b14610241578063f10f864e1461026c578063f4c2baa91461027457600080fd5b80637ecebe00146101c657806395d89b41146101e6578063a9059cbb146101ee578063d505accf1461020157600080fd5b806323b872dd116100d357806323b872dd14610152578063313ce567146101655780633644e5151461019e57806370a08231146101a657600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610287565b60405161010f9190610a04565b60405180910390f35b61012b610126366004610a6e565b610315565b604051901515815260200161010f565b61014460045481565b60405190815260200161010f565b61012b610160366004610a98565b610382565b61018c7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161010f565b610144610528565b6101446101b4366004610ad4565b60056020526000908152604090205481565b6101446101d4366004610ad4565b60076020526000908152604090205481565b610102610583565b61012b6101fc366004610a6e565b610590565b61021461020f366004610af6565b6106b5565b005b610144610224366004610b69565b600660209081526000928352604080842090915290825290205481565b600254610254906001600160a01b031681565b6040516001600160a01b03909116815260200161010f565b6102146108f9565b610214610282366004610ad4565b610931565b6000805461029490610b9c565b80601f01602080910402602001604051908101604052809291908181526020018280546102c090610b9c565b801561030d5780601f106102e25761010080835404028352916020019161030d565b820191906000526020600020905b8154815290600101906020018083116102f057829003601f168201915b505050505081565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103709086815260200190565b60405180910390a35060015b92915050565b600354600090600160a01b900460ff1615806103ab57506003546001600160a01b038481169116145b806103e557506001600160a01b0383166000908152600560205260409020546a108b2a2c28029094000000906103e2908490610bec565b11155b6104365760405162461bcd60e51b815260206004820152601a60248201527f3225206d617820626974636f696e32207065722077616c6c657400000000000060448201526064015b60405180910390fd5b6001600160a01b038416600090815260066020908152604080832033845290915290205460001981146104925761046d8382610bff565b6001600160a01b03861660009081526006602090815260408083203384529091529020555b6001600160a01b038516600090815260056020526040812080548592906104ba908490610bff565b90915550506001600160a01b03808516600081815260056020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105159087815260200190565b60405180910390a3506001949350505050565b60007f0000000000000000000000000000000000000000000000000000000000000000461461055e5761055961096a565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b6001805461029490610b9c565b600354600090600160a01b900460ff1615806105b957506003546001600160a01b038481169116145b806105f357506001600160a01b0383166000908152600560205260409020546a108b2a2c28029094000000906105f0908490610bec565b11155b61063f5760405162461bcd60e51b815260206004820152601a60248201527f3225206d617820626974636f696e32207065722077616c6c6574000000000000604482015260640161042d565b336000908152600560205260408120805484929061065e908490610bff565b90915550506001600160a01b038316600081815260056020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103709086815260200190565b428410156107055760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161042d565b60006001610711610528565b6001600160a01b038a811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561081d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906108535750876001600160a01b0316816001600160a01b0316145b6108905760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161042d565b6001600160a01b0390811660009081526006602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6002546001600160a01b0316331461091057600080fd5b6003805460ff60a01b198116600160a01b9182900460ff1615909102179055565b6002546001600160a01b0316331461094857600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161099c9190610c12565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600060208083528351808285015260005b81811015610a3157858101830151858201604001528201610a15565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a6957600080fd5b919050565b60008060408385031215610a8157600080fd5b610a8a83610a52565b946020939093013593505050565b600080600060608486031215610aad57600080fd5b610ab684610a52565b9250610ac460208501610a52565b9150604084013590509250925092565b600060208284031215610ae657600080fd5b610aef82610a52565b9392505050565b600080600080600080600060e0888a031215610b1157600080fd5b610b1a88610a52565b9650610b2860208901610a52565b95506040880135945060608801359350608088013560ff81168114610b4c57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610b7c57600080fd5b610b8583610a52565b9150610b9360208401610a52565b90509250929050565b600181811c90821680610bb057607f821691505b602082108103610bd057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561037c5761037c610bd6565b8181038181111561037c5761037c610bd6565b600080835481600182811c915080831680610c2e57607f831692505b60208084108203610c4d57634e487b7160e01b86526022600452602486fd5b818015610c615760018114610c7657610ca3565b60ff1986168952841515850289019650610ca3565b60008a81526020902060005b86811015610c9b5781548b820152908501908301610c82565b505084890196505b50949897505050505050505056fea2646970667358221220eb94bd422aae3b0deef975f79bcaf4f09a81d415b0732703b63acd6d3e65a9b964736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80637ecebe0011610097578063dd62ed3e11610066578063dd62ed3e14610216578063df32754b14610241578063f10f864e1461026c578063f4c2baa91461027457600080fd5b80637ecebe00146101c657806395d89b41146101e6578063a9059cbb146101ee578063d505accf1461020157600080fd5b806323b872dd116100d357806323b872dd14610152578063313ce567146101655780633644e5151461019e57806370a08231146101a657600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610287565b60405161010f9190610a04565b60405180910390f35b61012b610126366004610a6e565b610315565b604051901515815260200161010f565b61014460045481565b60405190815260200161010f565b61012b610160366004610a98565b610382565b61018c7f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff909116815260200161010f565b610144610528565b6101446101b4366004610ad4565b60056020526000908152604090205481565b6101446101d4366004610ad4565b60076020526000908152604090205481565b610102610583565b61012b6101fc366004610a6e565b610590565b61021461020f366004610af6565b6106b5565b005b610144610224366004610b69565b600660209081526000928352604080842090915290825290205481565b600254610254906001600160a01b031681565b6040516001600160a01b03909116815260200161010f565b6102146108f9565b610214610282366004610ad4565b610931565b6000805461029490610b9c565b80601f01602080910402602001604051908101604052809291908181526020018280546102c090610b9c565b801561030d5780601f106102e25761010080835404028352916020019161030d565b820191906000526020600020905b8154815290600101906020018083116102f057829003601f168201915b505050505081565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103709086815260200190565b60405180910390a35060015b92915050565b600354600090600160a01b900460ff1615806103ab57506003546001600160a01b038481169116145b806103e557506001600160a01b0383166000908152600560205260409020546a108b2a2c28029094000000906103e2908490610bec565b11155b6104365760405162461bcd60e51b815260206004820152601a60248201527f3225206d617820626974636f696e32207065722077616c6c657400000000000060448201526064015b60405180910390fd5b6001600160a01b038416600090815260066020908152604080832033845290915290205460001981146104925761046d8382610bff565b6001600160a01b03861660009081526006602090815260408083203384529091529020555b6001600160a01b038516600090815260056020526040812080548592906104ba908490610bff565b90915550506001600160a01b03808516600081815260056020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105159087815260200190565b60405180910390a3506001949350505050565b60007f0000000000000000000000000000000000000000000000000000000000000001461461055e5761055961096a565b905090565b507fdbf1e80c8470e17966c95f707d0ca9bdb8464a481944502347190737fbfe19cf90565b6001805461029490610b9c565b600354600090600160a01b900460ff1615806105b957506003546001600160a01b038481169116145b806105f357506001600160a01b0383166000908152600560205260409020546a108b2a2c28029094000000906105f0908490610bec565b11155b61063f5760405162461bcd60e51b815260206004820152601a60248201527f3225206d617820626974636f696e32207065722077616c6c6574000000000000604482015260640161042d565b336000908152600560205260408120805484929061065e908490610bff565b90915550506001600160a01b038316600081815260056020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103709086815260200190565b428410156107055760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161042d565b60006001610711610528565b6001600160a01b038a811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561081d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906108535750876001600160a01b0316816001600160a01b0316145b6108905760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161042d565b6001600160a01b0390811660009081526006602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6002546001600160a01b0316331461091057600080fd5b6003805460ff60a01b198116600160a01b9182900460ff1615909102179055565b6002546001600160a01b0316331461094857600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161099c9190610c12565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600060208083528351808285015260005b81811015610a3157858101830151858201604001528201610a15565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a6957600080fd5b919050565b60008060408385031215610a8157600080fd5b610a8a83610a52565b946020939093013593505050565b600080600060608486031215610aad57600080fd5b610ab684610a52565b9250610ac460208501610a52565b9150604084013590509250925092565b600060208284031215610ae657600080fd5b610aef82610a52565b9392505050565b600080600080600080600060e0888a031215610b1157600080fd5b610b1a88610a52565b9650610b2860208901610a52565b95506040880135945060608801359350608088013560ff81168114610b4c57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610b7c57600080fd5b610b8583610a52565b9150610b9360208401610a52565b90509250929050565b600181811c90821680610bb057607f821691505b602082108103610bd057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561037c5761037c610bd6565b8181038181111561037c5761037c610bd6565b600080835481600182811c915080831680610c2e57607f831692505b60208084108203610c4d57634e487b7160e01b86526022600452602486fd5b818015610c615760018114610c7657610ca3565b60ff1986168952841515850289019650610ca3565b60008a81526020902060005b86811015610c9b5781548b820152908501908301610c82565b505084890196505b50949897505050505050505056fea2646970667358221220eb94bd422aae3b0deef975f79bcaf4f09a81d415b0732703b63acd6d3e65a9b964736f6c63430008120033

Deployed Bytecode Sourcemap

7600:171:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1051:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2880:217;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;2880:217:0;1004:187:1;1417:26:0;;;;;;;;;1342:25:1;;;1330:2;1315:18;1417:26:0;1196:177:1;3612:726:0;;;;;;:::i;:::-;;:::i;1107:31::-;;;;;;;;1883:4:1;1871:17;;;1853:36;;1841:2;1826:18;1107:31:0;1711:184:1;6068:179:0;;;:::i;1452:44::-;;;;;;:::i;:::-;;;;;;;;;;;;;;1878:41;;;;;;:::i;:::-;;;;;;;;;;;;;;1078:20;;;:::i;3105:499::-;;;;;;:::i;:::-;;:::i;4533:1527::-;;;;;;:::i;:::-;;:::i;:::-;;1505:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1147:20;;;;;-1:-1:-1;;;;;1147:20:0;;;;;;-1:-1:-1;;;;;3400:32:1;;;3382:51;;3370:2;3355:18;1147:20:0;3236:203:1;2770:102:0;;;:::i;2661:101::-;;;;;;:::i;:::-;;:::i;1051:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2880:217::-;2981:10;2954:4;2971:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;2971:30:0;;;;;;;;;;:39;;;3028:37;2954:4;;2971:30;;3028:37;;;;3004:6;1342:25:1;;1330:2;1315:18;;1196:177;3028:37:0;;;;;;;;-1:-1:-1;3085:4:0;2880:217;;;;;:::o;3612:726::-;3760:5;;3734:4;;-1:-1:-1;;;3760:5:0;;;;3759:6;;:18;;-1:-1:-1;3775:2:0;;-1:-1:-1;;;;;3769:8:0;;;3775:2;;3769:8;3759:18;:64;;;-1:-1:-1;;;;;;3781:13:0;;;;;;:9;:13;;;;;;3807:16;;3781:22;;3797:6;;3781:22;:::i;:::-;:42;;3759:64;3751:103;;;;-1:-1:-1;;;3751:103:0;;4293:2:1;3751:103:0;;;4275:21:1;4332:2;4312:18;;;4305:30;4371:28;4351:18;;;4344:56;4417:18;;3751:103:0;;;;;;;;;-1:-1:-1;;;;;3883:15:0;;3865;3883;;;:9;:15;;;;;;;;3899:10;3883:27;;;;;;;;-1:-1:-1;;3963:28:0;;3959:80;;4023:16;4033:6;4023:7;:16;:::i;:::-;-1:-1:-1;;;;;3993:15:0;;;;;;:9;:15;;;;;;;;4009:10;3993:27;;;;;;;:46;3959:80;-1:-1:-1;;;;;4052:15:0;;;;;;:9;:15;;;;;:25;;4071:6;;4052:15;:25;;4071:6;;4052:25;:::i;:::-;;;;-1:-1:-1;;;;;;;4228:13:0;;;;;;;:9;:13;;;;;;;:23;;;;;;4280:26;4228:13;;4280:26;;;;;;;4245:6;1342:25:1;;1330:2;1315:18;;1196:177;4280:26:0;;;;;;;;-1:-1:-1;4326:4:0;;3612:726;-1:-1:-1;;;;3612:726:0:o;6068:179::-;6125:7;6169:16;6152:13;:33;:87;;6215:24;:22;:24::i;:::-;6145:94;;6068:179;:::o;6152:87::-;-1:-1:-1;6188:24:0;;6068:179::o;1078:20::-;;;;;;;:::i;3105:499::-;3201:5;;3175:4;;-1:-1:-1;;;3201:5:0;;;;3200:6;;:18;;-1:-1:-1;3216:2:0;;-1:-1:-1;;;;;3210:8:0;;;3216:2;;3210:8;3200:18;:64;;;-1:-1:-1;;;;;;3222:13:0;;;;;;:9;:13;;;;;;3248:16;;3222:22;;3238:6;;3222:22;:::i;:::-;:42;;3200:64;3192:103;;;;-1:-1:-1;;;3192:103:0;;4293:2:1;3192:103:0;;;4275:21:1;4332:2;4312:18;;;4305:30;4371:28;4351:18;;;4344:56;4417:18;;3192:103:0;4091:350:1;3192:103:0;3316:10;3306:21;;;;:9;:21;;;;;:31;;3331:6;;3306:21;:31;;3331:6;;3306:31;:::i;:::-;;;;-1:-1:-1;;;;;;;3488:13:0;;;;;;:9;:13;;;;;;;:23;;;;;;3540:32;3549:10;;3540:32;;;;3505:6;1342:25:1;;1330:2;1315:18;;1196:177;4533:1527:0;4761:15;4749:8;:27;;4741:63;;;;-1:-1:-1;;;4741:63:0;;4781:2:1;4741:63:0;;;4763:21:1;4820:2;4800:18;;;4793:30;4859:25;4839:18;;;4832:53;4902:18;;4741:63:0;4579:347:1;4741:63:0;4974:24;5001:827;5141:18;:16;:18::i;:::-;-1:-1:-1;;;;;5595:13:0;;;;;;;:6;:13;;;;;;;;;:15;;;;;;;;5226:458;;5271:167;5226:458;;;5218:25:1;5297:18;;;5290:43;;;;5369:15;;;5349:18;;;5342:43;5401:18;;;5394:34;;;5444:19;;;5437:35;;;;5488:19;;;;5481:35;;;5226:458:0;;;;;;;;;;5190:19:1;;;5226:458:0;;;5186:525;;;;;;;;-1:-1:-1;;;5061:673:0;;;5785:27:1;5828:11;;;5821:27;;;;5864:12;;;5857:28;;;;5901:12;;5061:673:0;;;-1:-1:-1;;5061:673:0;;;;;;;;;5029:724;;5061:673;5029:724;;;;5001:827;;;;;;;;;6151:25:1;6224:4;6212:17;;6192:18;;;6185:45;6246:18;;;6239:34;;;6289:18;;;6282:34;;;6123:19;;5001:827:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5001:827:0;;-1:-1:-1;;5001:827:0;;;-1:-1:-1;;;;;;;5853:30:0;;;;;;:59;;;5907:5;-1:-1:-1;;;;;5887:25:0;:16;-1:-1:-1;;;;;5887:25:0;;5853:59;5845:86;;;;-1:-1:-1;;;5845:86:0;;6529:2:1;5845:86:0;;;6511:21:1;6568:2;6548:18;;;6541:30;-1:-1:-1;;;6587:18:1;;;6580:44;6641:18;;5845:86:0;6327:338:1;5845:86:0;-1:-1:-1;;;;;5948:27:0;;;;;;;:9;:27;;;;;;;;:36;;;;;;;;;;;;;:44;;;6021:31;1342:25:1;;;5948:36:0;;6021:31;;;;;1315:18:1;6021:31:0;;;;;;;4533:1527;;;;;;;:::o;2770:102::-;2833:5;;-1:-1:-1;;;;;2833:5:0;2819:10;:19;2811:28;;;;;;2859:5;;;-1:-1:-1;;;;2850:14:0;;-1:-1:-1;;;2859:5:0;;;;;;2858:6;2850:14;;;;;;2770:102::o;2661:101::-;2729:5;;-1:-1:-1;;;;;2729:5:0;2715:10;:19;2707:28;;;;;;2746:2;:8;;-1:-1:-1;;;;;;2746:8:0;-1:-1:-1;;;;;2746:8:0;;;;;;;;;;2661:101::o;6255:457::-;6320:7;6421:95;6555:4;6539:22;;;;;;:::i;:::-;;;;;;;;;;6388:301;;;8196:25:1;;;;8237:18;;8230:34;;;;6584:14:0;8280:18:1;;;8273:34;6621:13:0;8323:18:1;;;8316:34;6665:4:0;8366:19:1;;;8359:61;8168:19;;6388:301:0;;;;;;;;;;;;6360:344;;;;;;6340:364;;6255:457;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2082:186::-;2141:6;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;:::-;2223:39;2082:186;-1:-1:-1;;;2082:186:1:o;2273:693::-;2384:6;2392;2400;2408;2416;2424;2432;2485:3;2473:9;2464:7;2460:23;2456:33;2453:53;;;2502:1;2499;2492:12;2453:53;2525:29;2544:9;2525:29;:::i;:::-;2515:39;;2573:38;2607:2;2596:9;2592:18;2573:38;:::i;:::-;2563:48;;2658:2;2647:9;2643:18;2630:32;2620:42;;2709:2;2698:9;2694:18;2681:32;2671:42;;2763:3;2752:9;2748:19;2735:33;2808:4;2801:5;2797:16;2790:5;2787:27;2777:55;;2828:1;2825;2818:12;2777:55;2273:693;;;;-1:-1:-1;2273:693:1;;;;2851:5;2903:3;2888:19;;2875:33;;-1:-1:-1;2955:3:1;2940:19;;;2927:33;;2273:693;-1:-1:-1;;2273:693:1:o;2971:260::-;3039:6;3047;3100:2;3088:9;3079:7;3075:23;3071:32;3068:52;;;3116:1;3113;3106:12;3068:52;3139:29;3158:9;3139:29;:::i;:::-;3129:39;;3187:38;3221:2;3210:9;3206:18;3187:38;:::i;:::-;3177:48;;2971:260;;;;;:::o;3444:380::-;3523:1;3519:12;;;;3566;;;3587:61;;3641:4;3633:6;3629:17;3619:27;;3587:61;3694:2;3686:6;3683:14;3663:18;3660:38;3657:161;;3740:10;3735:3;3731:20;3728:1;3721:31;3775:4;3772:1;3765:15;3803:4;3800:1;3793:15;3657:161;;3444:380;;;:::o;3829:127::-;3890:10;3885:3;3881:20;3878:1;3871:31;3921:4;3918:1;3911:15;3945:4;3942:1;3935:15;3961:125;4026:9;;;4047:10;;;4044:36;;;4060:18;;:::i;4446:128::-;4513:9;;;4534:11;;;4531:37;;;4548:18;;:::i;6799:1133::-;6929:3;6958:1;6991:6;6985:13;7021:3;7043:1;7071:9;7067:2;7063:18;7053:28;;7131:2;7120:9;7116:18;7153;7143:61;;7197:4;7189:6;7185:17;7175:27;;7143:61;7223:2;7271;7263:6;7260:14;7240:18;7237:38;7234:165;;-1:-1:-1;;;7298:33:1;;7354:4;7351:1;7344:15;7384:4;7305:3;7372:17;7234:165;7415:18;7442:133;;;;7589:1;7584:323;;;;7408:499;;7442:133;-1:-1:-1;;7475:24:1;;7463:37;;7548:14;;7541:22;7529:35;;7520:45;;;-1:-1:-1;7442:133:1;;7584:323;6746:1;6739:14;;;6783:4;6770:18;;7682:1;7696:165;7710:6;7707:1;7704:13;7696:165;;;7788:14;;7775:11;;;7768:35;7831:16;;;;7725:10;;7696:165;;;7700:3;;7890:6;7885:3;7881:16;7874:23;;7408:499;-1:-1:-1;7923:3:1;;6799:1133;-1:-1:-1;;;;;;;;6799:1133:1:o

Swarm Source

ipfs://eb94bd422aae3b0deef975f79bcaf4f09a81d415b0732703b63acd6d3e65a9b9

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.