Contract 0x1be3594f756C6725Fe99741077DEEB87f531B31F

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa29556c213e13cc9b29925b58a0719903a97fa21e77c6e3527019f789838d8bdZap In105752722021-09-02 21:50:4545 days 16 mins ago0xf0c9784bc83b25ed790eb8b4a25cf46930d49885 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.001577275
0xcda22aaee411f082433047317f96a96c40dd0439cea4564990c0d8d09f939abbZap In BNB105705702021-09-02 17:53:3945 days 4 hrs ago0x2495e2f71c01c3c5143c43236c9e26d81ee147e6 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.052067123765344 BNB0.00138059
0x23ca9de8d70b28368631f2a5b6a39a896186c82d373b7b45a02165189548e628Zap In105584592021-09-02 7:41:5945 days 14 hrs ago0xe1431fd774c2e9c2bc2bcc050b44ce2c48f6163c IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.00165181
0x18b0ac51e4c88e61d31c7edddfd883adac79819506afc26cd6b09ae9654c8ae7Zap In105584482021-09-02 7:41:2645 days 14 hrs ago0xe1431fd774c2e9c2bc2bcc050b44ce2c48f6163c IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.0019826
0xdc5e86f8717e5c123b33a605fd557189659cb43db0a1c21d6ef4ccf0f10ff6a2Zap In BNB105397892021-09-01 15:58:4646 days 6 hrs ago0x3100f5f62994600e100152fdb5cae492a1a5d3c5 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.001918842620418 BNB0.0013781
0x13c5c3dd458f78d15cd961e54c62778c2e84f354c4b8e51ecc21e3cf71b85438Zap In105335322021-09-01 10:40:5146 days 11 hrs ago0xf0c9784bc83b25ed790eb8b4a25cf46930d49885 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.001577395
0x3edac1e0bed8b0e441ea83ce33802a82d1db370266eb828f567c231e824eda14Zap In105273442021-09-01 5:26:1446 days 16 hrs ago0xd8f6cda9ba3a1eee96d259c76d4bbed0ffa168e7 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.00170432
0xf0551716b42829068d7b11fc5d8846011ad810e50060fabb74dcc5b352655cb5Zap In105273372021-09-01 5:25:5346 days 16 hrs ago0xd8f6cda9ba3a1eee96d259c76d4bbed0ffa168e7 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.00197538
0xdcf93bee640d948e7b5745d3d8e4c2c78a185669e488851a211cd1030703e10eZap In BNB105240602021-09-01 2:38:4946 days 19 hrs ago0x6d5fc7a3a9396092b8a046d14dd53e5025b75c5f IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.008490747479652 BNB0.001379315
0xbd01468e609dda9e243a997eb00f589703c90a97a0758ea1bd22427f7c568a96Zap In BNB105113602021-08-31 15:53:5547 days 6 hrs ago0x4a1cd72af161163db5ce09ac83b4fbd3f0d83df7 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.006784678770283 BNB0.00115154
0x5b3db743e62da52d480d7229bbaa897f77da6f5f5b46bd277f77ce36ec69b60bZap In104990742021-08-31 5:29:2047 days 16 hrs ago0xf0c9784bc83b25ed790eb8b4a25cf46930d49885 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.001577395
0xeadf4b558abbc4b640328368bffd96f27697ee82ede51378ed7e021f97faa81fZap In104990682021-08-31 5:29:0147 days 16 hrs ago0xf0c9784bc83b25ed790eb8b4a25cf46930d49885 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.00190766
0x810d7ff7bc6981f501e6ce5656bb79a9391ec3b07018e3b12ee9cc59a2a30012Zap In BNB104982422021-08-31 4:47:1447 days 17 hrs ago0xb7f4eab4b78a86be0aa092956f4d63c8ca2d65a2 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.016391069375126 BNB0.00137654
0x587de7a0dc3139cf2bff30d0494f5925390d8935657a66ebfa87b80d1a996e5fZap In BNB104892032021-08-30 21:06:1948 days 1 hr ago0x2e1a732553a759b40a1376c01923e9899ae9b1c1 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.02 BNB0.001231685
0x73d1b591d3e3875ba3ee0666ec5752176c2db3a72e2c3af2b6df76de11eb3241Zap In BNB104881492021-08-30 20:13:3648 days 1 hr ago0x6d5fc7a3a9396092b8a046d14dd53e5025b75c5f IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.000954543185077 BNB0.001154255
0xce921be6718f7d6fe89a939f9d185d3b8545534ae0cad68006d6e690c48d665dZap In BNB104864262021-08-30 18:46:3048 days 3 hrs ago0x76c491159b78e37983985f595aced1942a60c3aa IN  0x1be3594f756c6725fe99741077deeb87f531b31f1.184733 BNB0.001159235
0x2352cd6929b3e27e07dc9a7f15b6b47e74d151d6fb761300fa4f81d8268fca38Zap In BNB104860502021-08-30 18:27:4248 days 3 hrs ago0x6d5fc7a3a9396092b8a046d14dd53e5025b75c5f IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.01 BNB0.001379255
0xf0a2975d73b1963732c19597d66c76dc322f4d0d36c8b235b12fe5e52bdd8b50Zap In BNB104857252021-08-30 18:11:2748 days 3 hrs ago0x76c491159b78e37983985f595aced1942a60c3aa IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.31 BNB0.00115796
0x71b35693db09addc8de2b70b6f05ff8f686b477fb86f5bfcf8291479a4a96c5aZap In BNB104830562021-08-30 15:54:0348 days 6 hrs ago0x1294eaf66766613afe43fb251918d3412b983b42 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.04 BNB0.001160045
0x967255a38d4813041bd219c0e689cb804514e0b8df4c4e086335fb79567b15f7Zap In BNB104776612021-08-30 11:07:5848 days 10 hrs ago0x2a6d9a4041fe9f9b8447c4ad0cd6f600678ae0a6 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.001847305 BNB0.001152755
0x82082964fc25b887d4990045391d74fce700a9778be509b71d36074c275a2ff5Zap In104731012021-08-30 7:19:5748 days 14 hrs ago0xef4abfd98ba6f9b60f38853c2347d81a9669e109 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.00164857
0xc307e6c174b36a73c1f1e70003055d18d0aca3b2d2742236045cc2994a02f891Zap In104730182021-08-30 7:15:4848 days 14 hrs ago0x07da228c4349fe0831edb831411b5b6d0dc7a65d IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.00179869
0x68f64a029c502ece6f144e504bb8df811aa0eca3eed9b4f752e91ed27c0c9540Zap In104723342021-08-30 6:41:3648 days 15 hrs ago0xf0c9784bc83b25ed790eb8b4a25cf46930d49885 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0 BNB0.001577275
0x5c71ffbf91e9c401cbcd1a72e7ceece9c4ae2f10d4a3ce44e1c8f533d56f7b5bZap In BNB104674202021-08-30 2:35:5448 days 19 hrs ago0x973e14a3b63395af6ef3279c1195b26f2d022724 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.016 BNB0.00115553
0xd73ba4eb19858a3346af3d19e68efd5175f081abc10d532dbdc9d8a9f39880cbZap In BNB104623892021-08-29 22:24:1948 days 23 hrs ago0x2a6d9a4041fe9f9b8447c4ad0cd6f600678ae0a6 IN  0x1be3594f756c6725fe99741077deeb87f531b31f0.02562352 BNB0.001152695
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xcda22aaee411f082433047317f96a96c40dd0439cea4564990c0d8d09f939abb105705702021-09-02 17:53:3945 days 4 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.052067123765344802 BNB
0xdc5e86f8717e5c123b33a605fd557189659cb43db0a1c21d6ef4ccf0f10ff6a2105397892021-09-01 15:58:4646 days 6 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.001918842620418289 BNB
0xdcf93bee640d948e7b5745d3d8e4c2c78a185669e488851a211cd1030703e10e105240602021-09-01 2:38:4946 days 19 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.008490747479652025 BNB
0xbd01468e609dda9e243a997eb00f589703c90a97a0758ea1bd22427f7c568a96105113602021-08-31 15:53:5547 days 6 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.00678467877028318 BNB
0x810d7ff7bc6981f501e6ce5656bb79a9391ec3b07018e3b12ee9cc59a2a30012104982422021-08-31 4:47:1447 days 17 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.01639106937512651 BNB
0x587de7a0dc3139cf2bff30d0494f5925390d8935657a66ebfa87b80d1a996e5f104892032021-08-30 21:06:1948 days 1 hr ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.02 BNB
0x73d1b591d3e3875ba3ee0666ec5752176c2db3a72e2c3af2b6df76de11eb3241104881492021-08-30 20:13:3648 days 1 hr ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.00095454318507784 BNB
0xce921be6718f7d6fe89a939f9d185d3b8545534ae0cad68006d6e690c48d665d104864262021-08-30 18:46:3048 days 3 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token1.184733 BNB
0x2352cd6929b3e27e07dc9a7f15b6b47e74d151d6fb761300fa4f81d8268fca38104860502021-08-30 18:27:4248 days 3 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.01 BNB
0xf0a2975d73b1963732c19597d66c76dc322f4d0d36c8b235b12fe5e52bdd8b50104857252021-08-30 18:11:2748 days 3 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.31 BNB
0x71b35693db09addc8de2b70b6f05ff8f686b477fb86f5bfcf8291479a4a96c5a104830562021-08-30 15:54:0348 days 6 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.04 BNB
0x967255a38d4813041bd219c0e689cb804514e0b8df4c4e086335fb79567b15f7104776612021-08-30 11:07:5848 days 10 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.001847305 BNB
0x5c71ffbf91e9c401cbcd1a72e7ceece9c4ae2f10d4a3ce44e1c8f533d56f7b5b104674202021-08-30 2:35:5448 days 19 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.016 BNB
0xd73ba4eb19858a3346af3d19e68efd5175f081abc10d532dbdc9d8a9f39880cb104623892021-08-29 22:24:1948 days 23 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.02562352 BNB
0xf9f0e90ea8f4458351dde262c7576d56bdd5b70284b796ec59826811bdc30cef104623602021-08-29 22:22:5248 days 23 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.01144809451212819 BNB
0x8da355fcd0f0fad961a6d2ef63b08d9c4961c2149eff3a7c4083e3149ebd5664104590222021-08-29 19:35:5249 days 2 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.002073954747764538 BNB
0xa096d3f0598882474f962f9fe3f95cd3500349c7c92953d45b3363f44b0279a3104548672021-08-29 16:06:1249 days 6 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.002401108458712026 BNB
0x1c2f2301959745e52470863ad39220a9a8116c3e66d0dab749ed3cde9d3c83be104454362021-08-29 8:13:5749 days 13 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.01 BNB
0xe365dd63012c018994c2125906439a746694ec23b9cf06ab5da35299960308d0104391892021-08-29 3:01:3649 days 19 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.010787031620290433 BNB
0x4db4df4dfa08dc1d8bccd601ca01a0b5cda29cad9a2ab75d56f3de0c456c449b104358102021-08-29 0:12:0949 days 21 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.002043973834791984 BNB
0x515185e233b5f20151ba77f61f5b5c42032c362d5de9376ededaaa90115b60cf104355982021-08-29 0:01:3349 days 22 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.00449 BNB
0xd7dd67af37b577a330af158ab446b2b33a0164b407917ebdb25c578a0f6b3340104317082021-08-28 20:47:0350 days 1 hr ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.003161231086205557 BNB
0x20cdd4ead43327c64c01bb6c0fc705215a22beb3896756fc319c05209828e734104047282021-08-27 21:59:2051 days 8 mins ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.04 BNB
0x15353c923b392955d101ff94fa36556f3efa0035f55f99cbc32b97ad0fce5422104027922021-08-27 20:22:3251 days 1 hr ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.005952693631657324 BNB
0x00406a79c08fa58d568b4c837a30ee7494aa71a7de4e0977307941fb72a7914e104013242021-08-27 19:09:0751 days 2 hrs ago 0x1be3594f756c6725fe99741077deeb87f531b31f Binance: WBNB Token0.011169 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MintClubZap

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 1500 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 9 : MintClubZap.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.6;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/utils/Context.sol";
import "./lib/IUniswapV2Router02.sol";
import "./lib/IUniswapV2Factory.sol";
import "./lib/IMintClubBond.sol";
import "./lib/IWETH.sol";

