Contract 0x06afa2896373e5c36a2df8ab3df4c373afd10f85

 
Txn Hash
Block
From
To
Value [Txn Fee]
0xa5f245fe8f95333907bc662944e4c483bb18bbdf3865e09d5049d1fd47b9eee453466742021-03-03 2:42:436 hrs 24 mins ago0x24be7d398e09b054a00ae6c1914081da50ba2a4e IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x4c69dc8e7821d3ba951a0eb3e3c0b72684a2ecd4c77a3114d4cf6fa3b452278d53457072021-03-03 1:54:227 hrs 13 mins ago0x99d4c1bde2215b630aed934bd508aec722ebb2ca IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00045231
0x71db580cb8b4ecdd111f9f88582daa69bf4b519dc5518398296ed3042e72d06a53369282021-03-02 18:34:3414 hrs 33 mins ago0x83ca94c7bbd939612cb642dc3e10226123146cd7 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00045231
0x3257c246805d53998c745ec84001166fcb2b80dad8460217ccfd885fda83180f53144602021-03-01 23:50:301 day 9 hrs ago0x12658c243e02cf74e4b5d09b24d7c9761c817283 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x686fab370cd722993d13377bd858f5001706bb96d39dc4d098c4f447ba19106253144592021-03-01 23:50:271 day 9 hrs ago0x12658c243e02cf74e4b5d09b24d7c9761c817283 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xed17f69d76173668ec2bf909223896900038987fe26314bf4b7115ae891960de53138902021-03-01 23:22:001 day 9 hrs ago0x6cbd16a902994d8062bbdc53dfac2928717581cf IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x1c914b3cac24ef61296b6d1da2dcbe88458c049ca848224520e88d5acc530f4a53102002021-03-01 20:17:261 day 12 hrs ago0x8480768943d7713b93417d83d05bb0b8e571719a IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xa757d77d70b0702c147292261d255f0f876d9942823bc4115fb2e3fc659b67e153101972021-03-01 20:17:171 day 12 hrs ago0x8480768943d7713b93417d83d05bb0b8e571719a IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x97b84771ffafbc75523da6ae35996030ea93e5f071c0739b5552a3c040810c3a53093212021-03-01 19:33:021 day 13 hrs ago0x524ac9e94e242c894e1f883a2918a8f9401ff108 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xfdd354e40840a43f553ea8835542fc3224016bf7d5d3613fe389a057b5568a1053060962021-03-01 16:51:401 day 16 hrs ago0xa7a9e6137d2582fc8bddad6a6daeb8fb985396f2 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xc8073cd37c76ad2a70a6456d479797e7bec4b1df924f4776bcf28b81fd6dccf053051982021-03-01 16:06:461 day 17 hrs ago0x67b0f149098e0879e1a1e8f090b2fe06ba07ec47 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x65f05987308af4e55b8f03f357c006f97e52c5cf7180808582423b35a75ddad853011822021-03-01 12:45:381 day 20 hrs ago0x33a2a745cb5365cd1585b8ca33ec53248cf8b789 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xd89fb65adbc3644804d9c7d83ca0fb9f9e7ab7d38980d814eaae84154002bf2752996422021-03-01 11:25:321 day 21 hrs ago0xfc3aae55a5488d8ab63a5935dc497f5db3ebd718 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xe9c58ae14d8fa2f9929afa52305f01da87e007e1578dcd6c0c62f38848a3dd2552996402021-03-01 11:25:261 day 21 hrs ago0xfc3aae55a5488d8ab63a5935dc497f5db3ebd718 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x26320faa70c30214ace3b001d256ad0afe0b74db314099071e4b19e36ee49ae952947952021-03-01 7:22:532 days 1 hr ago0x21103e21a277b7f26eb59634bedd618a3ab0d12a IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xd4367d7456c6b49990d3384a743fc7a17738749f7a22db172d02d62a60d0259152919212021-03-01 4:58:512 days 4 hrs ago0xc57665adf6fe14a6690037a1ef0b561cf38920e7 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xd325ac45d022729b9720d853ea5b9b240082fce16ba82638f2d72552f637b63552824502021-02-28 21:02:262 days 12 hrs ago0x1afb3e507d2194a661849254f07102cb1a2fc980 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xbee2e663dc7e46a416e077b5da26bd9553f9d80d00df826919f1c4a3ec9787c452820722021-02-28 20:43:322 days 12 hrs ago0x2622f66e65ae126314d71ca670b3821e62cf7178 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x15a3ca98f60c10a3968c32a59f58a22016e7221071b8ebf42e62191d429b181752818402021-02-28 20:31:562 days 12 hrs ago0x6a43b125a791400b311e0298b9f4af6c401eece8 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x8c0b0264ac7494b0b87ae082f8cfbd90cc2f391769c90f99f785cadef2decc9452815882021-02-28 20:19:202 days 12 hrs ago0x6a43b125a791400b311e0298b9f4af6c401eece8 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x3da2976162410174b7437ad5008b4579ccb851585bd1df68d5fe92ce3f031f8352814792021-02-28 20:13:532 days 12 hrs ago0xfec619696082107e4a77ac89d91bdd5c2246bb3b IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x10840d9f5b58412806253e00c6a07f286a46662a9df2b72dca1401895a81427052811782021-02-28 19:58:502 days 13 hrs ago0x6ec63e0434bd2c3df8184dddf8174c9b9592d778 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0xc4807faabdea3553f330a46cc06b1ed32d72443111045746c47f45d6f8c3b3bb52808072021-02-28 19:40:172 days 13 hrs ago0x1202141b5ac1280a448822559de8e11046b92ec6 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
0x42f4d956cc72ae361e908e29c5a4fbcb671c4ec3483bf9e70c88d75e8ac7a16f52807702021-02-28 19:38:262 days 13 hrs ago0x1202141b5ac1280a448822559de8e11046b92ec6 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00025647
0x3585cc5bb87cc68b46f907e39575c764c77673f2c614f3be35dde18fff60bd3b52807402021-02-28 19:36:562 days 13 hrs ago0x1202141b5ac1280a448822559de8e11046b92ec6 IN  0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB0.00014924
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x010ce35ed5c88d7cd3d391b208a9666c60282131cd63d9f52f63a333bf7b4e5d53540602021-03-03 8:54:3413 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x010ce35ed5c88d7cd3d391b208a9666c60282131cd63d9f52f63a333bf7b4e5d53540602021-03-03 8:54:3413 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x7dd78aa9d8b4cb0b9dbdb23c400972b99bac7d179d0274efd2b690d0e5e3602a53505972021-03-03 6:01:223 hrs 6 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x7dd78aa9d8b4cb0b9dbdb23c400972b99bac7d179d0274efd2b690d0e5e3602a53505972021-03-03 6:01:223 hrs 6 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x76fca00b75468c2d356299f80340be157a40ac108a3107af45bdc554f6fb9b5c53486232021-03-03 4:22:404 hrs 44 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x76fca00b75468c2d356299f80340be157a40ac108a3107af45bdc554f6fb9b5c53486232021-03-03 4:22:404 hrs 44 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x76fca00b75468c2d356299f80340be157a40ac108a3107af45bdc554f6fb9b5c53486232021-03-03 4:22:404 hrs 44 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x16aab383cbb9db069c91db0f7e11595c5e81d565c36c92aa9c583c4b65b81e5b53457122021-03-03 1:54:377 hrs 12 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x16aab383cbb9db069c91db0f7e11595c5e81d565c36c92aa9c583c4b65b81e5b53457122021-03-03 1:54:377 hrs 12 mins ago PancakeSwap: Router 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x3ba2c4e2d7e8837653438c9a5e3ce90e92ef8c68d88a5f1c0964d424e6c85ada53456832021-03-03 1:53:107 hrs 14 mins ago 0x9f9f18aea36a44e56f141a98b68f700a4073a2e8 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x3ba2c4e2d7e8837653438c9a5e3ce90e92ef8c68d88a5f1c0964d424e6c85ada53456832021-03-03 1:53:107 hrs 14 mins ago 0x020b3a500dfc0598e3d459b79fdae4717b0afe6a 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x3ba2c4e2d7e8837653438c9a5e3ce90e92ef8c68d88a5f1c0964d424e6c85ada53456832021-03-03 1:53:107 hrs 14 mins ago 0x020b3a500dfc0598e3d459b79fdae4717b0afe6a 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x3ba2c4e2d7e8837653438c9a5e3ce90e92ef8c68d88a5f1c0964d424e6c85ada53456832021-03-03 1:53:107 hrs 14 mins ago 0x9f9f18aea36a44e56f141a98b68f700a4073a2e8 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x3ba2c4e2d7e8837653438c9a5e3ce90e92ef8c68d88a5f1c0964d424e6c85ada53456832021-03-03 1:53:107 hrs 14 mins ago 0x9f9f18aea36a44e56f141a98b68f700a4073a2e8 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x3ba2c4e2d7e8837653438c9a5e3ce90e92ef8c68d88a5f1c0964d424e6c85ada53456832021-03-03 1:53:107 hrs 14 mins ago 0x9f9f18aea36a44e56f141a98b68f700a4073a2e8 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0xb5cf7ee86637cce9fff3c160a28ecd7dda638fba6bb77045d4e8df38e34988a453435362021-03-03 0:05:489 hrs 1 min ago 0x9f9f18aea36a44e56f141a98b68f700a4073a2e8 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0xb5cf7ee86637cce9fff3c160a28ecd7dda638fba6bb77045d4e8df38e34988a453435362021-03-03 0:05:489 hrs 1 min ago 0x020b3a500dfc0598e3d459b79fdae4717b0afe6a 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0xb5cf7ee86637cce9fff3c160a28ecd7dda638fba6bb77045d4e8df38e34988a453435362021-03-03 0:05:489 hrs 1 min ago 0x020b3a500dfc0598e3d459b79fdae4717b0afe6a 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0xb5cf7ee86637cce9fff3c160a28ecd7dda638fba6bb77045d4e8df38e34988a453435362021-03-03 0:05:489 hrs 1 min ago 0x9f9f18aea36a44e56f141a98b68f700a4073a2e8 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0xb5cf7ee86637cce9fff3c160a28ecd7dda638fba6bb77045d4e8df38e34988a453435362021-03-03 0:05:489 hrs 1 min ago 0x9f9f18aea36a44e56f141a98b68f700a4073a2e8 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0xb5cf7ee86637cce9fff3c160a28ecd7dda638fba6bb77045d4e8df38e34988a453435362021-03-03 0:05:489 hrs 1 min ago 0x9f9f18aea36a44e56f141a98b68f700a4073a2e8 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x2a95ff3244ef7f3bef2dcd2099ae8a6924ce10d6de046987090c33dab57281c853370192021-03-02 18:39:0714 hrs 28 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x2a95ff3244ef7f3bef2dcd2099ae8a6924ce10d6de046987090c33dab57281c853370192021-03-02 18:39:0714 hrs 28 mins ago PancakeSwap: Router 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x0987ed587774686d20a31f2b8ba927a07c3629fc6bfd73991dad6f47b6a141d853370132021-03-02 18:38:4914 hrs 28 mins ago PancakeSwap: BSK 2 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
0x0987ed587774686d20a31f2b8ba927a07c3629fc6bfd73991dad6f47b6a141d853370132021-03-02 18:38:4914 hrs 28 mins ago PancakeSwap: Router 0x06afa2896373e5c36a2df8ab3df4c373afd10f850 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BrisketToken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-02-20
*/

// SPDX-License-Identifier: MIT

pragma solidity >=0.4.0;

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

    /**
     * @dev 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"
        );

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (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"
        );
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(
        address target,
        bytes memory data,
        uint256 weiValue,
        string memory errorMessage
    ) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) =
            target.call{value: weiValue}(data);
        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

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

    function min(uint256 x, uint256 y) internal pure returns (uint256 z) {
        z = x < y ? x : y;
    }

    // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)
    function sqrt(uint256 y) internal pure returns (uint256 z) {
        if (y > 3) {
            z = y;
            uint256 x = y / 2 + 1;
            while (x < z) {
                z = x;
                x = (y / x + x) / 2;
            }
        } else if (y != 0) {
            z = 1;
        }
    }
}

contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor() internal {}

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

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

contract Ownable is Context {
    address private _owner;

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

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public 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 onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IBEP20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the token decimals.
     */
    function decimals() external view returns (uint8);

    /**
     * @dev Returns the token symbol.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the token name.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the bep token owner.
     */
    function getOwner() external view returns (address);

    /**
     * @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
    );
}

/**
 * @dev Implementation of the {IBEP20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {BEP20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-BEP20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of BEP20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IBEP20-approve}.
 */
contract BEP20 is Context, IBEP20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public blacklistRecipient;
    uint256 public blacklistValidUntilBlock;

    /**
     * @dev Sets the values for {name} and {symbol}, initializes {decimals} with
     * a default value of 18.
     *
     * To select a different value for {decimals}, use {_setupDecimals}.
     *
     * All three of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(
        string memory name,
        string memory symbol,
        uint256 _blacklistValidUntilBlock
    ) public {
        _name = name;
        _symbol = symbol;
        _decimals = 18;
        blacklistValidUntilBlock = _blacklistValidUntilBlock; // 5046240
    }

    /**
     * @dev Returns the bep token owner.
     */
    function getOwner() external view override returns (address) {
        return owner();
    }

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

    /**
     * @dev Returns the token decimals.
     */
    function decimals() public view override returns (uint8) {
        return _decimals;
    }

    /**
     * @dev Returns the token symbol.
     */
    function symbol() public view override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev See {BEP20-totalSupply}.
     */
    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {BEP20-balanceOf}.
     */
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {BEP20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {BEP20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {BEP20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {BEP20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {BEP20};
     *
     * Requirements:
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "BEP20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {BEP20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        public
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {BEP20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "BEP20: decreased allowance below zero"
            )
        );
        return true;
    }

    /**
     * @dev Creates `amount` tokens and assigns them to `msg.sender`, increasing
     * the total supply.
     *
     * Requirements
     *
     * - `msg.sender` must be the token owner
     */
    function mint(uint256 amount) public onlyOwner returns (bool) {
        _mint(_msgSender(), amount);
        return true;
    }

    /**
     * @dev Blacklist `target` address
     *
     * Used for blacklisting pancakeswap router & token pair (user can not add liquidity before certain block number)
     *
     * Requirements:
     *
     * - `target` cannot be the zero address.
     *
     */
    function addBlacklist(address target) public onlyOwner {
        require(target != address(0), "BEP20: blacklist the zero address");
        blacklistRecipient[target] = true;
    }

    function removeBlacklist(address target) public onlyOwner {
        require(target != address(0), "BEP20: blacklist the zero address");
        blacklistRecipient[target] = false;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal {
        require(sender != address(0), "BEP20: transfer from the zero address");
        require(recipient != address(0), "BEP20: transfer to the zero address");

        if (block.number < blacklistValidUntilBlock) {
            require(!blacklistRecipient[recipient], "Invalid recipient");
        }

        _balances[sender] = _balances[sender].sub(
            amount,
            "BEP20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "BEP20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "BEP20: burn from the zero address");

        _balances[account] = _balances[account].sub(
            amount,
            "BEP20: burn amount exceeds balance"
        );
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal {
        require(owner != address(0), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: approve to the zero address");

        if (block.number < blacklistValidUntilBlock) {
            require(!blacklistRecipient[spender], "Invalid sepdner");
        }

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

    /**
     * @dev Destroys `amount` tokens from `account`.`amount` is then deducted
     * from the caller's allowance.
     *
     * See {_burn} and {_approve}.
     */
    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(
            account,
            _msgSender(),
            _allowances[account][_msgSender()].sub(
                amount,
                "BEP20: burn amount exceeds allowance"
            )
        );
    }
}

contract BrisketToken is BEP20("BrisketSwap Token", "BSK", 5045452) {
    /// @notice Creates `_amount` token to `_to`. Must only be called by the owner (MasterChef).
    function mint(address _to, uint256 _amount) public onlyOwner {
        _mint(_to, _amount);
    }
}

Contract ABI

[{"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":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"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"addBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[{"internalType":"address","name":"","type":"address"}],"name":"blacklistRecipient","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistValidUntilBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"target","type":"address"}],"name":"removeBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":[{"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"}]

60806040523480156200001157600080fd5b5060405180604001604052806011815260200170213934b9b5b2ba29bbb0b8102a37b5b2b760791b8152506040518060400160405280600381526020016242534b60e81b815250624cfccc60006200006e620000fd60201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508251620000cd90600490602086019062000101565b508151620000e390600590602085019062000101565b506006805460ff19166012179055600855506200019d9050565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014457805160ff191683800117855562000174565b8280016001018555821562000174579182015b828111156200017457825182559160200191906001019062000157565b506200018292915062000186565b5090565b5b8082111562000182576000815560010162000187565b6111eb80620001ad6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063893d20e8116100b8578063a457c2d71161007c578063a457c2d71461038c578063a9059cbb146103b8578063dd62ed3e146103e4578063e02273b414610412578063eb91e6511461041a578063f2fde38b1461044057610137565b8063893d20e8146103155780638da5cb5b1461033957806395d89b41146103415780639cfe42da14610349578063a0712d681461036f57610137565b806339509351116100ff578063395093511461026757806340c10f1914610293578063498d147f146102c157806370a08231146102e7578063715018a61461030d57610137565b806306fdde031461013c578063095ea7b3146101b957806318160ddd146101f957806323b872dd14610213578063313ce56714610249575b600080fd5b610144610466565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360408110156101cf57600080fd5b506001600160a01b0381351690602001356104fc565b604080519115158252519081900360200190f35b610201610519565b60408051918252519081900360200190f35b6101e56004803603606081101561022957600080fd5b506001600160a01b0381358116916020810135909116906040013561051f565b6102516105a6565b6040805160ff9092168252519081900360200190f35b6101e56004803603604081101561027d57600080fd5b506001600160a01b0381351690602001356105af565b6102bf600480360360408110156102a957600080fd5b506001600160a01b0381351690602001356105fd565b005b6101e5600480360360208110156102d757600080fd5b50356001600160a01b0316610663565b610201600480360360208110156102fd57600080fd5b50356001600160a01b0316610678565b6102bf610693565b61031d610735565b604080516001600160a01b039092168252519081900360200190f35b61031d610744565b610144610753565b6102bf6004803603602081101561035f57600080fd5b50356001600160a01b03166107b4565b6101e56004803603602081101561038557600080fd5b5035610875565b6101e5600480360360408110156103a257600080fd5b506001600160a01b0381351690602001356108e8565b6101e5600480360360408110156103ce57600080fd5b506001600160a01b038135169060200135610950565b610201600480360360408110156103fa57600080fd5b506001600160a01b0381358116916020013516610964565b61020161098f565b6102bf6004803603602081101561043057600080fd5b50356001600160a01b0316610995565b6102bf6004803603602081101561045657600080fd5b50356001600160a01b0316610a53565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f25780601f106104c7576101008083540402835291602001916104f2565b820191906000526020600020905b8154815290600101906020018083116104d557829003601f168201915b5050505050905090565b6000610510610509610ab7565b8484610abb565b50600192915050565b60035490565b600061052c848484610c11565b61059c84610538610ab7565b610597856040518060600160405280602881526020016110bd602891396001600160a01b038a16600090815260026020526040812090610576610ab7565b6001600160a01b031681526020810191909152604001600020549190610dcf565b610abb565b5060019392505050565b60065460ff1690565b60006105106105bc610ab7565b8461059785600260006105cd610ab7565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610e66565b610605610ab7565b6000546001600160a01b03908116911614610655576040805162461bcd60e51b815260206004820181905260248201526000805160206110e5833981519152604482015290519081900360640190fd5b61065f8282610ec7565b5050565b60076020526000908152604090205460ff1681565b6001600160a01b031660009081526001602052604090205490565b61069b610ab7565b6000546001600160a01b039081169116146106eb576040805162461bcd60e51b815260206004820181905260248201526000805160206110e5833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061073f610744565b905090565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f25780601f106104c7576101008083540402835291602001916104f2565b6107bc610ab7565b6000546001600160a01b0390811691161461080c576040805162461bcd60e51b815260206004820181905260248201526000805160206110e5833981519152604482015290519081900360640190fd5b6001600160a01b0381166108515760405162461bcd60e51b81526004018080602001828103825260218152602001806111736021913960400191505060405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b600061087f610ab7565b6000546001600160a01b039081169116146108cf576040805162461bcd60e51b815260206004820181905260248201526000805160206110e5833981519152604482015290519081900360640190fd5b6108e06108da610ab7565b83610ec7565b506001919050565b60006105106108f5610ab7565b846105978560405180606001604052806025815260200161114e602591396002600061091f610ab7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610dcf565b600061051061095d610ab7565b8484610c11565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60085481565b61099d610ab7565b6000546001600160a01b039081169116146109ed576040805162461bcd60e51b815260206004820181905260248201526000805160206110e5833981519152604482015290519081900360640190fd5b6001600160a01b038116610a325760405162461bcd60e51b81526004018080602001828103825260218152602001806111736021913960400191505060405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19169055565b610a5b610ab7565b6000546001600160a01b03908116911614610aab576040805162461bcd60e51b815260206004820181905260248201526000805160206110e5833981519152604482015290519081900360640190fd5b610ab481610fad565b50565b3390565b6001600160a01b038316610b005760405162461bcd60e51b81526004018080602001828103825260248152602001806110736024913960400191505060405180910390fd5b6001600160a01b038216610b455760405162461bcd60e51b81526004018080602001828103825260228152602001806111946022913960400191505060405180910390fd5b600854431015610baf576001600160a01b03821660009081526007602052604090205460ff1615610baf576040805162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21039b2b8323732b960891b604482015290519081900360640190fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c565760405162461bcd60e51b815260040180806020018281038252602581526020018061104e6025913960400191505060405180910390fd5b6001600160a01b038216610c9b5760405162461bcd60e51b815260040180806020018281038252602381526020018061112b6023913960400191505060405180910390fd5b600854431015610d07576001600160a01b03821660009081526007602052604090205460ff1615610d07576040805162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b604482015290519081900360640190fd5b610d4481604051806060016040528060268152602001611105602691396001600160a01b0386166000908152600160205260409020549190610dcf565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610d739082610e66565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610e5e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e23578181015183820152602001610e0b565b50505050905090810190601f168015610e505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ec0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610f22576040805162461bcd60e51b815260206004820152601f60248201527f42455032303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600354610f2f9082610e66565b6003556001600160a01b038216600090815260016020526040902054610f559082610e66565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038116610ff25760405162461bcd60e51b81526004018080602001828103825260268152602001806110976026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe42455032303a207472616e736665722066726f6d20746865207a65726f206164647265737342455032303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657242455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a207472616e7366657220746f20746865207a65726f206164647265737342455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a20626c61636b6c69737420746865207a65726f206164647265737342455032303a20617070726f766520746f20746865207a65726f2061646472657373a2646970667358221220c627577ad96cd00d44a0a57bf4d446139e9da0564af7c49d902b22c782cf606564736f6c634300060c0033

Deployed ByteCode Sourcemap

29397:275:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20179:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21739:193;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;21739:193:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;20655:100;;;:::i;:::-;;;;;;;;;;;;;;;;22403:446;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;22403:446:0;;;;;;;;;;;;;;;;;:::i;20338:92::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23257:283;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;23257:283:0;;;;;;;;:::i;29570:99::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;29570:99:0;;;;;;;;:::i;:::-;;19237:50;;;;;;;;;;;;;;;;-1:-1:-1;19237:50:0;-1:-1:-1;;;;;19237:50:0;;:::i;20817:119::-;;;;;;;;;;;;;;;;-1:-1:-1;20817:119:0;-1:-1:-1;;;;;20817:119:0;;:::i;13667:140::-;;;:::i;20022:94::-;;;:::i;:::-;;;;-1:-1:-1;;;;;20022:94:0;;;;;;;;;;;;;;13025:79;;;:::i;20495:96::-;;;:::i;25059:184::-;;;;;;;;;;;;;;;;-1:-1:-1;25059:184:0;-1:-1:-1;;;;;25059:184:0;;:::i;24643:130::-;;;;;;;;;;;;;;;;-1:-1:-1;24643:130:0;;:::i;24042:383::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24042:383:0;;;;;;;;:::i;21148:199::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;21148:199:0;;;;;;;;:::i;21409:184::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;21409:184:0;;;;;;;;;;:::i;19294:39::-;;;:::i;25251:188::-;;;;;;;;;;;;;;;;-1:-1:-1;25251:188:0;-1:-1:-1;;;;;25251:188:0;;:::i;13962:109::-;;;;;;;;;;;;;;;;-1:-1:-1;13962:109:0;-1:-1:-1;;;;;13962:109:0;;:::i;20179:92::-;20258:5;20251:12;;;;;;;;-1:-1:-1;;20251:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20225:13;;20251:12;;20258:5;;20251:12;;20258:5;20251:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20179:92;:::o;21739:193::-;21841:4;21863:39;21872:12;:10;:12::i;:::-;21886:7;21895:6;21863:8;:39::i;:::-;-1:-1:-1;21920:4:0;21739:193;;;;:::o;20655:100::-;20735:12;;20655:100;:::o;22403:446::-;22535:4;22552:36;22562:6;22570:9;22581:6;22552:9;:36::i;:::-;22599:220;22622:6;22643:12;:10;:12::i;:::-;22670:138;22726:6;22670:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22670:19:0;;;;;;:11;:19;;;;;;22690:12;:10;:12::i;:::-;-1:-1:-1;;;;;22670:33:0;;;;;;;;;;;;-1:-1:-1;22670:33:0;;;:138;:37;:138::i;:::-;22599:8;:220::i;:::-;-1:-1:-1;22837:4:0;22403:446;;;;;:::o;20338:92::-;20413:9;;;;20338:92;:::o;23257:283::-;23355:4;23377:133;23400:12;:10;:12::i;:::-;23427:7;23449:50;23488:10;23449:11;:25;23461:12;:10;:12::i;:::-;-1:-1:-1;;;;;23449:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;23449:25:0;;;:34;;;;;;;;;;;:38;:50::i;29570:99::-;13247:12;:10;:12::i;:::-;13237:6;;-1:-1:-1;;;;;13237:6:0;;;:22;;;13229:67;;;;;-1:-1:-1;;;13229:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13229:67:0;;;;;;;;;;;;;;;29642:19:::1;29648:3;29653:7;29642:5;:19::i;:::-;29570:99:::0;;:::o;19237:50::-;;;;;;;;;;;;;;;:::o;20817:119::-;-1:-1:-1;;;;;20910:18:0;20883:7;20910:18;;;:9;:18;;;;;;;20817:119::o;13667:140::-;13247:12;:10;:12::i;:::-;13237:6;;-1:-1:-1;;;;;13237:6:0;;;:22;;;13229:67;;;;;-1:-1:-1;;;13229:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13229:67:0;;;;;;;;;;;;;;;13766:1:::1;13750:6:::0;;13729:40:::1;::::0;-1:-1:-1;;;;;13750:6:0;;::::1;::::0;13729:40:::1;::::0;13766:1;;13729:40:::1;13797:1;13780:19:::0;;-1:-1:-1;;;;;;13780:19:0::1;::::0;;13667:140::o;20022:94::-;20074:7;20101;:5;:7::i;:::-;20094:14;;20022:94;:::o;13025:79::-;13063:7;13090:6;-1:-1:-1;;;;;13090:6:0;13025:79;:::o;20495:96::-;20576:7;20569:14;;;;;;;;-1:-1:-1;;20569:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20543:13;;20569:14;;20576:7;;20569:14;;20576:7;20569:14;;;;;;;;;;;;;;;;;;;;;;;;25059:184;13247:12;:10;:12::i;:::-;13237:6;;-1:-1:-1;;;;;13237:6:0;;;:22;;;13229:67;;;;;-1:-1:-1;;;13229:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13229:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;25133:20:0;::::1;25125:66;;;;-1:-1:-1::0;;;25125:66:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;25202:26:0::1;;::::0;;;:18:::1;:26;::::0;;;;:33;;-1:-1:-1;;25202:33:0::1;25231:4;25202:33;::::0;;25059:184::o;24643:130::-;24699:4;13247:12;:10;:12::i;:::-;13237:6;;-1:-1:-1;;;;;13237:6:0;;;:22;;;13229:67;;;;;-1:-1:-1;;;13229:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13229:67:0;;;;;;;;;;;;;;;24716:27:::1;24722:12;:10;:12::i;:::-;24736:6;24716:5;:27::i;:::-;-1:-1:-1::0;24761:4:0::1;24643:130:::0;;;:::o;24042:383::-;24145:4;24167:228;24190:12;:10;:12::i;:::-;24217:7;24239:145;24296:15;24239:145;;;;;;;;;;;;;;;;;:11;:25;24251:12;:10;:12::i;:::-;-1:-1:-1;;;;;24239:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;24239:25:0;;;:34;;;;;;;;;;;:145;:38;:145::i;21148:199::-;21253:4;21275:42;21285:12;:10;:12::i;:::-;21299:9;21310:6;21275:9;:42::i;21409:184::-;-1:-1:-1;;;;;21558:18:0;;;21526:7;21558:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;21409:184::o;19294:39::-;;;;:::o;25251:188::-;13247:12;:10;:12::i;:::-;13237:6;;-1:-1:-1;;;;;13237:6:0;;;:22;;;13229:67;;;;;-1:-1:-1;;;13229:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13229:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;25328:20:0;::::1;25320:66;;;;-1:-1:-1::0;;;25320:66:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;25397:26:0::1;25426:5;25397:26:::0;;;:18:::1;:26;::::0;;;;:34;;-1:-1:-1;;25397:34:0::1;::::0;;25251:188::o;13962:109::-;13247:12;:10;:12::i;:::-;13237:6;;-1:-1:-1;;;;;13237:6:0;;;:22;;;13229:67;;;;;-1:-1:-1;;;13229:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13229:67:0;;;;;;;;;;;;;;;14035:28:::1;14054:8;14035:18;:28::i;:::-;13962:109:::0;:::o;12162:98::-;12242:10;12162:98;:::o;28361:512::-;-1:-1:-1;;;;;28489:19:0;;28481:68;;;;-1:-1:-1;;;28481:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;28568:21:0;;28560:68;;;;-1:-1:-1;;;28560:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28660:24;;28645:12;:39;28641:128;;;-1:-1:-1;;;;;28710:27:0;;;;;;:18;:27;;;;;;;;28709:28;28701:56;;;;;-1:-1:-1;;;28701:56:0;;;;;;;;;;;;-1:-1:-1;;;28701:56:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;28781:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;28833:32;;;;;;;;;;;;;;;;;28361:512;;;:::o;25929:686::-;-1:-1:-1;;;;;26061:20:0;;26053:70;;;;-1:-1:-1;;;26053:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26142:23:0;;26134:71;;;;-1:-1:-1;;;26134:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26237:24;;26222:12;:39;26218:132;;;-1:-1:-1;;;;;26287:29:0;;;;;;:18;:29;;;;;;;;26286:30;26278:60;;;;;-1:-1:-1;;;26278:60:0;;;;;;;;;;;;-1:-1:-1;;;26278:60:0;;;;;;;;;;;;;;;26382:108;26418:6;26382:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26382:17:0;;;;;;:9;:17;;;;;;;:108;:21;:108::i;:::-;-1:-1:-1;;;;;26362:17:0;;;;;;;:9;:17;;;;;;:128;;;;26524:20;;;;;;;:32;;26549:6;26524:24;:32::i;:::-;-1:-1:-1;;;;;26501:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;26572:35;;;;;;;26501:20;;26572:35;;;;;;;;;;;;;25929:686;;;:::o;7747:226::-;7867:7;7903:12;7895:6;;;;7887:29;;;;-1:-1:-1;;;7887:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7939:5:0;;;7747:226::o;6844:181::-;6902:7;6934:5;;;6958:6;;;;6950:46;;;;;-1:-1:-1;;;6950:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7016:1;6844:181;-1:-1:-1;;;6844:181:0:o;26896:308::-;-1:-1:-1;;;;;26972:21:0;;26964:65;;;;;-1:-1:-1;;;26964:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;27057:12;;:24;;27074:6;27057:16;:24::i;:::-;27042:12;:39;-1:-1:-1;;;;;27113:18:0;;;;;;:9;:18;;;;;;:30;;27136:6;27113:22;:30::i;:::-;-1:-1:-1;;;;;27092:18:0;;;;;;:9;:18;;;;;;;;:51;;;;27159:37;;;;;;;27092:18;;;;27159:37;;;;;;;;;;26896:308;;:::o;14177:266::-;-1:-1:-1;;;;;14265:22:0;;14243:110;;;;-1:-1:-1;;;14243:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14390:6;;;14369:38;;-1:-1:-1;;;;;14369:38:0;;;;14390:6;;;14369:38;;;14418:6;:17;;-1:-1:-1;;;;;;14418:17:0;-1:-1:-1;;;;;14418:17:0;;;;;;;;;;14177:266::o

Swarm Source

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