Contract 0xca493d6d3522ecddaa411f57ce15b1a8b85369c2

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x6013f5993039ef84d460d1ea3649f4370e578d56760e420ac1904fa281c65516Transfer117797682022-01-15 7:55:3611 days 17 hrs ago0xe1e570ed74f6525bae7bad9c48cd7026a4f21cf3 IN 0xca493d6d3522ecddaa411f57ce15b1a8b85369c20 HT0.000235485 2.25
0x908a37e0994f5d15232eef4aa8feb798aa8bc8dc37a110777cd00149a7b5046aApprove117797202022-01-15 7:53:1211 days 17 hrs ago0xe1e570ed74f6525bae7bad9c48cd7026a4f21cf3 IN 0xca493d6d3522ecddaa411f57ce15b1a8b85369c20 HT0.00010476675 2.25
0xe12c42826501dfdeaef13286e83654dc900f6d3676759bd64b90268e23d3d70cChange Router117796822022-01-15 7:51:1811 days 17 hrs ago0xa75aed517685994d5a39f173b75911a833e734db IN 0xca493d6d3522ecddaa411f57ce15b1a8b85369c20 HT0.000065322 2.25
0xd968de53e42209581b1664a558e6901b6b59967c8fb8fcae3e518ed11d6115c4Approve117795482022-01-15 7:44:3611 days 17 hrs ago0xedff5ffd12d57ffba9918e0ea21d22ef32f0f137 IN 0xca493d6d3522ecddaa411f57ce15b1a8b85369c20 HT0.00010476675 2.25
0xe5a1001a0cf9c31f879e38a51465a0e690f88ec2308a5f2f626ef814cadc48930x60806040117794942022-01-15 7:41:5411 days 17 hrs ago0xa75aed517685994d5a39f173b75911a833e734db IN  Create: HelloTiger0 HT0.00338706 2.5
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HelloTiger

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at hecoinfo.com on 2022-01-15
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.6;


interface IERC20 {
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: 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
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable {
    address public _owner;

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function changeOwner(address newOwner) public onlyOwner {
        _owner = newOwner;
    }
}

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

contract HelloTiger is IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;

    mapping(address => bool) private _isExcludedFromFee;

    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal;
    uint256 public _tTotalFeeMax;
    uint256 private _rTotal;
    uint256 private _tFeeTotal;

    string private _name;
    string private _symbol;
    uint256 private _decimals;
    address private _destroyAddress =
        address(0x000000000000000000000000000000000000dEaD);
    

    address public uniswapV2Pair = _destroyAddress;
    address private _chainFunAddress;
    

    constructor(address tokenOwner,address chainFunAddress) {
        _name = "HelloTiger";
        _symbol = "HelloTiger";
        _decimals = 18;
        _tTotal = 10**15 * 10**_decimals;
        _tTotalFeeMax = 9999999* 10**8 * 10**_decimals;
        _rTotal = (MAX - (MAX % _tTotal));
        _rOwned[tokenOwner] = _rTotal;
        _isExcludedFromFee[tokenOwner] = true;
        _chainFunAddress = chainFunAddress;
        
        _owner = msg.sender;
        emit Transfer(address(0), tokenOwner, _tTotal);
    }

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

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

    function decimals() public view returns (uint256) {
        return _decimals;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            msg.sender,
            _allowances[sender][msg.sender].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function tokenFromReflection(uint256 rAmount)
        public
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }

    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    receive() external payable {}

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function claimTokens() public onlyOwner {
        payable(_owner).transfer(address(this).balance);
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 destroyAmount = balanceOf(_destroyAddress);
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || destroyAmount >= _tTotalFeeMax){
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
    }


    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {
        uint256 currentRate = _getRate();
        uint256 rAmount = tAmount.mul(currentRate);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);

