Contract 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a 2

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x038220fc2f42f0b625c853d961dccefa34d426b20acc53fde67eec21a70b981fSet Rule Data101685382021-08-19 15:18:5537 days 13 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000222535
0x96e8e22d4357d4cf227f24515bfeea3045f755adbb9405949b477faa08c7878aSet Rule Data101290732021-08-18 6:12:1838 days 22 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000969355
0xffa1a2a54ff4da821a2fa09862a90098b0cc52b9863fa253e76233c82ae80cfeSet Rule Data101290612021-08-18 6:11:4238 days 22 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000318475
0x7e496899a333aa60794313eac0b78109948d87ba120b531d40860996f11192cfEnable Rule101290352021-08-18 6:10:2438 days 22 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.00007156
0x51670f209f90cd5e660b3712e1101f02bf1adcdb673cac77dba3b019ce1c2cf7Set Rule Data101290312021-08-18 6:10:1238 days 22 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.001065415
0xb5b9ba8b7f184bdee627e9f74a13273af5b28e2c502aed74f764ac3c8162c91eSet Rule Data101290262021-08-18 6:09:5738 days 22 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.001065415
0x93512cdeef124a05e1ad51eb01d959457b919ae279394bf1c84aeda31d4cf0f7Set Rule Data101289342021-08-18 6:05:1038 days 22 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000168355
0x8c80aa77d70a7a3ebad0b9985ae2b08822eb55ae1bc752c9ffec126a07e36176Set Rule Data101289062021-08-18 6:03:4638 days 22 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.001065475
0x37cd614c84079f1d3e4cf4dd1953e41dfee78296f5cd71c841f4dd5c31bfec4cSet Rule Data101288872021-08-18 6:02:4938 days 22 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.001065475
0xb6daf6f50db0a100f77c5101a0a4e3b212e40eea368340bc27452679655b0a56Enable Rule100764472021-08-16 10:13:4040 days 18 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.00007156
0x7f956deeb5714ed401a37cfd27213d674dc6a5cbceceeb001a5c43faaf6c1921Set Rule Data100764222021-08-16 10:12:2540 days 18 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000392215
0xa92b52a9e5d6f6b7a258b63449c33f5c9f4953a675289fcf378e44bd27b64c26Enable Rule100760602021-08-16 9:54:1840 days 19 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.00007156
0x5f95442cc79b6657e5cdd691fa06f14f2dc6d1bf28471a8726165f0bcdd16029Enable Rule100760572021-08-16 9:54:0940 days 19 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.00007156
0xa47ed8a004bbfcc24b5d272f9c3fae6b61b371a578e3e33030a70d14da9635eeSet Rule Data100759172021-08-16 9:47:0940 days 19 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000680155
0x244d4bb8f6cb4080a0a7e8c3877cc0ac27da3ecae2a960c6e858ead7ceff076eSet Rule Data100758502021-08-16 9:43:4840 days 19 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000872935
0xdc20c1ae427f2c72bae4889d0b5080cf1ba695bfa37bc03c1d0b733f385869d8Enable Rule97146682021-08-03 13:42:1153 days 15 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.00007156
0xa3fcb534b81fe575c43dda0219f89178cf42386ef5e834d36a4e222b1c6b8ef1Enable Rule97146562021-08-03 13:41:2653 days 15 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000129575
0xd2c04a8f0d056672b518c1064d5539e622b9ccb5ad3d7a7fcb0cc9b8fe1d6ac9Set Rule Data97146522021-08-03 13:41:1353 days 15 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000392875
0x251101c05c96dad435c6b10cfa5da2ba8fa3559e3738130499e324cdf6554487Enable Rule97144782021-08-03 13:32:0553 days 15 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.00007156
0x000b9c2cbd8b8e39351b4eff289b0702916c688735d2c4245257ae28b5d4f371Set Rule Data97144722021-08-03 13:31:4553 days 15 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000775675
0xb30c2626d371d5d4f48bbe6fe2ab2260e223126f60c17e215c38ba3ebf845452Enable Rule91730702021-07-15 8:18:4872 days 20 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.00007156
0xf7c62dcb4e643cb73fa035b487a6e243e7bbcb8c37f0ffe6391882e00998b0b1Set Rule Data91730392021-07-15 8:17:1572 days 20 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000872935
0xaa5d86ec9143b1b53eb8150f95a24b537d9d595b976f069c480dbc41b65dffd7Enable Rule78826542021-05-31 7:46:06117 days 21 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.00007156
0xeddbb3ea04ffa795f6ead78cded8a35477e06cb5ff23e5d3995ebc36fadb5719Set Rule Data78826512021-05-31 7:45:57117 days 21 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.000318055
0x58d1729783dee7a1df43a757e899b8eb50b9d33b7dad8693b9c0d6f73ce8f24cEnable Rule78824102021-05-31 7:33:54117 days 21 hrs ago0x4b9ee53b17bca029fe2bb2a9af7e1332bbd021ba IN  0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB0.00007156
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xa71e4756cfb125534271509814bfc4238d4af2c258347c71a495ac80283bb1fb54708832021-03-07 11:37:06202 days 17 hrs ago 0xe5c0c004abf5585dcacf95893c5866cf59f59b9c 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB
0xa71e4756cfb125534271509814bfc4238d4af2c258347c71a495ac80283bb1fb54708832021-03-07 11:37:06202 days 17 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a Dego.Finance: DEGO Token0 BNB
0xa71e4756cfb125534271509814bfc4238d4af2c258347c71a495ac80283bb1fb54708832021-03-07 11:37:06202 days 17 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a MathWallet: MATH Token0 BNB
0xa71e4756cfb125534271509814bfc4238d4af2c258347c71a495ac80283bb1fb54708832021-03-07 11:37:06202 days 17 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a MathWallet: MATH Token0 BNB
0xa71e4756cfb125534271509814bfc4238d4af2c258347c71a495ac80283bb1fb54708832021-03-07 11:37:06202 days 17 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a MathWallet: MATH Token0 BNB
0xa71e4756cfb125534271509814bfc4238d4af2c258347c71a495ac80283bb1fb54708832021-03-07 11:37:06202 days 17 hrs ago 0xe5c0c004abf5585dcacf95893c5866cf59f59b9c 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB
0xa154b16ad8a1ccf32040b48cc147cf811713488941ced8203fa286c45dfc9dee54660952021-03-07 7:37:42202 days 21 hrs ago 0xe5c0c004abf5585dcacf95893c5866cf59f59b9c 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB
0xa154b16ad8a1ccf32040b48cc147cf811713488941ced8203fa286c45dfc9dee54660952021-03-07 7:37:42202 days 21 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a Dego.Finance: DEGO Token0 BNB
0xa154b16ad8a1ccf32040b48cc147cf811713488941ced8203fa286c45dfc9dee54660952021-03-07 7:37:42202 days 21 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a MathWallet: MATH Token0 BNB
0xa154b16ad8a1ccf32040b48cc147cf811713488941ced8203fa286c45dfc9dee54660952021-03-07 7:37:42202 days 21 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a MathWallet: MATH Token0 BNB
0xa154b16ad8a1ccf32040b48cc147cf811713488941ced8203fa286c45dfc9dee54660952021-03-07 7:37:42202 days 21 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a MathWallet: MATH Token0 BNB
0xa154b16ad8a1ccf32040b48cc147cf811713488941ced8203fa286c45dfc9dee54660952021-03-07 7:37:42202 days 21 hrs ago 0xe5c0c004abf5585dcacf95893c5866cf59f59b9c 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB
0x580c03a3cdafde0575c60034f642310fc089455250ec20a8d186d03505919ad454654692021-03-07 7:06:24202 days 21 hrs ago 0xe5c0c004abf5585dcacf95893c5866cf59f59b9c 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB
0x580c03a3cdafde0575c60034f642310fc089455250ec20a8d186d03505919ad454654692021-03-07 7:06:24202 days 21 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a Dego.Finance: DEGO Token0 BNB
0x580c03a3cdafde0575c60034f642310fc089455250ec20a8d186d03505919ad454654692021-03-07 7:06:24202 days 21 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a MathWallet: MATH Token0 BNB
0x580c03a3cdafde0575c60034f642310fc089455250ec20a8d186d03505919ad454654692021-03-07 7:06:24202 days 21 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a MathWallet: MATH Token0 BNB
0x580c03a3cdafde0575c60034f642310fc089455250ec20a8d186d03505919ad454654692021-03-07 7:06:24202 days 21 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a MathWallet: MATH Token0 BNB
0x580c03a3cdafde0575c60034f642310fc089455250ec20a8d186d03505919ad454654692021-03-07 7:06:24202 days 21 hrs ago 0xe5c0c004abf5585dcacf95893c5866cf59f59b9c 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB
0x97624b4f2bf1512cad845f9d41a3273f0f4be83779a36eb6b46d2e927fe8600754651772021-03-07 6:51:48202 days 22 hrs ago 0xe5c0c004abf5585dcacf95893c5866cf59f59b9c 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB
0x97624b4f2bf1512cad845f9d41a3273f0f4be83779a36eb6b46d2e927fe8600754651772021-03-07 6:51:48202 days 22 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a Dego.Finance: DEGO Token0 BNB
0x97624b4f2bf1512cad845f9d41a3273f0f4be83779a36eb6b46d2e927fe8600754651772021-03-07 6:51:48202 days 22 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a Alpaca: ALPA Token0 BNB
0x97624b4f2bf1512cad845f9d41a3273f0f4be83779a36eb6b46d2e927fe8600754651772021-03-07 6:51:48202 days 22 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a Alpaca: ALPA Token0 BNB
0x97624b4f2bf1512cad845f9d41a3273f0f4be83779a36eb6b46d2e927fe8600754651772021-03-07 6:51:48202 days 22 hrs ago 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a Alpaca: ALPA Token0 BNB
0x97624b4f2bf1512cad845f9d41a3273f0f4be83779a36eb6b46d2e927fe8600754651772021-03-07 6:51:48202 days 22 hrs ago 0xe5c0c004abf5585dcacf95893c5866cf59f59b9c 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB
0xa8ff9ee6f9ec5bb60903c7a6f42e7094fec4fe60a2bbd066ab1b302db3811e2754651112021-03-07 6:48:30202 days 22 hrs ago 0xe5c0c004abf5585dcacf95893c5866cf59f59b9c 0xb39410ccbe5071acafcfa3f22dd33b4ae425875a0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GegoMintProxy

