Contract 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 4

 

Contract Overview

Balance:
1.300178787945904394 BNB

BNB Value:
$746.21 (@ $573.93/BNB)

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb592c4f2d9e81d8f29aaf83e4fcf236d490d9785f8cf80222460d442391c0da1Approve132530672021-12-06 20:34:0615 mins ago0x234d0880575382c7ae8ff52ced87c1450fa018b9 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00022651
0xd9e498cbe4eb32e64698d7f502ee300b420cd1a02717507e78de338a04ec471fApprove132525342021-12-06 20:07:2742 mins ago0x615a6eb874e6ebfa9e8c7e10da6e162854269e63 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00022651
0x68a7fd100450ce4455327a15052efab830885848e90e9c55fe7e19c318430907Approve132524802021-12-06 20:04:4545 mins ago0xac8c8596af0f01f5d50985d4cd5b4956ebdfcff7 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.000074795
0xddf57dd59fe448a8a4cb75c20c5c12eef42c26d40a418549f17e82fb610e31ebApprove132514222021-12-06 19:11:511 hr 37 mins ago0x60995bf6b455bc4af9359d8ab4665a02d561b4ad IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00022651
0x41d2faf3a750f512a76d5d1ee260d757be56e985581e82223bc296f631b3d765Approve132455462021-12-06 14:01:166 hrs 48 mins ago0x40ff9370e00565304f3a430718e9d36d5ab82dd2 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.000317114
0xc2b42d56cae92b94029234adf5a73efdd8a38650c137f3cc8b49e782592cb88aApprove132437282021-12-06 12:25:008 hrs 24 mins ago0xd43c80f35e6d1fb6ac1a5be55475bcbb905f5b98 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.000271812
0x37932b5a094b79bb56d449e03dc956ffca54c815ad59cc8e101497f06e232811Approve132394302021-12-06 8:41:0612 hrs 8 mins ago0x615a6eb874e6ebfa9e8c7e10da6e162854269e63 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00022645
0xdc23569743d6c09c18bfd3e925ce4ffdddb90a55688dc53c14e22d2373e725b8Approve132336482021-12-06 3:46:2917 hrs 3 mins ago0xfce4d1db34402f1f35f682d765251772ccb3c0dd IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.0000777868
0x2c72f280e485960965c3910784f4a1ae0dd836cc23e137dc65df56578dbe3a91Approve132298272021-12-06 0:31:0020 hrs 18 mins ago0x8ec41dc6513df669d2b45b4c7d6946c8775c823e IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.000317114
0x72999146228ba49729e3c457a978a9fcb90c70321f51607a695f7fc32cf4aa53Approve132260572021-12-05 21:21:3223 hrs 28 mins ago0xd8ade58acfc93c94448478184cc81c6a65683e33 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.000074795
0x160e4abe08ea052a169e66f75cefb938ca45db6f32301a76e8afc31913eef2feTransfer132252552021-12-05 20:41:251 day 8 mins ago0xf37200945bd69b7dbb4ac1a9becb5160251a006c IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00239669
0x6120084b84b9d6a9eb8218bce999e23f1a4f3fc1671c7fde0c56fd94b483c7afTransfer132239732021-12-05 19:37:181 day 1 hr ago0x8d5ab4834d0de982086e859c060f8040c9cf76af IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00098688
0x1bff93ba2e090d1c0fab094436d6a96f088b241895f2e3341518f437f67784c6Transfer132237832021-12-05 19:27:481 day 1 hr ago0x8d5ab4834d0de982086e859c060f8040c9cf76af IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00098688
0xbeb26fd23e4d647257615092c3564281295ddcfd107328fb0353739e873cb40dTransfer132237692021-12-05 19:27:061 day 1 hr ago0x8d5ab4834d0de982086e859c060f8040c9cf76af IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00098688
0xa93e46edf7bc948eee720cf52c83ed7a2a88eeb5bd1dda26313c3b5af7a2bde8Transfer132217692021-12-05 17:45:371 day 3 hrs ago0x8d5ab4834d0de982086e859c060f8040c9cf76af IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00098688
0x24efac0f0c068a4b782821c20e787ab0e6a727928742c7136fc0de5262397fa0Approve132167422021-12-05 13:12:341 day 7 hrs ago0xb6074c1ff466ba407a2f673bf64c830c9e1e2a58 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.000074795
0xc11f9598f3b7bdcc125014303ca57bfad78f2f1c8d8c4e25521db33181f6631eApprove132136902021-12-05 10:35:131 day 10 hrs ago0x8d5ab4834d0de982086e859c060f8040c9cf76af IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00013051
0x9345d1020228c33aa1635b4a7b69882ac3caaa59e55c2316ca66578e53081973Approve132136882021-12-05 10:35:071 day 10 hrs ago0x8d5ab4834d0de982086e859c060f8040c9cf76af IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00022651
0xe42f1e6eb471751c800c51c2ce1094b0f026e09b9c4568b7532fd28e7fd69718Approve132131822021-12-05 10:09:491 day 10 hrs ago0x88fd3f43f828e08babc8c85b303b4c763ea3c448 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00022651
0x7f05af3eb7548c30d6dab3b1cb6c4c9d6f182a694d0f2ba69d4b51e6b9066354Approve132028142021-12-05 1:28:581 day 19 hrs ago0x2078bead574c0709a7b97af939cf0b5a838a8c74 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00022651
0x6afb3a0f60151d60018b48674b7c83f7fa11896418029a4262b6d0cacfb89097Transfer131993752021-12-04 22:36:591 day 22 hrs ago0x8d5ab4834d0de982086e859c060f8040c9cf76af IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00230069
0x7ffa83f9a7d3a980147f564596034b880a61d79b3bcd99962e86bd455d7fde32Transfer131993622021-12-04 22:36:201 day 22 hrs ago0x8d5ab4834d0de982086e859c060f8040c9cf76af IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00230069
0xdb482629a575580fa7dbae0941d6bfd4c0950943b62d995f456f4a3bbcb31e93Transfer131981612021-12-04 21:36:171 day 23 hrs ago0x8d5ab4834d0de982086e859c060f8040c9cf76af IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00230069
0x90b682c976be5f32d35e1045b68776752ffb74f84cae9d73d79c1af2ce943088Approve131972362021-12-04 20:50:021 day 23 hrs ago0x11a34e1078c376c47ba52a90cc5fe0cb90bd1033 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.000074795
0xafacf30713f38a9db31714c77c6815b5b26a0e4c4e0c22e2f76dc201e2c802ebTransfer131932102021-12-04 17:28:042 days 3 hrs ago0x3ed559b9bd34d4accf841648a34565fd7defa9f4 IN  0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50 BNB0.00239669
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x2679ac096f81c9b6cfd6789476026066a2505bc44f0eddbce1c03d35480441fc132526882021-12-06 20:15:0934 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x2ba7e775bc3cbe5719c82f2669ae7922b67021594e13eb8dddf7cfccfcc45660132526472021-12-06 20:13:0636 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0xdc8d31cd5eb16d49ce872a453616f3d4b21c642c730457862c13d17cb73b5400132526242021-12-06 20:11:5737 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x668f9dc49036f0fb1d576c43632a03f1bd12506e62e9d64fc9989d83ce67aa7d132525962021-12-06 20:10:3339 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x2ddb802c7c99e6fc9d73ec423e8b07e22079179aff84884ea518e3d56ffdb748132512252021-12-06 19:02:001 hr 47 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x7d791460361de9b3480ef63b378884d9243c7d6b351603a617edc085e650abcb132454322021-12-06 13:54:406 hrs 55 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x129abc6e6443398ac513b79924cfe15358a8d2a0c0e59a9644f80dd41e809cfe132437622021-12-06 12:26:428 hrs 23 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x02ddc77bccfaed3422c0550d96327e9d262eb071e4966609de712b424214602b132362992021-12-06 6:00:3514 hrs 49 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x3c5bbcbcd16ce45e0332a9f58f178215b2a41dc459ffce89287cd44a7e7053c8132328492021-12-06 3:05:3517 hrs 44 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x160e4abe08ea052a169e66f75cefb938ca45db6f32301a76e8afc31913eef2fe132252552021-12-05 20:41:251 day 8 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x160e4abe08ea052a169e66f75cefb938ca45db6f32301a76e8afc31913eef2fe132252552021-12-05 20:41:251 day 8 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50x2415a7db1613d5e2c655d93c626aa5f603cf0a3e0.014606459994026154 BNB
0x160e4abe08ea052a169e66f75cefb938ca45db6f32301a76e8afc31913eef2fe132252552021-12-05 20:41:251 day 8 mins ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.014606459994026154 BNB
0x160e4abe08ea052a169e66f75cefb938ca45db6f32301a76e8afc31913eef2fe132252552021-12-05 20:41:251 day 8 mins ago PancakeSwap: Router v2 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50.043819379982078463 BNB
0x6120084b84b9d6a9eb8218bce999e23f1a4f3fc1671c7fde0c56fd94b483c7af132239732021-12-05 19:37:181 day 1 hr ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x1bff93ba2e090d1c0fab094436d6a96f088b241895f2e3341518f437f67784c6132237832021-12-05 19:27:481 day 1 hr ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0xbeb26fd23e4d647257615092c3564281295ddcfd107328fb0353739e873cb40d132237692021-12-05 19:27:061 day 1 hr ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0xa93e46edf7bc948eee720cf52c83ed7a2a88eeb5bd1dda26313c3b5af7a2bde8132217692021-12-05 17:45:371 day 3 hrs ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x7cdd0352deee7c5f9bc279e7e884b27c19be3d7ab4d5761f8a4b8be2aa5b0661132149612021-12-05 11:39:551 day 9 hrs ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x7cdd0352deee7c5f9bc279e7e884b27c19be3d7ab4d5761f8a4b8be2aa5b0661132149612021-12-05 11:39:551 day 9 hrs ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x113ecb7f6df8a1653d50fc861d833524cca9a9187ad43d74b0bb54e40609313f132133972021-12-05 10:20:341 day 10 hrs ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x113ecb7f6df8a1653d50fc861d833524cca9a9187ad43d74b0bb54e40609313f132133972021-12-05 10:20:341 day 10 hrs ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50x2415a7db1613d5e2c655d93c626aa5f603cf0a3e0.01459321747090483 BNB
0x113ecb7f6df8a1653d50fc861d833524cca9a9187ad43d74b0bb54e40609313f132133972021-12-05 10:20:341 day 10 hrs ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01459321747090483 BNB
0x113ecb7f6df8a1653d50fc861d833524cca9a9187ad43d74b0bb54e40609313f132133972021-12-05 10:20:341 day 10 hrs ago PancakeSwap: Router v2 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b50.04377965241271449 BNB
0xef911bcbb3227bbcdf40ca31e37247dfd62b3539f2506eaab7ffcf082fb0185e132092922021-12-05 6:54:221 day 13 hrs ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
0x41feca7e19a013be228bff64bfa0184ece51eddd8c9cf760be11a70263c74edf132028252021-12-05 1:29:311 day 19 hrs ago 0x1337ace33c2b3fc17d85f33dbd0ed73a896148b5 PancakeSwap: Router v20.01 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GRV

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-09-10
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.5.17;



