ETH Price: $3,588.58 (+3.63%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve215109842024-12-29 22:01:595 days ago1735509719IN
0xf59Baa2a...1c7c04277
0 ETH0.000291366.3
Approve208503552024-09-28 16:33:2397 days ago1727541203IN
0xf59Baa2a...1c7c04277
0 ETH0.000363157.85022314
Transfer207870792024-09-19 20:38:11106 days ago1726778291IN
0xf59Baa2a...1c7c04277
0 ETH0.00045639.34529843
Approve206321322024-08-29 5:23:35128 days ago1724909015IN
0xf59Baa2a...1c7c04277
0 ETH0.000036030.7792004
Approve204965212024-08-10 6:48:35147 days ago1723272515IN
0xf59Baa2a...1c7c04277
0 ETH0.0005493211.88983158
Approve200990222024-06-15 18:36:11202 days ago1718476571IN
0xf59Baa2a...1c7c04277
0 ETH0.000197724.2740474
Approve199612232024-05-27 12:30:47221 days ago1716813047IN
0xf59Baa2a...1c7c04277
0 ETH0.0007346215.88412125
Approve191066372024-01-28 17:51:23341 days ago1706464283IN
0xf59Baa2a...1c7c04277
0 ETH0.0003914216.21135496
Transfer191056552024-01-28 14:34:35341 days ago1706452475IN
0xf59Baa2a...1c7c04277
0 ETH0.0007350613.69163693
Approve190129762024-01-15 14:48:23354 days ago1705330103IN
0xf59Baa2a...1c7c04277
0 ETH0.0014112330.5059477
Approve189512982024-01-06 23:11:23363 days ago1704582683IN
0xf59Baa2a...1c7c04277
0 ETH0.0004005916.55013593
Permit188026802023-12-17 2:08:11384 days ago1702778891IN
0xf59Baa2a...1c7c04277
0 ETH0.0013400436.03716412
Approve188008392023-12-16 19:56:35384 days ago1702756595IN
0xf59Baa2a...1c7c04277
0 ETH0.0010619943.87490517
Approve187966862023-12-16 5:56:59385 days ago1702706219IN
0xf59Baa2a...1c7c04277
0 ETH0.0044503995.85372495
Approve187945152023-12-15 22:34:11385 days ago1702679651IN
0xf59Baa2a...1c7c04277
0 ETH0.0024352752.38380452
Approve187944332023-12-15 22:17:47385 days ago1702678667IN
0xf59Baa2a...1c7c04277
0 ETH0.0045475897.94702237
Approve187943052023-12-15 21:51:47385 days ago1702677107IN
0xf59Baa2a...1c7c04277
0 ETH0.0036887579.34686961
Approve187943052023-12-15 21:51:47385 days ago1702677107IN
0xf59Baa2a...1c7c04277
0 ETH0.00485098104.34686961
Approve187943032023-12-15 21:51:23385 days ago1702677083IN
0xf59Baa2a...1c7c04277
0 ETH0.0042024590.39666935
Approve187943032023-12-15 21:51:23385 days ago1702677083IN
0xf59Baa2a...1c7c04277
0 ETH0.0044348995.39666935
Approve187943012023-12-15 21:50:59385 days ago1702677059IN
0xf59Baa2a...1c7c04277
0 ETH0.0039712385.42314393
Approve187943002023-12-15 21:50:47385 days ago1702677047IN
0xf59Baa2a...1c7c04277
0 ETH0.00414789.20396532
Approve187943002023-12-15 21:50:47385 days ago1702677047IN
0xf59Baa2a...1c7c04277
0 ETH0.00414789.20396532
Approve187942992023-12-15 21:50:35385 days ago1702677035IN
0xf59Baa2a...1c7c04277
0 ETH0.00789437169.81176714
Approve187942852023-12-15 21:47:47385 days ago1702676867IN
0xf59Baa2a...1c7c04277
0 ETH0.002247448.34271823
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:
Degen

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 20000 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2023-04-22
*/

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

    /*//////////////////////////////////////////////////////////////
                              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
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

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

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

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


pragma solidity >=0.8.0;

/// @notice Simple single owner authorization mixin.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)
abstract contract Owned {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event OwnershipTransferred(address indexed user, address indexed newOwner);

    /*//////////////////////////////////////////////////////////////
                            OWNERSHIP STORAGE
    //////////////////////////////////////////////////////////////*/

    address public owner;

    modifier onlyOwner() virtual {
        require(msg.sender == owner, "UNAUTHORIZED");

        _;
    }

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

    constructor(address _owner) {
        owner = _owner;

        emit OwnershipTransferred(address(0), _owner);
    }

    /*//////////////////////////////////////////////////////////////
                             OWNERSHIP LOGIC
    //////////////////////////////////////////////////////////////*/

    function transferOwnership(address newOwner) public virtual onlyOwner {
        owner = newOwner;

        emit OwnershipTransferred(msg.sender, newOwner);
    }
}