Compiler Version
v0.5.5+commit.47a71e8f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-01-28
*/

/***
 *    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— 
 *    β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β• β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—
 *    β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘
 *    β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘
 *    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
 *    β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• 
 *    
 * https://dego.finance
                                  
* MIT License
* ===========
*
* Copyright (c) 2020 dego
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
*/// File: @openzeppelin/contracts/utils/Address.sol

pragma solidity ^0.5.5;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following 
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Converts an `address` into `address payable`. Note that this is
     * simply a type cast: the actual underlying value is not changed.
     *
     * _Available since v2.4.0._
     */
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }

    /**
     * @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://diligence.consensys.net/posts/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.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     *
     * _Available since v2.4.0._
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-call-value
        (bool success, ) = recipient.call.value(amount)("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

// File: @openzeppelin/contracts/math/SafeMath.sol

pragma solidity ^0.5.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
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.
     *
     * _Available since v2.4.0._
     */
    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.
     *
     * _Available since v2.4.0._
     */
    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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. 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 mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. 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.
     *
     * _Available since v2.4.0._
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// File: contracts/interface/IERC20.sol

pragma solidity ^0.5.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see {ERC20Detailed}.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    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);
    function mint(address account, uint amount) external;
    /**
     * @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);
}

// File: contracts/library/SafeERC20.sol

pragma solidity ^0.5.0;





/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure (when the token
 * contract returns false). Tokens that return no value (and instead revert or
 * throw on failure) are also supported, non-reverting calls are assumed to be
 * successful.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
    using SafeMath for uint256;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint256 value) internal {
        // safeApprove should only be called when setting an initial allowance,
        // or when resetting it to zero. To increase and decrease it, use
        // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
        // solhint-disable-next-line max-line-length
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    /**
     * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
     * on the return value: the return value is optional (but if data is returned, it must not be false).
     * @param token The token targeted by the call.
     * @param data The call data (encoded using abi.encode or one of its variants).
     */
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
        // we're implementing it ourselves.

        // A Solidity high level call has three parts:
        //  1. The target address is checked to verify it contains contract code
        //  2. The call itself is made, and success asserted
        //  3. The return value is decoded, which in turn checks the size of the returned data.
        // solhint-disable-next-line max-line-length
        require(address(token).isContract(), "SafeERC20: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

// File: @openzeppelin/contracts/introspection/IERC165.sol

pragma solidity ^0.5.0;

/**
 * @dev Interface of the ERC165 standard, as defined in the
 * https://eips.ethereum.org/EIPS/eip-165[EIP].
 *
 * Implementers can declare support of contract interfaces, which can then be
 * queried by others ({ERC165Checker}).
 *
 * For an implementation, see {ERC165}.
 */
interface IERC165 {
    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

// File: @openzeppelin/contracts/token/ERC721/IERC721.sol

pragma solidity ^0.5.0;


/**
 * @dev Required interface of an ERC721 compliant contract.
 */
contract IERC721 is IERC165 {
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    /**
     * @dev Returns the number of NFTs in `owner`'s account.
     */
    function balanceOf(address owner) public view returns (uint256 balance);

    /**
     * @dev Returns the owner of the NFT specified by `tokenId`.
     */
    function ownerOf(uint256 tokenId) public view returns (address owner);

    /**
     * @dev Transfers a specific NFT (`tokenId`) from one account (`from`) to
     * another (`to`).
     *
     *
     *
     * Requirements:
     * - `from`, `to` cannot be zero.
     * - `tokenId` must be owned by `from`.
     * - If the caller is not `from`, it must be have been allowed to move this
     * NFT by either {approve} or {setApprovalForAll}.
     */
    function safeTransferFrom(address from, address to, uint256 tokenId) public;
    /**
     * @dev Transfers a specific NFT (`tokenId`) from one account (`from`) to
     * another (`to`).
     *
     * Requirements:
     * - If the caller is not `from`, it must be approved to move this NFT by
     * either {approve} or {setApprovalForAll}.
     */
    function transferFrom(address from, address to, uint256 tokenId) public;
    function approve(address to, uint256 tokenId) public;
    function getApproved(uint256 tokenId) public view returns (address operator);

    function setApprovalForAll(address operator, bool _approved) public;
    function isApprovedForAll(address owner, address operator) public view returns (bool);


    function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public;
}

// File: contracts/interface/IGegoToken.sol

pragma solidity ^0.5.0;



contract IGegoToken is IERC721 {

    struct GegoV1 {
        uint256 id;
        uint256 grade;
        uint256 quality;
        uint256 amount;
        uint256 resId;
        address author;
        uint256 createdTime;
        uint256 blockNum;
    }


    struct Gego {
        uint256 id;
        uint256 grade;
        uint256 quality;
        uint256 amount;
        uint256 resBaseId;
        uint256 tLevel;
        uint256 ruleId;
        uint256 nftType;
        address author;
        address erc20;
        uint256 createdTime;
        uint256 blockNum;
    }
    
    function mint(address to, uint256 tokenId) external returns (bool) ;
    function burn(uint256 tokenId) external;
}

// File: contracts/interface/IGegoFactoryV2.sol

pragma solidity ^0.5.0;

pragma experimental ABIEncoderV2;


interface IGegoFactoryV2 {


    function getGego(uint256 tokenId)
        external view
        returns (
            uint256 grade,
            uint256 quality,
            uint256 amount,
            uint256 resBaseId,
            uint256 tLevel,
            uint256 ruleId,
            uint256 nftType,
            address author,
            address erc20,
            uint256 createdTime,
            uint256 blockNum
        );


    function getGegoStruct(uint256 tokenId)
        external view
        returns (IGegoToken.Gego memory gego);

    function burn(uint256 tokenId) external returns ( bool );
    
    function isRulerProxyContract(address proxy) external view returns ( bool );
}

// File: contracts/interface/IGegoRuleProxy.sol

pragma solidity ^0.5.0;




interface IGegoRuleProxy  {

    struct Cost721Asset{
        uint256 costErc721Id1;
        uint256 costErc721Id2;
        uint256 costErc721Id3;

        address costErc721Origin;
    }

    struct MintParams{
        address user;
        uint256 amount;
        uint256 ruleId;
    }

    function cost( MintParams calldata params, Cost721Asset calldata costSet1, Cost721Asset calldata costSet2 ) external returns (
        uint256 mintAmount,
        address mintErc20
    ) ;

    function destroy( address owner, IGegoToken.Gego calldata gego ) external ;

    function generate( address user,uint256 ruleId ) external view returns ( IGegoToken.Gego memory gego );

}

// File: contracts/library/Governance.sol

pragma solidity ^0.5.0;

contract Governance {

    address public _governance;

    constructor() public {
        _governance = tx.origin;
    }

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

    modifier onlyGovernance {
        require(msg.sender == _governance, "not governance");
        _;
    }

    function setGovernance(address governance)  public  onlyGovernance
    {
        require(governance != address(0), "new governance the zero address");
        emit GovernanceTransferred(_governance, governance);
        _governance = governance;
    }


}

// File: contracts/nft/GegoMintProxy.sol

pragma solidity ^0.5.0;









contract GegoMintProxy is Governance, IGegoRuleProxy{
    using Address for address;
    using SafeMath for uint256;
    using SafeERC20 for IERC20;


    uint256 public _qualityBase = 10000;
    uint256 public _maxGrade = 6;
    uint256 public _maxGradeLong = 20;
    uint256 public _maxTLevel = 6;

    bool public _canAirdrop = false;
    uint256 public _airdopMintAmount = 5 * (10**15);
    IERC20 public _airdropToken = IERC20(0x0);

    struct RuleData{

        uint256 minMintAmount;
        uint256 maxMintAmount;
        uint256 costErc20Amount;
        address mintErc20;
        address costErc20;
        uint256 minBurnTime;
        uint256 tLevel;
        bool canMintMaxGrade;
        bool canMintMaxTLevel;

    }

    address public _costErc20Pool = address(0x0);
    IGegoFactoryV2 public _factory = IGegoFactoryV2(0x0);

    event eSetRuleData(uint256 ruleId, uint256 minMintAmount, uint256 maxMintAmount, uint256 costErc20Amount, address mintErc20, address costErc20, bool canMintMaxGrade,bool canMintMaxTLevel,uint256 minBurnTime);

    mapping(uint256 => RuleData) public _ruleData;
    mapping(uint256 => bool) public _ruleSwitch;
    
    constructor(address costErc20Pool, address airdropToken) public {
        _costErc20Pool = costErc20Pool;
        _airdropToken = IERC20(airdropToken);
    }

    function setAirdropAmount(uint256 value) public onlyGovernance{
        _airdopMintAmount =  value;
    }

    function enableAirdrop(bool b) public onlyGovernance{
        _canAirdrop =  b;
    }


    function setQualityBase(uint256 val) public onlyGovernance{
        _qualityBase =  val;
    }

    function setMaxGrade(uint256 val) public onlyGovernance{
        _maxGrade =  val;
    }

    function setMaxTLevel(uint256 val) public onlyGovernance{
        _maxTLevel =  val;
    }

    function setMaxGradeLong(uint256 val) public onlyGovernance{
        _maxGradeLong =  val;
    }


    function setAirdropContract(address airdropToken)  public  
        onlyGovernance{
        _airdropToken = IERC20(airdropToken);
    }

    function setRuleData(
        uint256 ruleId, 
        uint256 minMintAmount, 
        uint256 maxMintAmount, 
        uint256 costErc20Amount, 
        address mintErc20, 
        address costErc20,
        uint256 minBurnTime,
        uint256 tLevel,
        bool canMintMaxGrade,
        bool canMintMaxTLevel
         )
        public
        onlyGovernance
    {
        
        _ruleData[ruleId].minMintAmount = minMintAmount;
        _ruleData[ruleId].maxMintAmount = maxMintAmount;
        _ruleData[ruleId].costErc20Amount = costErc20Amount;
        _ruleData[ruleId].mintErc20 = mintErc20;
        _ruleData[ruleId].costErc20 = costErc20;
        _ruleData[ruleId].minBurnTime = minBurnTime;
        _ruleData[ruleId].canMintMaxGrade = canMintMaxGrade;
        _ruleData[ruleId].canMintMaxTLevel = canMintMaxTLevel;
        _ruleData[ruleId].tLevel = tLevel;

        _ruleSwitch[ruleId] = true;

        emit eSetRuleData( ruleId,  minMintAmount,  maxMintAmount,  costErc20Amount,  mintErc20,  costErc20, canMintMaxGrade, canMintMaxTLevel,minBurnTime);
    }


     function enableRule( uint256 ruleId,bool enable )         
        public
        onlyGovernance 
     {
        _ruleSwitch[ruleId] = enable;
     }

     function setFactory( address factory )         
        public
        onlyGovernance 
     {
        _factory = IGegoFactoryV2(factory);
     }

    function cost( MintParams calldata params, Cost721Asset calldata costSet1, Cost721Asset calldata costSet2 ) external returns (  uint256 mintAmount,address mintErc20 ){
        require( _factory == IGegoFactoryV2(msg.sender)," invalid factory caller" );
       (mintAmount,mintErc20) =  _cost(params,costSet1,costSet2);
    } 

    function destroy(  address owner, IGegoToken.Gego calldata gego) external {
        require( _factory == IGegoFactoryV2(msg.sender)," invalid factory caller" );
        
        // rule proxy ignore mint time
        if( _factory.isRulerProxyContract(owner) == false){
            uint256 minBurnTime = _ruleData[gego.ruleId].minBurnTime;
            require( (block.timestamp - gego.createdTime) >=  minBurnTime, "< minBurnTime"  );
        }

        IERC20 erc20 = IERC20(gego.erc20);
        erc20.safeTransfer(owner, gego.amount);
    } 


    function generate( address user , uint256 ruleId ) external view returns (  IGegoToken.Gego memory gego ){
        require( _factory == IGegoFactoryV2(msg.sender) ," invalid factory caller" );
        require(_ruleSwitch[ruleId], " rule is closed ");

        uint256 seed = computerSeed(user);

        gego.quality = seed%_qualityBase;
        gego.grade = getGrade(gego.quality);

        if(gego.grade == _maxGrade && _ruleData[ruleId].canMintMaxGrade == false){
            gego.grade = gego.grade.sub(1);
            gego.quality = gego.quality.sub(_maxGradeLong);
        }
        gego.tLevel = _ruleData[ruleId].tLevel;
    } 

    /*
    // struct Cost721Asset{
    //     uint256 costErc721Id1;
    //     uint256 costErc721Id2;
    //     uint256 costErc721Id3;

    //     address costErc721Origin;
    // }

    // struct MintParams{
    //     address user;
    //     uint256 amount;
    //     uint256 ruleId;
    // }
    */


    function _cost( MintParams memory params, Cost721Asset memory costSet1, Cost721Asset memory costSet2 ) internal returns (  uint256 mintAmount,address mintErc20 ){
        require( _ruleData[params.ruleId].mintErc20 != address(0x0), "invalid mintErc20 rule !");
        require( _ruleData[params.ruleId].costErc20 != address(0x0), "invalid costErc20 rule !");
        require( params.amount >= _ruleData[params.ruleId].minMintAmount && params.amount < _ruleData[params.ruleId].maxMintAmount, "invalid mint amount!");

        IERC20 mintIErc20 = IERC20(_ruleData[params.ruleId].mintErc20);
        uint256 balanceBefore = mintIErc20.balanceOf(address(this));
        mintIErc20.safeTransferFrom(params.user, address(this), params.amount);
        uint256 balanceEnd = mintIErc20.balanceOf(address(this));

        uint256 costErc20Amount = _ruleData[params.ruleId].costErc20Amount;
        if(costErc20Amount > 0){
            IERC20 costErc20 = IERC20(_ruleData[params.ruleId].costErc20);
            costErc20.safeTransferFrom(params.user, _costErc20Pool, costErc20Amount);
        }

        costSet1;
        costSet2;

        mintAmount = balanceEnd.sub(balanceBefore);
        mintErc20 = _ruleData[params.ruleId].mintErc20;

        _airdrop(params.user);
    } 

    function _airdrop(address user) internal  {
        if(_canAirdrop){
            _airdropToken.mint(user, _airdopMintAmount); 
        }
    }

    function getGrade(uint256 quality) public view returns (uint256){
        
        if( quality < _qualityBase.mul(500).div(1000)){
            return 1;
        }else if( _qualityBase.mul(500).div(1000) <= quality && quality <  _qualityBase.mul(800).div(1000)){
            return 2;
        }else if( _qualityBase.mul(800).div(1000) <= quality && quality <  _qualityBase.mul(900).div(1000)){
            return 3;
        }else if( _qualityBase.mul(900).div(1000) <= quality && quality <  _qualityBase.mul(980).div(1000)){
            return 4;
        }else if( _qualityBase.mul(980).div(1000) <= quality && quality <  _qualityBase.mul(998).div(1000)){
            return 5;
        }else{
            return 6;
        }
    }

    function computerSeed( address user ) internal view returns (uint256) {
        // from fomo3D
        uint256 seed = uint256(keccak256(abi.encodePacked(
            //(user.balance).add
            (block.timestamp).add
            (block.difficulty).add
            ((uint256(keccak256(abi.encodePacked(block.coinbase)))) / (now)).add
            (block.gaslimit).add
            ((uint256(keccak256(abi.encodePacked(user)))) / (now)).add
            (block.number)
            
        )));
        return seed;
    }


}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"_governance","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_maxTLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_airdropToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"},{"name":"ruleId","type":"uint256"}],"name":"generate","outputs":[{"components":[{"name":"id","type":"uint256"},{"name":"grade","type":"uint256"},{"name":"quality","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"resBaseId","type":"uint256"},{"name":"tLevel","type":"uint256"},{"name":"ruleId","type":"uint256"},{"name":"nftType","type":"uint256"},{"name":"author","type":"address"},{"name":"erc20","type":"address"},{"name":"createdTime","type":"uint256"},{"name":"blockNum","type":"uint256"}],"name":"gego","type":"tuple"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"val","type":"uint256"}],"name":"setQualityBase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"_ruleSwitch","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"factory","type":"address"}],"name":"setFactory","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"airdropToken","type":"address"}],"name":"setAirdropContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"val","type":"uint256"}],"name":"setMaxGrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"val","type":"uint256"}],"name":"setMaxTLevel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_airdopMintAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_costErc20Pool","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"components":[{"name":"user","type":"address"},{"name":"amount","type":"uint256"},{"name":"ruleId","type":"uint256"}],"name":"params","type":"tuple"},{"components":[{"name":"costErc721Id1","type":"uint256"},{"name":"costErc721Id2","type":"uint256"},{"name":"costErc721Id3","type":"uint256"},{"name":"costErc721Origin","type":"address"}],"name":"costSet1","type":"tuple"},{"components":[{"name":"costErc721Id1","type":"uint256"},{"name":"costErc721Id2","type":"uint256"},{"name":"costErc721Id3","type":"uint256"},{"name":"costErc721Origin","type":"address"}],"name":"costSet2","type":"tuple"}],"name":"cost","outputs":[{"name":"mintAmount","type":"uint256"},{"name":"mintErc20","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"ruleId","type":"uint256"},{"name":"minMintAmount","type":"uint256"},{"name":"maxMintAmount","type":"uint256"},{"name":"costErc20Amount","type":"uint256"},{"name":"mintErc20","type":"address"},{"name":"costErc20","type":"address"},{"name":"minBurnTime","type":"uint256"},{"name":"tLevel","type":"uint256"},{"name":"canMintMaxGrade","type":"bool"},{"name":"canMintMaxTLevel","type":"bool"}],"name":"setRuleData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_canAirdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"val","type":"uint256"}],"name":"setMaxGradeLong","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"setAirdropAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"b","type":"bool"}],"name":"enableAirdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"governance","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"ruleId","type":"uint256"},{"name":"enable","type":"bool"}],"name":"enableRule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_factory","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"_ruleData","outputs":[{"name":"minMintAmount","type":"uint256"},{"name":"maxMintAmount","type":"uint256"},{"name":"costErc20Amount","type":"uint256"},{"name":"mintErc20","type":"address"},{"name":"costErc20","type":"address"},{"name":"minBurnTime","type":"uint256"},{"name":"tLevel","type":"uint256"},{"name":"canMintMaxGrade","type":"bool"},{"name":"canMintMaxTLevel","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"components":[{"name":"id","type":"uint256"},{"name":"grade","type":"uint256"},{"name":"quality","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"resBaseId","type":"uint256"},{"name":"tLevel","type":"uint256"},{"name":"ruleId","type":"uint256"},{"name":"nftType","type":"uint256"},{"name":"author","type":"address"},{"name":"erc20","type":"address"},{"name":"createdTime","type":"uint256"},{"name":"blockNum","type":"uint256"}],"name":"gego","type":"tuple"}],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_qualityBase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"quality","type":"uint256"}],"name":"getGrade","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_maxGradeLong","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_maxGrade","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"costErc20Pool","type":"address"},{"name":"airdropToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ruleId","type":"uint256"},{"indexed":false,"name":"minMintAmount","type":"uint256"},{"indexed":false,"name":"maxMintAmount","type":"uint256"},{"indexed":false,"name":"costErc20Amount","type":"uint256"},{"indexed":false,"name":"mintErc20","type":"address"},{"indexed":false,"name":"costErc20","type":"address"},{"indexed":false,"name":"canMintMaxGrade","type":"bool"},{"indexed":false,"name":"canMintMaxTLevel","type":"bool"},{"indexed":false,"name":"minBurnTime","type":"uint256"}],"name":"eSetRuleData","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"GovernanceTransferred","type":"event"}]

608060405261271060015560066002819055601460035560048190556005805460ff191690556611c37937e080009055600780546001600160a01b031990811690915560088054821690556009805490911690553480156200006057600080fd5b50604051604080620021b78339810180604052620000829190810190620000d4565b600080546001600160a01b03199081163217909155600880546001600160a01b039485169083161790556007805492909316911617905562000132565b6000620000cd825162000113565b9392505050565b60008060408385031215620000e857600080fd5b6000620000f68585620000bf565b92505060206200010985828601620000bf565b9150509250929050565b6000620001208262000126565b92915050565b6001600160a01b031690565b61207580620001426000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c8063996b02dc116100f9578063c5cc6b6a11610097578063df34021d11610071578063df34021d14610385578063e1e0485e1461038d578063ee7b0810146103a0578063f6119555146103a8576101a9565b8063c5cc6b6a14610342578063c984bb511461034a578063d118dd4314610372576101a9565b8063a5500c30116100d3578063a5500c30146102f6578063a61b729514610309578063ab033ea91461031c578063b1f3c40b1461032f576101a9565b8063996b02dc146102c85780639991302f146102db5780639c8f3319146102e3576101a9565b80635bb478081161016657806371c6a99a1161014057806371c6a99a146102845780637a21d5bf146102975780637eef50241461029f5780638f019157146102a7576101a9565b80635bb478081461024b5780636f0115381461025e578063704d653014610271576101a9565b80631c2f3e3d146101ae578063283aeb65146101cc5780632abb8c47146101e15780633807aabd146101f657806339f7cb94146102165780633eee4ba21461022b575b600080fd5b6101b66103b0565b6040516101c39190611d0c565b60405180910390f35b6101d46103bf565b6040516101c39190611e69565b6101e96103c5565b6040516101c39190611d6b565b6102096102043660046115f9565b6103d4565b6040516101c39190611e5a565b6102296102243660046116ef565b6104f4565b005b61023e6102393660046116ef565b610526565b6040516101c39190611d5d565b6102296102593660046115a0565b61053b565b61022961026c3660046115a0565b61058a565b61022961027f3660046116ef565b6105d9565b6102296102923660046116ef565b61060b565b6101d461063d565b6101b6610643565b6102ba6102b5366004611683565b610652565b6040516101c3929190611e77565b6102296102d636600461175b565b6106c5565b61023e6107de565b6102296102f13660046116ef565b6107e7565b6102296103043660046116ef565b610819565b610229610317366004611629565b61084b565b61022961032a3660046115a0565b61088b565b61022961033d36600461172b565b61093e565b6101e961098b565b61035d6103583660046116ef565b61099a565b6040516101c399989796959493929190611e92565b6102296103803660046115be565b6109f6565b6101d4610b18565b6101d461039b3660046116ef565b610b1e565b6101d4610cb1565b6101d4610cb7565b6000546001600160a01b031681565b60045481565b6007546001600160a01b031681565b6103dc6113ea565b6009546001600160a01b0316331461041257604051600160e51b62461bcd02815260040161040990611e4a565b60405180910390fd5b6000828152600b602052604090205460ff16151561044557604051600160e51b62461bcd02815260040161040990611dfa565b600061045084610cbd565b90506001548181151561045f57fe5b066040830181905261047090610b1e565b6020830181905260025414801561049957506000838152600a602052604090206007015460ff16155b156104d65760208201516104b490600163ffffffff610d8316565b602083015260035460408301516104d09163ffffffff610d8316565b60408301525b506000918252600a60205260409091206006015460a0820152919050565b6000546001600160a01b0316331461052157604051600160e51b62461bcd02815260040161040990611e1a565b600155565b600b6020526000908152604090205460ff1681565b6000546001600160a01b0316331461056857604051600160e51b62461bcd02815260040161040990611e1a565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146105b757604051600160e51b62461bcd02815260040161040990611e1a565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461060657604051600160e51b62461bcd02815260040161040990611e1a565b600255565b6000546001600160a01b0316331461063857604051600160e51b62461bcd02815260040161040990611e1a565b600455565b60065481565b6008546001600160a01b031681565b60095460009081906001600160a01b0316331461068457604051600160e51b62461bcd02815260040161040990611e4a565b6106b9610696368790038701876116d1565b6106a536879003870187611665565b6106b436879003870187611665565b610dce565b90969095509350505050565b6000546001600160a01b031633146106f257604051600160e51b62461bcd02815260040161040990611e1a565b60008a8152600a602090815260408083208c815560018082018d9055600282018c90556003820180546001600160a01b03808e166001600160a01b031992831617909255600484018054928d1692909116919091179055600582018990556007820180548715156101000261ff00198a151560ff199384161716179091556006909201889055600b909352928190208054909316909117909155517f59d43ea646b9ef7fa91a063ea2f40141a8efcb99596245e5230ed49cc994e135906107ca908c908c908c908c908c908c908a908a908e90611f18565b60405180910390a150505050505050505050565b60055460ff1681565b6000546001600160a01b0316331461081457604051600160e51b62461bcd02815260040161040990611e1a565b600355565b6000546001600160a01b0316331461084657604051600160e51b62461bcd02815260040161040990611e1a565b600655565b6000546001600160a01b0316331461087857604051600160e51b62461bcd02815260040161040990611e1a565b6005805460ff1916911515919091179055565b6000546001600160a01b031633146108b857604051600160e51b62461bcd02815260040161040990611e1a565b6001600160a01b03811615156108e357604051600160e51b62461bcd02815260040161040990611dea565b600080546040516001600160a01b03808516939216917f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461096b57604051600160e51b62461bcd02815260040161040990611e1a565b6000918252600b6020526040909120805460ff1916911515919091179055565b6009546001600160a01b031681565b600a60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007909701549596949593946001600160a01b03938416949290931692909160ff8082169161010090041689565b6009546001600160a01b03163314610a2357604051600160e51b62461bcd02815260040161040990611e4a565b600954604051600160e01b6357d911a30281526001600160a01b03909116906357d911a390610a56908590600401611d0c565b60206040518083038186803b158015610a6e57600080fd5b505afa158015610a82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa69190810190611647565b1515610aef5760c08101356000908152600a60205260409020600501546101408201354203811115610aed57604051600160e51b62461bcd02815260040161040990611e3a565b505b6001600160a01b0361012082013516610b138184606085013563ffffffff61109c16565b505050565b60015481565b6000610b496103e8610b3d6101f46001546110f890919063ffffffff16565b9063ffffffff61113916565b821015610b5857506001610cac565b81610b766103e8610b3d6101f46001546110f890919063ffffffff16565b11158015610b9f5750610b9c6103e8610b3d6103206001546110f890919063ffffffff16565b82105b15610bac57506002610cac565b81610bca6103e8610b3d6103206001546110f890919063ffffffff16565b11158015610bf35750610bf06103e8610b3d6103846001546110f890919063ffffffff16565b82105b15610c0057506003610cac565b81610c1e6103e8610b3d6103846001546110f890919063ffffffff16565b11158015610c475750610c446103e8610b3d6103d46001546110f890919063ffffffff16565b82105b15610c5457506004610cac565b81610c726103e8610b3d6103d46001546110f890919063ffffffff16565b11158015610c9b5750610c986103e8610b3d6103e66001546110f890919063ffffffff16565b82105b15610ca857506005610cac565b5060065b919050565b60035481565b60025481565b600080610d5443610d484286604051602001610cd99190611cd6565b6040516020818303038152906040528051906020012060001c811515610cfb57fe5b04610d4845610d484241604051602001610d159190611cd6565b6040516020818303038152906040528051906020012060001c811515610d3757fe5b04610d48424463ffffffff61117b16565b9063ffffffff61117b16565b604051602001610d649190611cf7565b60408051808303601f1901815291905280516020909101209392505050565b6000610dc583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111a3565b90505b92915050565b6040808401516000908152600a6020529081206003015481906001600160a01b03161515610e1157604051600160e51b62461bcd02815260040161040990611dca565b6040808601516000908152600a60205220600401546001600160a01b03161515610e5057604051600160e51b62461bcd02815260040161040990611d9a565b6040808601516000908152600a6020908152919020549086015110801590610e955750600a600086604001518152602001908152602001600020600101548560200151105b1515610eb657604051600160e51b62461bcd02815260040161040990611dba565b6040808601516000908152600a602052818120600301549151600160e01b6370a082310281526001600160a01b039092169182906370a0823190610efe903090600401611d0c565b60206040518083038186803b158015610f1657600080fd5b505afa158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f4e919081019061170d565b87516020890151919250610f75916001600160a01b0385169190309063ffffffff6111d716565b604051600160e01b6370a082310281526000906001600160a01b038416906370a0823190610fa7903090600401611d0c565b60206040518083038186803b158015610fbf57600080fd5b505afa158015610fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff7919081019061170d565b6040808a01516000908152600a60205220600201549091508015611052576040808a01516000908152600a602052206004015489516008546001600160a01b03928316926110509284929091168563ffffffff6111d716565b505b611062828463ffffffff610d8316565b6040808b01516000908152600a60205220600301548a519197506001600160a01b0316955061109090611204565b50505050935093915050565b604051610b13908490600160e01b63a9059cbb02906110c19086908690602401611d42565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261127c565b600082151561110957506000610dc8565b82820282848281151561111857fe5b0414610dc557604051600160e51b62461bcd02815260040161040990611dda565b6000610dc583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611370565b600082820183811015610dc557604051600160e51b62461bcd02815260040161040990611d8a565b600081848411156111ca57604051600160e51b62461bcd0281526004016104099190611d79565b50508183035b9392505050565b6040516111fe908590600160e01b6323b872dd02906110c190879087908790602401611d1a565b50505050565b60055460ff161561127957600754600654604051600160e01b6340c10f190281526001600160a01b03909216916340c10f199161124691859190600401611d42565b600060405180830381600087803b15801561126057600080fd5b505af1158015611274573d6000803e3d6000fd5b505050505b50565b61128e826001600160a01b03166113ae565b15156112af57604051600160e51b62461bcd02815260040161040990611e2a565b60006060836001600160a01b0316836040516112cb9190611ceb565b6000604051808303816000865af19150503d8060008114611308576040519150601f19603f3d011682016040523d82523d6000602084013e61130d565b606091505b509150915081151561133457604051600160e51b62461bcd02815260040161040990611daa565b8051156111fe578080602001905161134f9190810190611647565b15156111fe57604051600160e51b62461bcd02815260040161040990611e0a565b60008183151561139657604051600160e51b62461bcd0281526004016104099190611d79565b50600083858115156113a457fe5b0495945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906113e257508115155b949350505050565b604051806101800160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6000610dc58235611fc4565b6000610dc58235611fcf565b6000610dc58251611fcf565b60006080828403121561149357600080fd5b50919050565b6000608082840312156114ab57600080fd5b6114b56080611f90565b905060006114c38484611588565b82525060206114d484848301611588565b60208301525060406114e884828501611588565b60408301525060606114fc8482850161145d565b60608301525092915050565b6000610180828403121561149357600080fd5b60006060828403121561149357600080fd5b60006060828403121561153f57600080fd5b6115496060611f90565b90506000611557848461145d565b825250602061156884848301611588565b602083015250604061157c84828501611588565b60408301525092915050565b6000610dc58235611fe0565b6000610dc58251611fe0565b6000602082840312156115b257600080fd5b60006113e2848461145d565b6000806101a083850312156115d257600080fd5b60006115de858561145d565b92505060206115ef85828601611508565b9150509250929050565b6000806040838503121561160c57600080fd5b6000611618858561145d565b92505060206115ef85828601611588565b60006020828403121561163b57600080fd5b60006113e28484611469565b60006020828403121561165957600080fd5b60006113e28484611475565b60006080828403121561167757600080fd5b60006113e28484611499565b6000806000610160848603121561169957600080fd5b60006116a5868661151b565b93505060606116b686828701611481565b92505060e06116c786828701611481565b9150509250925092565b6000606082840312156116e357600080fd5b60006113e2848461152d565b60006020828403121561170157600080fd5b60006113e28484611588565b60006020828403121561171f57600080fd5b60006113e28484611594565b6000806040838503121561173e57600080fd5b600061174a8585611588565b92505060206115ef85828601611469565b6000806000806000806000806000806101408b8d03121561177b57600080fd5b60006117878d8d611588565b9a505060206117988d828e01611588565b99505060406117a98d828e01611588565b98505060606117ba8d828e01611588565b97505060806117cb8d828e0161145d565b96505060a06117dc8d828e0161145d565b95505060c06117ed8d828e01611588565b94505060e06117fe8d828e01611588565b9350506101006118108d828e01611469565b9250506101206118228d828e01611469565b9150509295989b9194979a5092959850565b61184561184082611fc4565b61201a565b82525050565b61184581611fc4565b61184581611fcf565b600061186882611fb7565b6118728185610cac565b9350611882818560208601611fee565b9290920192915050565b61184581611fe3565b60006118a082611fb7565b6118aa8185611fbb565b93506118ba818560208601611fee565b6118c38161202b565b9093019392505050565b60006118da601b83611fbb565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611913601883611fbb565b7f696e76616c696420636f737445726332302072756c6520210000000000000000815260200192915050565b600061194c602083611fbb565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000611985601483611fbb565b7f696e76616c6964206d696e7420616d6f756e7421000000000000000000000000815260200192915050565b60006119be601883611fbb565b7f696e76616c6964206d696e7445726332302072756c6520210000000000000000815260200192915050565b60006119f7602183611fbb565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152600160f81b607702602082015260400192915050565b6000611a3d601f83611fbb565b7f6e657720676f7665726e616e636520746865207a65726f206164647265737300815260200192915050565b6000611a76601083611fbb565b7f2072756c6520697320636c6f7365642000000000000000000000000000000000815260200192915050565b6000611aaf602a83611fbb565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152600160b21b691bdd081cdd58d8d9595902602082015260400192915050565b6000611afe600e83611fbb565b7f6e6f7420676f7665726e616e6365000000000000000000000000000000000000815260200192915050565b6000611b37601f83611fbb565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b6000611b70600d83611fbb565b7f3c206d696e4275726e54696d6500000000000000000000000000000000000000815260200192915050565b6000611ba9601783611fbb565b7f20696e76616c696420666163746f72792063616c6c6572000000000000000000815260200192915050565b8051610180830190611be78482611cbc565b506020820151611bfa6020850182611cbc565b506040820151611c0d6040850182611cbc565b506060820151611c206060850182611cbc565b506080820151611c336080850182611cbc565b5060a0820151611c4660a0850182611cbc565b5060c0820151611c5960c0850182611cbc565b5060e0820151611c6c60e0850182611cbc565b50610100820151611c8161010085018261184b565b50610120820151611c9661012085018261184b565b50610140820151611cab610140850182611cbc565b506101608201516111fe6101608501825b61184581611fe0565b611845611cd182611fe0565b611fe0565b6000611ce28284611834565b50601401919050565b60006111d0828461185d565b6000611d038284611cc5565b50602001919050565b60208101610dc8828461184b565b60608101611d28828661184b565b611d35602083018561184b565b6113e26040830184611cbc565b60408101611d50828561184b565b6111d06020830184611cbc565b60208101610dc88284611854565b60208101610dc8828461188c565b60208082528101610dc58184611895565b60208082528101610dc8816118cd565b60208082528101610dc881611906565b60208082528101610dc88161193f565b60208082528101610dc881611978565b60208082528101610dc8816119b1565b60208082528101610dc8816119ea565b60208082528101610dc881611a30565b60208082528101610dc881611a69565b60208082528101610dc881611aa2565b60208082528101610dc881611af1565b60208082528101610dc881611b2a565b60208082528101610dc881611b63565b60208082528101610dc881611b9c565b6101808101610dc88284611bd5565b60208101610dc88284611cbc565b60408101611e858285611cbc565b6111d0602083018461184b565b6101208101611ea1828c611cbc565b611eae602083018b611cbc565b611ebb604083018a611cbc565b611ec8606083018961184b565b611ed5608083018861184b565b611ee260a0830187611cbc565b611eef60c0830186611cbc565b611efc60e0830185611854565b611f0a610100830184611854565b9a9950505050505050505050565b6101208101611f27828c611cbc565b611f34602083018b611cbc565b611f41604083018a611cbc565b611f4e6060830189611cbc565b611f5b608083018861184b565b611f6860a083018761184b565b611f7560c0830186611854565b611f8260e0830185611854565b611f0a610100830184611cbc565b60405181810167ffffffffffffffff81118282101715611faf57600080fd5b604052919050565b5190565b90815260200190565b6000610dc882611fd4565b151590565b6001600160a01b031690565b90565b6000610dc882611fc4565b60005b83811015612009578181015183820152602001611ff1565b838111156111fe5750506000910152565b6000610dc8826000610dc882612035565b601f01601f191690565b60601b9056fea265627a7a72305820e5daae9a234484c89861078716c7cfd78d45c0324891d34b3db3d3ce7132da796c6578706572696d656e74616cf500370000000000000000000000003d0a845c5ef9741de999fc068f70e2048a489f2b0000000000000000000000003fda9383a84c05ec8f7630fe10adf1fac13241cc

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