// Part: IERC20

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
interface IERC20 {
  function totalSupply() external view returns (uint256);

  function balanceOf(address who) external view returns (uint256);

  function allowance(address owner, address spender)
    external view returns (uint256);

  function transfer(address to, uint256 value) external returns (bool);

  function approve(address spender, uint256 value)
    external returns (bool);

  function transferFrom(address from, address to, uint256 value)
    external returns (bool);

  event Transfer(
    address indexed from,
    address indexed to,
    uint256 value
  );

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

// Part: ILP

interface ILP {
    function sync() external;
}

// Part: IUniswapV2Factory

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

    function feeTo() external view returns (address);
    function feeToSetter() 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;
}

// Part: IUniswapV2Pair

interface IUniswapV2Pair {
    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;
}

// Part: IUniswapV2Router02

interface IUniswapV2Router02 /*is IUniswapV2Router01*/ {

    function factory() external pure returns (address);
    function WETH() 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 addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, 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 removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    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 removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    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 swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(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);

    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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

// Part: Ownable

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address private _owner;
  address private _previousOwner;
  uint256 private _lockTime;

  event OwnershipRenounced(address indexed previousOwner);

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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    _owner = msg.sender;
  }

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

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(isOwner());
    _;
  }

  /**
   * @return true if `msg.sender` is the owner of the contract.
   */
  function isOwner() public view returns(bool) {
    return msg.sender == _owner;
  }

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(_owner);
    _owner = address(0);
  }

  function getUnlockTime() public view returns (uint256) {
    return _lockTime;
  }


  //Locks the contract for owner
  function lock() public onlyOwner {
    _previousOwner = _owner;
    _owner = address(0);
    emit OwnershipRenounced(_owner);

  }

  function unlock() public {
    require(_previousOwner == msg.sender, "You don’t have permission to unlock");
    require(now > _lockTime , "Contract is locked until 7 days");
    emit OwnershipTransferred(_owner, _previousOwner);
    _owner = _previousOwner;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    _transferOwnership(newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address newOwner) internal {
    require(newOwner != address(0));
    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
}

// Part: SafeMath

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, reverts on 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-solidity/pull/522
    if (a == 0) {
      return 0;
    }

    uint256 c = a * b;
    require(c / a == b);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b > 0); // Solidity only automatically asserts when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold

    return c;
  }

  /**
  * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    uint256 c = a - b;

    return c;
  }

  /**
  * @dev Adds two numbers, reverts on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a);

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}

// Part: SafeMathInt

/**
 * @title SafeMathInt
 * @dev Math operations for int256 with overflow safety checks.
 */