        uint256 rate;
        if (takeFee) {
            _takeTransfer(
            sender,
            _destroyAddress,
            tAmount.div(20),
            currentRate
            );
            _takeTransfer(
            sender,
            uniswapV2Pair,
            tAmount.div(100),
            currentRate
            );
            _takeTransfer(
            sender,
            _chainFunAddress,
            tAmount.div(50),
            currentRate
            );   
             
            
            _reflectFee(
            rAmount.div(50),
            tAmount.div(50)
            );
            rate = 10;
        }
        uint256 recipientRate = 100 - rate;
        _rOwned[recipient] = _rOwned[recipient].add(
            rAmount.div(100).mul(recipientRate)
        );
        emit Transfer(sender, recipient, tAmount.div(100).mul(recipientRate));
    }


    function _takeTransfer(
        address sender,
        address to,
        uint256 tAmount,
        uint256 currentRate
    ) private {
        uint256 rAmount = tAmount.mul(currentRate);
        _rOwned[to] = _rOwned[to].add(rAmount);
        emit Transfer(sender, to, tAmount);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function changeRouter(address router) public onlyOwner {
        uniswapV2Pair = router;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"chainFunAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotalFeeMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"changeRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600c805461dead6001600160a01b03199182168117909255600d805490911690911790553480156200003557600080fd5b50604051620016f2380380620016f283398101604081905262000058916200028c565b60408051808201909152600a808252692432b63637aa34b3b2b960b11b60209092019182526200008b91600991620001c9565b5060408051808201909152600a808252692432b63637aa34b3b2b960b11b6020909201918252620000bd9181620001c9565b506012600b819055620000d290600a6200030d565b620000e59066038d7ea4c68000620003d8565b600555600b54620000f890600a6200030d565b6200010b9066038d7e9ed09f00620003d8565b6006556005546200011f9060001962000451565b6200012d90600019620003fa565b60078190556001600160a01b0380841660008181526001602081815260408084209690965560049052848220805460ff19169091179055600e80549386166001600160a01b0319948516179055805490921633178255600554925190927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620001b991815260200190565b60405180910390a350506200048a565b828054620001d79062000414565b90600052602060002090601f016020900481019282620001fb576000855562000246565b82601f106200021657805160ff191683800117855562000246565b8280016001018555821562000246579182015b828111156200024657825182559160200191906001019062000229565b506200025492915062000258565b5090565b5b8082111562000254576000815560010162000259565b80516001600160a01b03811681146200028757600080fd5b919050565b60008060408385031215620002a057600080fd5b620002ab836200026f565b9150620002bb602084016200026f565b90509250929050565b600181815b8085111562000305578160001904821115620002e957620002e962000474565b80851615620002f757918102915b93841c9390800290620002c9565b509250929050565b60006200031b838362000322565b9392505050565b6000826200033357506001620003d2565b816200034257506000620003d2565b81600181146200035b5760028114620003665762000386565b6001915050620003d2565b60ff8411156200037a576200037a62000474565b50506001821b620003d2565b5060208310610133831016604e8410600b8410161715620003ab575081810a620003d2565b620003b78383620002c4565b8060001904821115620003ce57620003ce62000474565b0290505b92915050565b6000816000190483118215151615620003f557620003f562000474565b500290565b6000828210156200040f576200040f62000474565b500390565b600181811c908216806200042957607f821691505b602082108114156200044b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000826200046f57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b611258806200049a6000396000f3fe6080604052600436106101445760003560e01c806348c54b9d116100b6578063a457c2d71161006f578063a457c2d714610389578063a6f9dae1146103a9578063a9059cbb146103c9578063b2bdfa7b146103e9578063dd62ed3e14610409578063ea2f0b371461044f57600080fd5b806348c54b9d146102b057806349bd5a5e146102c55780635342acb4146102fd57806370a08231146103365780638da5cb5b1461035657806395d89b411461037457600080fd5b806323b872dd1161010857806323b872dd146101f95780632d83811914610219578063313ce56714610239578063340ac20f1461024e5780633950935114610270578063437823ec1461029057600080fd5b806306fdde0314610150578063095ea7b31461017b5780630d72efcb146101ab57806313114a9d146101cf57806318160ddd146101e457600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061016561046f565b604051610172919061108a565b60405180910390f35b34801561018757600080fd5b5061019b610196366004611047565b610501565b6040519015158152602001610172565b3480156101b757600080fd5b506101c160065481565b604051908152602001610172565b3480156101db57600080fd5b506008546101c1565b3480156101f057600080fd5b506005546101c1565b34801561020557600080fd5b5061019b61021436600461100b565b610518565b34801561022557600080fd5b506101c1610234366004611071565b610581565b34801561024557600080fd5b50600b546101c1565b34801561025a57600080fd5b5061026e610269366004610fbd565b61060a565b005b34801561027c57600080fd5b5061019b61028b366004611047565b610656565b34801561029c57600080fd5b5061026e6102ab366004610fbd565b61068c565b3480156102bc57600080fd5b5061026e6106da565b3480156102d157600080fd5b50600d546102e5906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b34801561030957600080fd5b5061019b610318366004610fbd565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561034257600080fd5b506101c1610351366004610fbd565b610741565b34801561036257600080fd5b506000546001600160a01b03166102e5565b34801561038057600080fd5b50610165610763565b34801561039557600080fd5b5061019b6103a4366004611047565b610772565b3480156103b557600080fd5b5061026e6103c4366004610fbd565b6107c1565b3480156103d557600080fd5b5061019b6103e4366004611047565b61080d565b3480156103f557600080fd5b506000546102e5906001600160a01b031681565b34801561041557600080fd5b506101c1610424366004610fd8565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561045b57600080fd5b5061026e61046a366004610fbd565b61081a565b60606009805461047e90611184565b80601f01602080910402602001604051908101604052809291908181526020018280546104aa90611184565b80156104f75780601f106104cc576101008083540402835291602001916104f7565b820191906000526020600020905b8154815290600101906020018083116104da57829003601f168201915b5050505050905090565b600061050e338484610865565b5060015b92915050565b6000610525848484610989565b6105778433610572856040518060600160405280602881526020016111d6602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610b37565b610865565b5060019392505050565b60006007548211156105ed5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084015b60405180910390fd5b60006105f7610b71565b90506106038382610b94565b9392505050565b6000546001600160a01b031633146106345760405162461bcd60e51b81526004016105e4906110df565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161050e9185906105729086610bd6565b6000546001600160a01b031633146106b65760405162461bcd60e51b81526004016105e4906110df565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146107045760405162461bcd60e51b81526004016105e4906110df565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f1935050505015801561073e573d6000803e3d6000fd5b50565b6001600160a01b03811660009081526001602052604081205461051290610581565b6060600a805461047e90611184565b600061050e3384610572856040518060600160405280602581526020016111fe602591393360009081526003602090815260408083206001600160a01b038d1684529091529020549190610b37565b6000546001600160a01b031633146107eb5760405162461bcd60e51b81526004016105e4906110df565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600061050e338484610989565b6000546001600160a01b031633146108445760405162461bcd60e51b81526004016105e4906110df565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6001600160a01b0383166108c75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e4565b6001600160a01b0382166109285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e4565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109ed5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e4565b6001600160a01b038216610a4f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e4565b60008111610ab15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e4565b600c54600090610ac9906001600160a01b0316610741565b6001600160a01b03851660009081526004602052604090205490915060019060ff1680610b0e57506001600160a01b03841660009081526004602052604090205460ff165b80610b1b57506006548210155b15610b24575060005b610b3085858584610c35565b5050505050565b60008184841115610b5b5760405162461bcd60e51b81526004016105e4919061108a565b506000610b68848661116d565b95945050505050565b6000806000610b7e610dc4565b9092509050610b8d8282610b94565b9250505090565b600061060383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610df9565b600080610be38385611114565b9050838110156106035760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e4565b6000610c3f610b71565b90506000610c4d8483610e27565b6001600160a01b038716600090815260016020526040902054909150610c739082610ea6565b6001600160a01b0387166000908152600160205260408120919091558315610d1457600c54610cb89088906001600160a01b0316610cb2886014610b94565b86610ee8565b600d54610cd59088906001600160a01b0316610cb2886064610b94565b600e54610cf29088906001600160a01b0316610cb2886032610b94565b610d10610d00836032610b94565b610d0b876032610b94565b610f7d565b50600a5b6000610d2182606461116d565b9050610d5a610d3b82610d35866064610b94565b90610e27565b6001600160a01b03891660009081526001602052604090205490610bd6565b6001600160a01b0380891660008181526001602052604090209290925589167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610da984610d358b6064610b94565b60405190815260200160405180910390a35050505050505050565b6007546005546000918291610dd98282610b94565b821015610df0576007546005549350935050509091565b90939092509050565b60008183610e1a5760405162461bcd60e51b81526004016105e4919061108a565b506000610b68848661112c565b600082610e3657506000610512565b6000610e42838561114e565b905082610e4f858361112c565b146106035760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e4565b600061060383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b37565b6000610ef48383610e27565b6001600160a01b038516600090815260016020526040902054909150610f1a9082610bd6565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f6e9087815260200190565b60405180910390a35050505050565b600754610f8a9083610ea6565b600755600854610f9a9082610bd6565b6008555050565b80356001600160a01b0381168114610fb857600080fd5b919050565b600060208284031215610fcf57600080fd5b61060382610fa1565b60008060408385031215610feb57600080fd5b610ff483610fa1565b915061100260208401610fa1565b90509250929050565b60008060006060848603121561102057600080fd5b61102984610fa1565b925061103760208501610fa1565b9150604084013590509250925092565b6000806040838503121561105a57600080fd5b61106383610fa1565b946020939093013593505050565b60006020828403121561108357600080fd5b5035919050565b600060208083528351808285015260005b818110156110b75785810183015185820160400152820161109b565b818111156110c9576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115611127576111276111bf565b500190565b60008261114957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611168576111686111bf565b500290565b60008282101561117f5761117f6111bf565b500390565b600181811c9082168061119857607f821691505b602082108114156111b957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220dd97cc2625b853c606218110b82a56b0f2378baf41131a578df4f768cab6238a64736f6c63430008060033000000000000000000000000edff5ffd12d57ffba9918e0ea21d22ef32f0f13700000000000000000000000058c251bdca9c66265199112c85ab3e4ed443f432

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000edff5ffd12d57ffba9918e0ea21d22ef32f0f13700000000000000000000000058c251bdca9c66265199112c85ab3e4ed443f432

-----Decoded View---------------
Arg [0] : tokenOwner (address): 0xedff5ffd12d57ffba9918e0ea21d22ef32f0f137
Arg [1] : chainFunAddress (address): 0x58c251bdca9c66265199112c85ab3e4ed443f432

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000edff5ffd12d57ffba9918e0ea21d22ef32f0f137
Arg [1] : 00000000000000000000000058c251bdca9c66265199112c85ab3e4ed443f432


Deployed ByteCode Sourcemap

6815:7780:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8143:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9068:191;;;;;;;;;;-1:-1:-1;9068:191:0;;;;;:::i;:::-;;:::i;:::-;;;1798:14:1;;1791:22;1773:41;;1761:2;1746:18;9068:191:0;1728:92:1;7211:28:0;;;;;;;;;;;;;;;;;;;6131:25:1;;;6119:2;6104:18;7211:28:0;6086:76:1;10425:87:0;;;;;;;;;;-1:-1:-1;10494:10:0;;10425:87;;8422:95;;;;;;;;;;-1:-1:-1;8502:7:0;;8422:95;;9267:442;;;;;;;;;;-1:-1:-1;9267:442:0;;;;;:::i;:::-;;:::i;10520:322::-;;;;;;;;;;-1:-1:-1;10520:322:0;;;;;:::i;:::-;;:::i;8329:85::-;;;;;;;;;;-1:-1:-1;8397:9:0;;8329:85;;14496:96;;;;;;;;;;-1:-1:-1;14496:96:0;;;;;:::i;:::-;;:::i;:::-;;9717:296;;;;;;;;;;-1:-1:-1;9717:296:0;;;;;:::i;:::-;;:::i;10850:111::-;;;;;;;;;;-1:-1:-1;10850:111:0;;;;;:::i;:::-;;:::i;11561:106::-;;;;;;;;;;;;;:::i;7508:46::-;;;;;;;;;;-1:-1:-1;7508:46:0;;;;-1:-1:-1;;;;;7508:46:0;;;;;;-1:-1:-1;;;;;1589:32:1;;;1571:51;;1559:2;1544:18;7508:46:0;1526:102:1;11675:124:0;;;;;;;;;;-1:-1:-1;11675:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;11764:27:0;11740:4;11764:27;;;:18;:27;;;;;;;;;11675:124;8525:138;;;;;;;;;;-1:-1:-1;8525:138:0;;;;;:::i;:::-;;:::i;2874:79::-;;;;;;;;;;-1:-1:-1;2912:7:0;2939:6;-1:-1:-1;;;;;2939:6:0;2874:79;;8234:87;;;;;;;;;;;;;:::i;10021:396::-;;;;;;;;;;-1:-1:-1;10021:396:0;;;;;:::i;:::-;;:::i;3171:92::-;;;;;;;;;;-1:-1:-1;3171:92:0;;;;;:::i;:::-;;:::i;8671:197::-;;;;;;;;;;-1:-1:-1;8671:197:0;;;;;:::i;:::-;;:::i;2771:21::-;;;;;;;;;;-1:-1:-1;2771:21:0;;;;-1:-1:-1;;;;;2771:21:0;;;8876:184;;;;;;;;;;-1:-1:-1;8876:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9025:18:0;;;8993:7;9025:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8876:184;10969:110;;;;;;;;;;-1:-1:-1;10969:110:0;;;;;:::i;:::-;;:::i;8143:83::-;8180:13;8213:5;8206:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8143:83;:::o;9068:191::-;9170:4;9192:37;9201:10;9213:7;9222:6;9192:8;:37::i;:::-;-1:-1:-1;9247:4:0;9068:191;;;;;:::o;9267:442::-;9399:4;9416:36;9426:6;9434:9;9445:6;9416:9;:36::i;:::-;9463:216;9486:6;9507:10;9532:136;9586:6;9532:136;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9532:19:0;;;;;;:11;:19;;;;;;;;9552:10;9532:31;;;;;;;;;:136;:35;:136::i;:::-;9463:8;:216::i;:::-;-1:-1:-1;9697:4:0;9267:442;;;;;:::o;10520:322::-;10614:7;10672;;10661;:18;;10639:110;;;;-1:-1:-1;;;10639:110:0;;3033:2:1;10639:110:0;;;3015:21:1;3072:2;3052:18;;;3045:30;3111:34;3091:18;;;3084:62;-1:-1:-1;;;3162:18:1;;;3155:40;3212:19;;10639:110:0;;;;;;;;;10760:19;10782:10;:8;:10::i;:::-;10760:32;-1:-1:-1;10810:24:0;:7;10760:32;10810:11;:24::i;:::-;10803:31;10520:322;-1:-1:-1;;;10520:322:0:o;14496:96::-;3086:6;;-1:-1:-1;;;;;3086:6:0;3096:10;3086:20;3078:65;;;;-1:-1:-1;;;3078:65:0;;;;;;;:::i;:::-;14562:13:::1;:22:::0;;-1:-1:-1;;;;;;14562:22:0::1;-1:-1:-1::0;;;;;14562:22:0;;;::::1;::::0;;;::::1;::::0;;14496:96::o;9717:296::-;9877:10;9832:4;9924:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9924:32:0;;;;;;;;;;9832:4;;9854:129;;9902:7;;9924:48;;9961:10;9924:36;:48::i;10850:111::-;3086:6;;-1:-1:-1;;;;;3086:6:0;3096:10;3086:20;3078:65;;;;-1:-1:-1;;;3078:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10919:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;10919:34:0::1;10949:4;10919:34;::::0;;10850:111::o;11561:106::-;3086:6;;-1:-1:-1;;;;;3086:6:0;3096:10;3086:20;3078:65;;;;-1:-1:-1;;;3078:65:0;;;;;;;:::i;:::-;11620:6:::1;::::0;;11612:47:::1;::::0;-1:-1:-1;;;;;11620:6:0;;::::1;::::0;11637:21:::1;11612:47:::0;::::1;;;::::0;11637:21;;11612:47;11620:6;11612:47;11637:21;11620:6;11612:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11561:106::o:0;8525:138::-;-1:-1:-1;;;;;8638:16:0;;8591:7;8638:16;;;:7;:16;;;;;;8618:37;;:19;:37::i;8234:87::-;8273:13;8306:7;8299:14;;;;;:::i;10021:396::-;10141:4;10163:224;10186:10;10211:7;10233:143;10288:15;10233:143;;;;;;;;;;;;;;;;;10245:10;10233:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10233:32:0;;;;;;;;;;;:143;:36;:143::i;3171:92::-;3086:6;;-1:-1:-1;;;;;3086:6:0;3096:10;3086:20;3078:65;;;;-1:-1:-1;;;3078:65:0;;;;;;;:::i;:::-;3238:6:::1;:17:::0;;-1:-1:-1;;;;;;3238:17:0::1;-1:-1:-1::0;;;;;3238:17:0;;;::::1;::::0;;;::::1;::::0;;3171:92::o;8671:197::-;8776:4;8798:40;8808:10;8820:9;8831:6;8798:9;:40::i;10969:110::-;3086:6;;-1:-1:-1;;;;;3086:6:0;3096:10;3086:20;3078:65;;;;-1:-1:-1;;;3078:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11036:27:0::1;11066:5;11036:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;11036:35:0::1;::::0;;10969:110::o;11807:371::-;-1:-1:-1;;;;;11934:19:0;;11926:68;;;;-1:-1:-1;;;11926:68:0;;5782:2:1;11926:68:0;;;5764:21:1;5821:2;5801:18;;;5794:30;5860:34;5840:18;;;5833:62;-1:-1:-1;;;5911:18:1;;;5904:34;5955:19;;11926:68:0;5754:226:1;11926:68:0;-1:-1:-1;;;;;12013:21:0;;12005:68;;;;-1:-1:-1;;;12005:68:0;;3444:2:1;12005:68:0;;;3426:21:1;3483:2;3463:18;;;3456:30;3522:34;3502:18;;;3495:62;-1:-1:-1;;;3573:18:1;;;3566:32;3615:19;;12005:68:0;3416:224:1;12005:68:0;-1:-1:-1;;;;;12086:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12138:32;;6131:25:1;;;12138:32:0;;6104:18:1;12138:32:0;;;;;;;11807:371;;;:::o;12186:623::-;-1:-1:-1;;;;;12308:18:0;;12300:68;;;;-1:-1:-1;;;12300:68:0;;5376:2:1;12300:68:0;;;5358:21:1;5415:2;5395:18;;;5388:30;5454:34;5434:18;;;5427:62;-1:-1:-1;;;5505:18:1;;;5498:35;5550:19;;12300:68:0;5348:227:1;12300:68:0;-1:-1:-1;;;;;12387:16:0;;12379:64;;;;-1:-1:-1;;;12379:64:0;;2629:2:1;12379:64:0;;;2611:21:1;2668:2;2648:18;;;2641:30;2707:34;2687:18;;;2680:62;-1:-1:-1;;;2758:18:1;;;2751:33;2801:19;;12379:64:0;2601:225:1;12379:64:0;12471:1;12462:6;:10;12454:64;;;;-1:-1:-1;;;12454:64:0;;4966:2:1;12454:64:0;;;4948:21:1;5005:2;4985:18;;;4978:30;5044:34;5024:18;;;5017:62;-1:-1:-1;;;5095:18:1;;;5088:39;5144:19;;12454:64:0;4938:231:1;12454:64:0;12563:15;;12529:21;;12553:26;;-1:-1:-1;;;;;12563:15:0;12553:9;:26::i;:::-;-1:-1:-1;;;;;12623:24:0;;12590:12;12623:24;;;:18;:24;;;;;;12529:50;;-1:-1:-1;12605:4:0;;12623:24;;;:50;;-1:-1:-1;;;;;;12651:22:0;;;;;;:18;:22;;;;;;;;12623:50;:84;;;;12694:13;;12677;:30;;12623:84;12620:130;;;-1:-1:-1;12733:5:0;12620:130;12760:41;12775:4;12781:2;12785:6;12793:7;12760:14;:41::i;:::-;12289:520;;12186:623;;;:::o;4436:226::-;4556:7;4592:12;4584:6;;;;4576:29;;;;-1:-1:-1;;;4576:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4616:9:0;4628:5;4632:1;4628;:5;:::i;:::-;4616:17;4436:226;-1:-1:-1;;;;;4436:226:0:o;11124:164::-;11166:7;11187:15;11204;11223:19;:17;:19::i;:::-;11186:56;;-1:-1:-1;11186:56:0;-1:-1:-1;11260:20:0;11186:56;;11260:11;:20::i;:::-;11253:27;;;;11124:164;:::o;5868:132::-;5926:7;5953:39;5957:1;5960;5953:39;;;;;;;;;;;;;;;;;:3;:39::i;3533:181::-;3591:7;;3623:5;3627:1;3623;:5;:::i;:::-;3611:17;;3652:1;3647;:6;;3639:46;;;;-1:-1:-1;;;3639:46:0;;3847:2:1;3639:46:0;;;3829:21:1;3886:2;3866:18;;;3859:30;3925:29;3905:18;;;3898:57;3972:18;;3639:46:0;3819:177:1;12819:1209:0;12971:19;12993:10;:8;:10::i;:::-;12971:32;-1:-1:-1;13014:15:0;13032:24;:7;12971:32;13032:11;:24::i;:::-;-1:-1:-1;;;;;13085:15:0;;;;;;:7;:15;;;;;;13014:42;;-1:-1:-1;13085:28:0;;13014:42;13085:19;:28::i;:::-;-1:-1:-1;;;;;13067:15:0;;;;;;:7;:15;;;;;:46;;;;13149:632;;;;13226:15;;13177:135;;13205:6;;-1:-1:-1;;;;;13226:15:0;13256;:7;13268:2;13256:11;:15::i;:::-;13286:11;13177:13;:135::i;:::-;13376:13;;13327:134;;13355:6;;-1:-1:-1;;;;;13376:13:0;13404:16;:7;13416:3;13404:11;:16::i;13327:134::-;13525:16;;13476:136;;13504:6;;-1:-1:-1;;;;;13525:16:0;13556:15;:7;13568:2;13556:11;:15::i;13476:136::-;13659:86;13685:15;:7;13697:2;13685:11;:15::i;:::-;13715;:7;13727:2;13715:11;:15::i;:::-;13659:11;:86::i;:::-;-1:-1:-1;13767:2:0;13149:632;13791:21;13815:10;13821:4;13815:3;:10;:::i;:::-;13791:34;-1:-1:-1;13857:83:0;13894:35;13791:34;13894:16;:7;13906:3;13894:11;:16::i;:::-;:20;;:35::i;:::-;-1:-1:-1;;;;;13857:18:0;;;;;;:7;:18;;;;;;;:22;:83::i;:::-;-1:-1:-1;;;;;13836:18:0;;;;;;;:7;:18;;;;;:104;;;;13956:64;;;13984:35;14005:13;13984:16;:7;13996:3;13984:11;:16::i;:35::-;13956:64;;6131:25:1;;;6119:2;6104:18;13956:64:0;;;;;;;12960:1068;;;;12819:1209;;;;:::o;11296:257::-;11394:7;;11430;;11347;;;;11462:20;11394:7;11430;11462:11;:20::i;:::-;11452:7;:30;11448:61;;;11492:7;;11501;;11484:25;;;;;;11296:257;;:::o;11448:61::-;11528:7;;11537;;-1:-1:-1;11296:257:0;-1:-1:-1;11296:257:0:o;6496:312::-;6616:7;6651:12;6644:5;6636:28;;;;-1:-1:-1;;;6636:28:0;;;;;;;;:::i;:::-;-1:-1:-1;6675:9:0;6687:5;6691:1;6687;:5;:::i;4921:471::-;4979:7;5224:6;5220:47;;-1:-1:-1;5254:1:0;5247:8;;5220:47;5279:9;5291:5;5295:1;5291;:5;:::i;:::-;5279:17;-1:-1:-1;5324:1:0;5315:5;5319:1;5279:17;5315:5;:::i;:::-;:10;5307:56;;;;-1:-1:-1;;;5307:56:0;;4203:2:1;5307:56:0;;;4185:21:1;4242:2;4222:18;;;4215:30;4281:34;4261:18;;;4254:62;-1:-1:-1;;;4332:18:1;;;4325:31;4373:19;;5307:56:0;4175:223:1;3997:136:0;4055:7;4082:43;4086:1;4089;4082:43;;;;;;;;;;;;;;;;;:3;:43::i;14038:295::-;14189:15;14207:24;:7;14219:11;14207;:24::i;:::-;-1:-1:-1;;;;;14256:11:0;;;;;;:7;:11;;;;;;14189:42;;-1:-1:-1;14256:24:0;;14189:42;14256:15;:24::i;:::-;-1:-1:-1;;;;;14242:11:0;;;;;;;:7;:11;;;;;;;:38;;;;14296:29;;;;;;;;;;14317:7;6131:25:1;;6119:2;6104:18;;6086:76;14296:29:0;;;;;;;;14178:155;14038:295;;;;:::o;14341:147::-;14419:7;;:17;;14431:4;14419:11;:17::i;:::-;14409:7;:27;14460:10;;:20;;14475:4;14460:14;:20::i;:::-;14447:10;:33;-1:-1:-1;;14341:147:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;320:1;317;310:12;272:2;343:29;362:9;343:29;:::i;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:2;;;528:1;525;518:12;480:2;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;470:173;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:2;;;810:1;807;800:12;762:2;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;752:224;;;;;:::o;981:254::-;1049:6;1057;1110:2;1098:9;1089:7;1085:23;1081:32;1078:2;;;1126:1;1123;1116:12;1078:2;1149:29;1168:9;1149:29;:::i;:::-;1139:39;1225:2;1210:18;;;;1197:32;;-1:-1:-1;;;1068:167:1:o;1240:180::-;1299:6;1352:2;1340:9;1331:7;1327:23;1323:32;1320:2;;;1368:1;1365;1358:12;1320:2;-1:-1:-1;1391:23:1;;1310:110;-1:-1:-1;1310:110:1:o;1825:597::-;1937:4;1966:2;1995;1984:9;1977:21;2027:6;2021:13;2070:6;2065:2;2054:9;2050:18;2043:34;2095:1;2105:140;2119:6;2116:1;2113:13;2105:140;;;2214:14;;;2210:23;;2204:30;2180:17;;;2199:2;2176:26;2169:66;2134:10;;2105:140;;;2263:6;2260:1;2257:13;2254:2;;;2333:1;2328:2;2319:6;2308:9;2304:22;2300:31;2293:42;2254:2;-1:-1:-1;2406:2:1;2385:15;-1:-1:-1;;2381:29:1;2366:45;;;;2413:2;2362:54;;1946:476;-1:-1:-1;;;1946:476:1:o;4403:356::-;4605:2;4587:21;;;4624:18;;;4617:30;4683:34;4678:2;4663:18;;4656:62;4750:2;4735:18;;4577:182::o;6167:128::-;6207:3;6238:1;6234:6;6231:1;6228:13;6225:2;;;6244:18;;:::i;:::-;-1:-1:-1;6280:9:1;;6215:80::o;6300:217::-;6340:1;6366;6356:2;;6410:10;6405:3;6401:20;6398:1;6391:31;6445:4;6442:1;6435:15;6473:4;6470:1;6463:15;6356:2;-1:-1:-1;6502:9:1;;6346:171::o;6522:168::-;6562:7;6628:1;6624;6620:6;6616:14;6613:1;6610:21;6605:1;6598:9;6591:17;6587:45;6584:2;;;6635:18;;:::i;:::-;-1:-1:-1;6675:9:1;;6574:116::o;6695:125::-;6735:4;6763:1;6760;6757:8;6754:2;;;6768:18;;:::i;:::-;-1:-1:-1;6805:9:1;;6744:76::o;6825:380::-;6904:1;6900:12;;;;6947;;;6968:2;;7022:4;7014:6;7010:17;7000:27;;6968:2;7075;7067:6;7064:14;7044:18;7041:38;7038:2;;;7121:10;7116:3;7112:20;7109:1;7102:31;7156:4;7153:1;7146:15;7184:4;7181:1;7174:15;7038:2;;6880:325;;;:::o;7210:127::-;7271:10;7266:3;7262:20;7259:1;7252:31;7302:4;7299:1;7292:15;7326:4;7323:1;7316:15

Swarm Source

ipfs://dd97cc2625b853c606218110b82a56b0f2378baf41131a578df4f768cab6238a
Block Transaction Gas Used Reward
Age Block Fee Address Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading