Contract 0xF51760cb0e1518BabEcc94De03d1c163CeF13E3a 3

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x8951f5f594cbcebdbe487dacecefa79e078eccea468bbd85e36e46b960d90198Remove BNB145453632022-01-21 1:19:046 days 12 hrs ago0x86688b743a49639059bcb305011f0068206fcd6c IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021697
0xc196d9befdbc8d067e71b0e3e9fc19231a180adb618540aa5f41e40e3d945427Remove BNB142878652022-01-12 1:41:2215 days 12 hrs ago0x08820ebad58ff10afba20a9cb86590a7d96f2b3c IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021703
0x0bee1d5fc2b4276118c4b9b7dd16e557160bb35e61b3aab7e87bd35a7bfc3092Remove BNB127711392021-11-19 6:09:1669 days 7 hrs ago0x5242f64c79face84da0ed74c2917fa54331a38df IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021697
0x2804f51a27bb7f9dd7d6e26f7f1e9791dde5c927153eb6abf8bc029e59235455Remove BNB127710162021-11-19 6:03:0669 days 8 hrs ago0xe03d57982d688b58153a04c266236aacf1f0be21 IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021697
0x30074b755cce3fc29cc1ab9102f30fe0d352b50ce818279c0fa7cb543351094cRemove BNB110233642021-09-18 13:49:09131 days 17 mins ago0xd941fc738ef03a61399dff8da88f4e9627d14e61 IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021709
0x8206a106c43774e2595fba0980770b178fbc24258c238316fc948ec3ad4098fcRemove BNB103046312021-08-24 9:24:01156 days 4 hrs ago0x7a66960575d52e4dffc4718ab842c3354d75e0eb IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021703
0xe3fd3686991d4eda1e27e2e503cbce0eb317d767c6b48888c60ee1a1ddcd81c6Remove BNB93061392021-07-19 23:16:17191 days 14 hrs ago0x08820ebad58ff10afba20a9cb86590a7d96f2b3c IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021697
0x3cefce432249c610ddab9c976c2746ed6af98b1177b31e9ce10b4eb1393f31daRemove BNB85956932021-06-25 5:05:58216 days 9 hrs ago0xe03d57982d688b58153a04c266236aacf1f0be21 IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021691
0x0f9c569fc9142bad7e4065f76c2bb5830e84fa7f0676ea8a3cd71fd1a0bf77fdWithdraw Fee85640982021-06-24 2:43:05217 days 11 hrs agoJust Liquidity: Deployer 2 IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00011538
0x35ae1332190e28d09f5d17870fbfbfde9734a25f88d714f435de75e46818150bWithdraw Fee85640672021-06-24 2:41:32217 days 11 hrs agoJust Liquidity: Deployer 2 IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00031538
0xeb2771a89f5d30ff910b763ca190d5d28789040197b8f084f4688dc488fa5ef5Remove BNB85116832021-06-22 6:46:13219 days 7 hrs ago0x08820ebad58ff10afba20a9cb86590a7d96f2b3c IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021703
0xb786bd246b7089c491dcdedc9ada68f42b0e97a9361b594b4711a06bd4a52f4eRemove BNB85116052021-06-22 6:42:19219 days 7 hrs ago0x08820ebad58ff10afba20a9cb86590a7d96f2b3c IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021703
0xf9e652e76f7b7c059c562c2418750c75d72ef1110567af4d990f1fb9ccded207Remove BNB81547112021-06-09 19:07:06231 days 18 hrs ago0x5242f64c79face84da0ed74c2917fa54331a38df IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021691
0x97b360f1a234c8017b6f8698eafee7d23aa5de33ff1d84e6830264425f46b9f3Remove BNB78638222021-05-30 16:01:09241 days 22 hrs ago0x5242f64c79face84da0ed74c2917fa54331a38df IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.001144155
0xac53c0e3f18d39bc90996c8df6571b82a88576dc627429f50dcc7f0f1a2b4688Remove BNB78633822021-05-30 15:39:09241 days 22 hrs ago0x7a66960575d52e4dffc4718ab842c3354d75e0eb IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.001152225
0x99cc2d77695d2be363902b99baf92d99313679464b60ddc07ef733dd2ef2c35aRemove BNB78626752021-05-30 15:02:59241 days 23 hrs ago0x5242f64c79face84da0ed74c2917fa54331a38df IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021709
0x2bce8e7495d458f164255470b67e0d69e2c81dd911bf9d843d5ec48ad6b12bd7Remove BNB78497612021-05-30 4:15:41242 days 9 hrs ago0x4b6164338a51a248d07304c063486b1e02400173 IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.001152165
0x624cae2e3c9b091e8c74456be6a70e0ac3d4513e0d057fff9c3a2daa472bb558Remove BNB78333922021-05-29 14:35:47242 days 23 hrs ago0x7a66960575d52e4dffc4718ab842c3354d75e0eb IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.001152225
0x709d730fb8ed74c23073fce3e1a85b6db54e45d20810e6da7a1af339414ed0e8Remove BNB78333752021-05-29 14:34:56242 days 23 hrs ago0x7a66960575d52e4dffc4718ab842c3354d75e0eb IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021703
0x8bc7af2d7925192747b7245b4285f7d6b1bbee7063ee728decd191d82d5de429Remove BNB78327412021-05-29 14:03:10243 days 3 mins ago0x5242f64c79face84da0ed74c2917fa54331a38df IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.001197855
0x4123486221f35c0abd638035220f04d0aa4e6aa05d6859fecd1504055c613a6bRemove BNB78251652021-05-29 7:42:00243 days 6 hrs ago0xe9ef0a8a066c218927d4bd4cbe886de356d9a924 IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.001091425
0xb92fc5212fdaaa9dd492aff42cd026d02d571d4d6b1102d55254bc76ea6ca403Remove BNB78246822021-05-29 7:17:51243 days 6 hrs ago0x0d2a4853db084064fc8318a20e0ddf07ccbee1ad IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.001099315
0x0443ff85117f0d9f5a57739fdd658ab94b71d2b7f8c8deb295cf99d0fddcdb2bRemove BNB78246682021-05-29 7:17:09243 days 6 hrs ago0x0d2a4853db084064fc8318a20e0ddf07ccbee1ad IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021703
0xadd6ced8d1bfba1ff3682ce55a87e4cb079ce3b9540d3927757816e280bd493fRemove BNB78209382021-05-29 4:09:27243 days 9 hrs ago0x4b6164338a51a248d07304c063486b1e02400173 IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.001153255
0x4643eaf7468c24bebe9a5cf406f975bd061ecca37bab8a8669913cfb0183839cRemove BNB74899182021-05-17 14:18:52254 days 23 hrs ago0x08820ebad58ff10afba20a9cb86590a7d96f2b3c IN  0xf51760cb0e1518babecc94de03d1c163cef13e3a0 BNB0.00021697
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x0f9c569fc9142bad7e4065f76c2bb5830e84fa7f0676ea8a3cd71fd1a0bf77fd85640982021-06-24 2:43:05217 days 11 hrs ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a0xb898f141640d2eaed03f9069e144a524b169561f5.794916065685407232 BNB
0x35ae1332190e28d09f5d17870fbfbfde9734a25f88d714f435de75e46818150b85640672021-06-24 2:41:32217 days 11 hrs ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a0xb898f141640d2eaed03f9069e144a524b169561f35 BNB
0xf47fb23474a22dcd08ac63af14ac5e52751df40702764d85a12df975e17b2d4978924712021-05-31 15:59:20240 days 22 hrs ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a 0x88408a6b77e8e3e9fb92daa84fe5fab9970204fe0.050186708508491891 BNB
0xf47fb23474a22dcd08ac63af14ac5e52751df40702764d85a12df975e17b2d4978924712021-05-31 15:59:20240 days 22 hrs ago Binance: WBNB Token 0xf51760cb0e1518babecc94de03d1c163cef13e3a0.050693644958072617 BNB
0x3bec5ce7c003124aa124a70bc53824130fdec4152ae796fdd9aeff000916ea4d78883342021-05-31 12:31:17241 days 1 hr ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a 0x7a333c98ebe6af900a31d89d67dd772ff543595e12.85827350055280897 BNB
0x3bec5ce7c003124aa124a70bc53824130fdec4152ae796fdd9aeff000916ea4d78883342021-05-31 12:31:17241 days 1 hr ago Binance: WBNB Token 0xf51760cb0e1518babecc94de03d1c163cef13e3a12.988155051063443404 BNB
0x76aecbc22dbf9fd4cca76a510f62fce173d3f7a11d9fb8409ed5ceb695f32b5e78883042021-05-31 12:29:47241 days 1 hr ago Just Liquidity: Router 0xf51760cb0e1518babecc94de03d1c163cef13e3a1 wei
0x76aecbc22dbf9fd4cca76a510f62fce173d3f7a11d9fb8409ed5ceb695f32b5e78883042021-05-31 12:29:47241 days 1 hr ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a Just Liquidity: Router5.662915037102127156 BNB
0x76aecbc22dbf9fd4cca76a510f62fce173d3f7a11d9fb8409ed5ceb695f32b5e78883042021-05-31 12:29:47241 days 1 hr ago 0x018c54572e4e3aca89ba1eed21d72841fad01ffd 0xf51760cb0e1518babecc94de03d1c163cef13e3a5.720116199093057733 BNB
0x97b360f1a234c8017b6f8698eafee7d23aa5de33ff1d84e6830264425f46b9f378638222021-05-30 16:01:09241 days 22 hrs ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a0x5242f64c79face84da0ed74c2917fa54331a38df0.018809970156369276 BNB
0x97b360f1a234c8017b6f8698eafee7d23aa5de33ff1d84e6830264425f46b9f378638222021-05-30 16:01:09241 days 22 hrs ago Binance: WBNB Token 0xf51760cb0e1518babecc94de03d1c163cef13e3a0.01899996985491846 BNB
0xac53c0e3f18d39bc90996c8df6571b82a88576dc627429f50dcc7f0f1a2b468878633822021-05-30 15:39:09241 days 22 hrs ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a0x7a66960575d52e4dffc4718ab842c3354d75e0eb32.049599936775108238 BNB
0xac53c0e3f18d39bc90996c8df6571b82a88576dc627429f50dcc7f0f1a2b468878633822021-05-30 15:39:09241 days 22 hrs ago Binance: WBNB Token 0xf51760cb0e1518babecc94de03d1c163cef13e3a32.373333269469806301 BNB
0x82ea917fee4c17e2b9628c3f5a3d23cb3f68718a82451dab5fb678a60c5be27778629822021-05-30 15:19:09241 days 22 hrs ago Just Liquidity: Router 0xf51760cb0e1518babecc94de03d1c163cef13e3a1 wei
0x82ea917fee4c17e2b9628c3f5a3d23cb3f68718a82451dab5fb678a60c5be27778629822021-05-30 15:19:09241 days 22 hrs ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a Just Liquidity: Router10.150693675194815917 BNB
0x82ea917fee4c17e2b9628c3f5a3d23cb3f68718a82451dab5fb678a60c5be27778629822021-05-30 15:19:09241 days 22 hrs ago 0x88408a6b77e8e3e9fb92daa84fe5fab9970204fe 0xf51760cb0e1518babecc94de03d1c163cef13e3a10.253225934540218097 BNB
0xebf4b8df1e3c1df678b4a9411e54148988b3f359ee3c0693ac2aa421aae62fec78600282021-05-30 12:50:38242 days 1 hr ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a 0xf876c43b305e1f1c45bcc58cada6fe82852db0e553.45999187918823347 BNB
0xebf4b8df1e3c1df678b4a9411e54148988b3f359ee3c0693ac2aa421aae62fec78600282021-05-30 12:50:38242 days 1 hr ago Binance: WBNB Token 0xf51760cb0e1518babecc94de03d1c163cef13e3a53.999991797159831787 BNB
0xbd95789d5df0d410f10ef67c5e903f46078c9cc626f7f442f2d61cca94f8f18d78564302021-05-30 9:49:54242 days 4 hrs ago Just Liquidity: Router 0xf51760cb0e1518babecc94de03d1c163cef13e3a1 wei
0xbd95789d5df0d410f10ef67c5e903f46078c9cc626f7f442f2d61cca94f8f18d78564302021-05-30 9:49:54242 days 4 hrs ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a Just Liquidity: Router27.222655148293208373 BNB
0xbd95789d5df0d410f10ef67c5e903f46078c9cc626f7f442f2d61cca94f8f18d78564302021-05-30 9:49:54242 days 4 hrs ago 0x7a333c98ebe6af900a31d89d67dd772ff543595e 0xf51760cb0e1518babecc94de03d1c163cef13e3a27.497631462922432699 BNB
0x2bce8e7495d458f164255470b67e0d69e2c81dd911bf9d843d5ec48ad6b12bd778497612021-05-30 4:15:41242 days 9 hrs ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a0x4b6164338a51a248d07304c063486b1e024001730.247499837707318133 BNB
0x2bce8e7495d458f164255470b67e0d69e2c81dd911bf9d843d5ec48ad6b12bd778497612021-05-30 4:15:41242 days 9 hrs ago Binance: WBNB Token 0xf51760cb0e1518babecc94de03d1c163cef13e3a0.249999836067998114 BNB
0x10f6f269cb3ab8410320224153ec1fba4e092c65a38422611e1110a4026fd81178489942021-05-30 3:37:20242 days 10 hrs ago 0xf51760cb0e1518babecc94de03d1c163cef13e3a 0xe123094f8bbf7207921994cea045acd9915540c9140.25286532749054727 BNB
0x10f6f269cb3ab8410320224153ec1fba4e092c65a38422611e1110a4026fd81178489942021-05-30 3:37:20242 days 10 hrs ago Binance: WBNB Token 0xf51760cb0e1518babecc94de03d1c163cef13e3a141.669560936859138656 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
JulProtocol

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-12-25
*/

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
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);

    /**
     * @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: @openzeppelin/contracts/GSN/Context.sol

pragma solidity ^0.6.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

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

// File: @openzeppelin/contracts/access/Ownable.sol

pragma solidity ^0.6.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @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 == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/bscswap/interfaces/IBSCswapRouter01.sol

pragma solidity >=0.6.2;

interface IBSCswapRouter01 {
    function factory() external pure returns (address);
    function WBNB() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityBNB(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountBNBMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountBNB, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityBNB(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountBNBMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountBNB);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityBNBWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountBNBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountBNB);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactBNBForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactBNB(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForBNB(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapBNBForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

// File: contracts/bscswap/interfaces/IBSCswapRouter02.sol

pragma solidity >=0.6.2;


interface IBSCswapRouter02 is IBSCswapRouter01 {
    function removeLiquidityBNBSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountBNBMin,
        address to,
        uint deadline
    ) external returns (uint amountBNB);
    function removeLiquidityBNBWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountBNBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountBNB);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactBNBForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForBNBSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

// File: contracts/bscswap/interfaces/IBSCswapPair.sol

pragma solidity >=0.5.0;

interface IBSCswapPair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

// File: contracts/bscswap/libraries/SafeMath.sol

pragma solidity =0.6.12;

// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)

library SafeMathBSCswap {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, 'ds-math-add-overflow');
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
}

// File: contracts/bscswap/libraries/BSCswapLibrary.sol

pragma solidity >=0.5.0;



library BSCswapLibrary {
    using SafeMathBSCswap for uint;

    // returns sorted token addresses, used to handle return values from pairs sorted in this order
    function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1) {
        require(tokenA != tokenB, 'BSCswapLibrary: IDENTICAL_ADDRESSES');
        (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        require(token0 != address(0), 'BSCswapLibrary: ZERO_ADDRESS');
    }

    // calculates the CREATE2 address for a pair without making any external calls
    function pairFor(address factory, address tokenA, address tokenB) internal pure returns (address pair) {
        (address token0, address token1) = sortTokens(tokenA, tokenB);
        pair = address(uint(keccak256(abi.encodePacked(
                hex'ff',
                factory,
                keccak256(abi.encodePacked(token0, token1)),
                hex'b1e98e21a5335633815a8cfb3b580071c2e4561c50afd57a8746def9ed890b18' // init code hash
            ))));
    }

    // fetches and sorts the reserves for a pair
    function getReserves(address factory, address tokenA, address tokenB) internal view returns (uint reserveA, uint reserveB) {
        (address token0,) = sortTokens(tokenA, tokenB);
        (uint reserve0, uint reserve1,) = IBSCswapPair(pairFor(factory, tokenA, tokenB)).getReserves();
        (reserveA, reserveB) = tokenA == token0 ? (reserve0, reserve1) : (reserve1, reserve0);
    }

    // given some amount of an asset and pair reserves, returns an equivalent amount of the other asset
    function quote(uint amountA, uint reserveA, uint reserveB) internal pure returns (uint amountB) {
        require(amountA > 0, 'BSCswapLibrary: INSUFFICIENT_AMOUNT');
        require(reserveA > 0 && reserveB > 0, 'BSCswapLibrary: INSUFFICIENT_LIQUIDITY');
        amountB = amountA.mul(reserveB) / reserveA;
    }

    // given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) internal pure returns (uint amountOut) {
        require(amountIn > 0, 'BSCswapLibrary: INSUFFICIENT_INPUT_AMOUNT');
        require(reserveIn > 0 && reserveOut > 0, 'BSCswapLibrary: INSUFFICIENT_LIQUIDITY');
        uint amountInWithFee = amountIn.mul(997);
        uint numerator = amountInWithFee.mul(reserveOut);
        uint denominator = reserveIn.mul(1000).add(amountInWithFee);
        amountOut = numerator / denominator;
    }

    // given an output amount of an asset and pair reserves, returns a required input amount of the other asset
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) internal pure returns (uint amountIn) {
        require(amountOut > 0, 'BSCswapLibrary: INSUFFICIENT_OUTPUT_AMOUNT');
        require(reserveIn > 0 && reserveOut > 0, 'BSCswapLibrary: INSUFFICIENT_LIQUIDITY');
        uint numerator = reserveIn.mul(amountOut).mul(1000);
        uint denominator = reserveOut.sub(amountOut).mul(997);
        amountIn = (numerator / denominator).add(1);
    }

    // performs chained getAmountOut calculations on any number of pairs
    function getAmountsOut(address factory, uint amountIn, address[] memory path) internal view returns (uint[] memory amounts) {
        require(path.length >= 2, 'BSCswapLibrary: INVALID_PATH');
        amounts = new uint[](path.length);
        amounts[0] = amountIn;
        for (uint i; i < path.length - 1; i++) {
            (uint reserveIn, uint reserveOut) = getReserves(factory, path[i], path[i + 1]);
            amounts[i + 1] = getAmountOut(amounts[i], reserveIn, reserveOut);
        }
    }

    // performs chained getAmountIn calculations on any number of pairs
    function getAmountsIn(address factory, uint amountOut, address[] memory path) internal view returns (uint[] memory amounts) {
        require(path.length >= 2, 'BSCswapLibrary: INVALID_PATH');
        amounts = new uint[](path.length);
        amounts[amounts.length - 1] = amountOut;
        for (uint i = path.length - 1; i > 0; i--) {
            (uint reserveIn, uint reserveOut) = getReserves(factory, path[i - 1], path[i]);
            amounts[i - 1] = getAmountIn(amounts[i], reserveIn, reserveOut);
        }
    }
}

// File: contracts/bscswap/interfaces/IBSCswapFactory.sol

pragma solidity >=0.5.0;

interface IBSCswapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function migrator() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
    function setMigrator(address) external;
}

// File: contracts/bscswap/interfaces/IWBNB.sol

pragma solidity >=0.5.0;

interface IWBNB {
    function deposit() external payable;
    function transfer(address to, uint value) external returns (bool);
    function withdraw(uint) external;
}

// File: contracts/JulProtocol.sol


pragma solidity 0.6.12;

contract JulProtocol is Ownable {
    // should be changed on mainnet deployment ///////////////////////////////////////////////////////
    // uint256 constant TIME_LIMIT = 86400; //15 minutes for testing , normally 1 days              //
    uint256 constant TIME_LIMIT = 86400; //120 : 2 minutes for testing , normally 1 days   86400    //
    uint256 constant MINIMUM_DEPOSIT_AMOUNT = 5 * 10 ** 18 ;    //0.5 eth for testing    , 5        //
    address public router02Address = 0xbd67d157502A23309Db761c41965600c2Ec788b2;                    //
    address public BSCSWAP_FACTORY = 0x553990F2CBA90272390f62C5BDb1681fFc899675;                    //
    uint256 constant DEPOSIT_WITHDRAWAL_FEE = 100; // 1%                                            //
    uint256 constant LOCKED_TOKEN_AMOUNT = 75000 * 10 ** 18; // 75K                                 //
    uint256 constant INITIAL_INTEREST_RADIO = 40; // 0.4 %                                          //
    //////////////////////////////////////////////////////////////////////////////////////////////////
    
    uint256 lockedTokens; 

    IBSCswapRouter02 public bscswapRouter02;
    address private WBNB;

    address TOKEN;
    IERC20 JulToken;
    
    bool public release1 = false;
    bool public release2 = false;
    bool public release3 = false;
    bool public release4 = false;

    uint256 public totalEthFee;
    uint256 public interestRadio; // interest setting 0.0% ~ 0.5 %

    event interestRadioChanged(uint256 newInterestRadio);
    event tokenReleased(uint256 stages, uint256 tokenAmount);
    event withdrawFeeRaised(uint256 withdrawedAmount);

    constructor(address token) public payable {
        TOKEN = token;
        JulToken = IERC20(token);

        bscswapRouter02 = IBSCswapRouter02(router02Address);
        WBNB = bscswapRouter02.WBNB();

        lockedTokens = LOCKED_TOKEN_AMOUNT;
        
        interestRadio = INITIAL_INTEREST_RADIO;
    }

    struct UserDeposits {
        uint256 amountBNB;
        uint256 lastDepositedDate;
        uint256 pendingBNB;
    }

    mapping(address => UserDeposits) public protocolusers;

    function calculatePercent(uint256 _eth, uint256 _percent)
        public
        pure
        returns (uint256 interestAmt)
    {
        return (_eth * _percent) / 10000;
    }
    
    function calculateInterest(address _user) private
    {
        require(protocolusers[_user].lastDepositedDate > 0, "this is first deposite.");
        require(now > protocolusers[_user].lastDepositedDate, "now should be greater than last deposited date");
        uint256 time = now - protocolusers[_user].lastDepositedDate;
        if(now > protocolusers[_user].lastDepositedDate && time >= TIME_LIMIT)
        {
            uint256 nd = time / TIME_LIMIT;
            protocolusers[_user].pendingBNB = protocolusers[_user].pendingBNB + calculatePercent(protocolusers[_user].amountBNB, interestRadio) * nd;
            protocolusers[_user].lastDepositedDate = now;
        }
    }

    function addBNB()
        public
        payable
        returns (
            uint256 amountToken,
            uint256 amountBNB,
            uint256 liquidity
        )
    {
        require(msg.value >= MINIMUM_DEPOSIT_AMOUNT, "Insufficient BNB");  
        
        uint256 txFee = calculatePercent(msg.value, DEPOSIT_WITHDRAWAL_FEE); // 1 % deposit fee
        uint ethAmount = msg.value - txFee;

        uint reserveA;
        uint reserveB;

        (reserveA, reserveB) = BSCswapLibrary.getReserves(
            BSCSWAP_FACTORY,
            WBNB,
            TOKEN
        );

        uint tokenAmount = BSCswapLibrary.quote(ethAmount, reserveA, reserveB); 

        uint256 balance = JulToken.balanceOf(address(this));
        uint256 tokensAvail = balance - lockedTokens;
        if(balance <= lockedTokens || tokensAvail < tokenAmount)
        {
            msg.sender.transfer(msg.value); //refund to user
            return (0,0,0);
        }

        address payable spender = address(this);
        totalEthFee += txFee;
        // spender.transfer(txFee);

        // IERC20 julToken = IERC20(TOKEN);
        JulToken.approve(router02Address, tokenAmount);

        (amountToken, amountBNB, liquidity) = bscswapRouter02.addLiquidityBNB{
            value: ethAmount
        }(TOKEN, tokenAmount, tokenAmount, 1, spender, block.timestamp);

        if(protocolusers[msg.sender].lastDepositedDate == 0) //first deposit
        {
            protocolusers[msg.sender].lastDepositedDate = now;
        }
        else
        {
            calculateInterest(msg.sender);
        }
        protocolusers[msg.sender].amountBNB = protocolusers[msg.sender].amountBNB + ethAmount;
    }

    function readUsersDetails(address _user)
        public
        view
        returns (
            uint256 td,
            uint256 trd,
            uint256 trwi
        )
    {
        if(protocolusers[_user].lastDepositedDate == 0)
        {
            td = 0;
            trd = 0;
            trwi = 0;
        }
        else{
            td = protocolusers[_user].amountBNB;
            uint256 time = now - protocolusers[_user].lastDepositedDate;

            if(now > protocolusers[_user].lastDepositedDate && time >= TIME_LIMIT ){
                uint256 nd = time / TIME_LIMIT;
                uint256 percent = calculatePercent(
                        protocolusers[_user].amountBNB,
                        interestRadio
                    ) * nd;
                trd = protocolusers[_user].pendingBNB + percent;
                trwi = protocolusers[_user].amountBNB + trd ;
            }
            else{
                trd = protocolusers[_user].pendingBNB;
                trwi = protocolusers[_user].pendingBNB;
            }
        }
        return (td, trd, trwi);
    }

    function removeBNB(uint256 _amountBNB)
    public payable returns(uint256 amountToken, uint256 amountBNB)
    {
        (,,uint trwi) = readUsersDetails(msg.sender);

        require(trwi >= _amountBNB, "Insufficient Removable Balance");
        
        address pairAddress = BSCswapLibrary.pairFor(
            BSCSWAP_FACTORY,
            WBNB,
            TOKEN
        );
        IBSCswapPair pair = IBSCswapPair(pairAddress);

        (uint reserveA, ) = BSCswapLibrary.getReserves(
            BSCSWAP_FACTORY,
            WBNB,
            TOKEN
        );
        require(reserveA > 0 , "Pool have no BNB");

        uint totalSupply = pair.totalSupply();
        uint liqAmt = BSCswapLibrary.quote(_amountBNB, reserveA, totalSupply);
        
        uint balance = pair.balanceOf(address(this));
        require(liqAmt <= balance, "Insufficient Liquidity in BSCswap");

        pair.transfer(pairAddress, liqAmt);

        (uint amount0, uint amount1) = pair.burn(address(this));
        (address token0,) = BSCswapLibrary.sortTokens(WBNB, TOKEN);
        (amountBNB, amountToken) = WBNB == token0 ? (amount0, amount1) : (amount1, amount0);
        
        //update deposited data
        calculateInterest(msg.sender);
        if(protocolusers[msg.sender].pendingBNB >= amountBNB)
        {
            protocolusers[msg.sender].pendingBNB = protocolusers[msg.sender].pendingBNB - amountBNB;
        }
        else{
            protocolusers[msg.sender].amountBNB = protocolusers[msg.sender].amountBNB + protocolusers[msg.sender].pendingBNB - amountBNB;
            protocolusers[msg.sender].pendingBNB = 0;
        }
        //end

        IWBNB(WBNB).withdraw(amountBNB);
        uint256 fee = calculatePercent(amountBNB, DEPOSIT_WITHDRAWAL_FEE); //1% withdraw fee
        uint256 user_amount = amountBNB - fee;
        totalEthFee += fee;
        msg.sender.transfer(user_amount);
    }
 
    function getLiquidityBalance() public view returns (uint256 liquidity) {
        address pair = BSCswapLibrary.pairFor(BSCSWAP_FACTORY, WBNB, TOKEN);
        liquidity = IERC20(pair).balanceOf(address(this));
    }

    function withdrawFee(address payable ca, uint256 amount) public onlyOwner{
        require(totalEthFee >= amount , "Insufficient BNB amount!");
        require(address(this).balance >= amount , "Insufficient BNB balance in contract!" );
        ca.transfer(amount);
        totalEthFee = totalEthFee - amount ;
        emit withdrawFeeRaised(amount);
    }

    function tokenRelease() public onlyOwner returns (bool result){
        // total protocol eth balance
        uint256 eth;
        (eth, ) = getBalanceFromBSCswap();
        
        if(eth >= 80000 * 10 ** 18 && !release1) {
            JulToken.transfer(msg.sender, 20000 * 10 ** 18);
            lockedTokens = 55000 * 10 ** 18;
            release1 = true;
            emit tokenReleased(1, 20000 * 10 ** 18);
            return true;
        } else if(eth >= 200000 * 10 ** 18 && !release2) {
            JulToken.transfer(msg.sender, 20000 * 10 ** 18);
            lockedTokens = 35000 * 10 ** 18; 
            release2 = true;
            emit tokenReleased(2, 20000 * 10 ** 18);
            return true;            
        } else if(eth >= 400000 * 10 ** 18 && !release3) {
            JulToken.transfer(msg.sender, 17500 * 10 ** 18);
            lockedTokens = 17500 * 10 ** 18; 
            release3 = true;
            emit tokenReleased(3, 17500 * 10 ** 18);
            return true;
        } else if(eth >= 600000 * 10 ** 18 && !release4) {
            JulToken.transfer(msg.sender, 17500 * 10 ** 18);
            lockedTokens = 0;
            release4 = true;
            emit tokenReleased(4, 17500 * 10 ** 18);
            return true;
        }

        return false;
    }

    /// @return The balance of the contract
    function protocolBalance() public view returns (uint256) {
        return address(this).balance;
    }

    function getBalanceFromBSCswap()
        public
        view
        returns (uint256 reserveA, uint256 reserveB)
    {
        (reserveA, reserveB) = BSCswapLibrary.getReserves(
            BSCSWAP_FACTORY,
            WBNB,
            TOKEN
        );
    }

    receive() external payable {}

    fallback() external payable {
        // to get BNB from BSCswap exchanges
    }
    function setInterestRadio(uint256 _interestRadio) public onlyOwner
    {
        require(_interestRadio > 0, "intrest should be greater than zero");
        require(_interestRadio < 50, "intrest should be lesee than 0.5%");
        interestRadio = _interestRadio;
        emit interestRadioChanged(interestRadio);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newInterestRadio","type":"uint256"}],"name":"interestRadioChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"stages","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"tokenReleased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"withdrawedAmount","type":"uint256"}],"name":"withdrawFeeRaised","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"BSCSWAP_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addBNB","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountBNB","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"bscswapRouter02","outputs":[{"internalType":"contract IBSCswapRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_eth","type":"uint256"},{"internalType":"uint256","name":"_percent","type":"uint256"}],"name":"calculatePercent","outputs":[{"internalType":"uint256","name":"interestAmt","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getBalanceFromBSCswap","outputs":[{"internalType":"uint256","name":"reserveA","type":"uint256"},{"internalType":"uint256","name":"reserveB","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquidityBalance","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"interestRadio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"protocolusers","outputs":[{"internalType":"uint256","name":"amountBNB","type":"uint256"},{"internalType":"uint256","name":"lastDepositedDate","type":"uint256"},{"internalType":"uint256","name":"pendingBNB","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"readUsersDetails","outputs":[{"internalType":"uint256","name":"td","type":"uint256"},{"internalType":"uint256","name":"trd","type":"uint256"},{"internalType":"uint256","name":"trwi","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"release1","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"release2","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"release3","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"release4","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountBNB","type":"uint256"}],"name":"removeBNB","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountBNB","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router02Address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_interestRadio","type":"uint256"}],"name":"setInterestRadio","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenRelease","outputs":[{"internalType":"bool","name":"result","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalEthFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ca","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040819052600180546001600160a01b031990811673bd67d157502a23309db761c41965600c2ec788b2179091556002805490911673553990f2cba90272390f62c5bdb1681ffc8996751790556007805463ffffffff60a01b191690556200219b388190039081908339818101604052602081101561007f57600080fd5b5051600061008b6101af565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b038084166001600160a01b031992831681179093556007805483169093179092556001546004805490921690831617808255604080516346eca80160e11b815290519190931692638dd950029281810192602092909190829003018186803b15801561014b57600080fd5b505afa15801561015f573d6000803e3d6000fd5b505050506040513d602081101561017557600080fd5b5051600580546001600160a01b0319166001600160a01b0390921691909117905550690fe1c215e8f838e0000060035560286009556101b3565b3390565b611fd880620001c36000396000f3fe6080604052600436106101845760003560e01c806377cb6c82116100d6578063b3d0e59b1161007f578063f2e99ff611610059578063f2e99ff614610411578063f2fde38b14610426578063fd9be522146104595761018b565b8063b3d0e59b146103d2578063cac35112146103e7578063e14342c0146103fc5761018b565b8063a2ef165a116100b0578063a2ef165a14610393578063aaf27b99146103a8578063ac7c64fc146103bd5761018b565b806377cb6c82146103395780638da5cb5b1461034e57806391f2635b146103635761018b565b80632ebbddac1161013857806361e98db81161011257806361e98db8146102dc578063715018a6146102f15780637798959f146103065761018b565b80632ebbddac146102495780635d89b2a21461027c5780635f988887146102a65761018b565b806321a2697c1161016957806321a2697c146101e457806328cae27e146101f95780632a4e6691146102225761018b565b80630e6e0a931461018d57806320c9f5fc146101be5761018b565b3661018b57005b005b34801561019957600080fd5b506101a2610492565b604080516001600160a01b039092168252519081900360200190f35b6101c66104a1565b60408051938452602084019290925282820152519081900360600190f35b3480156101f057600080fd5b506101a2610822565b34801561020557600080fd5b5061020e610831565b604080519115158252519081900360200190f35b34801561022e57600080fd5b50610237610841565b60408051918252519081900360200190f35b34801561025557600080fd5b506101c66004803603602081101561026c57600080fd5b50356001600160a01b0316610847565b34801561028857600080fd5b5061018b6004803603602081101561029f57600080fd5b5035610943565b6102c3600480360360208110156102bc57600080fd5b5035610a66565b6040805192835260208301919091528051918290030190f35b3480156102e857600080fd5b50610237610f48565b3480156102fd57600080fd5b5061018b610f4d565b34801561031257600080fd5b506101c66004803603602081101561032957600080fd5b50356001600160a01b031661100e565b34801561034557600080fd5b5061020e61102f565b34801561035a57600080fd5b506101a261103f565b34801561036f57600080fd5b506102376004803603604081101561038657600080fd5b508035906020013561104e565b34801561039f57600080fd5b506101a261105c565b3480156103b457600080fd5b5061020e61106b565b3480156103c957600080fd5b5061020e61107b565b3480156103de57600080fd5b506102c361108b565b3480156103f357600080fd5b5061020e6110bc565b34801561040857600080fd5b50610237611621565b34801561041d57600080fd5b50610237611627565b34801561043257600080fd5b5061018b6004803603602081101561044957600080fd5b50356001600160a01b03166116d0565b34801561046557600080fd5b5061018b6004803603604081101561047c57600080fd5b506001600160a01b0381351690602001356117e7565b6001546001600160a01b031681565b6000806000674563918244f40000341015610503576040805162461bcd60e51b815260206004820152601060248201527f496e73756666696369656e7420424e4200000000000000000000000000000000604482015290519081900360640190fd5b600061051034606461104e565b60025460055460065492935034849003926000928392610540926001600160a01b0392831692918216911661195e565b90925090506000610552848484611a2c565b600754604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156105bc57600080fd5b505afa1580156105d0573d6000803e3d6000fd5b505050506040513d60208110156105e657600080fd5b505160035490915080820390821115806105ff57508281105b156106485760405133903480156108fc02916000818181858888f19350505050158015610630573d6000803e3d6000fd5b5060008060009950995099505050505050505061081d565b6008805488019055600754600154604080517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0392831660048201526024810187905290513093929092169163095ea7b3916044808201926020929091908290030181600087803b1580156106c557600080fd5b505af11580156106d9573d6000803e3d6000fd5b505050506040513d60208110156106ef57600080fd5b505060048054600654604080517feaaed4420000000000000000000000000000000000000000000000000000000081526001600160a01b039283169481019490945260248401889052604484018890526001606485015284821660848501524260a48501525191169163eaaed442918a9160c48082019260609290919082900301818588803b15801561078157600080fd5b505af1158015610795573d6000803e3d6000fd5b50505050506040513d60608110156107ac57600080fd5b508051602080830151604093840151336000908152600a9093529390912060010154919d509b509099506107f557336000908152600a60205260409020426001909101556107fe565b6107fe33611ad2565b5050336000908152600a60205260409020805490950190945550505050505b909192565b6002546001600160a01b031681565b600754600160b01b900460ff1681565b60095481565b6001600160a01b0381166000908152600a6020526040812060010154819081906108795750600091508190508061093c565b6001600160a01b0384166000908152600a60205260409020805460019091015490935042818103911080156108b15750620151808110155b15610918576001600160a01b0385166000908152600a6020526040812054600954620151808404929183916108e6919061104e565b6001600160a01b0389166000908152600a6020526040902060028101549054929091020195508501935061093a915050565b6001600160a01b0385166000908152600a602052604090206002015492508291505b505b9193909250565b61094b611c32565b6000546001600160a01b039081169116146109ad576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600081116109ec5760405162461bcd60e51b8152600401808060200182810382526023815260200180611f5d6023913960400191505060405180910390fd5b60328110610a2b5760405162461bcd60e51b8152600401808060200182810382526021815260200180611f196021913960400191505060405180910390fd5b60098190556040805182815290517f44f87234259403662b7bfca845a1a2b5e02dcc56c7a8a3dfa0b68b9f30fac5389181900360200190a150565b6000806000610a7433610847565b9250505083811015610acd576040805162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742052656d6f7661626c652042616c616e63650000604482015290519081900360640190fd5b600254600554600654600092610af3926001600160a01b03918216929082169116611c36565b6002546005546006549293508392600092610b1e926001600160a01b0391821692908216911661195e565b50905060008111610b76576040805162461bcd60e51b815260206004820152601060248201527f506f6f6c2068617665206e6f20424e4200000000000000000000000000000000604482015290519081900360640190fd5b6000826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb157600080fd5b505afa158015610bc5573d6000803e3d6000fd5b505050506040513d6020811015610bdb57600080fd5b505190506000610bec898484611a2c565b90506000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c3d57600080fd5b505afa158015610c51573d6000803e3d6000fd5b505050506040513d6020811015610c6757600080fd5b5051905080821115610caa5760405162461bcd60e51b8152600401808060200182810382526021815260200180611ead6021913960400191505060405180910390fd5b846001600160a01b031663a9059cbb87846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610d0157600080fd5b505af1158015610d15573d6000803e3d6000fd5b505050506040513d6020811015610d2b57600080fd5b5050604080517f89afcb44000000000000000000000000000000000000000000000000000000008152306004820152815160009283926001600160a01b038a16926389afcb449260248084019391929182900301818787803b158015610d9057600080fd5b505af1158015610da4573d6000803e3d6000fd5b505050506040513d6040811015610dba57600080fd5b508051602090910151600554600654929450909250600091610de8916001600160a01b039081169116611d0e565b506005549091506001600160a01b03808316911614610e08578183610e0b565b82825b9c509a50610e1833611ad2565b336000908152600a60205260409020600201548b11610e4f57336000908152600a6020526040902060020180548c90039055610e6f565b336000908152600a602052604081206002810180548254018e9003909155555b600554604080517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018e905290516001600160a01b0390921691632e1a7d4d9160248082019260009290919082900301818387803b158015610ed557600080fd5b505af1158015610ee9573d6000803e3d6000fd5b505050506000610efa8c606461104e565b6008805482019055604051909150818d0390339082156108fc029083906000818181858888f19350505050158015610f36573d6000803e3d6000fd5b50505050505050505050505050915091565b475b90565b610f55611c32565b6000546001600160a01b03908116911614610fb7576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600a6020526000908152604090208054600182015460029092015490919083565b600754600160a01b900460ff1681565b6000546001600160a01b031690565b612710818302045b92915050565b6004546001600160a01b031681565b600754600160a81b900460ff1681565b600754600160b81b900460ff1681565b60025460055460065460009283926110b3926001600160a01b0392831692918216911661195e565b90939092509050565b60006110c6611c32565b6000546001600160a01b03908116911614611128576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600061113261108b565b5090506910f0cf064dd59200000081108015906111595750600754600160a01b900460ff16155b15611272576007546040805163a9059cbb60e01b815233600482015269043c33c1937564800000602482015290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156111bb57600080fd5b505af11580156111cf573d6000803e3d6000fd5b505050506040513d60208110156111e557600080fd5b5050690ba58e545582d4600000600355600780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b179055604080516001815269043c33c1937564800000602082015281517fe828af126698fd81c38c5428421615957b22e888f0dfa8c52be51254c5c3a060929181900390910190a16001915050610f4a565b692a5a058fc295ed00000081101580156112965750600754600160a81b900460ff16155b156113af576007546040805163a9059cbb60e01b815233600482015269043c33c1937564800000602482015290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156112f857600080fd5b505af115801561130c573d6000803e3d6000fd5b505050506040513d602081101561132257600080fd5b50506907695a92c20d6fe00000600355600780547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16600160a81b179055604080516002815269043c33c1937564800000602082015281517fe828af126698fd81c38c5428421615957b22e888f0dfa8c52be51254c5c3a060929181900390910190a16001915050610f4a565b6954b40b1f852bda00000081101580156113d35750600754600160b01b900460ff16155b156114e5576007546040805163a9059cbb60e01b81523360048201526903b4ad496106b7f00000602482015290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561143557600080fd5b505af1158015611449573d6000803e3d6000fd5b505050506040513d602081101561145f57600080fd5b50506903b4ad496106b7f000006003818155600780547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16600160b01b17905560408051918252602082019290925281517fe828af126698fd81c38c5428421615957b22e888f0dfa8c52be51254c5c3a060929181900390910190a16001915050610f4a565b697f0e10af47c1c700000081101580156115095750600754600160b81b900460ff16155b15611619576007546040805163a9059cbb60e01b81523360048201526903b4ad496106b7f00000602482015290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561156b57600080fd5b505af115801561157f573d6000803e3d6000fd5b505050506040513d602081101561159557600080fd5b50506000600355600780547fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff16600160b81b17905560408051600481526903b4ad496106b7f00000602082015281517fe828af126698fd81c38c5428421615957b22e888f0dfa8c52be51254c5c3a060929181900390910190a16001915050610f4a565b600091505090565b60085481565b600254600554600654600092839261164f926001600160a01b03928316929182169116611c36565b9050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561169e57600080fd5b505afa1580156116b2573d6000803e3d6000fd5b505050506040513d60208110156116c857600080fd5b505192915050565b6116d8611c32565b6000546001600160a01b0390811691161461173a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661177f5760405162461bcd60e51b8152600401808060200182810382526026815260200180611e876026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6117ef611c32565b6000546001600160a01b03908116911614611851576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b8060085410156118a8576040805162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e7420424e4220616d6f756e74210000000000000000604482015290519081900360640190fd5b804710156118e75760405162461bcd60e51b8152600401808060200182810382526025815260200180611ece6025913960400191505060405180910390fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561191d573d6000803e3d6000fd5b506008805482900390556040805182815290517f019b398fef89a61432ba5fe107f47df61ac02a396fdc8d2e072c1dd623ecb9b59181900360200190a15050565b600080600061196d8585611d0e565b50905060008061197e888888611c36565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156119b657600080fd5b505afa1580156119ca573d6000803e3d6000fd5b505050506040513d60608110156119e057600080fd5b5080516020909101516dffffffffffffffffffffffffffff91821693501690506001600160a01b0387811690841614611a1a578082611a1d565b81815b90999098509650505050505050565b6000808411611a6c5760405162461bcd60e51b8152600401808060200182810382526023815260200180611f806023913960400191505060405180910390fd5b600083118015611a7c5750600082115b611ab75760405162461bcd60e51b8152600401808060200182810382526026815260200180611ef36026913960400191505060405180910390fd5b82611ac28584611dec565b81611ac957fe5b04949350505050565b6001600160a01b0381166000908152600a6020526040902060010154611b3f576040805162461bcd60e51b815260206004820152601760248201527f74686973206973206669727374206465706f736974652e000000000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152600a60205260409020600101544211611b985760405162461bcd60e51b815260040180806020018281038252602e815260200180611e59602e913960400191505060405180910390fd5b6001600160a01b0381166000908152600a60205260409020600101544281810391108015611bc95750620151808110155b15611c2e576001600160a01b0382166000908152600a6020526040902054600954620151808304918291611bfd919061104e565b6001600160a01b0385166000908152600a602052604090206002810180549390920292909201905542600190910155505b5050565b3390565b6000806000611c458585611d0e565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527fb1e98e21a5335633815a8cfb3b580071c2e4561c50afd57a8746def9ed890b18609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415611d625760405162461bcd60e51b8152600401808060200182810382526023815260200180611f3a6023913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610611d82578284611d85565b83835b90925090506001600160a01b038216611de5576040805162461bcd60e51b815260206004820152601c60248201527f425343737761704c6962726172793a205a45524f5f4144445245535300000000604482015290519081900360640190fd5b9250929050565b6000811580611e0757505080820282828281611e0457fe5b04145b611056576040805162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe6e6f772073686f756c642062652067726561746572207468616e206c617374206465706f736974656420646174654f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e73756666696369656e74204c697175696469747920696e2042534373776170496e73756666696369656e7420424e422062616c616e636520696e20636f6e747261637421425343737761704c6962726172793a20494e53554646494349454e545f4c4951554944495459696e74726573742073686f756c64206265206c65736565207468616e20302e3525425343737761704c6962726172793a204944454e544943414c5f414444524553534553696e74726573742073686f756c642062652067726561746572207468616e207a65726f425343737761704c6962726172793a20494e53554646494349454e545f414d4f554e54a2646970667358221220f24bb74b2ec4559125750b02e200766d327620a0c9aae7f203f39739c7887cbd64736f6c634300060c003300000000000000000000000032dffc3fe8e3ef3571bf8a72c0d0015c5373f41d

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

00000000000000000000000032dffc3fe8e3ef3571bf8a72c0d0015c5373f41d

-----Decoded View---------------
Arg [0] : token (address): 0x32dffc3fe8e3ef3571bf8a72c0d0015c5373f41d

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000032dffc3fe8e3ef3571bf8a72c0d0015c5373f41d


Deployed ByteCode Sourcemap

19960:10740:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20415:75;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;20415:75:0;;;;;;;;;;;;;;23037:1746;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;20519:75;;;;;;;;;;;;;:::i;21268:28::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;21373;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;24791:1125;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24791:1125:0;-1:-1:-1;;;;;24791:1125:0;;:::i;30372:325::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30372:325:0;;:::i;25924:1952::-;;;;;;;;;;;;;;;;-1:-1:-1;25924:1952:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;29857:104;;;;;;;;;;;;;:::i;5542:148::-;;;;;;;;;;;;;:::i;22079:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22079:53:0;-1:-1:-1;;;;;22079:53:0;;:::i;21198:28::-;;;;;;;;;;;;;:::i;4900:79::-;;;;;;;;;;;;;:::i;22141:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22141:183:0;;;;;;;:::i;21075:39::-;;;;;;;;;;;;;:::i;21233:28::-;;;;;;;;;;;;;:::i;21303:::-;;;;;;;;;;;;;:::i;29969:270::-;;;;;;;;;;;;;:::i;28480:1324::-;;;;;;;;;;;;;:::i;21340:26::-;;;;;;;;;;;;;:::i;27885:217::-;;;;;;;;;;;;;:::i;5845:244::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5845:244:0;-1:-1:-1;;;;;5845:244:0;;:::i;28110:362::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;28110:362:0;;;;;;;;:::i;20415:75::-;;;-1:-1:-1;;;;;20415:75:0;;:::o;23037:1746::-;23120:19;23154:17;23186;20353:12;23239:9;:35;;23231:64;;;;;-1:-1:-1;;;23231:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;23318:13;23334:51;23351:9;20665:3;23334:16;:51::i;:::-;23576:15;;23606:4;;23625:5;;23318:67;;-1:-1:-1;23432:9:0;:17;;;;23415:14;;;;23535:106;;-1:-1:-1;;;;;23576:15:0;;;;23606:4;;;;23625:5;23535:26;:106::i;:::-;23512:129;;-1:-1:-1;23512:129:0;-1:-1:-1;23654:16:0;23673:51;23694:9;23512:129;;23673:20;:51::i;:::-;23756:8;;:33;;;;;;23783:4;23756:33;;;;;;23654:70;;-1:-1:-1;23738:15:0;;-1:-1:-1;;;;;23756:8:0;;;;:18;;:33;;;;;;;;;;;;;;;:8;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23756:33:0;23832:12;;23756:33;;-1:-1:-1;23822:22:0;;;;23858:23;;;;:52;;;23899:11;23885;:25;23858:52;23855:169;;;23936:30;;:10;;23956:9;23936:30;;;;;;;;;23956:9;23936:10;:30;;;;;;;;;;;;;;;;;;;;;24006:1;24008;24010;23998:14;;;;;;;;;;;;;;;23855:169;24086:11;:20;;;;;;24201:8;;-1:-1:-1;24218:15:0;24201:46;;;;;;-1:-1:-1;;;;;24218:15:0;;;24201:46;;;;;;;;;;;;24070:4;;24201:8;;;;;:16;;:46;;;;;;;;;;;;;;;24036:23;24201:8;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24298:15:0;;;24372:5;;24298:135;;;;;;-1:-1:-1;;;;;24372:5:0;;;24298:135;;;;;;;;;;;;;;;;;;;:15;:135;;;;;;;;;;;24417:15;24298:135;;;;;:15;;;:31;;24351:9;;24298:135;;;;;;;;;;;;;;;24351:9;24298:15;:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24298:135:0;;;;;;;;;;;;24463:10;24449:25;;;;:13;:25;;;;;;;:43;;;24298:135;;-1:-1:-1;24298:135:0;-1:-1:-1;24298:135:0;;-1:-1:-1;24446:234:0;;24553:10;24539:25;;;;:13;:25;;;;;24585:3;24539:43;;;;:49;24446:234;;;24639:29;24657:10;24639:17;:29::i;:::-;-1:-1:-1;;24742:10:0;24728:25;;;;:13;:25;;;;;:35;;:47;;;24690:85;;;-1:-1:-1;;;;;23037:1746:0;;;;:::o;20519:75::-;;;-1:-1:-1;;;;;20519:75:0;;:::o;21268:28::-;;;-1:-1:-1;;;21268:28:0;;;;;:::o;21373:::-;;;;:::o;24791:1125::-;-1:-1:-1;;;;;24988:20:0;;24894:10;24988:20;;;:13;:20;;;;;:38;;;24894:10;;;;24985:891;;-1:-1:-1;25062:1:0;;-1:-1:-1;25062:1:0;;-1:-1:-1;25062:1:0;24985:891;;;-1:-1:-1;;;;;25154:20:0;;;;;;:13;:20;;;;;:30;;25220:38;;;;;25154:30;;-1:-1:-1;25214:3:0;:44;;;;-1:-1:-1;25278:66:0;;;;;20237:5;25326:4;:18;;25278:66;25275:590;;;-1:-1:-1;;;;;25475:20:0;;25365:10;25475:20;;;:13;:20;;;;;:30;25532:13;;20237:5;25378:17;;;25365:10;25378:17;;25432:136;;25475:30;25432:16;:136::i;:::-;-1:-1:-1;;;;;25598:20:0;;;;;;:13;:20;;;;;:31;;;;25665:30;;25432:141;;;;25598:41;;-1:-1:-1;25665:36:0;;;-1:-1:-1;25275:590:0;;-1:-1:-1;;25275:590:0;;-1:-1:-1;;;;;25761:20:0;;;;;;:13;:20;;;;;:31;;;;-1:-1:-1;25761:31:0;;-1:-1:-1;25275:590:0;24985:891;;24791:1125;;;;;:::o;30372:325::-;5122:12;:10;:12::i;:::-;5112:6;;-1:-1:-1;;;;;5112:6:0;;;:22;;;5104:67;;;;;-1:-1:-1;;;5104:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30480:1:::1;30463:14;:18;30455:66;;;;-1:-1:-1::0;;;30455:66:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30557:2;30540:14;:19;30532:65;;;;-1:-1:-1::0;;;30532:65:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30608:13;:30:::0;;;30654:35:::1;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;30372:325:::0;:::o;25924:1952::-;25991:19;26012:17;26050:9;26063:28;26080:10;26063:16;:28::i;:::-;26047:44;;;;26120:10;26112:4;:18;;26104:61;;;;;-1:-1:-1;;;26104:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;26245:15;;26275:4;;26294:5;;26186:19;;26208:102;;-1:-1:-1;;;;;26245:15:0;;;;26275:4;;;;26294:5;26208:22;:102::i;:::-;26440:15;;26470:4;;26489:5;;26186:124;;-1:-1:-1;26186:124:0;;26321:17;;26399:106;;-1:-1:-1;;;;;26440:15:0;;;;26470:4;;;;26489:5;26399:26;:106::i;:::-;26379:126;;;26535:1;26524:8;:12;26516:42;;;;;-1:-1:-1;;;26516:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:16;26590:4;-1:-1:-1;;;;;26590:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26590:18:0;;-1:-1:-1;26619:11:0;26633:55;26654:10;26666:8;26590:18;26633:20;:55::i;:::-;26619:69;;26709:12;26724:4;-1:-1:-1;;;;;26724:14:0;;26747:4;26724:29;;;;;;;;;;;;;-1:-1:-1;;;;;26724:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26724:29:0;;-1:-1:-1;26772:17:0;;;;26764:63;;;;-1:-1:-1;;;26764:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26840:4;-1:-1:-1;;;;;26840:13:0;;26854:11;26867:6;26840:34;;;;;;;;;;;;;-1:-1:-1;;;;;26840:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26918:24:0;;;;;;26936:4;26918:24;;;;;;26888:12;;;;-1:-1:-1;;;;;26918:9:0;;;;;:24;;;;;;;;;;;;;26888:12;26918:9;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26918:24:0;;;;;;;26999:4;;27005:5;;26918:24;;-1:-1:-1;26918:24:0;;-1:-1:-1;26954:14:0;;26973:38;;-1:-1:-1;;;;;26999:4:0;;;;27005:5;26973:25;:38::i;:::-;-1:-1:-1;27049:4:0;;26953:58;;-1:-1:-1;;;;;;27049:14:0;;;:4;;:14;:56;;27088:7;27097;27049:56;;;27067:7;27076;27049:56;27022:83;-1:-1:-1;27022:83:0;-1:-1:-1;27159:29:0;27177:10;27159:17;:29::i;:::-;27216:10;27202:25;;;;:13;:25;;;;;:36;;;:49;-1:-1:-1;27199:397:0;;27330:10;27316:25;;;;:13;:25;;;;;:36;;;;:48;;;27277:87;;27199:397;;;27495:10;27481:25;;;;:13;:25;;;;;:36;;;;;27443:35;;:74;:86;;;27405:124;;;27544:40;27199:397;27629:4;;27623:31;;;;;;;;;;;;;;-1:-1:-1;;;;;27629:4:0;;;;27623:20;;:31;;;;;27629:4;;27623:31;;;;;;;;27629:4;;27623:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27665:11;27679:51;27696:9;20665:3;27679:16;:51::i;:::-;27807:11;:18;;;;;;27836:32;;27665:65;;-1:-1:-1;27781:15:0;;;;27836:10;;:32;;;;;27781:15;;27759:19;27836:32;27759:19;27836:32;27781:15;27836:10;:32;;;;;;;;;;;;;;;;;;;;;25924:1952;;;;;;;;;;;;;;;:::o;29857:104::-;29932:21;29857:104;;:::o;5542:148::-;5122:12;:10;:12::i;:::-;5112:6;;-1:-1:-1;;;;;5112:6:0;;;:22;;;5104:67;;;;;-1:-1:-1;;;5104:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5649:1:::1;5633:6:::0;;5612:40:::1;::::0;-1:-1:-1;;;;;5633:6:0;;::::1;::::0;5612:40:::1;::::0;5649:1;;5612:40:::1;5680:1;5663:19:::0;;-1:-1:-1;;5663:19:0::1;::::0;;5542:148::o;22079:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21198:28::-;;;-1:-1:-1;;;21198:28:0;;;;;:::o;4900:79::-;4938:7;4965:6;-1:-1:-1;;;;;4965:6:0;4900:79;:::o;22141:183::-;22311:5;22292:15;;;22291:25;22141:183;;;;;:::o;21075:39::-;;;-1:-1:-1;;;;;21075:39:0;;:::o;21233:28::-;;;-1:-1:-1;;;21233:28:0;;;;;:::o;21303:::-;;;-1:-1:-1;;;21303:28:0;;;;;:::o;29969:270::-;30166:15;;30196:4;;30215:5;;30050:16;;;;30125:106;;-1:-1:-1;;;;;30166:15:0;;;;30196:4;;;;30215:5;30125:26;:106::i;:::-;30102:129;;;;-1:-1:-1;29969:270:0;-1:-1:-1;29969:270:0:o;28480:1324::-;28530:11;5122:12;:10;:12::i;:::-;5112:6;;-1:-1:-1;;;;;5112:6:0;;;:22;;;5104:67;;;;;-1:-1:-1;;;5104:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28592:11:::1;28624:23;:21;:23::i;:::-;-1:-1:-1::0;28614:33:0;-1:-1:-1;28678:16:0::1;28671:23:::0;::::1;::::0;::::1;::::0;:36:::1;;-1:-1:-1::0;28699:8:0::1;::::0;-1:-1:-1;;;28699:8:0;::::1;;;28698:9;28671:36;28668:1104;;;28724:8;::::0;:47:::1;::::0;;-1:-1:-1;;;28724:47:0;;28742:10:::1;28724:47;::::0;::::1;::::0;28754:16:::1;28724:47:::0;;;;;;-1:-1:-1;;;;;28724:8:0;;::::1;::::0;:17:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;:8:::1;::::0;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;28801:16:0::1;28786:12;:31:::0;28832:8:::1;:15:::0;;;::::1;-1:-1:-1::0;;;28832:15:0::1;::::0;;28867:34:::1;::::0;;28843:4:::1;28867:34:::0;;28884:16:::1;28724:47;28867:34:::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;28923:4;28916:11;;;;;28668:1104;28955:17;28948:3;:24;;:37;;;;-1:-1:-1::0;28977:8:0::1;::::0;-1:-1:-1;;;28977:8:0;::::1;;;28976:9;28948:37;28945:827;;;29002:8;::::0;:47:::1;::::0;;-1:-1:-1;;;29002:47:0;;29020:10:::1;29002:47;::::0;::::1;::::0;29032:16:::1;29002:47:::0;;;;;;-1:-1:-1;;;;;29002:8:0;;::::1;::::0;:17:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;:8:::1;::::0;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;29079:16:0::1;29064:12;:31:::0;29111:8:::1;:15:::0;;;::::1;-1:-1:-1::0;;;29111:15:0::1;::::0;;29146:34:::1;::::0;;29160:1:::1;29146:34:::0;;29163:16:::1;29002:47;29146:34:::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;29202:4;29195:11;;;;;28945:827;29246:17;29239:3;:24;;:37;;;;-1:-1:-1::0;29268:8:0::1;::::0;-1:-1:-1;;;29268:8:0;::::1;;;29267:9;29239:37;29236:536;;;29293:8;::::0;:47:::1;::::0;;-1:-1:-1;;;29293:47:0;;29311:10:::1;29293:47;::::0;::::1;::::0;29323:16:::1;29293:47:::0;;;;;;-1:-1:-1;;;;;29293:8:0;;::::1;::::0;:17:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;:8:::1;::::0;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;29370:16:0::1;29355:12;:31:::0;;;29402:8:::1;:15:::0;;;::::1;-1:-1:-1::0;;;29402:15:0::1;::::0;;29437:34:::1;::::0;;;;;29293:47:::1;29437:34:::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;::::1;29493:4;29486:11;;;;;29236:536;29525:17;29518:3;:24;;:37;;;;-1:-1:-1::0;29547:8:0::1;::::0;-1:-1:-1;;;29547:8:0;::::1;;;29546:9;29518:37;29515:257;;;29572:8;::::0;:47:::1;::::0;;-1:-1:-1;;;29572:47:0;;29590:10:::1;29572:47;::::0;::::1;::::0;29602:16:::1;29572:47:::0;;;;;;-1:-1:-1;;;;;29572:8:0;;::::1;::::0;:17:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;:8:::1;::::0;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;29649:1:0::1;29634:12;:16:::0;29665:8:::1;:15:::0;;;::::1;-1:-1:-1::0;;;29665:15:0::1;::::0;;29700:34:::1;::::0;;29714:1:::1;29700:34:::0;;29717:16:::1;29572:47;29700:34:::0;::::1;::::0;;;::::1;::::0;;;;;;;;;::::1;29756:4;29749:11;;;;;29515:257;29791:5;29784:12;;;28480:1324:::0;:::o;21340:26::-;;;;:::o;27885:217::-;28005:15;;28022:4;;28028:5;;27937:17;;;;27982:52;;-1:-1:-1;;;;;28005:15:0;;;;28022:4;;;;28028:5;27982:22;:52::i;:::-;27967:67;;28064:4;-1:-1:-1;;;;;28057:22:0;;28088:4;28057:37;;;;;;;;;;;;;-1:-1:-1;;;;;28057:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;28057:37:0;;27885:217;-1:-1:-1;;27885:217:0:o;5845:244::-;5122:12;:10;:12::i;:::-;5112:6;;-1:-1:-1;;;;;5112:6:0;;;:22;;;5104:67;;;;;-1:-1:-1;;;5104:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5934:22:0;::::1;5926:73;;;;-1:-1:-1::0;;;5926:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6036:6;::::0;;6015:38:::1;::::0;-1:-1:-1;;;;;6015:38:0;;::::1;::::0;6036:6;::::1;::::0;6015:38:::1;::::0;::::1;6064:6;:17:::0;;-1:-1:-1;;6064:17:0::1;-1:-1:-1::0;;;;;6064:17:0;;;::::1;::::0;;;::::1;::::0;;5845:244::o;28110:362::-;5122:12;:10;:12::i;:::-;5112:6;;-1:-1:-1;;;;;5112:6:0;;;:22;;;5104:67;;;;;-1:-1:-1;;;5104:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28217:6:::1;28202:11;;:21;;28194:59;;;::::0;;-1:-1:-1;;;28194:59:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;28297:6;28272:21;:31;;28264:83;;;;-1:-1:-1::0;;;28264:83:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28358:19;::::0;-1:-1:-1;;;;;28358:11:0;::::1;::::0;:19;::::1;;;::::0;28370:6;;28358:19:::1;::::0;;;28370:6;28358:11;:19;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;28402:11:0::1;::::0;;:20;;::::1;28388:34:::0;;28439:25:::1;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;28110:362:::0;;:::o;15543:389::-;15636:13;15651;15678:14;15697:26;15708:6;15716;15697:10;:26::i;:::-;15677:46;;;15735:13;15750;15781:32;15789:7;15798:6;15806;15781:7;:32::i;:::-;-1:-1:-1;;;;;15768:58:0;;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15768:60:0;;;;;;;15734:94;;;;;-1:-1:-1;15734:94:0;;-1:-1:-1;;;;;;15862:16:0;;;;;;;:62;;15905:8;15915;15862:62;;;15882:8;15892;15862:62;15839:85;;;;-1:-1:-1;15543:389:0;-1:-1:-1;;;;;;;15543:389:0:o;16045:317::-;16127:12;16170:1;16160:7;:11;16152:59;;;;-1:-1:-1;;;16152:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16241:1;16230:8;:12;:28;;;;;16257:1;16246:8;:12;16230:28;16222:79;;;;-1:-1:-1;;;16222:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16346:8;16322:21;:7;16334:8;16322:11;:21::i;:::-;:32;;;;;;;16045:317;-1:-1:-1;;;;16045:317:0:o;22336:693::-;-1:-1:-1;;;;;22410:20:0;;22451:1;22410:20;;;:13;:20;;;;;:38;;;22402:78;;;;;-1:-1:-1;;;22402:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22505:20:0;;;;;;:13;:20;;;;;:38;;;22499:3;:44;22491:103;;;;-1:-1:-1;;;22491:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22626:20:0;;22605:12;22626:20;;;:13;:20;;;;;:38;;;22620:3;:44;;;;-1:-1:-1;22678:66:0;;;;;20237:5;22726:4;:18;;22678:66;22675:347;;;-1:-1:-1;;;;;22900:20:0;;22770:10;22900:20;;;:13;:20;;;;;:30;22932:13;;20237:5;22783:17;;;;;22883:63;;22900:30;22883:16;:63::i;:::-;-1:-1:-1;;;;;22849:20:0;;;;;;:13;:20;;;;;:31;;;;;22883:68;;;;22849:102;;;;22815:136;;23007:3;-1:-1:-1;22966:38:0;;;:44;-1:-1:-1;22675:347:0;22336:693;;:::o;3456:106::-;3544:10;3456:106;:::o;15007:478::-;15096:12;15122:14;15138;15156:26;15167:6;15175;15156:10;:26::i;:::-;15320:32;;;-1:-1:-1;;15320:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15310:43;;;;;;15223:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15213:262;;;;;;;;;15007:478;-1:-1:-1;;;;;15007:478:0:o;14570:345::-;14645:14;14661;14706:6;-1:-1:-1;;;;;14696:16:0;:6;-1:-1:-1;;;;;14696:16:0;;;14688:64;;;;-1:-1:-1;;;14688:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14791:6;-1:-1:-1;;;;;14782:15:0;:6;-1:-1:-1;;;;;14782:15:0;;:53;;14820:6;14828;14782:53;;;14801:6;14809;14782:53;14763:72;;-1:-1:-1;14763:72:0;-1:-1:-1;;;;;;14854:20:0;;14846:61;;;;;-1:-1:-1;;;14846:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14570:345;;;;;:::o;14160:142::-;14212:6;14239;;;:30;;-1:-1:-1;;14254:5:0;;;14268:1;14263;14254:5;14263:1;14249:15;;;;;:20;14239:30;14231:63;;;;;-1:-1:-1;;;14231:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://f24bb74b2ec4559125750b02e200766d327620a0c9aae7f203f39739c7887cbd
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.