Contract 0xee409bb2b8874eb5b077f4f83f91a390df82adad

 

Contract Overview

Balance:
0.000008351620282892 BNB

BNB Value:
Less Than $0.01 (@ $332.28/BNB)

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0x78392169414a44886bee35aa6e0808e6f6c9381e37026fcef890a2fba18102e797060142021-08-03 5:58:061 day 10 hrs ago0xfd6b056db802b09fb1da01437b5cf65ca10a6de6 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.0002242
0x6a669bf11f5afe11b5828a7e1148c8fadc50939863c8ded268a2924ca9323acb95024832021-07-26 20:03:178 days 20 hrs ago0x92abc2165bb4e23da156035a228b7293497f0690 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0xfce65ec04d9f886e6dc5ffc430db465fa80768ed834e7ffe932121f42320c04e94983992021-07-26 16:31:308 days 23 hrs ago0x8c858ac631b0fc3f965bf1ad3c6148b6661c47b0 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.000359776
0x1c5de07918e97f3d1489e0564aad4ad37fff0ecbd8f9d0581199d08a14be554294977482021-07-26 15:56:369 days 14 mins ago0x06fdde7d973abd3603d8387422320159ae51a7c9 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.0002242
0xe95378fb45917a60d15251e4d66c46a1d6209ae2ddcf1ce13a848dd90099a50f93766752021-07-22 10:04:4413 days 6 hrs ago0x903b8fa381dee8efbdfb27ecd5d0c5fa89f618cb IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00007433
0xe1c53bc7b5ea4d79c19da8c8f44cb1c0ebda299391039c654338d90effafab0393117422021-07-20 3:56:4515 days 12 hrs ago0x7d4d0af779338ae99bf07fac768946e6d60f9945 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x392a59a5eda3d8d33849f2ab38223abd0c6512af22d808409b645794a2256aeb92360322021-07-17 12:47:4318 days 3 hrs ago0x9e84f5f3739d48e0496cd9bb720b9467222e3004 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x29d8c1b7365cf4f9123c48ee65806cac086f4f8fce782996f3cb29776f63356592270612021-07-17 5:19:0418 days 10 hrs ago0x6a1d55bcb289807cefb0d362eb340b23cd230a93 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x001eb7fdb00885542c47eead224f85daf31f6f9becfc4cd5b4d2fdae3b4583c192107792021-07-16 15:44:5819 days 26 mins ago0xc47ba11b3aa65aee9222af15dad43b2c611063d9 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x41dd4279d86b01e0eca30b1b1d316df13cb10cb369ce004bcff219ee4b147b0d91949902021-07-16 2:34:5919 days 13 hrs ago0x5788bed4443b7221d1a6804717ce3c40d785a127 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0xea49231cbd2ea221f97a8a4f2b1c2cee029431022caab727347c2771ba166fa991874432021-07-15 20:17:3819 days 19 hrs ago0x92bfed1d547744014786556b22fbe812af053bfa IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0xcf3ad41f7e94acced0e1832361c417e626b9179aa4a9c1d9c013525b1860818591872312021-07-15 20:07:0219 days 20 hrs ago0xc5ccf96c632804c8cb846b4b5fe5de0a77dabaf4 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00012958
0xf26d62f68ddd8d4b39e7cf6dbf9f212d3147ec8e73d2c16bb2729c3e1af1424f91872022021-07-15 20:05:3519 days 20 hrs ago0xc5ccf96c632804c8cb846b4b5fe5de0a77dabaf4 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x8ed88eb2c31f55710fc7357f91548387783a2acf9a08633bca48ffcc53642c6f91871982021-07-15 20:05:2319 days 20 hrs ago0xa2a21586b0873b2e600ef0e6fa0de73816791024 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x858a019959c443f365fcb60e82ca61237e957a8258c092683238dd0111fafe9e91871812021-07-15 20:04:3219 days 20 hrs ago0x56389de7204f64024a8a46a7a821f75b2c2973ab IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0xc558583fe8d7f0b677d0e7a278e891ca9cb05be8ba6350c4a09b4c86fa733e4491871692021-07-15 20:03:5619 days 20 hrs ago0xb5a34037bb3cf9ebd4709556f8bef39906255367 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x82d9f6bc98614227c530513343dd0b1040ba7ec23368b6c567bfcb0f15abdd8791871602021-07-15 20:03:2919 days 20 hrs ago0x4caa7f4f16066464391139cc375a4b461d6147e1 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0xa50f53a3237afe0fb09402e9e790a5ff56980cb335dc648a35a6e2dcceea7ebb91871452021-07-15 20:02:4419 days 20 hrs ago0x355fb7548914f18a693c9222855ef40b9044fbeb IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x997410b2f0911dcaeb5cc31d1e1883ccd2ef7a58d56a822d20904b90f100582591871442021-07-15 20:02:4119 days 20 hrs ago0x818c024706f2fe2ad360b910873155620beea2cb IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x5625e20c4b44b2f871e5a99ee6ed92038520591deb55cf6906fdaa668006db5f91871412021-07-15 20:02:3219 days 20 hrs ago0xba0063af00b71c30063cec479492bda92093d344 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x06584ce448cc3b501e061a46cf8160cdac6e8aab5db06d9ea8c9f4c7f836c91291871402021-07-15 20:02:2919 days 20 hrs ago0xe9a18b84126d9fdcb94ec4c34cb37103b314c495 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0xda7caf22317cac8896c5b75ee9fd14ad9515c20cd2f31af6d0b2b436f4ccbdcb91860522021-07-15 19:08:0519 days 21 hrs ago0x83a234c044262025f8a65cd751c2344588a71457 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.00022558
0x2dd274da27ad2f20cc163634f6968ec8776e0b2fe4c2b4f105c5652a15bab40791726802021-07-15 7:59:1820 days 8 hrs ago0xfd6b056db802b09fb1da01437b5cf65ca10a6de6 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.0002242
0x6233125011874adb2a39d0840f5abced14daa0594f2548071b697bbea91e7c4691724652021-07-15 7:48:3320 days 8 hrs ago0xfd6b056db802b09fb1da01437b5cf65ca10a6de6 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.0002242
0x980d1ec50647b272a9d1fd9ec53dfa453446575f56797504fe90f254cd97ed0a91582862021-07-14 19:59:1520 days 20 hrs ago0x24758d7d833dd9a3c58d437645f85b9a0f15d8a7 IN  0xee409bb2b8874eb5b077f4f83f91a390df82adad0 BNB0.000273145
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xaf6676512610f5ee3470ee731f2a719e14ff52351140a0b7ed495e5b736142ca97350782021-08-04 7:13:238 hrs 57 mins ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.00000835162028289 BNB
0xaf6676512610f5ee3470ee731f2a719e14ff52351140a0b7ed495e5b736142ca97350782021-08-04 7:13:238 hrs 57 mins ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad PancakeSwap: Router v20.000085348773626416 BNB
0xaf6676512610f5ee3470ee731f2a719e14ff52351140a0b7ed495e5b736142ca97350782021-08-04 7:13:238 hrs 57 mins ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad 0x7a1838f603ab97ceb7c28adfeba241739fa833de0.000192034740659437 BNB
0xaf6676512610f5ee3470ee731f2a719e14ff52351140a0b7ed495e5b736142ca97350782021-08-04 7:13:238 hrs 57 mins ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad0x8bcc1186adfabeeede1b770cc46c88f47e17ac580.000064011580219812 BNB
0xaf6676512610f5ee3470ee731f2a719e14ff52351140a0b7ed495e5b736142ca97350782021-08-04 7:13:238 hrs 57 mins ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.000332827048102533 BNB
0xed0af1529d9ba44070545f48f891e193a9f4d7421ed321d794b22346aa07dcf597346242021-08-04 6:50:269 hrs 20 mins ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.000008568046403133 BNB
0xed0af1529d9ba44070545f48f891e193a9f4d7421ed321d794b22346aa07dcf597346242021-08-04 6:50:269 hrs 20 mins ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad PancakeSwap: Router v20.00008739315874438 BNB
0xed0af1529d9ba44070545f48f891e193a9f4d7421ed321d794b22346aa07dcf597346242021-08-04 6:50:269 hrs 20 mins ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad 0x7a1838f603ab97ceb7c28adfeba241739fa833de0.000196634607174856 BNB
0xed0af1529d9ba44070545f48f891e193a9f4d7421ed321d794b22346aa07dcf597346242021-08-04 6:50:269 hrs 20 mins ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad0x8bcc1186adfabeeede1b770cc46c88f47e17ac580.000065544869058285 BNB
0xed0af1529d9ba44070545f48f891e193a9f4d7421ed321d794b22346aa07dcf597346242021-08-04 6:50:269 hrs 20 mins ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.000340728646485891 BNB
0xacfc17e898a4f73a7166fb3979b9d4f9b3fec1ad69fa9fe21f0b268ad8e494c197341722021-08-04 6:26:369 hrs 44 mins ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.00000884398849163 BNB
0xacfc17e898a4f73a7166fb3979b9d4f9b3fec1ad69fa9fe21f0b268ad8e494c197341722021-08-04 6:26:369 hrs 44 mins ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad PancakeSwap: Router v20.000090379136157086 BNB
0xacfc17e898a4f73a7166fb3979b9d4f9b3fec1ad69fa9fe21f0b268ad8e494c197341722021-08-04 6:26:369 hrs 44 mins ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad 0x7a1838f603ab97ceb7c28adfeba241739fa833de0.000203353056353445 BNB
0xacfc17e898a4f73a7166fb3979b9d4f9b3fec1ad69fa9fe21f0b268ad8e494c197341722021-08-04 6:26:369 hrs 44 mins ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad0x8bcc1186adfabeeede1b770cc46c88f47e17ac580.000067784352117815 BNB
0xacfc17e898a4f73a7166fb3979b9d4f9b3fec1ad69fa9fe21f0b268ad8e494c197341722021-08-04 6:26:369 hrs 44 mins ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.000352443143566971 BNB
0x21147586f96b327a8b827c4b4e35ef806db24ac100b714c63777376400df827095667852021-07-29 5:29:526 days 10 hrs ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.000009073401061375 BNB
0x21147586f96b327a8b827c4b4e35ef806db24ac100b714c63777376400df827095667852021-07-29 5:29:526 days 10 hrs ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad PancakeSwap: Router v20.000092776299782515 BNB
0x21147586f96b327a8b827c4b4e35ef806db24ac100b714c63777376400df827095667852021-07-29 5:29:526 days 10 hrs ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad 0x7a1838f603ab97ceb7c28adfeba241739fa833de0.000208746674510659 BNB
0x21147586f96b327a8b827c4b4e35ef806db24ac100b714c63777376400df827095667852021-07-29 5:29:526 days 10 hrs ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad0x8bcc1186adfabeeede1b770cc46c88f47e17ac580.000069582224836886 BNB
0x21147586f96b327a8b827c4b4e35ef806db24ac100b714c63777376400df827095667852021-07-29 5:29:526 days 10 hrs ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.000361813547844579 BNB
0x97745481feaa7206b1368e28939365157029c2041854c74de48ebd0c6efb8ca495557092021-07-28 20:00:086 days 20 hrs ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.000009291651285482 BNB
0x97745481feaa7206b1368e28939365157029c2041854c74de48ebd0c6efb8ca495557092021-07-28 20:00:086 days 20 hrs ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad PancakeSwap: Router v20.000093084065611948 BNB
0x97745481feaa7206b1368e28939365157029c2041854c74de48ebd0c6efb8ca495557092021-07-28 20:00:086 days 20 hrs ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad 0x7a1838f603ab97ceb7c28adfeba241739fa833de0.000209439147626883 BNB
0x97745481feaa7206b1368e28939365157029c2041854c74de48ebd0c6efb8ca495557092021-07-28 20:00:086 days 20 hrs ago 0xee409bb2b8874eb5b077f4f83f91a390df82adad0x8bcc1186adfabeeede1b770cc46c88f47e17ac580.000069813049208961 BNB
0x97745481feaa7206b1368e28939365157029c2041854c74de48ebd0c6efb8ca495557092021-07-28 20:00:086 days 20 hrs ago PancakeSwap: Router v2 0xee409bb2b8874eb5b077f4f83f91a390df82adad0.000362200491557159 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ITM

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 8 : BaseERC20.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.3;