/**
* @title MintClubZap extension contract
*/

contract MintClubZap is Context {
    using SafeERC20 for IERC20;

    // Pancakeswap Router
    IUniswapV2Factory private constant PANCAKE_FACTORY = IUniswapV2Factory(0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73);
    IUniswapV2Router02 private constant PANCAKE_ROUTER = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
    IMintClubBond private constant BOND = IMintClubBond(0x8BBac0C7583Cc146244a18863E708bFFbbF19975);

    // Unix timestamp after which the transaction will revert.
    uint256 private constant DEAD_LINE = 0xf000000000000000000000000000000000000000000000000000000000000000;
    address private constant MINT_CONTRACT = address(0x1f3Af095CDa17d63cad238358837321e95FC5915);
    address private constant WBNB_CONTRACT = address(0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c);

    constructor() {
        // Approve infinite MINT tokens spendable by bond contract
        // MINT will be stored temporarily during the swap transaction
        _approveToken(MINT_CONTRACT, address(BOND));
    }

    function getAmountOut(address from, address to, uint256 amount) external view returns (uint256 tokenToReceive, uint256 mintTokenTaxAmount) {
        uint256 mintAmount;

        if (from == MINT_CONTRACT) {
            mintAmount = amount;
        } else {
            address[] memory path = _getPath(from);

            mintAmount = PANCAKE_ROUTER.getAmountsOut(amount, path)[path.length - 1];
        }

        return BOND.getMintReward(to, mintAmount);
    }

    function zapInBNB(address to, uint256 minAmountOut, address beneficiary) external payable {
        // First, wrap BNB to WBNB
        IWETH(WBNB_CONTRACT).deposit{value: msg.value}();

        // Swap WBNB to MINT
        uint256 mintAmount = _swap(WBNB_CONTRACT, MINT_CONTRACT, msg.value);

        // Finally, buy target tokens with swapped MINT
        _buyMintClubTokenAndSend(to, mintAmount, minAmountOut, beneficiary);
    }

    function zapIn(address from, address to, uint256 amount, uint256 minAmountOut, address beneficiary) external {
        // First, pull tokens to this contract
        IERC20 token = IERC20(from);
        require(token.allowance(_msgSender(), address(this)) >= amount, 'NOT_ENOUGH_ALLOWANCE');
        IERC20(from).safeTransferFrom(_msgSender(), address(this), amount);

        // Swap to MINT if necessary
        uint256 mintAmount;
        if (from == MINT_CONTRACT) {
            mintAmount = amount;
        } else {
            mintAmount = _swap(from, MINT_CONTRACT, amount);
        }

        // Finally, buy target tokens with swapped MINT
        _buyMintClubTokenAndSend(to, mintAmount, minAmountOut, beneficiary);
    }

    function _buyMintClubTokenAndSend(address tokenAddress, uint256 mintAmount, uint256 minAmountOut, address beneficiary) internal {
        // Finally, buy target tokens with swapped MINT
        BOND.buy(tokenAddress, mintAmount, minAmountOut, beneficiary);

        // BOND.buy doesn't return any value, so we need to calculate the purchased amount
        IERC20 token = IERC20(tokenAddress);
        require(token.transfer(_msgSender(), token.balanceOf(address(this))), 'BALANCE_TRANSFER_FAILED');
    }

    function _getPath(address from) internal pure returns (address[] memory path) {
        if (from == WBNB_CONTRACT) {
            path = new address[](2);
            path[0] = WBNB_CONTRACT;
            path[1] = MINT_CONTRACT;
        } else {
            path = new address[](3);
            path[0] = from;
            path[1] = WBNB_CONTRACT;
            path[2] = MINT_CONTRACT;
        }
    }

    function _approveToken(address tokenAddress, address spender) internal {
        IERC20 token = IERC20(tokenAddress);
        if (token.allowance(address(this), spender) > 0) {
            return;
        } else {
            token.safeApprove(spender, type(uint256).max);
        }
    }

    /**
        @notice This function is used to swap ERC20 <> ERC20
        @param from The token address to swap from.
        @param to The token address to swap to.
        @param amount The amount of tokens to swap
        @return boughtAmount The quantity of tokens bought
    */
    function _swap(address from, address to, uint256 amount) internal returns (uint256 boughtAmount) {
        if (from == to) {
            return amount;
        }

        _approveToken(from, address(PANCAKE_ROUTER));

        address[] memory path = _getPath(from);

        // path.length is always 2 or 3
        for (uint8 i = 0; i < path.length - 1; i++) {
            address pair = PANCAKE_FACTORY.getPair(path[i], path[i + 1]);
            require(pair != address(0), 'INVALID_SWAP_PATH');
        }

        boughtAmount = PANCAKE_ROUTER.swapExactTokensForTokens(
            amount,
            1, // amountOutMin
            path,
            address(this), // to: Recipient of the output tokens
            DEAD_LINE
        )[path.length - 1];

        require(boughtAmount > 0, 'SWAP_ERROR');
    }
}

File 2 of 9 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

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

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

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

File 3 of 9 : SafeERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "../IERC20.sol";
import "../../../utils/Address.sol";

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

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

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

    /**
     * @dev Deprecated. This function has issues similar to the ones found in
     * {IERC20-approve}, and its usage is discouraged.
     *
     * Whenever possible, use {safeIncreaseAllowance} and
     * {safeDecreaseAllowance} instead.
     */
    function safeApprove(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        // safeApprove should only be called when setting an initial allowance,
        // or when resetting it to zero. To increase and decrease it, use
        // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
        require(
            (value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

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

    function safeDecreaseAllowance(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        unchecked {
            uint256 oldAllowance = token.allowance(address(this), spender);
            require(oldAllowance >= value, "SafeERC20: decreased allowance below zero");
            uint256 newAllowance = oldAllowance - value;
            _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
        }
    }

    /**
     * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
     * on the return value: the return value is optional (but if data is returned, it must not be false).
     * @param token The token targeted by the call.
     * @param data The call data (encoded using abi.encode or one of its variants).
     */
    function _callOptionalReturn(IERC20 token, bytes memory data) private {
        // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
        // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that
        // the target address contains contract code and also asserts for success in the low-level call.

        bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
        if (returndata.length > 0) {
            // Return data is optional
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

File 4 of 9 : 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) {
        return msg.data;
    }
}

File 5 of 9 : IUniswapV2Router02.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.6;

interface IUniswapV2Router02 {
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external
        returns (
            uint256[] memory amounts
        );

    function getAmountsOut(
        uint amountIn,
        address[] memory path
    ) external view
        returns (
            uint[] memory amounts
        );
}

File 6 of 9 : IUniswapV2Factory.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.6;

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address);
}

File 7 of 9 : IMintClubBond.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.6;

interface IMintClubBond {
    function getMintReward(
        address tokenAddress,
        uint256 reserveAmount
    ) external view
        returns (
            uint256 toMint,
            uint256 taxAmount
        );

    function buy(
        address tokenAddress,
        uint256 reserveAmount,
        uint256 minReward,
        address beneficiary
    ) external;
}

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

pragma solidity ^0.8.6;

interface IWETH {
    function deposit() external payable;
}

File 9 of 9 : Address.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain `call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) private pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1500
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"tokenToReceive","type":"uint256"},{"internalType":"uint256","name":"mintTokenTaxAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minAmountOut","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"}],"name":"zapIn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"minAmountOut","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"}],"name":"zapInBNB","outputs":[],"stateMutability":"payable","type":"function"}]

60806040523480156200001157600080fd5b5062000046731f3af095cda17d63cad238358837321e95fc5915738bbac0c7583cc146244a18863e708bffbbf199756200004c565b62000598565b604051636eb1769f60e11b81523060048201526001600160a01b038281166024830152839160009183169063dd62ed3e9060440160206040518083038186803b1580156200009957600080fd5b505afa158015620000ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d49190620004f8565b1115620000e057505050565b6200010782600019836001600160a01b03166200010c60201b62000491179092919060201c565b505050565b8015806200019a5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e9060440160206040518083038186803b1580156200015d57600080fd5b505afa15801562000172573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001989190620004f8565b155b620002125760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084015b60405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001079185916200026a16565b6000620002c6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200034860201b6200063a179092919060201c565b805190915015620001075780806020019051810190620002e79190620004d4565b620001075760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000209565b606062000359848460008562000363565b90505b9392505050565b606082471015620003c65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000209565b843b620004165760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000209565b600080866001600160a01b0316858760405162000434919062000512565b60006040518083038185875af1925050503d806000811462000473576040519150601f19603f3d011682016040523d82523d6000602084013e62000478565b606091505b5090925090506200048b82828662000496565b979650505050505050565b60608315620004a75750816200035c565b825115620004b85782518084602001fd5b8160405162461bcd60e51b815260040162000209919062000530565b600060208284031215620004e757600080fd5b815180151581146200035c57600080fd5b6000602082840312156200050b57600080fd5b5051919050565b600082516200052681846020870162000565565b9190910192915050565b60208152600082518060208401526200055181604085016020870162000565565b601f01601f19169190910160400192915050565b60005b838110156200058257818101518382015260200162000568565b8381111562000592576000848401525b50505050565b6114a380620005a86000396000f3fe6080604052600436106100345760003560e01c80634aa0665214610039578063b35d3f4214610072578063b487c54a14610087575b600080fd5b34801561004557600080fd5b5061005961005436600461109d565b6100a7565b6040805192835260208301919091520160405180910390f35b61008561008036600461113d565b61026c565b005b34801561009357600080fd5b506100856100a23660046110de565b61031d565b600080806001600160a01b038616731f3af095cda17d63cad238358837321e95fc591514156100d75750826101b5565b60006100e287610653565b6040517fd06ca61f0000000000000000000000000000000000000000000000000000000081529091507310ed43c718714eb63d5aa57b78b54704e256024e9063d06ca61f906101379088908590600401611336565b60006040518083038186803b15801561014f57600080fd5b505afa158015610163573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261018b919081019061117f565b6001825161019991906113b0565b815181106101a9576101a9611429565b60200260200101519150505b6040517feb0cf64d0000000000000000000000000000000000000000000000000000000081526001600160a01b038616600482015260248101829052738bbac0c7583cc146244a18863e708bffbbf199759063eb0cf64d90604401604080518083038186803b15801561022757600080fd5b505afa15801561023b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025f919061127f565b9250925050935093915050565b73bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102bb57600080fd5b505af11580156102cf573d6000803e3d6000fd5b5050505050600061030973bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c731f3af095cda17d63cad238358837321e95fc5915346107f4565b905061031784828585610b05565b50505050565b84836001600160a01b03821663dd62ed3e336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015230602482015260440160206040518083038186803b15801561038c57600080fd5b505afa1580156103a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c49190611266565b10156104175760405162461bcd60e51b815260206004820152601460248201527f4e4f545f454e4f5547485f414c4c4f57414e434500000000000000000000000060448201526064015b60405180910390fd5b61042c6001600160a01b038716333087610d2d565b60006001600160a01b038716731f3af095cda17d63cad238358837321e95fc5915141561045a57508361047c565b61047987731f3af095cda17d63cad238358837321e95fc5915876107f4565b90505b61048886828686610b05565b50505050505050565b80158061051a5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e9060440160206040518083038186803b1580156104e057600080fd5b505afa1580156104f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105189190611266565b155b61058c5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000606482015260840161040e565b6040516001600160a01b0383166024820152604481018290526106359084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610d7e565b505050565b60606106498484600085610e63565b90505b9392505050565b60606001600160a01b03821673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c141561072f57604080516002808252606082018352909160208301908036833701905050905073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c816000815181106106c2576106c2611429565b60200260200101906001600160a01b031690816001600160a01b031681525050731f3af095cda17d63cad238358837321e95fc59158160018151811061070a5761070a611429565b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b604080516003808252608082019092529060208201606080368337019050509050818160008151811061076457610764611429565b60200260200101906001600160a01b031690816001600160a01b03168152505073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c816001815181106107ac576107ac611429565b60200260200101906001600160a01b031690816001600160a01b031681525050731f3af095cda17d63cad238358837321e95fc59158160028151811061070a5761070a611429565b6000826001600160a01b0316846001600160a01b0316141561081757508061064c565b610835847310ed43c718714eb63d5aa57b78b54704e256024e610fa2565b600061084085610653565b905060005b6001825161085391906113b0565b8160ff1610156109b557600073ca143ce32fe78f1f7019d7d551a6402fc5350c736001600160a01b031663e6a43905848460ff168151811061089757610897611429565b6020026020010151858560016108ad919061138b565b60ff16815181106108c0576108c0611429565b60200260200101516040518363ffffffff1660e01b81526004016108fa9291906001600160a01b0392831681529116602082015260400190565b60206040518083038186803b15801561091257600080fd5b505afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611080565b90506001600160a01b0381166109a25760405162461bcd60e51b815260206004820152601160248201527f494e56414c49445f535741505f50415448000000000000000000000000000000604482015260640161040e565b50806109ad816113f3565b915050610845565b506040517f38ed17390000000000000000000000000000000000000000000000000000000081527310ed43c718714eb63d5aa57b78b54704e256024e906338ed173990610a2f908690600190869030907ff0000000000000000000000000000000000000000000000000000000000000009060040161134f565b600060405180830381600087803b158015610a4957600080fd5b505af1158015610a5d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a85919081019061117f565b60018251610a9391906113b0565b81518110610aa357610aa3611429565b6020026020010151915060008211610afd5760405162461bcd60e51b815260206004820152600a60248201527f535741505f4552524f5200000000000000000000000000000000000000000000604482015260640161040e565b509392505050565b6040517f3f60b6330000000000000000000000000000000000000000000000000000000081526001600160a01b038086166004830152602482018590526044820184905282166064820152738bbac0c7583cc146244a18863e708bffbbf1997590633f60b63390608401600060405180830381600087803b158015610b8957600080fd5b505af1158015610b9d573d6000803e3d6000fd5b50869250506001600160a01b038216905063a9059cbb336040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a082319060240160206040518083038186803b158015610c0c57600080fd5b505afa158015610c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c449190611266565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015610ca257600080fd5b505af1158015610cb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cda9190611244565b610d265760405162461bcd60e51b815260206004820152601760248201527f42414c414e43455f5452414e534645525f4641494c4544000000000000000000604482015260640161040e565b5050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526103179085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016105d1565b6000610dd3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661063a9092919063ffffffff16565b8051909150156106355780806020019051810190610df19190611244565b6106355760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161040e565b606082471015610edb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161040e565b843b610f295760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161040e565b600080866001600160a01b03168587604051610f4591906112e7565b60006040518083038185875af1925050503d8060008114610f82576040519150601f19603f3d011682016040523d82523d6000602084013e610f87565b606091505b5091509150610f97828286611047565b979650505050505050565b604051636eb1769f60e11b81523060048201526001600160a01b038281166024830152839160009183169063dd62ed3e9060440160206040518083038186803b158015610fee57600080fd5b505afa158015611002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110269190611266565b111561103157505050565b6106356001600160a01b03821683600019610491565b6060831561105657508161064c565b8251156110665782518084602001fd5b8160405162461bcd60e51b815260040161040e9190611303565b60006020828403121561109257600080fd5b815161064c81611455565b6000806000606084860312156110b257600080fd5b83356110bd81611455565b925060208401356110cd81611455565b929592945050506040919091013590565b600080600080600060a086880312156110f657600080fd5b853561110181611455565b9450602086013561111181611455565b93506040860135925060608601359150608086013561112f81611455565b809150509295509295909350565b60008060006060848603121561115257600080fd5b833561115d81611455565b925060208401359150604084013561117481611455565b809150509250925092565b6000602080838503121561119257600080fd5b825167ffffffffffffffff808211156111aa57600080fd5b818501915085601f8301126111be57600080fd5b8151818111156111d0576111d061143f565b8060051b604051601f19603f830116810181811085821117156111f5576111f561143f565b604052828152858101935084860182860187018a101561121457600080fd5b600095505b83861015611237578051855260019590950194938601938601611219565b5098975050505050505050565b60006020828403121561125657600080fd5b8151801515811461064c57600080fd5b60006020828403121561127857600080fd5b5051919050565b6000806040838503121561129257600080fd5b505080516020909101519092909150565b600081518084526020808501945080840160005b838110156112dc5781516001600160a01b0316875295820195908201906001016112b7565b509495945050505050565b600082516112f98184602087016113c7565b9190910192915050565b60208152600082518060208401526113228160408501602087016113c7565b601f01601f19169190910160400192915050565b82815260406020820152600061064960408301846112a3565b85815284602082015260a06040820152600061136e60a08301866112a3565b6001600160a01b0394909416606083015250608001529392505050565b600060ff821660ff84168060ff038211156113a8576113a8611413565b019392505050565b6000828210156113c2576113c2611413565b500390565b60005b838110156113e25781810151838201526020016113ca565b838111156103175750506000910152565b600060ff821660ff81141561140a5761140a611413565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461146a57600080fd5b5056fea2646970667358221220f7280381f43e6b62d94fe422c6092474e56049b6d0b66b92b24e0d4b841384f464736f6c63430008060033

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.