library SafeMathInt {
    int256 private constant MIN_INT256 = int256(1) << 255;
    int256 private constant MAX_INT256 = ~(int256(1) << 255);

    /**
     * @dev Multiplies two int256 variables and fails on overflow.
     */
    function mul(int256 a, int256 b)
        internal
        pure
        returns (int256)
    {
        int256 c = a * b;

        // Detect overflow when multiplying MIN_INT256 with -1
        require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256));
        require((b == 0) || (c / b == a));
        return c;
    }

    /**
     * @dev Division of two int256 variables and fails on overflow.
     */
    function div(int256 a, int256 b)
        internal
        pure
        returns (int256)
    {
        // Prevent overflow when dividing MIN_INT256 by -1
        require(b != -1 || a != MIN_INT256);

        // Solidity already throws when dividing by 0.
        return a / b;
    }

    /**
     * @dev Subtracts two int256 variables and fails on overflow.
     */
    function sub(int256 a, int256 b)
        internal
        pure
        returns (int256)
    {
        int256 c = a - b;
        require((b >= 0 && c <= a) || (b < 0 && c > a));
        return c;
    }

    /**
     * @dev Adds two int256 variables and fails on overflow.
     */
    function add(int256 a, int256 b)
        internal
        pure
        returns (int256)
    {
        int256 c = a + b;
        require((b >= 0 && c >= a) || (b < 0 && c < a));
        return c;
    }

    /**
     * @dev Converts to absolute value, and fails on overflow.
     */
    function abs(int256 a)
        internal
        pure
        returns (int256)
    {
        require(a != MIN_INT256);
        return a < 0 ? -a : a;
    }
}

// Part: ERC20Detailed

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for `name`, `symbol`, and `decimals`. All three of
     * these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

// File: GRV.sol

/**
 * @title GRV ERC20 token
 * @dev
 *      Based on the Ampleforth & Safemoon protocol.
 */