pragma solidity >= 0.8.0 < 0.9.0;

contract Degen is ERC20, Owned {
    mapping(address => bool) private _excludes;
    // anti mev-bot
    mapping(address => uint256) private _lastTime;

    uint256 public mWalletSize;

    bool public walletLimit = true;
    bool public botPrevention = true;

    constructor() ERC20("Degen", "$DEGEN", 18) Owned(msg.sender) {
        _mint(msg.sender, 69_420_000_000_000 * 10 ** decimals);
        mWalletSize = totalSupply / 100; // 1%
    }

    function exclude(address to) public onlyOwner {
        require(!_excludes[to], "Already excluded");
        _excludes[to] = true;
    }

    function disableWalletLimit() public onlyOwner {
        walletLimit = false;
    }

    function disableBotPrevention() public onlyOwner {
        botPrevention = false;
    }

    function _check(address from, address to, uint amount) private {
        if (walletLimit && !_excludes[to]) {
            if (from != owner && to != owner) {
                require(balanceOf[to] + amount <= mWalletSize, "TOKEN: Amount exceeds maximum wallet size");
            }
        }

        if (botPrevention) {
            require(_lastTime[tx.origin] != block.number, "ERC20: BOT");
            _lastTime[tx.origin] = block.number;
        }
    }

    function transfer(address to, uint amount) public override returns (bool) {
        _check(msg.sender, to, amount);
        return super.transfer(to, amount);
    }

    function transferFrom(address from, address to, uint amount) public override returns (bool) {
        _check(from, to, amount);
        return super.transferFrom(from, to, amount);
    }
}

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":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"botPrevention","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableBotPrevention","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"exclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"owner","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":[],"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":"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"walletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60e0604052600a805461ffff19166101011790553480156200002057600080fd5b5033604051806040016040528060058152602001642232b3b2b760d91b81525060405180604001604052806006815260200165122222a3a2a760d11b81525060128260009081620000729190620002df565b506001620000818382620002df565b5060ff81166080524660a0526200009762000131565b60c0525050600680546001600160a01b0319166001600160a01b0384169081179091556040519091506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200011733608051600a620000ff9190620004c0565b6200011190653f231a70b800620004d8565b620001cd565b6064600254620001289190620004f2565b600955620005a9565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405162000165919062000515565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060026000828254620001e1919062000593565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200026557607f821691505b6020821081036200028657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002da57600081815260208120601f850160051c81016020861015620002b55750805b601f850160051c820191505b81811015620002d657828155600101620002c1565b5050505b505050565b81516001600160401b03811115620002fb57620002fb6200023a565b62000313816200030c845462000250565b846200028c565b602080601f8311600181146200034b5760008415620003325750858301515b600019600386901b1c1916600185901b178555620002d6565b600085815260208120601f198616915b828110156200037c578886015182559484019460019091019084016200035b565b50858210156200039b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000402578160001904821115620003e657620003e6620003ab565b80851615620003f457918102915b93841c9390800290620003c6565b509250929050565b6000826200041b57506001620004ba565b816200042a57506000620004ba565b81600181146200044357600281146200044e576200046e565b6001915050620004ba565b60ff841115620004625762000462620003ab565b50506001821b620004ba565b5060208310610133831016604e8410600b841016171562000493575081810a620004ba565b6200049f8383620003c1565b8060001904821115620004b657620004b6620003ab565b0290505b92915050565b6000620004d160ff8416836200040a565b9392505050565b8082028115828204841417620004ba57620004ba620003ab565b6000826200051057634e487b7160e01b600052601260045260246000fd5b500490565b6000808354620005258162000250565b60018281168015620005405760018114620005565762000587565b60ff198416875282151583028701945062000587565b8760005260208060002060005b858110156200057e5781548a82015290840190820162000563565b50505082870194505b50929695505050505050565b80820180821115620004ba57620004ba620003ab565b60805160a05160c051611393620005d9600039600061056c01526000610537015260006101eb01526113936000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c8063697cfc19116100cd578063a9059cbb11610081578063d8cdf48b11610066578063d8cdf48b1461030b578063dd62ed3e1461031d578063f2fde38b1461034857600080fd5b8063a9059cbb146102e5578063d505accf146102f857600080fd5b80637ecebe00116100b25780637ecebe00146102785780638da5cb5b1461029857806395d89b41146102dd57600080fd5b8063697cfc191461025057806370a082311461025857600080fd5b8063313ce567116101245780633c8463a1116101095780633c8463a1146102275780634febf53d146102345780635acb6bb51461024757600080fd5b8063313ce567146101e65780633644e5151461021f57600080fd5b80630a37dde7116101555780630a37dde7146101b257806318160ddd146101bc57806323b872dd146101d357600080fd5b806306fdde0314610171578063095ea7b31461018f575b600080fd5b61017961035b565b6040516101869190611023565b60405180910390f35b6101a261019d3660046110b8565b6103e9565b6040519015158152602001610186565b6101ba610463565b005b6101c560025481565b604051908152602001610186565b6101a26101e13660046110e2565b610513565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610186565b6101c5610533565b600a546101a29060ff1681565b6101ba61024236600461111e565b61058e565b6101c560095481565b6101ba6106ee565b6101c561026636600461111e565b60036020526000908152604090205481565b6101c561028636600461111e565b60056020526000908152604090205481565b6006546102b89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b610179610799565b6101a26102f33660046110b8565b6107a6565b6101ba610306366004611139565b6107c4565b600a546101a290610100900460ff1681565b6101c561032b3660046111ac565b600460209081526000928352604080842090915290825290205481565b6101ba61035636600461111e565b610ae3565b60008054610368906111df565b80601f0160208091040260200160405190810160405280929190818152602001828054610394906111df565b80156103e15780601f106103b6576101008083540402835291602001916103e1565b820191906000526020600020905b8154815290600101906020018083116103c457829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104519086815260200190565b60405180910390a35060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1633146104e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055565b6000610520848484610bd5565b61052b848484610dc0565b949350505050565b60007f0000000000000000000000000000000000000000000000000000000000000000461461056957610564610f04565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b60065473ffffffffffffffffffffffffffffffffffffffff16331461060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205460ff161561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f416c7265616479206578636c756465640000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff16600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60065473ffffffffffffffffffffffffffffffffffffffff16331461076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60018054610368906111df565b60006107b3338484610bd5565b6107bd8383610f9e565b9392505050565b4284101561082e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016104e0565b6000600161083a610533565b73ffffffffffffffffffffffffffffffffffffffff8a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e0830190915280519201919091207f190100000000000000000000000000000000000000000000000000000000000061010083015261010282019290925261012281019190915261014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561098c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610a0757508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e455200000000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610b64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b600a5460ff168015610c0d575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff16155b15610d1f5760065473ffffffffffffffffffffffffffffffffffffffff848116911614801590610c58575060065473ffffffffffffffffffffffffffffffffffffffff838116911614155b15610d1f5760095473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902054610c91908390611261565b1115610d1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f544f4b454e3a20416d6f756e742065786365656473206d6178696d756d20776160448201527f6c6c65742073697a65000000000000000000000000000000000000000000000060648201526084016104e0565b600a54610100900460ff1615610dbb5732600090815260086020526040902054439003610da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f45524332303a20424f540000000000000000000000000000000000000000000060448201526064016104e0565b3260009081526008602052604090204390555b505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e5457610e228382611274565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff851660009081526003602052604081208054859290610e89908490611274565b909155505073ffffffffffffffffffffffffffffffffffffffff808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef19087815260200190565b60405180910390a3506001949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610f369190611287565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b33600090815260036020526040812080548391908390610fbf908490611274565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104519086815260200190565b600060208083528351808285015260005b8181101561105057858101830151858201604001528201611034565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146110b357600080fd5b919050565b600080604083850312156110cb57600080fd5b6110d48361108f565b946020939093013593505050565b6000806000606084860312156110f757600080fd5b6111008461108f565b925061110e6020850161108f565b9150604084013590509250925092565b60006020828403121561113057600080fd5b6107bd8261108f565b600080600080600080600060e0888a03121561115457600080fd5b61115d8861108f565b965061116b6020890161108f565b95506040880135945060608801359350608088013560ff8116811461118f57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156111bf57600080fd5b6111c88361108f565b91506111d66020840161108f565b90509250929050565b600181811c908216806111f357607f821691505b60208210810361122c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561045d5761045d611232565b8181038181111561045d5761045d611232565b600080835481600182811c9150808316806112a357607f831692505b602080841082036112db577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b8180156112ef57600181146113225761134f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616895284151585028901965061134f565b60008a81526020902060005b868110156113475781548b82015290850190830161132e565b505084890196505b50949897505050505050505056fea264697066735822122048dbc20cf2b332518801caadc133615bd3793ac7991099c318c4d47a7d86f0b464736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061016c5760003560e01c8063697cfc19116100cd578063a9059cbb11610081578063d8cdf48b11610066578063d8cdf48b1461030b578063dd62ed3e1461031d578063f2fde38b1461034857600080fd5b8063a9059cbb146102e5578063d505accf146102f857600080fd5b80637ecebe00116100b25780637ecebe00146102785780638da5cb5b1461029857806395d89b41146102dd57600080fd5b8063697cfc191461025057806370a082311461025857600080fd5b8063313ce567116101245780633c8463a1116101095780633c8463a1146102275780634febf53d146102345780635acb6bb51461024757600080fd5b8063313ce567146101e65780633644e5151461021f57600080fd5b80630a37dde7116101555780630a37dde7146101b257806318160ddd146101bc57806323b872dd146101d357600080fd5b806306fdde0314610171578063095ea7b31461018f575b600080fd5b61017961035b565b6040516101869190611023565b60405180910390f35b6101a261019d3660046110b8565b6103e9565b6040519015158152602001610186565b6101ba610463565b005b6101c560025481565b604051908152602001610186565b6101a26101e13660046110e2565b610513565b61020d7f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff9091168152602001610186565b6101c5610533565b600a546101a29060ff1681565b6101ba61024236600461111e565b61058e565b6101c560095481565b6101ba6106ee565b6101c561026636600461111e565b60036020526000908152604090205481565b6101c561028636600461111e565b60056020526000908152604090205481565b6006546102b89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b610179610799565b6101a26102f33660046110b8565b6107a6565b6101ba610306366004611139565b6107c4565b600a546101a290610100900460ff1681565b6101c561032b3660046111ac565b600460209081526000928352604080842090915290825290205481565b6101ba61035636600461111e565b610ae3565b60008054610368906111df565b80601f0160208091040260200160405190810160405280929190818152602001828054610394906111df565b80156103e15780601f106103b6576101008083540402835291602001916103e1565b820191906000526020600020905b8154815290600101906020018083116103c457829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104519086815260200190565b60405180910390a35060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1633146104e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055565b6000610520848484610bd5565b61052b848484610dc0565b949350505050565b60007f0000000000000000000000000000000000000000000000000000000000000001461461056957610564610f04565b905090565b507f25070d3eb0c18e57e4cb49aa41eecb9b82eed25e3054167294bb2b67e2c6c58190565b60065473ffffffffffffffffffffffffffffffffffffffff16331461060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205460ff161561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f416c7265616479206578636c756465640000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff16600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60065473ffffffffffffffffffffffffffffffffffffffff16331461076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60018054610368906111df565b60006107b3338484610bd5565b6107bd8383610f9e565b9392505050565b4284101561082e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016104e0565b6000600161083a610533565b73ffffffffffffffffffffffffffffffffffffffff8a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e0830190915280519201919091207f190100000000000000000000000000000000000000000000000000000000000061010083015261010282019290925261012281019190915261014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561098c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610a0757508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e455200000000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610b64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b600a5460ff168015610c0d575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff16155b15610d1f5760065473ffffffffffffffffffffffffffffffffffffffff848116911614801590610c58575060065473ffffffffffffffffffffffffffffffffffffffff838116911614155b15610d1f5760095473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902054610c91908390611261565b1115610d1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f544f4b454e3a20416d6f756e742065786365656473206d6178696d756d20776160448201527f6c6c65742073697a65000000000000000000000000000000000000000000000060648201526084016104e0565b600a54610100900460ff1615610dbb5732600090815260086020526040902054439003610da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f45524332303a20424f540000000000000000000000000000000000000000000060448201526064016104e0565b3260009081526008602052604090204390555b505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e5457610e228382611274565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff851660009081526003602052604081208054859290610e89908490611274565b909155505073ffffffffffffffffffffffffffffffffffffffff808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef19087815260200190565b60405180910390a3506001949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610f369190611287565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b33600090815260036020526040812080548391908390610fbf908490611274565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104519086815260200190565b600060208083528351808285015260005b8181101561105057858101830151858201604001528201611034565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146110b357600080fd5b919050565b600080604083850312156110cb57600080fd5b6110d48361108f565b946020939093013593505050565b6000806000606084860312156110f757600080fd5b6111008461108f565b925061110e6020850161108f565b9150604084013590509250925092565b60006020828403121561113057600080fd5b6107bd8261108f565b600080600080600080600060e0888a03121561115457600080fd5b61115d8861108f565b965061116b6020890161108f565b95506040880135945060608801359350608088013560ff8116811461118f57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156111bf57600080fd5b6111c88361108f565b91506111d66020840161108f565b90509250929050565b600181811c908216806111f357607f821691505b60208210810361122c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561045d5761045d611232565b8181038181111561045d5761045d611232565b600080835481600182811c9150808316806112a357607f831692505b602080841082036112db577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b8180156112ef57600181146113225761134f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616895284151585028901965061134f565b60008a81526020902060005b868110156113475781548b82015290850190830161132e565b505084890196505b50949897505050505050505056fea264697066735822122048dbc20cf2b332518801caadc133615bd3793ac7991099c318c4d47a7d86f0b464736f6c63430008120033