import "./Context.sol";
import "./Ownable.sol";

contract BaseERC20 is Context, Ownable {
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;

    string internal _name;
    string internal _symbol;

    uint8 internal _decimals;
    uint256 internal _totalSupply;

    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_,
        uint256 totalSupply_
    ) {
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;
        _totalSupply = totalSupply_ * 10**_decimals;
    }

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

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

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

    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual returns (uint256) {
        return _balances[account];
    }

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

    function transfer(address recipient, uint256 amount) public virtual returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(_balances[sender] >= amount, "ERC20: transfer amount exceeds balance");

        _balances[sender] -= amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

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

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

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

File 2 of 8 : Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.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 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) {
        return msg.sender;
    }

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

File 3 of 8 : ITM.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.4;

import "./IUniswapV2Pair.sol";
import "./IUniswapV2Factory.sol";
import "./IUniswapV2Router02.sol";

import "./BaseERC20.sol";

interface IStaking {
    function distribute() external payable;
}

contract ITM is BaseERC20 {
    mapping(address => bool) private _whitelist;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    IStaking public stakingAddress;
    address payable public lotteryAddress =
        payable(address(0x8bCC1186ADFabeeEde1B770cC46C88F47e17aC58));

    // 8% tax, 1% to Lottery wallet, 4% to stake contract, 3% liquidated
    uint8 private constant swapPercentage = 8;
    uint256 private minSwapAmount;

    // Keep track of total swapped, total sent to lottery
    uint256 public totalSwappedToBnb;
    uint256 public bnbToLottery;

    uint256 private constant MAX = ~uint256(0);
    uint256 public maxTxAmount = _totalSupply;

    // Supply: 1 billion (10^9)
    constructor() BaseERC20("InTheMoney.finance", "ITM", 18, 10**9) {
        _balances[_msgSender()] = _totalSupply;
        // 0.001% of total supply - swap every 125k tokens transferred
        minSwapAmount = 10000 * 10**_decimals;

        // Uniswap (Kovan): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        // PancakeSwap (Testnet): 0xD99D1c33F9fC3444f8101754aBC46c52416550D1
        // Pancakeswap v2 (Mainnet): 0x10ed43c718714eb63d5aa57b78b54704e256024e
        IUniswapV2Router02 _uniswapV2Router =
            IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;

        // Contract and owner should always be whitelisted
        _whitelist[address(this)] = true;
        _whitelist[owner()] = true;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    /**
     * ERC20 functions & helpers
     */

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(
            _balances[sender] >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount.");

        if (_isWhitelisted(sender, recipient)) {
            _noFeeTransfer(sender, recipient, amount);
        } else {
            _feeTransfer(sender, recipient, amount);
        }

        emit Transfer(sender, recipient, amount);
    }

    function _feeTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        _swap(sender, recipient);
        uint256 tax = (amount * swapPercentage) / 100;

        _balances[address(this)] += tax;
        _balances[sender] -= amount;
        _balances[recipient] += amount - tax;
    }

    function _noFeeTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
    }

    function _isWhitelisted(address address1, address address2)
        private
        view
        returns (bool)
    {
        return _whitelist[address1] || _whitelist[address2];
    }

    /**
     * Uniswap code & distribute method
     */

    receive() external payable {}

    function _swap(address sender, address recipient) private {
        uint256 contractTokenBalance = _balances[address(this)];

        bool shouldSell = contractTokenBalance >= minSwapAmount;
        contractTokenBalance = minSwapAmount;

        if (
            shouldSell &&
            sender != uniswapV2Pair &&
            !(sender == address(this) && recipient == uniswapV2Pair)
        ) {
            uint256 stakingShare = contractTokenBalance / 2;
            uint256 lotteryShare = stakingShare / 4;
            uint256 liquidityShare = (75 * stakingShare) / 100;
            uint256 swapShare =
                stakingShare + lotteryShare + (liquidityShare / 2);

            swapTokensForEth(swapShare);

            // Use entire balance rather than only the BNB we swapped into;
            // everything should be distributed!
            uint256 balance = address(this).balance;
            totalSwappedToBnb += balance;

            uint256 stakingBnbShare = (5625 * balance) / 10000;
            uint256 lotteryBnbShare = (1875 * balance) / 10000;
            uint256 liquidityBnbShare = balance / 4;

            lotteryAddress.transfer(lotteryBnbShare);
            stakingAddress.distribute{value: stakingBnbShare}();
            bnbToLottery += lotteryBnbShare;

            addLiquidity(liquidityShare / 2, liquidityBnbShare);
            emit Swap(contractTokenBalance, balance);
        }
    }

    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 token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    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,
            0,
            owner(),
            block.timestamp
        );
    }

    event Swap(uint256 tokensSwapped, uint256 ethReceived);
    event Whitelist(address whitelisted, bool isWhitelisted);
    event UpdateStakingAddress(address stakingAddress);

    /**
     * Misc. functions
     */

    function setStakingAddress(address newAddress) external onlyOwner {
        stakingAddress = IStaking(newAddress);
        emit UpdateStakingAddress(newAddress);
    }

    function setMaxTxAmount(uint256 amount) external onlyOwner {
        maxTxAmount = amount;
    }

    function updateWhitelist(address addr, bool isWhitelisted)
        external
        onlyOwner
    {
        _whitelist[addr] = isWhitelisted;
        emit Whitelist(addr, isWhitelisted);
    }
}

File 4 of 8 : IUniswapV2Factory.sol
pragma solidity >=0.5.0;

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;
}

File 5 of 8 : IUniswapV2Pair.sol
pragma solidity >=0.5.0;

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;
}

File 6 of 8 : IUniswapV2Router01.sol
pragma solidity >=0.6.2;

interface 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);
}

File 7 of 8 : IUniswapV2Router02.sol
pragma solidity >=0.6.2;

import "./IUniswapV2Router01.sol";

interface IUniswapV2Router02 is IUniswapV2Router01 {
    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;
}

File 8 of 8 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./Context.sol";

/**
 * @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.
 */
abstract 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 () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual 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;
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"}],"name":"Swap","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"stakingAddress","type":"address"}],"name":"UpdateStakingAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"whitelisted","type":"address"},{"indexed":false,"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"Whitelist","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bnbToLottery","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lotteryAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setStakingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingAddress","outputs":[{"internalType":"contract IStaking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSwappedToBnb","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"updateWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052738bcc1186adfabeeede1b770cc46c88f47e17ac58600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600f553480156200006c57600080fd5b506040518060400160405280601281526020017f496e5468654d6f6e65792e66696e616e636500000000000000000000000000008152506040518060400160405280600381526020017f49544d00000000000000000000000000000000000000000000000000000000008152506012633b9aca006000620000f26200060860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508360039080519060200190620001a892919062000639565b508260049080519060200190620001c192919062000639565b5081600560006101000a81548160ff021916908360ff160217905550600560009054906101000a900460ff16600a620001fb9190620007f3565b8162000208919062000930565b6006819055505050505060065460016000620002296200060860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560009054906101000a900460ff16600a620002859190620007f3565b61271062000294919062000930565b600c8190555060007310ed43c718714eb63d5aa57b78b54704e256024e90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002fa57600080fd5b505afa1580156200030f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000335919062000700565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200039857600080fd5b505afa158015620003ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d3919062000700565b6040518363ffffffff1660e01b8152600401620003f29291906200074e565b602060405180830381600087803b1580156200040d57600080fd5b505af115801562000422573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000448919062000700565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000620005376200061060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005986200060860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620005f991906200077b565b60405180910390a35062000a97565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200064790620009dc565b90600052602060002090601f0160209004810192826200066b5760008555620006b7565b82601f106200068657805160ff1916838001178555620006b7565b82800160010185558215620006b7579182015b82811115620006b657825182559160200191906001019062000699565b5b509050620006c69190620006ca565b5090565b5b80821115620006e5576000816000905550600101620006cb565b5090565b600081519050620006fa8162000a7d565b92915050565b6000602082840312156200071357600080fd5b60006200072384828501620006e9565b91505092915050565b620007378162000991565b82525050565b6200074881620009c5565b82525050565b60006040820190506200076560008301856200072c565b6200077460208301846200072c565b9392505050565b60006020820190506200079260008301846200073d565b92915050565b6000808291508390505b6001851115620007ea57808604811115620007c257620007c162000a12565b5b6001851615620007d25780820291505b8081029050620007e28562000a70565b9450620007a2565b94509492505050565b60006200080082620009c5565b91506200080d83620009cf565b92506200083c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000844565b905092915050565b60008262000856576001905062000929565b8162000866576000905062000929565b81600181146200087f57600281146200088a57620008c0565b600191505062000929565b60ff8411156200089f576200089e62000a12565b5b8360020a915084821115620008b957620008b862000a12565b5b5062000929565b5060208310610133831016604e8410600b8410161715620008fa5782820a905083811115620008f457620008f362000a12565b5b62000929565b62000909848484600162000798565b9250905081840481111562000923576200092262000a12565b5b81810290505b9392505050565b60006200093d82620009c5565b91506200094a83620009c5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000986576200098562000a12565b5b828202905092915050565b60006200099e82620009a5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620009f557607f821691505b6020821081141562000a0c5762000a0b62000a41565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b62000a888162000991565b811462000a9457600080fd5b50565b612aaa8062000aa76000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb14610415578063d7b4be2414610452578063dd62ed3e1461047d578063ec28438a146104ba578063f2fde38b146104e3578063f4e0d9ac1461050c57610140565b8063715018a6146103525780638c0b5e22146103695780638da5cb5b1461039457806395d89b41146103bf5780639d4949d5146103ea57610140565b806323b872dd116100fd57806323b872dd1461022c578063313ce567146102695780633beedf6d1461029457806349bd5a5e146102bf5780635e780701146102ea57806370a082311461031557610140565b806306fdde0314610145578063095ea7b3146101705780630d392cd9146101ad5780631694505e146101d657806318160ddd1461020157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610535565b6040516101679190612265565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190611e2f565b6105c7565b6040516101a49190612214565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf9190611df3565b6105e5565b005b3480156101e257600080fd5b506101eb6106f5565b6040516101f8919061224a565b60405180910390f35b34801561020d57600080fd5b5061021661071b565b60405161022391906123a7565b60405180910390f35b34801561023857600080fd5b50610253600480360381019061024e9190611da4565b610725565b6040516102609190612214565b60405180910390f35b34801561027557600080fd5b5061027e610826565b60405161028b9190612445565b60405180910390f35b3480156102a057600080fd5b506102a961083d565b6040516102b6919061216f565b60405180910390f35b3480156102cb57600080fd5b506102d4610863565b6040516102e19190612154565b60405180910390f35b3480156102f657600080fd5b506102ff610889565b60405161030c91906123a7565b60405180910390f35b34801561032157600080fd5b5061033c60048036038101906103379190611d16565b61088f565b60405161034991906123a7565b60405180910390f35b34801561035e57600080fd5b506103676108d8565b005b34801561037557600080fd5b5061037e610a12565b60405161038b91906123a7565b60405180910390f35b3480156103a057600080fd5b506103a9610a18565b6040516103b69190612154565b60405180910390f35b3480156103cb57600080fd5b506103d4610a41565b6040516103e19190612265565b60405180910390f35b3480156103f657600080fd5b506103ff610ad3565b60405161040c91906123a7565b60405180910390f35b34801561042157600080fd5b5061043c60048036038101906104379190611e2f565b610ad9565b6040516104499190612214565b60405180910390f35b34801561045e57600080fd5b50610467610af7565b604051610474919061222f565b60405180910390f35b34801561048957600080fd5b506104a4600480360381019061049f9190611d68565b610b1d565b6040516104b191906123a7565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc9190611e6b565b610ba4565b005b3480156104ef57600080fd5b5061050a60048036038101906105059190611d16565b610c2a565b005b34801561051857600080fd5b50610533600480360381019061052e9190611d16565b610dd3565b005b606060038054610544906126be565b80601f0160208091040260200160405190810160405280929190818152602001828054610570906126be565b80156105bd5780601f10610592576101008083540402835291602001916105bd565b820191906000526020600020905b8154815290600101906020018083116105a057829003601f168201915b5050505050905090565b60006105db6105d4610eca565b8484610ed2565b6001905092915050565b6105ed610eca565b73ffffffffffffffffffffffffffffffffffffffff1661060b610a18565b73ffffffffffffffffffffffffffffffffffffffff1614610661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065890612347565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d82826040516106e992919061218a565b60405180910390a15050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600061073284848461109d565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061077d610eca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f490612327565b60405180910390fd5b61081a85610809610eca565b85846108159190612596565b610ed2565b60019150509392505050565b6000600560009054906101000a900460ff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108e0610eca565b73ffffffffffffffffffffffffffffffffffffffff166108fe610a18565b73ffffffffffffffffffffffffffffffffffffffff1614610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b90612347565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610a50906126be565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c906126be565b8015610ac95780601f10610a9e57610100808354040283529160200191610ac9565b820191906000526020600020905b815481529060010190602001808311610aac57829003601f168201915b5050505050905090565b600d5481565b6000610aed610ae6610eca565b848461109d565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610bac610eca565b73ffffffffffffffffffffffffffffffffffffffff16610bca610a18565b73ffffffffffffffffffffffffffffffffffffffff1614610c20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1790612347565b60405180910390fd5b80600f8190555050565b610c32610eca565b73ffffffffffffffffffffffffffffffffffffffff16610c50610a18565b73ffffffffffffffffffffffffffffffffffffffff1614610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d90612347565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0d906122a7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610ddb610eca565b73ffffffffffffffffffffffffffffffffffffffff16610df9610a18565b73ffffffffffffffffffffffffffffffffffffffff1614610e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4690612347565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f30740e4c779c36103c49989d66d240626a100f163152c524345a280b5166834c81604051610ebf9190612154565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3990612387565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa9906122c7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161109091906123a7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561110d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110490612367565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561117d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117490612287565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156111ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f6906122e7565b60405180910390fd5b600f54811115611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123b90612307565b60405180910390fd5b61124e83836112d9565b156112635761125e838383611384565b61126f565b61126e838383611435565b5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112cc91906123a7565b60405180910390a3505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061137c5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113d39190612596565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461142991906124b5565b92505081905550505050565b61143f8383611572565b60006064600860ff1683611453919061253c565b61145d919061250b565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114ae91906124b5565b9250508190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115049190612596565b9250508190555080826115179190612596565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461156591906124b5565b9250508190555050505050565b6000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600c548210159050600c5491508080156116205750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116b157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116af5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b155b156118ef5760006002836116c5919061250b565b905060006004826116d6919061250b565b90506000606483604b6116e9919061253c565b6116f3919061250b565b90506000600282611704919061250b565b838561171091906124b5565b61171a91906124b5565b9050611725816118f5565b600047905080600d600082825461173c91906124b5565b925050819055506000612710826115f9611756919061253c565b611760919061250b565b9050600061271083610753611775919061253c565b61177f919061250b565b90506000600484611790919061250b565b9050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156117fa573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e4fc6b6d846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561186557600080fd5b505af1158015611879573d6000803e3d6000fd5b505050505081600e600082825461189091906124b5565b925050819055506118ad6002876118a7919061250b565b82611bb9565b7f015fc8ee969fd902d9ebd12a31c54446400a2b512a405366fe14defd6081d2208a856040516118de92919061241c565b60405180910390a150505050505050505b50505050565b6000600267ffffffffffffffff811115611938577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156119665781602001602082028036833780820191505090505b50905030816000815181106119a4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4657600080fd5b505afa158015611a5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7e9190611d3f565b81600181518110611ab8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b1f30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ed2565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b839594939291906123c2565b600060405180830381600087803b158015611b9d57600080fd5b505af1158015611bb1573d6000803e3d6000fd5b505050505050565b611be630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ed2565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080611c32610a18565b426040518863ffffffff1660e01b8152600401611c54969594939291906121b3565b6060604051808303818588803b158015611c6d57600080fd5b505af1158015611c81573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ca69190611e94565b5050505050565b600081359050611cbc81612a2f565b92915050565b600081519050611cd181612a2f565b92915050565b600081359050611ce681612a46565b92915050565b600081359050611cfb81612a5d565b92915050565b600081519050611d1081612a5d565b92915050565b600060208284031215611d2857600080fd5b6000611d3684828501611cad565b91505092915050565b600060208284031215611d5157600080fd5b6000611d5f84828501611cc2565b91505092915050565b60008060408385031215611d7b57600080fd5b6000611d8985828601611cad565b9250506020611d9a85828601611cad565b9150509250929050565b600080600060608486031215611db957600080fd5b6000611dc786828701611cad565b9350506020611dd886828701611cad565b9250506040611de986828701611cec565b9150509250925092565b60008060408385031215611e0657600080fd5b6000611e1485828601611cad565b9250506020611e2585828601611cd7565b9150509250929050565b60008060408385031215611e4257600080fd5b6000611e5085828601611cad565b9250506020611e6185828601611cec565b9150509250929050565b600060208284031215611e7d57600080fd5b6000611e8b84828501611cec565b91505092915050565b600080600060608486031215611ea957600080fd5b6000611eb786828701611d01565b9350506020611ec886828701611d01565b9250506040611ed986828701611d01565b9150509250925092565b6000611eef8383611f0a565b60208301905092915050565b611f04816125dc565b82525050565b611f13816125ca565b82525050565b611f22816125ca565b82525050565b6000611f3382612470565b611f3d8185612493565b9350611f4883612460565b8060005b83811015611f79578151611f608882611ee3565b9750611f6b83612486565b925050600181019050611f4c565b5085935050505092915050565b611f8f816125ee565b82525050565b611f9e81612631565b82525050565b611fad81612655565b82525050565b611fbc81612679565b82525050565b6000611fcd8261247b565b611fd781856124a4565b9350611fe781856020860161268b565b611ff08161277d565b840191505092915050565b60006120086023836124a4565b91506120138261278e565b604082019050919050565b600061202b6026836124a4565b9150612036826127dd565b604082019050919050565b600061204e6022836124a4565b91506120598261282c565b604082019050919050565b60006120716026836124a4565b915061207c8261287b565b604082019050919050565b60006120946028836124a4565b915061209f826128ca565b604082019050919050565b60006120b76028836124a4565b91506120c282612919565b604082019050919050565b60006120da6020836124a4565b91506120e582612968565b602082019050919050565b60006120fd6025836124a4565b915061210882612991565b604082019050919050565b60006121206024836124a4565b915061212b826129e0565b604082019050919050565b61213f8161261a565b82525050565b61214e81612624565b82525050565b60006020820190506121696000830184611f19565b92915050565b60006020820190506121846000830184611efb565b92915050565b600060408201905061219f6000830185611f19565b6121ac6020830184611f86565b9392505050565b600060c0820190506121c86000830189611f19565b6121d56020830188612136565b6121e26040830187611fb3565b6121ef6060830186611fb3565b6121fc6080830185611f19565b61220960a0830184612136565b979650505050505050565b60006020820190506122296000830184611f86565b92915050565b60006020820190506122446000830184611f95565b92915050565b600060208201905061225f6000830184611fa4565b92915050565b6000602082019050818103600083015261227f8184611fc2565b905092915050565b600060208201905081810360008301526122a081611ffb565b9050919050565b600060208201905081810360008301526122c08161201e565b9050919050565b600060208201905081810360008301526122e081612041565b9050919050565b6000602082019050818103600083015261230081612064565b9050919050565b6000602082019050818103600083015261232081612087565b9050919050565b60006020820190508181036000830152612340816120aa565b9050919050565b60006020820190508181036000830152612360816120cd565b9050919050565b60006020820190508181036000830152612380816120f0565b9050919050565b600060208201905081810360008301526123a081612113565b9050919050565b60006020820190506123bc6000830184612136565b92915050565b600060a0820190506123d76000830188612136565b6123e46020830187611fb3565b81810360408301526123f68186611f28565b90506124056060830185611f19565b6124126080830184612136565b9695505050505050565b60006040820190506124316000830185612136565b61243e6020830184612136565b9392505050565b600060208201905061245a6000830184612145565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006124c08261261a565b91506124cb8361261a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612500576124ff6126f0565b5b828201905092915050565b60006125168261261a565b91506125218361261a565b9250826125315761253061271f565b5b828204905092915050565b60006125478261261a565b91506125528361261a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561258b5761258a6126f0565b5b828202905092915050565b60006125a18261261a565b91506125ac8361261a565b9250828210156125bf576125be6126f0565b5b828203905092915050565b60006125d5826125fa565b9050919050565b60006125e7826125fa565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061263c82612643565b9050919050565b600061264e826125fa565b9050919050565b600061266082612667565b9050919050565b6000612672826125fa565b9050919050565b60006126848261261a565b9050919050565b60005b838110156126a957808201518184015260208101905061268e565b838111156126b8576000848401525b50505050565b600060028204905060018216806126d657607f821691505b602082108114156126ea576126e961274e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a38816125ca565b8114612a4357600080fd5b50565b612a4f816125ee565b8114612a5a57600080fd5b50565b612a668161261a565b8114612a7157600080fd5b5056fea264697066735822122043170d650e427c2cbaff3f03737ca1bdd67c67a0a27a46d180f2c1cf547152b764736f6c63430008040033

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.