contract GRV is ERC20Detailed, Ownable {
    using SafeMath for uint256;
    using SafeMathInt for int256;

    event LogRebase(uint256 indexed epoch, uint256 totalSupply);

    event SwapEnabled(bool enabled);

    event SwapAndLiquify(
        uint256 threequarters,
        uint256 sharedETH,
        uint256 onequarter
    );


    // Used for authentication
    address public master;

    // LP atomic sync
    address public lp;
    ILP public lpContract;

    modifier onlyMaster() {
        require(msg.sender == master);
        _;
    }

    // Only the owner can transfer tokens in the initial phase.
    // This is allow the AMM listing to happen in an orderly fashion.

    bool public initialDistributionFinished;

    mapping (address => bool) allowTransfer;

    modifier initialDistributionLock {
        require(initialDistributionFinished || isOwner() || allowTransfer[msg.sender]);
        _;
    }

    modifier validRecipient(address to) {
        require(to != address(0x0));
        require(to != address(this));
        _;
    }

    uint256 private constant DECIMALS = 9;
    uint256 private constant MAX_UINT256 = ~uint256(0);

    uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 10**15 * 10**DECIMALS;

    uint256 public transactionTax = 981;
    uint256 public buybackLimit = 10 ** 18;
    uint256 public buybackDivisor = 100;
    uint256 public numTokensSellDivisor = 10000;

    IUniswapV2Router02 public uniswapV2Router;
    IUniswapV2Pair public uniswapV2Pair;
    address public uniswapV2PairAddress;
    address public deadAddress = 0x000000000000000000000000000000000000dEaD;
    address payable public marketingAddress;

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = false;
    bool public buyBackEnabled = false;

    mapping (address => bool) private _isExcluded;

    bool private privateSaleDropCompleted = false;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }


    // TOTAL_GONS is a multiple of INITIAL_FRAGMENTS_SUPPLY so that _gonsPerFragment is an integer.
    // Use the highest value that fits in a uint256 for max granularity.
    uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);

    // MAX_SUPPLY = maximum integer < (sqrt(4*TOTAL_GONS + 1) - 1) / 2
    uint256 private constant MAX_SUPPLY = ~uint128(0);  // (2^128) - 1

    uint256 private _totalSupply;
    uint256 private _gonsPerFragment;
    mapping(address => uint256) private _gonBalances;

    // This is denominated in Fragments, because the gons-fragments conversion might change before
    // it's fully paid.
    mapping (address => mapping (address => uint256)) private _allowedFragments;

    constructor (address router, address payable _marketingAddress)
        ERC20Detailed("Gravitoken", "GRV", uint8(DECIMALS))
        payable
        public
    {
        marketingAddress = _marketingAddress;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);

        uniswapV2PairAddress = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;

        setLP(uniswapV2PairAddress);

        IUniswapV2Pair _uniswapV2Pair = IUniswapV2Pair(uniswapV2PairAddress);

        uniswapV2Pair = _uniswapV2Pair;

        _totalSupply = INITIAL_FRAGMENTS_SUPPLY;
        _gonBalances[msg.sender] = TOTAL_GONS;
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);

        initialDistributionFinished = false;

        //exclude owner and this contract from fee
        _isExcluded[owner()] = true;
        _isExcluded[address(this)] = true;

        emit Transfer(address(0x0), msg.sender, _totalSupply);
    }

    /**
     * @dev Notifies Fragments contract about a new rebase cycle.
     * @param supplyDelta The number of new fragment tokens to add into circulation via expansion.
     * @return The total number of fragments after the supply adjustment.
     */
    function rebase(uint256 epoch, int256 supplyDelta)
        external
        onlyMaster
        returns (uint256)
    {
        if (supplyDelta == 0) {
            emit LogRebase(epoch, _totalSupply);
            return _totalSupply;
        }

        if (supplyDelta < 0) {
            _totalSupply = _totalSupply.sub(uint256(-supplyDelta));
        } else {
            _totalSupply = _totalSupply.add(uint256(supplyDelta));
        }

        if (_totalSupply > MAX_SUPPLY) {
            _totalSupply = MAX_SUPPLY;
        }

        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
        lpContract.sync();

        emit LogRebase(epoch, _totalSupply);
        return _totalSupply;
    }


    /**
     * @notice Sets a new master
     */
    function setMaster(address _master)
        external
        onlyOwner
        returns (uint256)
    {
        master = _master;
    }

        /**
     * @notice Sets contract LP address
     */
    function setLP(address _lp)
        public
        onlyOwner
        returns (uint256)
    {
        lp = _lp;
        lpContract = ILP(_lp);
    }

    /**
     * @return The total number of fragments.
     */
    function totalSupply()
        external
        view
        returns (uint256)
    {
        return _totalSupply;
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapEnabled(_enabled);
    }

    /**
     * @param who The address to query.
     * @return The balance of the specified address.
     */
    function balanceOf(address who)
        public
        view
        returns (uint256)
    {
        return _gonBalances[who].div(_gonsPerFragment);
    }

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

  event Sender(address sender);

   function transferFrom(address sender, address recipient, uint256 amount)
   external
   validRecipient(recipient)
   returns (bool)
   {
     _transfer(sender, recipient, amount);
     _approve(sender, msg.sender, _allowedFragments[sender][msg.sender].sub(amount));
     return true;
   }


    /**
     * @dev Transfer tokens to a specified address.
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     * @return True on success, false otherwise.
     */
    function _transfer(address from, address to, uint256 value)
        private
        validRecipient(to)
        initialDistributionLock
        returns (bool)
    {
      require(from != address(0));
      require(to != address(0));
      require(value > 0);


    	uint256 contractTokenBalance = balanceOf(address(this));
      uint256 _maxTxAmount = _totalSupply.div(10);
      uint256 numTokensSell = _totalSupply.div(numTokensSellDivisor);

      bool overMinimumTokenBalance = contractTokenBalance >= numTokensSell;

      if(from != owner() && to != owner()){
          require(value <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");}

      if (!inSwapAndLiquify && swapAndLiquifyEnabled && from != uniswapV2PairAddress) {
        if (overMinimumTokenBalance) {
            swapAndLiquify(numTokensSell);
        }

      uint256 balance = address(this).balance;
        if (buyBackEnabled && balance > buybackLimit) {

            buyBackTokens(buybackLimit.div(buybackDivisor));
        }
    }

        _tokenTransfer(from,to,value);

        return true;
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {

    if (_isExcluded[sender] || _isExcluded[recipient]) {
        _transferExcluded(sender, recipient, amount);
    } else {
        _transferStandard(sender, recipient, amount);
    }
    }

    function _transferStandard(address sender, address recipient, uint256 amount) private {
      (uint256 tTransferAmount, uint256 tFee) = _getTValues(amount);
          uint256 gonDeduct = amount.mul(_gonsPerFragment);
          uint256 gonValue = tTransferAmount.mul(_gonsPerFragment);
          _gonBalances[sender] = _gonBalances[sender].sub(gonDeduct);
          _gonBalances[recipient] = _gonBalances[recipient].add(gonValue);
          _takeFee(tFee);
          emit Transfer(sender, recipient, amount);
    }

    function _transferExcluded(address sender, address recipient, uint256 amount) private {
          uint256 gonValue = amount.mul(_gonsPerFragment);
          _gonBalances[sender] = _gonBalances[sender].sub(gonValue);
          _gonBalances[recipient] = _gonBalances[recipient].add(gonValue);
          emit Transfer(sender, recipient, amount);
    }


    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = calculateFee(tAmount);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }


    function calculateFee(uint256 _amount) private view returns (uint256) {
        return _amount.mul(transactionTax).div(10000);
    }

    function _takeFee(uint256 tFee) private {
        uint256 rFee = tFee.mul(_gonsPerFragment);
        _gonBalances[address(this)] = _gonBalances[address(this)].add(rFee);

    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        // split the contract balance into quarters
        uint256 threequarters = contractTokenBalance.mul(3).div(4);
        uint256 onequarter = contractTokenBalance.sub(threequarters);

        // capture the contract's current ETH balance.
        // this is so that we can capture exactly the amount of ETH that the
        // swap creates, and not make the liquidity event include any ETH that
        // has been manually sent to the contract
        uint256 initialBalance = address(this).balance;

        // swap tokens for ETH
        swapTokensForEth(threequarters); // <- this breaks the ETH -> HATE swap when swap+liquify is triggered

        // how much ETH did we just swap into?
        uint256 newBalance = address(this).balance.sub(initialBalance);

        uint256 sharedETH = newBalance.div(3);

        // add liquidity to uniswap
        addLiquidity(onequarter, sharedETH);

        // Transfer to marketing address
        transferToAddressETH(marketingAddress, sharedETH);

        emit SwapAndLiquify(threequarters, sharedETH, onequarter);

    }

    function buyBackTokens(uint256 amount) private lockTheSwap {
      if (amount > 0) {
          swapETHForTokens(amount);
      }
    }


    function transferToAddressETH(address payable recipient, uint256 amount) private {
    recipient.transfer(amount);
    }

    function() external payable {}

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp.add(300)
        );

    }

    function swapETHForTokens(uint256 amount) private {
    // generate the uniswap pair path of token -> weth
      address[] memory path = new address[](2);
      path[0] = uniswapV2Router.WETH();
      path[1] = address(this);

    // make the swap
      uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens.value(amount)(
          0, // accept any amount of Tokens
          path,
          deadAddress, // Burn address
          block.timestamp.add(300)
      );
  }


    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH.value(ethAmount)(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(this),
            block.timestamp.add(300)
        );
    }


     /**
     * @dev Increase the amount of tokens that an owner has allowed to a spender.
     * This method should be used instead of approve() to avoid the double approval vulnerability
     * described above.
     * @param spender The address which will spend the funds.
     * @param addedValue The amount of tokens to increase the allowance by.
     */

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


  function _approve(address owner, address spender, uint256 value) private {
     require(owner != address(0));
     require(spender != address(0));

     _allowedFragments[owner][spender] = value;
     emit Approval(owner, spender, value);
 }

     /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of
    * msg.sender. This method is included for ERC20 compatibility.
    * increaseAllowance and decreaseAllowance should be used instead.
    * Changing an allowance with this method brings the risk that someone may transfer both
    * the old and the new allowance - if they are both greater than zero - if a transfer
    * transaction is mined before the later approve() call is mined.
    *
    * @param spender The address which will spend the funds.
    * @param value The amount of tokens to be spent.
    */

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


    /**
     * @dev Function to check the amount of tokens that an owner has allowed to a spender.
     * @param owner_ The address which owns the funds.
     * @param spender The address which will spend the funds.
     * @return The number of tokens still available for the spender.
     */
    function allowance(address owner_, address spender)
        public
        view
        returns (uint256)
    {
        return _allowedFragments[owner_][spender];
    }

    /**
     * @dev Decrease the amount of tokens that an owner has allowed to a spender.
     *
     * @param spender The address which will spend the funds.
     * @param subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        external
        initialDistributionLock
        returns (bool)
    {
        uint256 oldValue = _allowedFragments[msg.sender][spender];
        if (subtractedValue >= oldValue) {
            _allowedFragments[msg.sender][spender] = 0;
        } else {
            _allowedFragments[msg.sender][spender] = oldValue.sub(subtractedValue);
        }
        emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]);
        return true;
    }

    function setInitialDistributionFinished()
        external
        onlyOwner
    {
        initialDistributionFinished = true;
    }

    function enableTransfer(address _addr)
        external
        onlyOwner
    {
        allowTransfer[_addr] = true;
    }

    function excludeAddress(address _addr)
        external
        onlyOwner
    {
      _isExcluded[_addr] = true;
        }

    function burnAutoLP()
        external
        onlyOwner
    {
      uint256 balance = uniswapV2Pair.balanceOf(address(this));
      uniswapV2Pair.transfer(owner(), balance);
    }

    function airDrop(address[] calldata recipients, uint256[] calldata values)
        external
        onlyOwner
    {
      for (uint256 i = 0; i < recipients.length; i++) {
        _tokenTransfer(msg.sender, recipients[i], values[i]);
      }
    }

    function setBuyBackEnabled(bool _enabled) public onlyOwner {
    buyBackEnabled = _enabled;
  }

  function setBuyBackLimit(uint256 _buybackLimit) public onlyOwner {
  buybackLimit = _buybackLimit;}

  function setBuyBackDivisor(uint256 _buybackDivisor) public onlyOwner {
  buybackDivisor = _buybackDivisor;}

  function setnumTokensSellDivisor(uint256 _numTokensSellDivisor) public onlyOwner {
  numTokensSellDivisor = _numTokensSellDivisor;}

  function burnBNB(address payable burnAddress) external onlyOwner {
    burnAddress.transfer(address(this).balance);
  }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address payable","name":"_marketingAddress","type":"address"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"LogRebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"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":"address","name":"sender","type":"address"}],"name":"Sender","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threequarters","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sharedETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"onequarter","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"airDrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"burnAutoLP","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"burnAddress","type":"address"}],"name":"burnBNB","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyBackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buybackDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buybackLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"enableTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"excludeAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialDistributionFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lp","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lpContract","outputs":[{"internalType":"contract ILP","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"master","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numTokensSellDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"int256","name":"supplyDelta","type":"int256"}],"name":"rebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_buybackDivisor","type":"uint256"}],"name":"setBuyBackDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setBuyBackEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_buybackLimit","type":"uint256"}],"name":"setBuyBackLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setInitialDistributionFinished","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_lp","type":"address"}],"name":"setLP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_master","type":"address"}],"name":"setMaster","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_numTokensSellDivisor","type":"uint256"}],"name":"setnumTokensSellDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"transactionTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"contract IUniswapV2Pair","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"uniswapV2PairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060408190526103d5600955670de0b6b3a7640000600a556064600b55612710600c55601080546001600160a01b03191661dead1790556011805461ffff60a81b191690556013805460ff191690556200289a38819003908190833981810160405260408110156200007157600080fd5b508051602091820151604080518082018252600a81526923b930bb34ba37b5b2b760b11b8186019081528251808401909352600383526223a92b60e91b958301959095528051939492939092600991620000ce916000916200047a565b508151620000e49060019060208501906200047a565b506002805460ff191660ff9290921691909117610100600160a81b03191661010033021790555050601180546001600160a01b0319166001600160a01b03838116919091179091556040805163c45a015560e01b81529051849283169163c45a0155916004808301926020929190829003018186803b1580156200016757600080fd5b505afa1580156200017c573d6000803e3d6000fd5b505050506040513d60208110156200019357600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015620001e457600080fd5b505afa158015620001f9573d6000803e3d6000fd5b505050506040513d60208110156200021057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200026357600080fd5b505af115801562000278573d6000803e3d6000fd5b505050506040513d60208110156200028f57600080fd5b5051600f80546001600160a01b03199081166001600160a01b039384161791829055600d8054909116848416179055620002ca9116620003de565b50600f54600e80546001600160a01b0319166001600160a01b03909216918217905569d3c21bcecceda1000000601490815533600090815260166020908152604090912069085afffa6ff50bffffff199081905591546200033592916200042b811b620019ce17901c565b6015556007805460ff60a01b191690556001601260006200035e6001600160e01b036200044f16565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152601283528181208054909416600117909355601454815190815290513393927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a3505050506200051c565b6000620003f36001600160e01b036200046416565b620003fd57600080fd5b600680546001600160a01b039093166001600160a01b03199384168117909155600780549093161790915590565b60008082116200043a57600080fd5b60008284816200044657fe5b04949350505050565b60025461010090046001600160a01b03165b90565b60025461010090046001600160a01b0316331490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004bd57805160ff1916838001178555620004ed565b82800160010185558215620004ed579182015b82811115620004ed578251825591602001919060010190620004d0565b50620004fb929150620004ff565b5090565b6200046191905b80821115620004fb576000815560010162000506565b61236e806200052c6000396000f3fe6080604052600436106102885760003560e01c8063784decb91161015a578063c179c580116100c1578063da29c27f1161007a578063da29c27f14610953578063dd62ed3e14610968578063e7deff7f146109a3578063ee97f7f3146109cd578063f2fde38b146109e2578063f83d08ba14610a1557610288565b8063c179c58014610882578063c49b9a8014610897578063c5dbd76e146108c3578063d0747d16146108f6578063d1fce2641461090b578063d5938aac1461092057610288565b806395d89b411161011357806395d89b41146107a7578063a457c2d7146107bc578063a5ece941146107f5578063a69df4b51461080a578063a9059cbb1461081f578063b501e58a1461085857610288565b8063784decb91461070e5780637a43e23f14610723578063859e0702146107535780638acee3cf146107685780638da5cb5b1461077d5780638f32d59b1461079257610288565b80632f34d282116101fe5780634a74bb02116101b75780634a74bb02146105b8578063602bc62b146105cd5780636053a0e3146105e257806365216a41146105f757806370a08231146106c6578063715018a6146106f957610288565b80632f34d282146104c4578063313c06a0146104f7578063313ce5671461050c5780633758e6ce14610537578063395093511461056a57806349bd5a5e146105a357610288565b806323b872dd1161025057806323b872dd146103e357806326fae0d31461042657806327c8f8351461045957806329370cc61461046e5780632b653d441461049a5780632be6937d146104af57610288565b8063068dde721461028a57806306fdde03146102b4578063095ea7b31461033e5780631694505e1461038b57806318160ddd146103bc575b005b34801561029657600080fd5b50610288600480360360208110156102ad57600080fd5b5035610a2a565b3480156102c057600080fd5b506102c9610a40565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103035781810151838201526020016102eb565b50505050905090810190601f1680156103305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034a57600080fd5b506103776004803603604081101561036157600080fd5b506001600160a01b038135169060200135610ad6565b604080519115158252519081900360200190f35b34801561039757600080fd5b506103a0610b2c565b604080516001600160a01b039092168252519081900360200190f35b3480156103c857600080fd5b506103d1610b3b565b60408051918252519081900360200190f35b3480156103ef57600080fd5b506103776004803603606081101561040657600080fd5b506001600160a01b03813581169160208101359091169060400135610b41565b34801561043257600080fd5b506103d16004803603602081101561044957600080fd5b50356001600160a01b0316610bc4565b34801561046557600080fd5b506103a0610bfb565b34801561047a57600080fd5b506102886004803603602081101561049157600080fd5b50351515610c0a565b3480156104a657600080fd5b506103a0610c39565b3480156104bb57600080fd5b50610288610c48565b3480156104d057600080fd5b506103d1600480360360208110156104e757600080fd5b50356001600160a01b0316610c6e565b34801561050357600080fd5b506103a0610caf565b34801561051857600080fd5b50610521610cbe565b6040805160ff9092168252519081900360200190f35b34801561054357600080fd5b506102886004803603602081101561055a57600080fd5b50356001600160a01b0316610cc7565b34801561057657600080fd5b506103776004803603604081101561058d57600080fd5b506001600160a01b038135169060200135610cfc565b3480156105af57600080fd5b506103a0610d78565b3480156105c457600080fd5b50610377610d87565b3480156105d957600080fd5b506103d1610d97565b3480156105ee57600080fd5b50610377610d9d565b34801561060357600080fd5b506102886004803603604081101561061a57600080fd5b81019060208101813564010000000081111561063557600080fd5b82018360208201111561064757600080fd5b8035906020019184602083028401116401000000008311171561066957600080fd5b91939092909160208101903564010000000081111561068757600080fd5b82018360208201111561069957600080fd5b803590602001918460208302840111640100000000831117156106bb57600080fd5b509092509050610dad565b3480156106d257600080fd5b506103d1600480360360208110156106e957600080fd5b50356001600160a01b0316610e10565b34801561070557600080fd5b50610288610e3e565b34801561071a57600080fd5b506103d1610e9e565b34801561072f57600080fd5b506103d16004803603604081101561074657600080fd5b5080359060200135610ea4565b34801561075f57600080fd5b5061028861101f565b34801561077457600080fd5b506103a0611142565b34801561078957600080fd5b506103a0611151565b34801561079e57600080fd5b50610377611165565b3480156107b357600080fd5b506102c961117b565b3480156107c857600080fd5b50610377600480360360408110156107df57600080fd5b506001600160a01b0381351690602001356111db565b34801561080157600080fd5b506103a061130b565b34801561081657600080fd5b5061028861131a565b34801561082b57600080fd5b506103776004803603604081101561084257600080fd5b506001600160a01b038135169060200135611429565b34801561086457600080fd5b506102886004803603602081101561087b57600080fd5b503561149e565b34801561088e57600080fd5b506103d16114b4565b3480156108a357600080fd5b50610288600480360360208110156108ba57600080fd5b503515156114ba565b3480156108cf57600080fd5b50610288600480360360208110156108e657600080fd5b50356001600160a01b031661151e565b34801561090257600080fd5b506103d1611568565b34801561091757600080fd5b5061037761156e565b34801561092c57600080fd5b506102886004803603602081101561094357600080fd5b50356001600160a01b031661157e565b34801561095f57600080fd5b506103d16115b3565b34801561097457600080fd5b506103d16004803603604081101561098b57600080fd5b506001600160a01b03813581169160200135166115b9565b3480156109af57600080fd5b50610288600480360360208110156109c657600080fd5b50356115e4565b3480156109d957600080fd5b506103a06115fa565b3480156109ee57600080fd5b5061028860048036036020811015610a0557600080fd5b50356001600160a01b0316611609565b348015610a2157600080fd5b50610288611626565b610a32611165565b610a3b57600080fd5b600b55565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610acc5780601f10610aa157610100808354040283529160200191610acc565b820191906000526020600020905b815481529060010190602001808311610aaf57829003601f168201915b5050505050905090565b600754600090600160a01b900460ff1680610af45750610af4611165565b80610b0e57503360009081526008602052604090205460ff165b610b1757600080fd5b610b223384846116a3565b5060015b92915050565b600d546001600160a01b031681565b60145490565b6000826001600160a01b038116610b5757600080fd5b6001600160a01b038116301415610b6d57600080fd5b610b7885858561172b565b506001600160a01b038516600090815260176020908152604080832033808552925290912054610bb9918791610bb4908763ffffffff61194116565b6116a3565b506001949350505050565b6000610bce611165565b610bd757600080fd5b600580546001600160a01b0319166001600160a01b03939093169290921790915590565b6010546001600160a01b031681565b610c12611165565b610c1b57600080fd5b60118054911515600160b01b0260ff60b01b19909216919091179055565b600f546001600160a01b031681565b610c50611165565b610c5957600080fd5b6007805460ff60a01b1916600160a01b179055565b6000610c78611165565b610c8157600080fd5b600680546001600160a01b039093166001600160a01b03199384168117909155600780549093161790915590565b6006546001600160a01b031681565b60025460ff1690565b610ccf611165565b610cd857600080fd5b6001600160a01b03166000908152601260205260409020805460ff19166001179055565b600754600090600160a01b900460ff1680610d1a5750610d1a611165565b80610d3457503360009081526008602052604090205460ff165b610d3d57600080fd5b3360008181526017602090815260408083206001600160a01b0388168452909152902054610b2291908590610bb4908663ffffffff61195616565b600e546001600160a01b031681565b601154600160a81b900460ff1681565b60045490565b601154600160b01b900460ff1681565b610db5611165565b610dbe57600080fd5b60005b83811015610e0957610e0133868684818110610dd957fe5b905060200201356001600160a01b0316858585818110610df557fe5b9050602002013561196f565b600101610dc1565b5050505050565b6015546001600160a01b0382166000908152601660205260408120549091610b26919063ffffffff6119ce16565b610e46611165565b610e4f57600080fd5b6002546040516101009091046001600160a01b0316907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a260028054610100600160a81b0319169055565b600a5481565b6005546000906001600160a01b03163314610ebe57600080fd5b81610f0457601454604080519182525184917f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2919081900360200190a250601454610b26565b6000821215610f2c57601454610f2490600084900363ffffffff61194116565b601455610f43565b601454610f3f908363ffffffff61195616565b6014555b6014546001600160801b031015610f60576001600160801b036014555b601454610f799069085afffa6ff50bffffff19906119ce565b6015556007546040805160016209351760e01b0319815290516001600160a01b039092169163fff6cae99160048082019260009290919082900301818387803b158015610fc557600080fd5b505af1158015610fd9573d6000803e3d6000fd5b505060145460408051918252518693507f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f292509081900360200190a25060145492915050565b611027611165565b61103057600080fd5b600e54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561107b57600080fd5b505afa15801561108f573d6000803e3d6000fd5b505050506040513d60208110156110a557600080fd5b5051600e549091506001600160a01b031663a9059cbb6110c3611151565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050506040513d602081101561113d57600080fd5b505050565b6007546001600160a01b031681565b60025461010090046001600160a01b031690565b60025461010090046001600160a01b0316331490565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610acc5780601f10610aa157610100808354040283529160200191610acc565b600754600090600160a01b900460ff16806111f957506111f9611165565b8061121357503360009081526008602052604090205460ff165b61121c57600080fd5b3360009081526017602090815260408083206001600160a01b0387168452909152902054808310611270573360009081526017602090815260408083206001600160a01b03881684529091528120556112a5565b611280818463ffffffff61194116565b3360009081526017602090815260408083206001600160a01b03891684529091529020555b3360008181526017602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6011546001600160a01b031681565b6003546001600160a01b031633146113635760405162461bcd60e51b81526004018080602001828103825260258152602001806122ed6025913960400191505060405180910390fd5b60045442116113b9576040805162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c2037206461797300604482015290519081900360640190fd5b6003546002546040516001600160a01b0392831692610100909204909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600354600280546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000826001600160a01b03811661143f57600080fd5b6001600160a01b03811630141561145557600080fd5b600754600160a01b900460ff16806114705750611470611165565b8061148a57503360009081526008602052604090205460ff165b61149357600080fd5b610bb933858561172b565b6114a6611165565b6114af57600080fd5b600c55565b60095481565b6114c2611165565b6114cb57600080fd5b60118054821515600160a81b810260ff60a81b199092169190911790915560408051918252517fb9bbb15e341600c8d067a0cadeba219905d5ba6d422b193c9c32265d26fc51c89181900360200190a150565b611526611165565b61152f57600080fd5b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015611564573d6000803e3d6000fd5b5050565b600c5481565b600754600160a01b900460ff1681565b611586611165565b61158f57600080fd5b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b600b5481565b6001600160a01b03918216600090815260176020908152604080832093909416825291909152205490565b6115ec611165565b6115f557600080fd5b600a55565b6005546001600160a01b031681565b611611611165565b61161a57600080fd5b611623816119f0565b50565b61162e611165565b61163757600080fd5b60028054600380546101008084046001600160a01b039081166001600160a01b031990931692909217909255610100600160a81b031990921692839055604051920416907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a2565b6001600160a01b0383166116b657600080fd5b6001600160a01b0382166116c957600080fd5b6001600160a01b03808416600081815260176020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000826001600160a01b03811661174157600080fd5b6001600160a01b03811630141561175757600080fd5b600754600160a01b900460ff16806117725750611772611165565b8061178c57503360009081526008602052604090205460ff165b61179557600080fd5b6001600160a01b0385166117a857600080fd5b6001600160a01b0384166117bb57600080fd5b600083116117c857600080fd5b60006117d330610e10565b905060006117ed600a6014546119ce90919063ffffffff16565b90506000611808600c546014546119ce90919063ffffffff16565b905080831015611816611151565b6001600160a01b0316896001600160a01b031614158015611850575061183a611151565b6001600160a01b0316886001600160a01b031614155b1561189457828711156118945760405162461bcd60e51b81526004018080602001828103825260288152602001806123126028913960400191505060405180910390fd5b601154600160a01b900460ff161580156118b75750601154600160a81b900460ff165b80156118d15750600f546001600160a01b038a8116911614155b156119275780156118e5576118e582611a6a565b6011544790600160b01b900460ff1680156119015750600a5481115b1561192557611925611920600b54600a546119ce90919063ffffffff16565b611b5f565b505b61193289898961196f565b50600198975050505050505050565b60008282111561195057600080fd5b50900390565b60008282018381101561196857600080fd5b9392505050565b6001600160a01b03831660009081526012602052604090205460ff16806119ae57506001600160a01b03821660009081526012602052604090205460ff165b156119c3576119be838383611b91565b61113d565b61113d838383611c66565b60008082116119dc57600080fd5b60008284816119e757fe5b04949350505050565b6001600160a01b038116611a0357600080fd5b6002546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6011805460ff60a01b1916600160a01b1790556000611aa16004611a9584600363ffffffff611d7d16565b9063ffffffff6119ce16565b90506000611ab5838363ffffffff61194116565b905047611ac183611da4565b6000611ad3478363ffffffff61194116565b90506000611ae882600363ffffffff6119ce16565b9050611af48482611f6d565b601154611b0a906001600160a01b03168261205c565b604080518681526020810183905280820186905290517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a150506011805460ff60a01b1916905550505050565b6011805460ff60a01b1916600160a01b1790558015611b8157611b8181612092565b506011805460ff60a01b19169055565b6000611ba860155483611d7d90919063ffffffff16565b6001600160a01b038516600090815260166020526040902054909150611bd4908263ffffffff61194116565b6001600160a01b038086166000908152601660205260408082209390935590851681522054611c09908263ffffffff61195616565b6001600160a01b0380851660008181526016602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b600080611c7283612254565b915091506000611c8d60155485611d7d90919063ffffffff16565b90506000611ca660155485611d7d90919063ffffffff16565b6001600160a01b038816600090815260166020526040902054909150611cd2908363ffffffff61194116565b6001600160a01b038089166000908152601660205260408082209390935590881681522054611d07908263ffffffff61195616565b6001600160a01b038716600090815260166020526040902055611d2983612281565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a350505050505050565b600082611d8c57506000610b26565b82820282848281611d9957fe5b041461196857600080fd5b60408051600280825260608083018452926020830190803883390190505090503081600081518110611dd257fe5b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611e2657600080fd5b505afa158015611e3a573d6000803e3d6000fd5b505050506040513d6020811015611e5057600080fd5b5051815182906001908110611e6157fe5b6001600160a01b039283166020918202929092010152600d54611e8791309116846116a3565b600d546001600160a01b031663791ac9478360008430611eaf4261012c63ffffffff61195616565b6040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015611f28578181015183820152602001611f10565b505050509050019650505050505050600060405180830381600087803b158015611f5157600080fd5b505af1158015611f65573d6000803e3d6000fd5b505050505050565b600d54611f859030906001600160a01b0316846116a3565b600d546001600160a01b031663f305d71982308560008083611faf4261012c63ffffffff61195616565b6040518863ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b03166001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b15801561202b57600080fd5b505af115801561203f573d6000803e3d6000fd5b50505050506040513d606081101561205657600080fd5b50505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561113d573d6000803e3d6000fd5b60408051600280825260608083018452926020830190803883395050600d54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b1580156120f657600080fd5b505afa15801561210a573d6000803e3d6000fd5b505050506040513d602081101561212057600080fd5b50518151829060009061212f57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061215d57fe5b6001600160a01b039283166020918202929092010152600d546010549082169163b6f9de9591859160009186911661219d4261012c63ffffffff61195616565b6040518663ffffffff1660e01b81526004018085815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156122105781810151838201526020016121f8565b50505050905001955050505050506000604051808303818588803b15801561223757600080fd5b505af115801561224b573d6000803e3d6000fd5b50505050505050565b6000806000612262846122cf565b90506000612276858363ffffffff61194116565b935090915050915091565b600061229860155483611d7d90919063ffffffff16565b306000908152601660205260409020549091506122bb908263ffffffff61195616565b306000908152601660205260409020555050565b6000610b26612710611a9560095485611d7d90919063ffffffff1656fe596f7520646f6ee28099742068617665207065726d697373696f6e20746f20756e6c6f636b5472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742ea265627a7a723158208f81697abdc0e96e30d783f02195ff1cb6268268d2c0bc073d1f1cef8ed36bde64736f6c6343000511003200000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e0000000000000000000000002415a7db1613d5e2c655d93c626aa5f603cf0a3e

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

00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e0000000000000000000000002415a7db1613d5e2c655d93c626aa5f603cf0a3e

-----Decoded View---------------
Arg [0] : router (address): 0x10ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : _marketingAddress (address): 0x2415a7db1613d5e2c655d93c626aa5f603cf0a3e

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e
Arg [1] : 0000000000000000000000002415a7db1613d5e2c655d93c626aa5f603cf0a3e


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.