Deployed Bytecode Sourcemap

8538:1646:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1051:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2528:217;;;;;;:::i;:::-;;:::i;:::-;;;1251:14:1;;1244:22;1226:41;;1214:2;1199:18;2528:217:0;1086:187:1;9243:89:0;;;:::i;:::-;;1334:26;;;;;;;;;1424:25:1;;;1412:2;1397:18;1334:26:0;1278:177:1;9992:189:0;;;;;;:::i;:::-;;:::i;1107:31::-;;;;;;;;1965:4:1;1953:17;;;1935:36;;1923:2;1908:18;1107:31:0;1793:184:1;5488:179:0;;;:::i;8735:30::-;;;;;;;;;9003:139;;;;;;:::i;:::-;;:::i;8700:26::-;;;;;;9150:85;;;:::i;1369:44::-;;;;;;:::i;:::-;;;;;;;;;;;;;;1795:41;;;;;;:::i;:::-;;;;;;;;;;;;;;7685:20;;;;;;;;;;;;2531:42:1;2519:55;;;2501:74;;2489:2;2474:18;7685:20:0;2355:226:1;1078:20:0;;;:::i;9817:167::-;;;;;;:::i;:::-;;:::i;3953:1527::-;;;;;;:::i;:::-;;:::i;8772:32::-;;;;;;;;;;;;1422:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;8329:165;;;;;;:::i;:::-;;:::i;1051:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2528:217::-;2629:10;2602:4;2619:21;;;:9;:21;;;;;;;;;:30;;;;;;;;;;:39;;;2676:37;2602:4;;2619:30;;2676:37;;;;2652:6;1424:25:1;;1412:2;1397:18;;1278:177;2676:37:0;;;;;;;;-1:-1:-1;2733:4:0;2528:217;;;;;:::o;9243:89::-;7776:5;;;;7762:10;:19;7754:44;;;;;;;4193:2:1;7754:44:0;;;4175:21:1;4232:2;4212:18;;;4205:30;4271:14;4251:18;;;4244:42;4303:18;;7754:44:0;;;;;;;;;9303:13:::1;:21:::0;;;::::1;::::0;;9243:89::o;9992:189::-;10078:4;10095:24;10102:4;10108:2;10112:6;10095;:24::i;:::-;10137:36;10156:4;10162:2;10166:6;10137:18;:36::i;:::-;10130:43;9992:189;-1:-1:-1;;;;9992:189:0:o;5488:179::-;5545:7;5589:16;5572:13;:33;:87;;5635:24;:22;:24::i;:::-;5565:94;;5488:179;:::o;5572:87::-;-1:-1:-1;5608:24:0;;5488:179::o;9003:139::-;7776:5;;;;7762:10;:19;7754:44;;;;;;;4193:2:1;7754:44:0;;;4175:21:1;4232:2;4212:18;;;4205:30;4271:14;4251:18;;;4244:42;4303:18;;7754:44:0;3991:336:1;7754:44:0;9069:13:::1;::::0;::::1;;::::0;;;:9:::1;:13;::::0;;;;;::::1;;9068:14;9060:43;;;::::0;::::1;::::0;;4534:2:1;9060:43:0::1;::::0;::::1;4516:21:1::0;4573:2;4553:18;;;4546:30;4612:18;4592;;;4585:46;4648:18;;9060:43:0::1;4332:340:1::0;9060:43:0::1;9114:13;;;::::0;;;:9:::1;:13;::::0;;;;:20;;;::::1;9130:4;9114:20;::::0;;9003:139::o;9150:85::-;7776:5;;;;7762:10;:19;7754:44;;;;;;;4193:2:1;7754:44:0;;;4175:21:1;4232:2;4212:18;;;4205:30;4271:14;4251:18;;;4244:42;4303:18;;7754:44:0;3991:336:1;7754:44:0;9208:11:::1;:19:::0;;;::::1;::::0;;9150:85::o;1078:20::-;;;;;;;:::i;9817:167::-;9885:4;9902:30;9909:10;9921:2;9925:6;9902;:30::i;:::-;9950:26;9965:2;9969:6;9950:14;:26::i;:::-;9943:33;9817:167;-1:-1:-1;;;9817:167:0:o;3953:1527::-;4181:15;4169:8;:27;;4161:63;;;;;;;4879:2:1;4161:63:0;;;4861:21:1;4918:2;4898:18;;;4891:30;4957:25;4937:18;;;4930:53;5000:18;;4161:63:0;4677:347:1;4161:63:0;4394:24;4421:827;4561:18;:16;:18::i;:::-;5015:13;;;;;;;;:6;:13;;;;;;;;;:15;;;;;;;;4646:458;;4691:167;4646:458;;;5316:25:1;5418:18;;;5411:43;;;;5490:15;;;5470:18;;;5463:43;5522:18;;;5515:34;;;5565:19;;;5558:35;;;;5609:19;;;;5602:35;;;4646:458:0;;;;;;;;;;5288:19:1;;;4646:458:0;;;4606:525;;;;;;;;5918:66:1;4481:673:0;;;5906:79:1;6001:11;;;5994:27;;;;6037:12;;;6030:28;;;;6074:12;;4481:673:0;;;;;;;;;;;;;4449:724;;4481:673;4449:724;;;;4421:827;;;;;;;;;6324:25:1;6397:4;6385:17;;6365:18;;;6358:45;6419:18;;;6412:34;;;6462:18;;;6455:34;;;6296:19;;4421:827:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4421:827:0;;;;;;-1:-1:-1;;5273:30:0;;;;;;;:59;;;5327:5;5307:25;;:16;:25;;;5273:59;5265:86;;;;;;;6702:2:1;5265:86:0;;;6684:21:1;6741:2;6721:18;;;6714:30;6780:16;6760:18;;;6753:44;6814:18;;5265:86:0;6500:338:1;5265:86:0;5368:27;;;;;;;;:9;:27;;;;;;;;:36;;;;;;;;;;;;;:44;;;5441:31;1424:25:1;;;5368:36:0;;5441:31;;;;;1397:18:1;5441:31:0;;;;;;;3953:1527;;;;;;;:::o;8329:165::-;7776:5;;;;7762:10;:19;7754:44;;;;;;;4193:2:1;7754:44:0;;;4175:21:1;4232:2;4212:18;;;4205:30;4271:14;4251:18;;;4244:42;4303:18;;7754:44:0;3991:336:1;7754:44:0;8410:5:::1;:16:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;8444:42:::1;::::0;8465:10:::1;::::0;8444:42:::1;::::0;-1:-1:-1;;8444:42:0::1;8329:165:::0;:::o;9340:469::-;9418:11;;;;:29;;;;-1:-1:-1;9434:13:0;;;;;;;:9;:13;;;;;;;;9433:14;9418:29;9414:221;;;9476:5;;;9468:13;;;9476:5;;9468:13;;;;:28;;-1:-1:-1;9491:5:0;;;9485:11;;;9491:5;;9485:11;;9468:28;9464:160;;;9551:11;;9525:13;;;;;;;:9;:13;;;;;;:22;;9541:6;;9525:22;:::i;:::-;:37;;9517:91;;;;;;;7364:2:1;9517:91:0;;;7346:21:1;7403:2;7383:18;;;7376:30;7442:34;7422:18;;;7415:62;7513:11;7493:18;;;7486:39;7542:19;;9517:91:0;7162:405:1;9517:91:0;9651:13;;;;;;;9647:155;;;9699:9;9689:20;;;;:9;:20;;;;;;9713:12;9689:36;;9681:59;;;;;;;7774:2:1;9681:59:0;;;7756:21:1;7813:2;7793:18;;;7786:30;7852:12;7832:18;;;7825:40;7882:18;;9681:59:0;7572:334:1;9681:59:0;9765:9;9755:20;;;;:9;:20;;;;;9778:12;9755:35;;9647:155;9340:469;;;:::o;3146:612::-;3303:15;;;3268:4;3303:15;;;:9;:15;;;;;;;;3319:10;3303:27;;;;;;;;3394:17;3383:28;;3379:80;;3443:16;3453:6;3443:7;:16;:::i;:::-;3413:15;;;;;;;:9;:15;;;;;;;;3429:10;3413:27;;;;;;;:46;3379:80;3472:15;;;;;;;:9;:15;;;;;:25;;3491:6;;3472:15;:25;;3491:6;;3472:25;:::i;:::-;;;;-1:-1:-1;;3648:13:0;;;;;;;;:9;:13;;;;;;;:23;;;;;;3700:26;3648:13;;3700:26;;;;;;;3665:6;1424:25:1;;1412:2;1397:18;;1278:177;3700:26:0;;;;;;;;-1:-1:-1;3746:4:0;;3146:612;-1:-1:-1;;;;3146:612:0:o;5675:457::-;5740:7;5841:95;5975:4;5959:22;;;;;;:::i;:::-;;;;;;;;;;5808:301;;;9685:25:1;;;;9726:18;;9719:34;;;;6004:14:0;9769:18:1;;;9762:34;6041:13:0;9812:18:1;;;9805:34;6085:4:0;9855:19:1;;;9848:84;9657:19;;5808:301:0;;;;;;;;;;;;5780:344;;;;;;5760:364;;5675:457;:::o;2753:385::-;2850:10;2823:4;2840:21;;;:9;:21;;;;;:31;;2865:6;;2840:21;2823:4;;2840:31;;2865:6;;2840:31;:::i;:::-;;;;-1:-1:-1;;3022:13:0;;;;;;;:9;:13;;;;;;;:23;;;;;;3074:32;3083:10;;3074:32;;;;3039:6;1424:25:1;;1412:2;1397:18;;1278:177;14:607;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;612:2;542:66;537:2;529:6;525:15;521:88;510:9;506:104;502:113;494:121;;;;14:607;;;;:::o;626:196::-;694:20;;754:42;743:54;;733:65;;723:93;;812:1;809;802:12;723:93;626:196;;;:::o;827:254::-;895:6;903;956:2;944:9;935:7;931:23;927:32;924:52;;;972:1;969;962:12;924:52;995:29;1014:9;995:29;:::i;:::-;985:39;1071:2;1056:18;;;;1043:32;;-1:-1:-1;;;827:254:1:o;1460:328::-;1537:6;1545;1553;1606:2;1594:9;1585:7;1581:23;1577:32;1574:52;;;1622:1;1619;1612:12;1574:52;1645:29;1664:9;1645:29;:::i;:::-;1635:39;;1693:38;1727:2;1716:9;1712:18;1693:38;:::i;:::-;1683:48;;1778:2;1767:9;1763:18;1750:32;1740:42;;1460:328;;;;;:::o;2164:186::-;2223:6;2276:2;2264:9;2255:7;2251:23;2247:32;2244:52;;;2292:1;2289;2282:12;2244:52;2315:29;2334:9;2315:29;:::i;2586:693::-;2697:6;2705;2713;2721;2729;2737;2745;2798:3;2786:9;2777:7;2773:23;2769:33;2766:53;;;2815:1;2812;2805:12;2766:53;2838:29;2857:9;2838:29;:::i;:::-;2828:39;;2886:38;2920:2;2909:9;2905:18;2886:38;:::i;:::-;2876:48;;2971:2;2960:9;2956:18;2943:32;2933:42;;3022:2;3011:9;3007:18;2994:32;2984:42;;3076:3;3065:9;3061:19;3048:33;3121:4;3114:5;3110:16;3103:5;3100:27;3090:55;;3141:1;3138;3131:12;3090:55;2586:693;;;;-1:-1:-1;2586:693:1;;;;3164:5;3216:3;3201:19;;3188:33;;-1:-1:-1;3268:3:1;3253:19;;;3240:33;;2586:693;-1:-1:-1;;2586:693:1:o;3284:260::-;3352:6;3360;3413:2;3401:9;3392:7;3388:23;3384:32;3381:52;;;3429:1;3426;3419:12;3381:52;3452:29;3471:9;3452:29;:::i;:::-;3442:39;;3500:38;3534:2;3523:9;3519:18;3500:38;:::i;:::-;3490:48;;3284:260;;;;;:::o;3549:437::-;3628:1;3624:12;;;;3671;;;3692:61;;3746:4;3738:6;3734:17;3724:27;;3692:61;3799:2;3791:6;3788:14;3768:18;3765:38;3762:218;;3836:77;3833:1;3826:88;3937:4;3934:1;3927:15;3965:4;3962:1;3955:15;3762:218;;3549:437;;;:::o;6843:184::-;6895:77;6892:1;6885:88;6992:4;6989:1;6982:15;7016:4;7013:1;7006:15;7032:125;7097:9;;;7118:10;;;7115:36;;;7131:18;;:::i;7911:128::-;7978:9;;;7999:11;;;7996:37;;;8013:18;;:::i;8173:1248::-;8303:3;8332:1;8365:6;8359:13;8395:3;8417:1;8445:9;8441:2;8437:18;8427:28;;8505:2;8494:9;8490:18;8527;8517:61;;8571:4;8563:6;8559:17;8549:27;;8517:61;8597:2;8645;8637:6;8634:14;8614:18;8611:38;8608:222;;8684:77;8679:3;8672:90;8785:4;8782:1;8775:15;8815:4;8810:3;8803:17;8608:222;8846:18;8873:191;;;;9078:1;9073:323;;;;8839:557;;8873:191;8921:66;8910:9;8906:82;8901:3;8894:95;9044:6;9037:14;9030:22;9022:6;9018:35;9013:3;9009:45;9002:52;;8873:191;;9073:323;8120:1;8113:14;;;8157:4;8144:18;;9171:1;9185:165;9199:6;9196:1;9193:13;9185:165;;;9277:14;;9264:11;;;9257:35;9320:16;;;;9214:10;;9185:165;;;9189:3;;9379:6;9374:3;9370:16;9363:23;;8839:557;-1:-1:-1;9412:3:1;;8173:1248;-1:-1:-1;;;;;;;;8173:1248:1:o

Swarm Source

ipfs://48dbc20cf2b332518801caadc133615bd3793ac7991099c318c4d47a7d86f0b4

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.