0000000000000000000000003d0a845c5ef9741de999fc068f70e2048a489f2b0000000000000000000000003fda9383a84c05ec8f7630fe10adf1fac13241cc

-----Decoded View---------------
Arg [0] : costErc20Pool (address): 0x3d0a845c5ef9741de999fc068f70e2048a489f2b
Arg [1] : airdropToken (address): 0x3fda9383a84c05ec8f7630fe10adf1fac13241cc

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003d0a845c5ef9741de999fc068f70e2048a489f2b
Arg [1] : 0000000000000000000000003fda9383a84c05ec8f7630fe10adf1fac13241cc


Deployed ByteCode Sourcemap

23199:8194:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23199:8194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22531:26;;;:::i;:::-;;;;;;;;;;;;;;;;23477:29;;;:::i;:::-;;;;;;;;23607:41;;;:::i;:::-;;;;;;;;27665:648;;;;;;;;;:::i;:::-;;;;;;;;24780:96;;;;;;;;;:::i;:::-;;24344:43;;;;;;;;;:::i;:::-;;;;;;;;26609:149;;;;;;;;;:::i;25190:138::-;;;;;;;;;:::i;24884:90::-;;;;;;;;;:::i;24982:92::-;;;;;;;;;:::i;23553:47::-;;;:::i;23964:44::-;;;:::i;26766:327::-;;;;;;;;;:::i;:::-;;;;;;;;;25336:1099;;;;;;;;;:::i;23515:31::-;;;:::i;25082:98::-;;;;;;;;;:::i;24568:107::-;;;;;;;;;:::i;24683:87::-;;;;;;;;;:::i;22845:256::-;;;;;;;;;:::i;26446:154::-;;;;;;;;;:::i;24015:52::-;;;:::i;24292:45::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;27102:552;;;;;;;;;:::i;23360:35::-;;;:::i;30101:744::-;;;;;;;;;:::i;23437:33::-;;;:::i;23402:28::-;;;:::i;22531:26::-;;;-1:-1:-1;;;;;22531:26:0;;:::o;23477:29::-;;;;:::o;23607:41::-;;;-1:-1:-1;;;;;23607:41:0;;:::o;27665:648::-;27741:27;;:::i;:::-;27790:8;;-1:-1:-1;;;;;27790:8:0;27817:10;27790:38;27781:76;;;;-1:-1:-1;;;;;27781:76:0;;;;;;;;;;;;;;;;;27876:19;;;;:11;:19;;;;;;;;27868:48;;;;;;-1:-1:-1;;;;;27868:48:0;;;;;;;;;27929:12;27944:18;27957:4;27944:12;:18::i;:::-;27929:33;;27995:12;;27990:4;:17;;;;;;;;27975:12;;;:32;;;28031:22;;:8;:22::i;:::-;28018:10;;;:35;;;28083:9;;28069:23;:69;;;;-1:-1:-1;28096:17:0;;;;:9;:17;;;;;:33;;;;;:42;28069:69;28066:191;;;28167:10;;;;:17;;28182:1;28167:17;:14;:17;:::i;:::-;28154:10;;;:30;28231:13;;28214:12;;;;:31;;;:16;:31;:::i;:::-;28199:12;;;:46;28066:191;-1:-1:-1;28281:17:0;;;;:9;:17;;;;;;:24;;;28267:11;;;:38;:4;27665:648;-1:-1:-1;27665:648:0:o;24780:96::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;24849:12;:19;24780:96::o;24344:43::-;;;;;;;;;;;;;;;:::o;26609:149::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;26715:8;:34;;-1:-1:-1;;;;;;26715:34:0;-1:-1:-1;;;;;26715:34:0;;;;;;;;;;26609:149::o;25190:138::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;25284:13;:36;;-1:-1:-1;;;;;;25284:36:0;-1:-1:-1;;;;;25284:36:0;;;;;;;;;;25190:138::o;24884:90::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;24950:9;:16;24884:90::o;24982:92::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;25049:10;:17;24982:92::o;23553:47::-;;;;:::o;23964:44::-;;;-1:-1:-1;;;;;23964:44:0;;:::o;26766:327::-;26952:8;;26894:18;;;;-1:-1:-1;;;;;26952:8:0;26979:10;26952:38;26943:75;;;;-1:-1:-1;;;;;26943:75:0;;;;;;;;;27054:31;;;;;;;;27060:6;27054:31;;;;;;;;;;27067:8;27054:31;;;;;;;;;;27076:8;27054:31;;;:5;:31::i;:::-;27028:57;;;;-1:-1:-1;26766:327:0;-1:-1:-1;;;;26766:327:0:o;25336:1099::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;25737:17;;;;:9;:17;;;;;;;;:47;;;25795:31;;;;:47;;;25853:33;;;:51;;;25915:27;;;:39;;-1:-1:-1;;;;;25915:39:0;;;-1:-1:-1;;;;;;25915:39:0;;;;;;;25965:27;;;:39;;;;;;;;;;;;;;;26015:29;;;:43;;;26069:33;;;:51;;26131:53;;;25915:39;26131:53;-1:-1:-1;;26069:51:0;;;-1:-1:-1;;26069:51:0;;;;26131:53;;;;;26195:24;;;;:33;;;26241:11;:19;;;;;;;:26;;;;;;;;;;;26285:142;;;;;25747:6;;25771:13;;25829;;25889:15;;25945:9;;25995;;26105:15;;26168:16;;26047:11;;26285:142;;;;;;;;;;25336:1099;;;;;;;;;;:::o;23515:31::-;;;;;;:::o;25082:98::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;25152:13;:20;25082:98::o;24568:107::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;24641:17;:26;24568:107::o;24683:87::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;24746:11;:16;;-1:-1:-1;;24746:16:0;;;;;;;;;;24683:87::o;22845:256::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;-1:-1:-1;;;;;22936:24:0;;;;22928:68;;;;-1:-1:-1;;;;;22928:68:0;;;;;;;;;23034:11;;;23012:46;;-1:-1:-1;;;;;23012:46:0;;;;23034:11;;;23012:46;;;23069:11;:24;;-1:-1:-1;;;;;;23069:24:0;-1:-1:-1;;;;;23069:24:0;;;;;;;;;;22845:256::o;26446:154::-;22787:11;;-1:-1:-1;;;;;22787:11:0;22773:10;:25;22765:52;;;;-1:-1:-1;;;;;22765:52:0;;;;;;;;;26563:19;;;;:11;:19;;;;;;:28;;-1:-1:-1;;26563:28:0;;;;;;;;;;26446:154::o;24015:52::-;;;-1:-1:-1;;;;;24015:52:0;;:::o;24292:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24292:45:0;;;;;;;;;;;;;;;;;;;;;:::o;27102:552::-;27196:8;;-1:-1:-1;;;;;27196:8:0;27223:10;27196:38;27187:75;;;;-1:-1:-1;;;;;27187:75:0;;;;;;;;;27327:8;;:36;;-1:-1:-1;;;;;27327:36:0;;-1:-1:-1;;;;;27327:8:0;;;;:29;;:36;;27357:5;;27327:36;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27327:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27327:36:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;27327:36:0;;;;;;;;;:45;;27323:229;;27420:11;;;;27388:19;27410:22;;;:9;:22;;;;;:34;;;27487:16;;;;27469:15;:34;27468:52;-1:-1:-1;27468:52:0;27459:81;;;;-1:-1:-1;;;;;27459:81:0;;;;;;;;;27323:229;;-1:-1:-1;;;;;27586:10:0;;;;;27608:38;27586:10;27627:5;27634:11;;;;27608:38;:18;:38;:::i;:::-;27102:552;;;:::o;23360:35::-;;;;:::o;30101:744::-;30157:7;30200:31;30226:4;30200:21;30217:3;30200:12;;:16;;:21;;;;:::i;:::-;:25;:31;:25;:31;:::i;:::-;30190:7;:41;30186:652;;;-1:-1:-1;30254:1:0;30247:8;;30186:652;30311:7;30276:31;30302:4;30276:21;30293:3;30276:12;;:16;;:21;;;;:::i;:31::-;:42;;:88;;;;;30333:31;30359:4;30333:21;30350:3;30333:12;;:16;;:21;;;;:::i;:31::-;30322:7;:42;30276:88;30272:566;;;-1:-1:-1;30387:1:0;30380:8;;30272:566;30444:7;30409:31;30435:4;30409:21;30426:3;30409:12;;:16;;:21;;;;:::i;:31::-;:42;;:88;;;;;30466:31;30492:4;30466:21;30483:3;30466:12;;:16;;:21;;;;:::i;:31::-;30455:7;:42;30409:88;30405:433;;;-1:-1:-1;30520:1:0;30513:8;;30405:433;30577:7;30542:31;30568:4;30542:21;30559:3;30542:12;;:16;;:21;;;;:::i;:31::-;:42;;:88;;;;;30599:31;30625:4;30599:21;30616:3;30599:12;;:16;;:21;;;;:::i;:31::-;30588:7;:42;30542:88;30538:300;;;-1:-1:-1;30653:1:0;30646:8;;30538:300;30710:7;30675:31;30701:4;30675:21;30692:3;30675:12;;:16;;:21;;;;:::i;:31::-;:42;;:88;;;;;30732:31;30758:4;30732:21;30749:3;30732:12;;:16;;:21;;;;:::i;:31::-;30721:7;:42;30675:88;30671:167;;;-1:-1:-1;30786:1:0;30779:8;;30671:167;-1:-1:-1;30825:1:0;30671:167;30101:744;;;:::o;23437:33::-;;;;:::o;23402:28::-;;;;:::o;30853:533::-;30914:7;30958:12;31056:273;31316:12;31056:241;31292:3;31280:4;31263:22;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;31263:22:0;;;31253:33;;;;;;31245:42;;31244:52;;;;;;;;31056:169;31210:14;31056:135;31186:3;31164:14;31147:32;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;31147:32:0;;;31137:43;;;;;;31129:52;;31128:62;;;;;;;;31056:53;31057:15;31092:16;31056:53;:21;:53;:::i;:::-;:57;:135;:57;:135;:::i;:273::-;30991:363;;;;;;;;;;;;;26:21:-1;;;-1:-1;;22:32;6:49;;30991:363:0;;;30981:374;;49:4:-1;30981:374:0;;;;;30853:533;-1:-1:-1;;;30853:533:0:o;6249:136::-;6307:7;6334:43;6338:1;6341;6334:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6327:50;;6249:136;;;;;:::o;28647:1291::-;28838:13;;;;;28770:18;28828:24;;;:9;:24;;;;;:34;;;28770:18;;-1:-1:-1;;;;;28828:34:0;:50;;28819:88;;;;-1:-1:-1;;;;;28819:88:0;;;;;;;;;28937:13;;;;;28973:3;28927:24;;;:9;:24;;;:34;;;-1:-1:-1;;;;;28927:34:0;:50;;28918:88;;;;-1:-1:-1;;;;;28918:88:0;;;;;;;;;29053:13;;;;;29043:24;;;;:9;:24;;;;;;;:38;29026:13;;;;:55;;;;:113;;;29101:9;:24;29111:6;:13;;;29101:24;;;;;;;;;;;:38;;;29085:6;:13;;;:54;29026:113;29017:147;;;;;;-1:-1:-1;;;;;29017:147:0;;;;;;;;;29214:13;;;;;29177:17;29204:24;;;:9;:24;;;;;:34;;;29274:35;;-1:-1:-1;;;;;29274:35:0;;-1:-1:-1;;;;;29204:34:0;;;;;;29274:20;;:35;;29303:4;;29274:35;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29274:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29274:35:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;29274:35:0;;;;;;;;;29348:11;;29376:13;;;;29250:59;;-1:-1:-1;29320:70:0;;-1:-1:-1;;;;;29320:27:0;;;29348:11;29369:4;;29320:70;:27;:70;:::i;:::-;29422:35;;-1:-1:-1;;;;;29422:35:0;;29401:18;;-1:-1:-1;;;;;29422:20:0;;;;;:35;;29451:4;;29422:35;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29422:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29422:35:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;29422:35:0;;;;;;;;;29506:13;;;;;29470:23;29496:24;;;:9;:24;;;:40;;;29401:56;;-1:-1:-1;29550:19:0;;29547:198;;29621:13;;;;;29585:16;29611:24;;;:9;:24;;;:34;;;29688:11;;29701:14;;-1:-1:-1;;;;;29611:34:0;;;;29661:72;;29611:34;;29688:11;;29701:14;29717:15;29661:72;:26;:72;:::i;:::-;29547:198;;29810:29;:10;29825:13;29810:29;:14;:29;:::i;:::-;29872:13;;;;;29862:24;;;;:9;:24;;;:34;;;29918:11;;29797:42;;-1:-1:-1;;;;;;29862:34:0;;-1:-1:-1;29909:21:0;;:8;:21::i;:::-;28647:1291;;;;;;;;;;:::o;13948:176::-;14057:58;;14031:85;;14050:5;;-1:-1:-1;;;;;14080:23:0;14057:58;;14105:2;;14109:5;;14057:58;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;14057:58:0;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;;;;14057:58:0;;;179:29:-1;;;;160:49;;;14031:18:0;:85::i;7165:471::-;7223:7;7468:6;;7464:47;;;-1:-1:-1;7498:1:0;7491:8;;7464:47;7535:5;;;7539:1;7535;:5;7559;;;;;;;;:10;7551:56;;;;-1:-1:-1;;;;;7551:56:0;;;;;;;;8104:132;8162:7;8189:39;8193:1;8196;8189:39;;;;;;;;;;;;;;;;;:3;:39::i;5793:181::-;5851:7;5883:5;;;5907:6;;;;5899:46;;;;-1:-1:-1;;;;;5899:46:0;;;;;;;;6722:192;6808:7;6844:12;6836:6;;;;6828:29;;;;-1:-1:-1;;;;;6828:29:0;;;;;;;;;;-1:-1:-1;;6880:5:0;;;6722:192;;;;;;:::o;14132:204::-;14259:68;;14233:95;;14252:5;;-1:-1:-1;;;;;14282:27:0;14259:68;;14311:4;;14317:2;;14321:5;;14259:68;;;;14233:95;14132:204;;;;:::o;29947:146::-;30003:11;;;;30000:86;;;30030:13;;30055:17;;30030:43;;-1:-1:-1;;;;;30030:43:0;;-1:-1:-1;;;;;30030:13:0;;;;:18;;:43;;30049:4;;30055:17;30030:43;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30030:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30030:43:0;;;;30000:86;29947:146;:::o;15987:1114::-;16591:27;16599:5;-1:-1:-1;;;;;16591:25:0;;:27::i;:::-;16583:71;;;;;;-1:-1:-1;;;;;16583:71:0;;;;;;;;;16728:12;16742:23;16777:5;-1:-1:-1;;;;;16769:19:0;16789:4;16769:25;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;16727:67:0;;;;16813:7;16805:52;;;;;;-1:-1:-1;;;;;16805:52:0;;;;;;;;;16874:17;;:21;16870:224;;17016:10;17005:30;;;;;;;;;;;;;;16997:85;;;;;;-1:-1:-1;;;;;16997:85:0;;;;;;;;8766:345;8852:7;8954:12;8947:5;;;8939:28;;;;-1:-1:-1;;;;;8939:28:0;;;;;;;;;;;8978:9;8994:1;8990;:5;;;;;;;;;8766:345;-1:-1:-1;;;;;8766:345:0:o;2562:619::-;2622:4;3090:20;;2933:66;3130:23;;;;;;:42;;-1:-1:-1;3157:15:0;;;3130:42;3122:51;2562:619;-1:-1:-1;;;;2562:619:0:o;23199:8194::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23199:8194:0;;;;;;-1:-1:-1;;;;;23199:8194:0;;;;;;;;;;;;;;;:::o;5:118:-1:-;;72:46;110:6;97:20;72:46;;130:112;;194:43;229:6;216:20;194:43;;249:116;;324:36;352:6;346:13;324:36;;415:163;;530:3;521:6;516:3;512:16;508:26;505:2;;;547:1;544;537:12;505:2;-1:-1;566:6;498:80;-1:-1;498:80;626:797;;744:4;732:9;727:3;723:19;719:30;716:2;;;762:1;759;752:12;716:2;780:20;795:4;780:20;;;771:29;-1:-1;859:1;890:49;935:3;915:9;890:49;;;866:74;;-1:-1;1010:2;1043:49;1088:3;1064:22;;;1043:49;;;1036:4;1029:5;1025:16;1018:75;961:143;1163:2;1196:49;1241:3;1232:6;1221:9;1217:22;1196:49;;;1189:4;1182:5;1178:16;1171:75;1114:143;1319:2;1352:49;1397:3;1388:6;1377:9;1373:22;1352:49;;;1345:4;1338:5;1334:16;1327:75;1267:146;710:713;;;;;1461:155;;1568:3;1559:6;1554:3;1550:16;1546:26;1543:2;;;1585:1;1582;1575:12;1664:160;;1777:2;1768:6;1763:3;1759:16;1755:25;1752:2;;;1793:1;1790;1783:12;1870:616;;1986:4;1974:9;1969:3;1965:19;1961:30;1958:2;;;2004:1;2001;1994:12;1958:2;2022:20;2037:4;2022:20;;;2013:29;-1:-1;2092:1;2123:49;2168:3;2148:9;2123:49;;;2099:74;;-1:-1;2236:2;2269:49;2314:3;2290:22;;;2269:49;;;2262:4;2255:5;2251:16;2244:75;2194:136;2382:2;2415:49;2460:3;2451:6;2440:9;2436:22;2415:49;;;2408:4;2401:5;2397:16;2390:75;2340:136;1952:534;;;;;2493:118;;2560:46;2598:6;2585:20;2560:46;;2618:122;;2696:39;2727:6;2721:13;2696:39;;2747:241;;2851:2;2839:9;2830:7;2826:23;2822:32;2819:2;;;2867:1;2864;2857:12;2819:2;2902:1;2919:53;2964:7;2944:9;2919:53;;2995:413;;;3139:3;3127:9;3118:7;3114:23;3110:33;3107:2;;;3156:1;3153;3146:12;3107:2;3191:1;3208:53;3253:7;3233:9;3208:53;;;3198:63;;3170:97;3298:2;3316:76;3384:7;3375:6;3364:9;3360:22;3316:76;;;3306:86;;3277:121;3101:307;;;;;;3415:366;;;3536:2;3524:9;3515:7;3511:23;3507:32;3504:2;;;3552:1;3549;3542:12;3504:2;3587:1;3604:53;3649:7;3629:9;3604:53;;;3594:63;;3566:97;3694:2;3712:53;3757:7;3748:6;3737:9;3733:22;3712:53;;3788:235;;3889:2;3877:9;3868:7;3864:23;3860:32;3857:2;;;3905:1;3902;3895:12;3857:2;3940:1;3957:50;3999:7;3979:9;3957:50;;4030:257;;4142:2;4130:9;4121:7;4117:23;4113:32;4110:2;;;4158:1;4155;4148:12;4110:2;4193:1;4210:61;4263:7;4243:9;4210:61;;4294:300;;4427:3;4415:9;4406:7;4402:23;4398:33;4395:2;;;4444:1;4441;4434:12;4395:2;4479:1;4496:82;4570:7;4550:9;4496:82;;4601:675;;;;4830:3;4818:9;4809:7;4805:23;4801:33;4798:2;;;4847:1;4844;4837:12;4798:2;4882:1;4899:82;4973:7;4953:9;4899:82;;;4889:92;;4861:126;5018:2;5036:84;5112:7;5103:6;5092:9;5088:22;5036:84;;;5026:94;;4997:129;5157:3;5176:84;5252:7;5243:6;5232:9;5228:22;5176:84;;;5166:94;;5136:130;4792:484;;;;;;5283:295;;5414:2;5402:9;5393:7;5389:23;5385:32;5382:2;;;5430:1;5427;5420:12;5382:2;5465:1;5482:80;5554:7;5534:9;5482:80;;5585:241;;5689:2;5677:9;5668:7;5664:23;5660:32;5657:2;;;5705:1;5702;5695:12;5657:2;5740:1;5757:53;5802:7;5782:9;5757:53;;5833:263;;5948:2;5936:9;5927:7;5923:23;5919:32;5916:2;;;5964:1;5961;5954:12;5916:2;5999:1;6016:64;6072:7;6052:9;6016:64;;6103:360;;;6221:2;6209:9;6200:7;6196:23;6192:32;6189:2;;;6237:1;6234;6227:12;6189:2;6272:1;6289:53;6334:7;6314:9;6289:53;;;6279:63;;6251:97;6379:2;6397:50;6439:7;6430:6;6419:9;6415:22;6397:50;;6470:1361;;;;;;;;;;;6721:3;6709:9;6700:7;6696:23;6692:33;6689:2;;;6738:1;6735;6728:12;6689:2;6773:1;6790:53;6835:7;6815:9;6790:53;;;6780:63;;6752:97;6880:2;6898:53;6943:7;6934:6;6923:9;6919:22;6898:53;;;6888:63;;6859:98;6988:2;7006:53;7051:7;7042:6;7031:9;7027:22;7006:53;;;6996:63;;6967:98;7096:2;7114:53;7159:7;7150:6;7139:9;7135:22;7114:53;;;7104:63;;7075:98;7204:3;7223:53;7268:7;7259:6;7248:9;7244:22;7223:53;;;7213:63;;7183:99;7313:3;7332:53;7377:7;7368:6;7357:9;7353:22;7332:53;;;7322:63;;7292:99;7422:3;7441:53;7486:7;7477:6;7466:9;7462:22;7441:53;;;7431:63;;7401:99;7531:3;7550:53;7595:7;7586:6;7575:9;7571:22;7550:53;;;7540:63;;7510:99;7640:3;7659:50;7701:7;7692:6;7681:9;7677:22;7659:50;;;7649:60;;7619:96;7746:3;7765:50;7807:7;7798:6;7787:9;7783:22;7765:50;;;7755:60;;7725:96;6683:1148;;;;;;;;;;;;;;7838:191;7955:68;7983:39;8016:5;7983:39;;;7955:68;;;7950:3;7943:81;7937:92;;;8036:110;8109:31;8134:5;8109:31;;8446:111;8523:28;8545:5;8523:28;;8564:356;;8692:38;8724:5;8692:38;;;8742:88;8823:6;8818:3;8742:88;;;8735:95;;8835:52;8880:6;8875:3;8868:4;8861:5;8857:16;8835:52;;;8899:16;;;;;8672:248;-1:-1;;8672:248;8927:154;9024:51;9069:5;9024:51;;9265:347;;9377:39;9410:5;9377:39;;;9428:71;9492:6;9487:3;9428:71;;;9421:78;;9504:52;9549:6;9544:3;9537:4;9530:5;9526:16;9504:52;;;9577:29;9599:6;9577:29;;;9568:39;;;;9357:255;-1:-1;;;9357:255;9620:364;;9780:67;9844:2;9839:3;9780:67;;;9880:66;9860:87;;9975:2;9966:12;;9766:218;-1:-1;;9766:218;9993:364;;10153:67;10217:2;10212:3;10153:67;;;10253:66;10233:87;;10348:2;10339:12;;10139:218;-1:-1;;10139:218;10366:364;;10526:67;10590:2;10585:3;10526:67;;;10626:66;10606:87;;10721:2;10712:12;;10512:218;-1:-1;;10512:218;10739:364;;10899:67;10963:2;10958:3;10899:67;;;10999:66;10979:87;;11094:2;11085:12;;10885:218;-1:-1;;10885:218;11112:364;;11272:67;11336:2;11331:3;11272:67;;;11372:66;11352:87;;11467:2;11458:12;;11258:218;-1:-1;;11258:218;11485:465;;11645:67;11709:2;11704:3;11645:67;;;11745:66;11725:87;;-1:-1;;;;;11841:2;11832:12;;11825:88;11941:2;11932:12;;11631:319;-1:-1;;11631:319;11959:364;;12119:67;12183:2;12178:3;12119:67;;;12219:66;12199:87;;12314:2;12305:12;;12105:218;-1:-1;;12105:218;12332:364;;12492:67;12556:2;12551:3;12492:67;;;12592:66;12572:87;;12687:2;12678:12;;12478:218;-1:-1;;12478:218;12705:465;;12865:67;12929:2;12924:3;12865:67;;;12965:66;12945:87;;-1:-1;;;;;13061:2;13052:12;;13045:88;13161:2;13152:12;;12851:319;-1:-1;;12851:319;13179:364;;13339:67;13403:2;13398:3;13339:67;;;13439:66;13419:87;;13534:2;13525:12;;13325:218;-1:-1;;13325:218;13552:364;;13712:67;13776:2;13771:3;13712:67;;;13812:66;13792:87;;13907:2;13898:12;;13698:218;-1:-1;;13698:218;13925:364;;14085:67;14149:2;14144:3;14085:67;;;14185:66;14165:87;;14280:2;14271:12;;14071:218;-1:-1;;14071:218;14298:364;;14458:67;14522:2;14517:3;14458:67;;;14558:66;14538:87;;14653:2;14644:12;;14444:218;-1:-1;;14444:218;14725:2021;14924:22;;14860:5;14851:15;;;14952:61;14855:3;14924:22;14952:61;;;14881:138;15092:4;15085:5;15081:16;15075:23;15104:62;15160:4;15155:3;15151:14;15138:11;15104:62;;;15029:143;15247:4;15240:5;15236:16;15230:23;15259:62;15315:4;15310:3;15306:14;15293:11;15259:62;;;15182:145;15401:4;15394:5;15390:16;15384:23;15413:62;15469:4;15464:3;15460:14;15447:11;15413:62;;;15337:144;15558:4;15551:5;15547:16;15541:23;15570:62;15626:4;15621:3;15617:14;15604:11;15570:62;;;15491:147;15712:4;15705:5;15701:16;15695:23;15724:62;15780:4;15775:3;15771:14;15758:11;15724:62;;;15648:144;15866:4;15859:5;15855:16;15849:23;15878:62;15934:4;15929:3;15925:14;15912:11;15878:62;;;15802:144;16021:4;16014:5;16010:16;16004:23;16033:62;16089:4;16084:3;16080:14;16067:11;16033:62;;;15956:145;16175:5;16168;16164:17;16158:24;16188:63;16244:5;16239:3;16235:15;16222:11;16188:63;;;16111:146;16330:5;16323;16319:17;16313:24;16343:63;16399:5;16394:3;16390:15;16377:11;16343:63;;;16267:145;16491:5;16484;16480:17;16474:24;16504:63;16560:5;16555:3;16551:15;16538:11;16504:63;;;16422:151;16649:5;16642;16638:17;16632:24;16662:63;16718:5;16713:3;16709:15;16696:11;16753:110;16826:31;16851:5;16826:31;;16997:159;17098:52;17118:31;17143:5;17118:31;;;17098:52;;17163:244;;17282:75;17353:3;17344:6;17282:75;;;-1:-1;17379:2;17370:12;;17270:137;-1:-1;17270:137;17697:262;;17841:93;17930:3;17921:6;17841:93;;17966:244;;18085:75;18156:3;18147:6;18085:75;;;-1:-1;18182:2;18173:12;;18073:137;-1:-1;18073:137;18217:213;18335:2;18320:18;;18349:71;18324:9;18393:6;18349:71;;18437:435;18611:2;18596:18;;18625:71;18600:9;18669:6;18625:71;;;18707:72;18775:2;18764:9;18760:18;18751:6;18707:72;;;18790;18858:2;18847:9;18843:18;18834:6;18790:72;;18879:324;19025:2;19010:18;;19039:71;19014:9;19083:6;19039:71;;;19121:72;19189:2;19178:9;19174:18;19165:6;19121:72;;19210:201;19322:2;19307:18;;19336:65;19311:9;19374:6;19336:65;;19418:241;19550:2;19535:18;;19564:85;19539:9;19622:6;19564:85;;19930:301;20068:2;20082:47;;;20053:18;;20143:78;20053:18;20207:6;20143:78;;20238:407;20429:2;20443:47;;;20414:18;;20504:131;20414:18;20504:131;;20652:407;20843:2;20857:47;;;20828:18;;20918:131;20828:18;20918:131;;21066:407;21257:2;21271:47;;;21242:18;;21332:131;21242:18;21332:131;;21480:407;21671:2;21685:47;;;21656:18;;21746:131;21656:18;21746:131;;21894:407;22085:2;22099:47;;;22070:18;;22160:131;22070:18;22160:131;;22308:407;22499:2;22513:47;;;22484:18;;22574:131;22484:18;22574:131;;22722:407;22913:2;22927:47;;;22898:18;;22988:131;22898:18;22988:131;;23136:407;23327:2;23341:47;;;23312:18;;23402:131;23312:18;23402:131;;23550:407;23741:2;23755:47;;;23726:18;;23816:131;23726:18;23816:131;;23964:407;24155:2;24169:47;;;24140:18;;24230:131;24140:18;24230:131;;24378:407;24569:2;24583:47;;;24554:18;;24644:131;24554:18;24644:131;;24792:407;24983:2;24997:47;;;24968:18;;25058:131;24968:18;25058:131;;25206:407;25397:2;25411:47;;;25382:18;;25472:131;25382:18;25472:131;;25620:298;25780:3;25765:19;;25795:113;25769:9;25881:6;25795:113;;25925:213;26043:2;26028:18;;26057:71;26032:9;26101:6;26057:71;;26145:324;26291:2;26276:18;;26305:71;26280:9;26349:6;26305:71;;;26387:72;26455:2;26444:9;26440:18;26431:6;26387:72;;26476:1083;26806:3;26791:19;;26821:71;26795:9;26865:6;26821:71;;;26903:72;26971:2;26960:9;26956:18;26947:6;26903:72;;;26986;27054:2;27043:9;27039:18;27030:6;26986:72;;;27069;27137:2;27126:9;27122:18;27113:6;27069:72;;;27152:73;27220:3;27209:9;27205:19;27196:6;27152:73;;;27236;27304:3;27293:9;27289:19;27280:6;27236:73;;;27320;27388:3;27377:9;27373:19;27364:6;27320:73;;;27404:67;27466:3;27455:9;27451:19;27442:6;27404:67;;;27482;27544:3;27533:9;27529:19;27520:6;27482:67;;;26777:782;;;;;;;;;;;;;27566:1083;27896:3;27881:19;;27911:71;27885:9;27955:6;27911:71;;;27993:72;28061:2;28050:9;28046:18;28037:6;27993:72;;;28076;28144:2;28133:9;28129:18;28120:6;28076:72;;;28159;28227:2;28216:9;28212:18;28203:6;28159:72;;;28242:73;28310:3;28299:9;28295:19;28286:6;28242:73;;;28326;28394:3;28383:9;28379:19;28370:6;28326:73;;;28410:67;28472:3;28461:9;28457:19;28448:6;28410:67;;;28488;28550:3;28539:9;28535:19;28526:6;28488:67;;;28566:73;28634:3;28623:9;28619:19;28610:6;28566:73;;28656:256;28718:2;28712:9;28744:17;;;28819:18;28804:34;;28840:22;;;28801:62;28798:2;;;28876:1;28873;28866:12;28798:2;28892;28885:22;28696:216;;-1:-1;28696:216;28919:91;28993:12;;28977:33;29270:163;29373:19;;;29422:4;29413:14;;29366:67;29441:105;;29510:31;29535:5;29510:31;;29673:92;29746:13;29739:21;;29722:43;29772:128;-1:-1;;;;;29841:54;;29824:76;29907:79;29976:5;29959:27;30425:149;;30518:51;30563:5;30518:51;;31034:268;31099:1;31106:101;31120:6;31117:1;31114:13;31106:101;;;31187:11;;;31181:18;31168:11;;;31161:39;31142:2;31135:10;31106:101;;;31222:6;31219:1;31216:13;31213:2;;;-1:-1;;31287:1;31269:16;;31262:27;31083:219;31310:95;;31374:26;31394:5;31522:89;31586:20;31600:5;31586:20;;31699:97;31787:2;31767:14;-1:-1;;31763:28;;31747:49;31805:81;31870:2;31866:14;;31847:39

Swarm Source

bzzr://e5daae9a234484c89861078716c7cfd78d45c0324891d34b3db3d3ce7132da79
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.