Contract 0xca1acab14e85f30996ac83c64ff93ded7586977c 3

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa20a008e3dea22e81167806114910a2b9f0baf50a3b6cbb7494a4b58f8c948b0Approve129985872021-11-27 14:11:561 min ago0x6060ea6a8fd5a0c2c6f57de344a6a519540a83fa IN  Antex: ANTEX Token0 BNB0.000314755
0xd0f0e1c4abffbac55a5258ee68650f0348503bec88426b3ca1a8d29a8c2c0dfdTransfer129985662021-11-27 14:10:433 mins ago0x236688366dc87506d74266d6a19c09b5808b27c6 IN  Antex: ANTEX Token0 BNB0.00012245
0xc617b7ff3f4382652dca9b1898871fca8e190742040f405b2665e3e749580e80Transfer129985592021-11-27 14:10:213 mins ago0x06fdeb4c8d20e75003fc23de59e2fb1f290f0995 IN  Antex: ANTEX Token0 BNB0.00019006
0x07a6b4e31717cb120d2bcb9342097df8435c4d2b5a4d34360943311bdc86a9b5Transfer129985502021-11-27 14:09:523 mins ago0xcc681882fd14cb6e1f63e8dec923eae851318fe8 IN  Antex: ANTEX Token0 BNB0.00023270688
0xc2bbe047eeb3da5fc0921679134e4f26b847bb8d92812936c87b74d7f1095457Transfer129985122021-11-27 14:07:336 mins ago0x4c029b233e27ea409d4349304f4623029f6e50a2 IN  Antex: ANTEX Token0 BNB0.000848378342
0x09095e1d53dbf69a60b56c0df61a8256369c47ed36cdcd1ce9c286593ae03213Approve129985012021-11-27 14:06:576 mins ago0x6e818a7946f1e823e3caf22c957885e2ad2bb68c IN  Antex: ANTEX Token0 BNB0.000224825
0xe79080eee66c6209a8ec4c81740d92b947e293551f8a8a8cf7e0e20d1c773d2cTransfer129984912021-11-27 14:06:257 mins ago0x29c7e97bafcb6f1bafb4dfddd63c8c0b409ec338 IN  Antex: ANTEX Token0 BNB0.000608571941
0x7b5f1acd1d31e927318b442fcb09fafcad6c0d8efeb8becd44482a9762d970fbTransfer129984892021-11-27 14:06:177 mins ago0x4982085c9e2f89f2ecb8131eca71afad896e89cb IN  Antex: ANTEX Token0 BNB0.00106
0xaf418ea259ec6a26798ee71f348a940b8503800b3b0d3a144aa94fc7b90d9623Approve129984552021-11-27 14:04:289 mins ago0x83d044e775cf0f9662a8002b328884fa409481d9 IN  Antex: ANTEX Token0 BNB0.00026979
0x0ffb5be98166bd42a13249fac0626740dfc7929ad3ac1d3028962b86ad31aaafTransfer129984432021-11-27 14:03:4710 mins ago0xbccdc7bbfdfa5fb771d6cb88ab47a02d2075a450 IN  Antex: ANTEX Token0 BNB0.000424096
0x6438d35a132c0e77cd78bfc3e00f130136792d90a4d411947ecbc2430c67ad82Transfer129984152021-11-27 14:02:0111 mins ago0xb4daa18894e72696bb955ab20d1aaf13363d4d7c IN  Antex: ANTEX Token0 BNB0.00011512
0x71beb9b275483133badf64ac3c630d92d413b5bfb53e1ffcc3531936304c8ec7Transfer129983612021-11-27 13:59:1214 mins ago0x88c89cb7024b8e705c8eaaa6f7fa80f41d7b9009 IN  Antex: ANTEX Token0 BNB0.00046048
0x568cc45b77ebcc053f929d2c5d65135279dd3378e8016037c4b17ddb4554ded6Approve129983542021-11-27 13:58:5114 mins ago0x013444545f4b5fc8268c35e47466aaef3d2c5b5a IN  Antex: ANTEX Token0 BNB0.000073955
0xd446927b13dca3c3476ba72d92c452306ac609f323f31c791802437674c144e4Transfer129983122021-11-27 13:56:3317 mins ago0xcf9939935ecaa509b74498ddec2107c25f560d4f IN  Antex: ANTEX Token0 BNB0.00019012
0x2f4ced6c0a5b3846e0c2d06eb223e351615e702c8ebc3f98cf05c199250d3fd9Transfer129982732021-11-27 13:54:2119 mins ago0x236688366dc87506d74266d6a19c09b5808b27c6 IN  Antex: ANTEX Token0 BNB0.00012245
0x5ca63957d89c048d9c2743f8e23b032910a10b3808a0c822f92abac3a25a463aTransfer129982372021-11-27 13:52:2021 mins ago0xbccdc7bbfdfa5fb771d6cb88ab47a02d2075a450 IN  Antex: ANTEX Token0 BNB0.000266084
0xc29cb264d1db655fd5bd9e8d577239747f4a13e31424c313617b10d0d441fb66Approve129982022021-11-27 13:50:2223 mins ago0x59192545db80b8b566c39f5371ba71d7b071e957 IN  Antex: ANTEX Token0 BNB0.000224825
0xcbf713bd61e5df3afe45b263b06b2f1e1719e2988aa9be68e4f26cf1db9f7700Transfer129981082021-11-27 13:45:1828 mins ago0xb64cc7ac87319e8dc08ee2853305245768ede6bd IN  Antex: ANTEX Token0 BNB0.00011512
0x6c3b50da2ebb8013762301494c47b9293253ea1422ad628daad5ee384caf8b34Transfer129981072021-11-27 13:45:1528 mins ago0x03bb3b5346e560ae06e928175fbfe2d4848525c9 IN  Antex: ANTEX Token0 BNB0.00011494
0xbb52e6ee8a96b7963316d8eee23752aec8c63a026111efdeac1d542ea3c52451Transfer129980752021-11-27 13:43:3930 mins ago0xbc1fdf46f0db0144138fcff0eccd6d376252cacf IN  Antex: ANTEX Token0 BNB0.00019012
0x05f3ca83a788d9201adb2e1fb4ac5e9616479438d1760bb8c681d5fe712ae5c0Transfer129979702021-11-27 13:38:1335 mins ago0x236688366dc87506d74266d6a19c09b5808b27c6 IN  Antex: ANTEX Token0 BNB0.00012245
0x92237f13746b8dbb3d533cb4b8938de9d046c50c824c8c65cbf81678388b7160Transfer129979542021-11-27 13:37:2436 mins ago0x6b73037e3463afa45d2d0b8064b151313e518868 IN  Antex: ANTEX Token0 BNB0.00026512
0xfa7bc8565d3e23cfeb86248d0b796d298750f3a4beb1b5b5db0da54982d32869Transfer129979542021-11-27 13:37:2436 mins ago0x6b73037e3463afa45d2d0b8064b151313e518868 IN  Antex: ANTEX Token0 BNB0.00026506
0x9fa83cbcad4df62e10872231377ba1eda6e7bc2df457c2face99dcd5dfbe4d44Transfer129979542021-11-27 13:37:2436 mins ago0x6b73037e3463afa45d2d0b8064b151313e518868 IN  Antex: ANTEX Token0 BNB0.000265
0x84fa7adaebe874100a6a5706274fd95efd4a3371f41b83d4481d023f1b9d3c5aTransfer129979542021-11-27 13:37:2436 mins ago0x6b73037e3463afa45d2d0b8064b151313e518868 IN  Antex: ANTEX Token0 BNB0.00026506
[ Download CSV Export 

OVERVIEW

Antex is a multi-Chain decentralized platform. The objective is to bring value to the DeFi space and strengthen the Start-Up projects and develop communities via Antex.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AntexToken

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-08-26
*/

//SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.6;

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

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler
 * now has built in overflow checking.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        if (b > a) return (false, 0);
        return (true, a - b);
    }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        // 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 (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
    unchecked {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }
    }

    /**
     * @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) {
        return a + b;
    }

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

    /**
     * @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) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting 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 a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
    unchecked {
        require(b <= a, errorMessage);
        return a - b;
    }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting 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) {
    unchecked {
        require(b > 0, errorMessage);
        return a / b;
    }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * 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) {
    unchecked {
        require(b > 0, errorMessage);
        return a % b;
    }
    }
}

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

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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract AntexToken is Context, IERC20, Ownable, ReentrancyGuard {
    using SafeMath for uint256;

    string public constant symbol = "ANTEX";
    string public constant name = "Antex";
    uint256 public constant decimals = 8;

    mapping(address => uint) public balances;
    mapping(address => mapping(address => uint)) public allowed;
    address public constant deadWallet = address(0x000000000000000000000000000000000000dEaD);
    mapping(address => bool) public isBlackListed;
    uint256 public _totalSupply = 100 * (10 ** 9) * (10 ** decimals);

    event SeizeBlackFunds(address indexed _blackListedUser, uint256 _balance);
    event AddedBlackList(address indexed _user);
    event RemovedBlackList(address indexed _user);
    event BurnSupply(address indexed _user, uint256 _amount);

    constructor() {
        balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address tokenOwner) public view override returns (uint256 balance) {
        return balances[tokenOwner];
    }

    function transfer(address to, uint256 tokens) external override returns (bool success) {
        require(!isBlackListed[msg.sender], "ADDRESS IS BLACKLISTED");
        require(to != address(0), "RECEIVE ADDRESS IS A ZERO ADDRESS");
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }

    function batchTransfer(address[] memory _receivers, uint256[] memory _amounts) external nonReentrant {
        require(!isBlackListed[msg.sender], "ADDRESS IS BLACKLISTED");
        uint256 cnt = _receivers.length;
        require(cnt > 0 && cnt <= 100);
        require(cnt == _amounts.length);
        cnt = (uint8)(cnt);
        uint256 totalAmount = 0;
        for (uint8 i = 0; i < cnt; i++) {
            require(_receivers[i] != address(0), "RECEIVE ADDRESS IS A ZERO ADDRESS");
            totalAmount = totalAmount.add(_amounts[i]);
        }
        require(totalAmount <= balances[msg.sender], "BALANCE IS NOT ENOUGH");
        balances[msg.sender] = balances[msg.sender].sub(totalAmount);
        for (uint256 i = 0; i < cnt; i++) {
            balances[_receivers[i]] = balances[_receivers[i]].add(_amounts[i]);
            emit Transfer(msg.sender, _receivers[i], _amounts[i]);
        }
    }

    function approve(address spender, uint256 tokens) external override returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }

    function transferFrom(address from, address to, uint256 tokens) external override returns (bool success) {
        require(!isBlackListed[from], "ADDRESS IS BLACKLISTED");
        require(to != address(0), "RECEIVE ADDRESS IS A ZERO ADDRESS");
        balances[from] = balances[from].sub(tokens);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(from, to, tokens);
        return true;
    }

    function allowance(address tokenOwner, address spender) external override view returns (uint256 remaining) {
        return allowed[tokenOwner][spender];
    }

    function transferAnyERC20Token(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        return IERC20(tokenAddress).transfer(owner(), tokens);
    }

    function burnDead(uint256 _value) external nonReentrant {
        require(balances[msg.sender] >= _value, "BALANCE IS NOT ENOUGH");
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[deadWallet] = balances[deadWallet].add(_value);
        emit Transfer(msg.sender, deadWallet, _value);
    }

    function burnSupply(uint256 _value) external nonReentrant {
        require(balances[msg.sender] >= _value, "BALANCE IS NOT ENOUGH");
        balances[msg.sender] = balances[msg.sender].sub(_value);
        _totalSupply -= _value;
        emit BurnSupply(msg.sender, _value);
    }

    /////// Getters to allow the same blacklist to be used also by other contracts ///////
    function getBlackListStatus(address _maker) external view returns (bool) {
        return isBlackListed[_maker];
    }

    function addBlackList(address _evilUser) external onlyOwner {
        isBlackListed[_evilUser] = true;
        emit AddedBlackList(_evilUser);
    }

    function removeBlackList(address _clearedUser) external onlyOwner {
        isBlackListed[_clearedUser] = false;
        emit RemovedBlackList(_clearedUser);
    }

    function seizeBlackFunds(address _blackListedUser) external onlyOwner {
        require(isBlackListed[_blackListedUser], "ADDRESS IS NOT BLACKLISTED");
        uint256 dirtyFunds = balanceOf(_blackListedUser);
        balances[_blackListedUser] = 0;
        balances[address(this)] = balances[address(this)].add(dirtyFunds);
        emit Transfer(_blackListedUser, address(this), dirtyFunds);
        emit SeizeBlackFunds(_blackListedUser, dirtyFunds);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"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":"_user","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BurnSupply","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":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_blackListedUser","type":"address"},{"indexed":false,"internalType":"uint256","name":"_balance","type":"uint256"}],"name":"SeizeBlackFunds","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":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_receivers","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"batchTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burnDead","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burnSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_blackListedUser","type":"address"}],"name":"seizeBlackFunds","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":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526008600a62000014919062000269565b64174876e800620000269190620003a6565b6005553480156200003657600080fd5b50620000576200004b6200011460201b60201c565b6200011c60201b60201c565b60018081905550600554600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620001069190620001f1565b60405180910390a36200044d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620001eb8162000407565b82525050565b6000602082019050620002086000830184620001e0565b92915050565b6000808291508390505b6001851115620002605780860481111562000238576200023762000411565b5b6001851615620002485780820291505b8081029050620002588562000440565b945062000218565b94509492505050565b6000620002768262000407565b9150620002838362000407565b9250620002b27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620002ba565b905092915050565b600082620002cc57600190506200039f565b81620002dc57600090506200039f565b8160018114620002f55760028114620003005762000336565b60019150506200039f565b60ff84111562000315576200031462000411565b5b8360020a9150848211156200032f576200032e62000411565b5b506200039f565b5060208310610133831016604e8410600b8410161715620003705782820a9050838111156200036a576200036962000411565b5b6200039f565b6200037f84848460016200020e565b9250905081840481111562000399576200039862000411565b5b81810290505b9392505050565b6000620003b38262000407565b9150620003c08362000407565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620003fc57620003fb62000411565b5b828202905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b612ace806200045d6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063715018a6116100de578063c77d4f7111610097578063dd62ed3e11610071578063dd62ed3e14610460578063e47d606014610490578063e4997dc5146104c0578063f2fde38b146104dc57610173565b8063c77d4f71146103f8578063d595c33114610414578063dc39d06d1461043057610173565b8063715018a61461034857806385141a771461035257806388d695b2146103705780638da5cb5b1461038c57806395d89b41146103aa578063a9059cbb146103c857610173565b8063313ce56711610130578063313ce567146102605780633eaaf86b1461027e57806353f52e9f1461029c57806359bf1abe146102b85780635c658165146102e857806370a082311461031857610173565b806306fdde0314610178578063095ea7b3146101965780630ecb93c0146101c657806318160ddd146101e257806323b872dd1461020057806327e235e314610230575b600080fd5b6101806104f8565b60405161018d91906124ca565b60405180910390f35b6101b060048036038101906101ab91906121fe565b610531565b6040516101bd91906124af565b60405180910390f35b6101e060048036038101906101db919061213e565b610623565b005b6101ea61073d565b6040516101f791906125cc565b60405180910390f35b61021a600480360381019061021591906121ab565b610747565b60405161022791906124af565b60405180910390f35b61024a6004803603810190610245919061213e565b610aef565b60405161025791906125cc565b60405180910390f35b610268610b07565b60405161027591906125cc565b60405180910390f35b610286610b0c565b60405161029391906125cc565b60405180910390f35b6102b660048036038101906102b1919061213e565b610b12565b005b6102d260048036038101906102cd919061213e565b610db8565b6040516102df91906124af565b60405180910390f35b61030260048036038101906102fd919061216b565b610e0e565b60405161030f91906125cc565b60405180910390f35b610332600480360381019061032d919061213e565b610e33565b60405161033f91906125cc565b60405180910390f35b610350610e7c565b005b61035a610f04565b604051610367919061246b565b60405180910390f35b61038a6004803603810190610385919061223e565b610f0a565b005b6103946113b9565b6040516103a1919061246b565b60405180910390f35b6103b26113e2565b6040516103bf91906124ca565b60405180910390f35b6103e260048036038101906103dd91906121fe565b61141b565b6040516103ef91906124af565b60405180910390f35b610412600480360381019061040d91906122e3565b6116b3565b005b61042e600480360381019061042991906122e3565b611922565b005b61044a600480360381019061044591906121fe565b611af8565b60405161045791906124af565b60405180910390f35b61047a6004803603810190610475919061216b565b611c12565b60405161048791906125cc565b60405180910390f35b6104aa60048036038101906104a5919061213e565b611c99565b6040516104b791906124af565b60405180910390f35b6104da60048036038101906104d5919061213e565b611cb9565b005b6104f660048036038101906104f1919061213e565b611dd3565b005b6040518060400160405280600581526020017f416e74657800000000000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161061191906125cc565b60405180910390a36001905092915050565b61062b611ecb565b73ffffffffffffffffffffffffffffffffffffffff166106496113b9565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106969061256c565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc60405160405180910390a250565b6000600554905090565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd9061252c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d9061254c565b60405180910390fd5b61089882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061096a82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed390919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a3c82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ee990919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610adc91906125cc565b60405180910390a3600190509392505050565b60026020528060005260406000206000915090505481565b600881565b60055481565b610b1a611ecb565b73ffffffffffffffffffffffffffffffffffffffff16610b386113b9565b73ffffffffffffffffffffffffffffffffffffffff1614610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b859061256c565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c11906124ec565b60405180910390fd5b6000610c2582610e33565b90506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cbe81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ee990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d5e91906125cc565b60405180910390a38173ffffffffffffffffffffffffffffffffffffffff167fdfe86ca8e9fe82a2329188a315223d7ec14a12bd009afde276022a4a01154b0982604051610dac91906125cc565b60405180910390a25050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6003602052816000526040600020602052806000526040600020600091509150505481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e84611ecb565b73ffffffffffffffffffffffffffffffffffffffff16610ea26113b9565b73ffffffffffffffffffffffffffffffffffffffff1614610ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eef9061256c565b60405180910390fd5b610f026000611eff565b565b61dead81565b60026001541415610f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f47906125ac565b60405180910390fd5b6002600181905550600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fe5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdc9061252c565b60405180910390fd5b600082519050600081118015610ffc575060648111155b61100557600080fd5b8151811461101257600080fd5b8060ff1690506000805b828160ff1610156110f957600073ffffffffffffffffffffffffffffffffffffffff16858260ff168151811061105557611054612865565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156110b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ab9061254c565b60405180910390fd5b6110e4848260ff16815181106110cd576110cc612865565b5b602002602001015183611ee990919063ffffffff16565b915080806110f19061280c565b91505061101c565b50600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561117c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111739061258c565b60405180910390fd5b6111ce81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b828110156113ab576112a284828151811061123257611231612865565b5b60200260200101516002600088858151811061125157611250612865565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ee990919063ffffffff16565b600260008784815181106112b9576112b8612865565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084818151811061131257611311612865565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86848151811061137b5761137a612865565b5b602002602001015160405161139091906125cc565b60405180910390a380806113a3906127c3565b915050611214565b505050600180819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600581526020017f414e54455800000000000000000000000000000000000000000000000000000081525081565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a19061252c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561151a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115119061254c565b60405180910390fd5b61156c82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061160182600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ee990919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116a191906125cc565b60405180910390a36001905092915050565b600260015414156116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f0906125ac565b60405180910390fd5b600260018190555080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177a9061258c565b60405180910390fd5b6117d581600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061186c816002600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ee990919063ffffffff16565b6002600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061dead73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161191091906125cc565b60405180910390a36001808190555050565b60026001541415611968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195f906125ac565b60405180910390fd5b600260018190555080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156119f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e99061258c565b60405180910390fd5b611a4481600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060056000828254611a9991906126d6565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167ff034c8ef36a776c16481660ebabfc5fefb012d0216bdca1e319e505139ddd8c282604051611ae691906125cc565b60405180910390a26001808190555050565b6000611b02611ecb565b73ffffffffffffffffffffffffffffffffffffffff16611b206113b9565b73ffffffffffffffffffffffffffffffffffffffff1614611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d9061256c565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb611b9a6113b9565b846040518363ffffffff1660e01b8152600401611bb8929190612486565b602060405180830381600087803b158015611bd257600080fd5b505af1158015611be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0a91906122b6565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60046020528060005260406000206000915054906101000a900460ff1681565b611cc1611ecb565b73ffffffffffffffffffffffffffffffffffffffff16611cdf6113b9565b73ffffffffffffffffffffffffffffffffffffffff1614611d35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2c9061256c565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c60405160405180910390a250565b611ddb611ecb565b73ffffffffffffffffffffffffffffffffffffffff16611df96113b9565b73ffffffffffffffffffffffffffffffffffffffff1614611e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e469061256c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb69061250c565b60405180910390fd5b611ec881611eff565b50565b600033905090565b60008183611ee191906126d6565b905092915050565b60008183611ef79190612680565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611fd6611fd18461260c565b6125e7565b90508083825260208201905082856020860282011115611ff957611ff86128c8565b5b60005b85811015612029578161200f88826120a3565b845260208401935060208301925050600181019050611ffc565b5050509392505050565b600061204661204184612638565b6125e7565b90508083825260208201905082856020860282011115612069576120686128c8565b5b60005b85811015612099578161207f8882612129565b84526020840193506020830192505060018101905061206c565b5050509392505050565b6000813590506120b281612a53565b92915050565b600082601f8301126120cd576120cc6128c3565b5b81356120dd848260208601611fc3565b91505092915050565b600082601f8301126120fb576120fa6128c3565b5b813561210b848260208601612033565b91505092915050565b60008151905061212381612a6a565b92915050565b60008135905061213881612a81565b92915050565b600060208284031215612154576121536128d2565b5b6000612162848285016120a3565b91505092915050565b60008060408385031215612182576121816128d2565b5b6000612190858286016120a3565b92505060206121a1858286016120a3565b9150509250929050565b6000806000606084860312156121c4576121c36128d2565b5b60006121d2868287016120a3565b93505060206121e3868287016120a3565b92505060406121f486828701612129565b9150509250925092565b60008060408385031215612215576122146128d2565b5b6000612223858286016120a3565b925050602061223485828601612129565b9150509250929050565b60008060408385031215612255576122546128d2565b5b600083013567ffffffffffffffff811115612273576122726128cd565b5b61227f858286016120b8565b925050602083013567ffffffffffffffff8111156122a05761229f6128cd565b5b6122ac858286016120e6565b9150509250929050565b6000602082840312156122cc576122cb6128d2565b5b60006122da84828501612114565b91505092915050565b6000602082840312156122f9576122f86128d2565b5b600061230784828501612129565b91505092915050565b6123198161270a565b82525050565b6123288161271c565b82525050565b600061233982612664565b612343818561266f565b935061235381856020860161275f565b61235c816128d7565b840191505092915050565b6000612374601a8361266f565b915061237f826128e8565b602082019050919050565b600061239760268361266f565b91506123a282612911565b604082019050919050565b60006123ba60168361266f565b91506123c582612960565b602082019050919050565b60006123dd60218361266f565b91506123e882612989565b604082019050919050565b600061240060208361266f565b915061240b826129d8565b602082019050919050565b600061242360158361266f565b915061242e82612a01565b602082019050919050565b6000612446601f8361266f565b915061245182612a2a565b602082019050919050565b61246581612748565b82525050565b60006020820190506124806000830184612310565b92915050565b600060408201905061249b6000830185612310565b6124a8602083018461245c565b9392505050565b60006020820190506124c4600083018461231f565b92915050565b600060208201905081810360008301526124e4818461232e565b905092915050565b6000602082019050818103600083015261250581612367565b9050919050565b600060208201905081810360008301526125258161238a565b9050919050565b60006020820190508181036000830152612545816123ad565b9050919050565b60006020820190508181036000830152612565816123d0565b9050919050565b60006020820190508181036000830152612585816123f3565b9050919050565b600060208201905081810360008301526125a581612416565b9050919050565b600060208201905081810360008301526125c581612439565b9050919050565b60006020820190506125e1600083018461245c565b92915050565b60006125f1612602565b90506125fd8282612792565b919050565b6000604051905090565b600067ffffffffffffffff82111561262757612626612894565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561265357612652612894565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061268b82612748565b915061269683612748565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126cb576126ca612836565b5b828201905092915050565b60006126e182612748565b91506126ec83612748565b9250828210156126ff576126fe612836565b5b828203905092915050565b600061271582612728565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561277d578082015181840152602081019050612762565b8381111561278c576000848401525b50505050565b61279b826128d7565b810181811067ffffffffffffffff821117156127ba576127b9612894565b5b80604052505050565b60006127ce82612748565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561280157612800612836565b5b600182019050919050565b600061281782612752565b915060ff82141561282b5761282a612836565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f41444452455353204953204e4f5420424c41434b4c4953544544000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4144445245535320495320424c41434b4c495354454400000000000000000000600082015250565b7f5245434549564520414444524553532049532041205a45524f2041444452455360008201527f5300000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f42414c414e4345204953204e4f5420454e4f5547480000000000000000000000600082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b612a5c8161270a565b8114612a6757600080fd5b50565b612a738161271c565b8114612a7e57600080fd5b50565b612a8a81612748565b8114612a9557600080fd5b5056fea2646970667358221220f9a5f826bf3bd9a1ef7b5d5f0ee93704c595d88bfa46beee69fb16f04bcf997764736f6c63430008060033

Deployed ByteCode Sourcemap

15070:5318:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15223:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17644:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19587:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16028:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17874:496;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15312:40;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15267:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15572:64;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19920:465;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19459:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15359:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16138:132;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14437:96;;;:::i;:::-;;15425:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16712:924;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13786:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15177:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16278:426;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18738:327;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19073:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18547:183;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18378:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15520:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19746:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14688:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15223:37;;;;;;;;;;;;;;;;;;;:::o;17644:222::-;17721:12;17777:6;17746:7;:19;17754:10;17746:19;;;;;;;;;;;;;;;:28;17766:7;17746:28;;;;;;;;;;;;;;;:37;;;;17820:7;17799:37;;17808:10;17799:37;;;17829:6;17799:37;;;;;;:::i;:::-;;;;;;;;17854:4;17847:11;;17644:222;;;;:::o;19587:151::-;14017:12;:10;:12::i;:::-;14006:23;;:7;:5;:7::i;:::-;:23;;;13998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19685:4:::1;19658:13;:24;19672:9;19658:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;19720:9;19705:25;;;;;;;;;;;;19587:151:::0;:::o;16028:102::-;16083:7;16110:12;;16103:19;;16028:102;:::o;17874:496::-;17965:12;17999:13;:19;18013:4;17999:19;;;;;;;;;;;;;;;;;;;;;;;;;17998:20;17990:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;18078:1;18064:16;;:2;:16;;;;18056:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;18146:26;18165:6;18146:8;:14;18155:4;18146:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;18129:8;:14;18138:4;18129:14;;;;;;;;;;;;;;;:43;;;;18211:37;18241:6;18211:7;:13;18219:4;18211:13;;;;;;;;;;;;;;;:25;18225:10;18211:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;18183:7;:13;18191:4;18183:13;;;;;;;;;;;;;;;:25;18197:10;18183:25;;;;;;;;;;;;;;;:65;;;;18274:24;18291:6;18274:8;:12;18283:2;18274:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;18259:8;:12;18268:2;18259:12;;;;;;;;;;;;;;;:39;;;;18329:2;18314:26;;18323:4;18314:26;;;18333:6;18314:26;;;;;;:::i;:::-;;;;;;;;18358:4;18351:11;;17874:496;;;;;:::o;15312:40::-;;;;;;;;;;;;;;;;;:::o;15267:36::-;15302:1;15267:36;:::o;15572:64::-;;;;:::o;19920:465::-;14017:12;:10;:12::i;:::-;14006:23;;:7;:5;:7::i;:::-;:23;;;13998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20009:13:::1;:31;20023:16;20009:31;;;;;;;;;;;;;;;;;;;;;;;;;20001:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;20082:18;20103:27;20113:16;20103:9;:27::i;:::-;20082:48;;20170:1;20141:8;:26;20150:16;20141:26;;;;;;;;;;;;;;;:30;;;;20208:39;20236:10;20208:8;:23;20225:4;20208:23;;;;;;;;;;;;;;;;:27;;:39;;;;:::i;:::-;20182:8;:23;20199:4;20182:23;;;;;;;;;;;;;;;:65;;;;20298:4;20263:53;;20272:16;20263:53;;;20305:10;20263:53;;;;;;:::i;:::-;;;;;;;;20348:16;20332:45;;;20366:10;20332:45;;;;;;:::i;:::-;;;;;;;;19990:395;19920:465:::0;:::o;19459:120::-;19526:4;19550:13;:21;19564:6;19550:21;;;;;;;;;;;;;;;;;;;;;;;;;19543:28;;19459:120;;;:::o;15359:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16138:132::-;16207:15;16242:8;:20;16251:10;16242:20;;;;;;;;;;;;;;;;16235:27;;16138:132;;;:::o;14437:96::-;14017:12;:10;:12::i;:::-;14006:23;;:7;:5;:7::i;:::-;:23;;;13998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14504:21:::1;14522:1;14504:9;:21::i;:::-;14437:96::o:0;15425:88::-;15470:42;15425:88;:::o;16712:924::-;4463:1;5059:7;;:19;;5051:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4463:1;5192:7;:18;;;;16833:13:::1;:25;16847:10;16833:25;;;;;;;;;;;;;;;;;;;;;;;;;16832:26;16824:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;16896:11;16910:10;:17;16896:31;;16952:1;16946:3;:7;:21;;;;;16964:3;16957;:10;;16946:21;16938:30;;;::::0;::::1;;16994:8;:15;16987:3;:22;16979:31;;;::::0;::::1;;17035:3;17021:18;;;;17050:19;17089:7:::0;17084:189:::1;17106:3;17102:1;:7;;;17084:189;;;17164:1;17139:27;;:10;17150:1;17139:13;;;;;;;;;;:::i;:::-;;;;;;;;:27;;;;17131:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;17233:28;17249:8;17258:1;17249:11;;;;;;;;;;:::i;:::-;;;;;;;;17233;:15;;:28;;;;:::i;:::-;17219:42;;17111:3;;;;;:::i;:::-;;;;17084:189;;;;17306:8;:20;17315:10;17306:20;;;;;;;;;;;;;;;;17291:11;:35;;17283:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;17386:37;17411:11;17386:8;:20;17395:10;17386:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;17363:8;:20;17372:10;17363:20;;;;;;;;;;;;;;;:60;;;;17439:9;17434:195;17458:3;17454:1;:7;17434:195;;;17509:40;17537:8;17546:1;17537:11;;;;;;;;:::i;:::-;;;;;;;;17509:8;:23;17518:10;17529:1;17518:13;;;;;;;;:::i;:::-;;;;;;;;17509:23;;;;;;;;;;;;;;;;:27;;:40;;;;:::i;:::-;17483:8;:23;17492:10;17503:1;17492:13;;;;;;;;:::i;:::-;;;;;;;;17483:23;;;;;;;;;;;;;;;:66;;;;17590:10;17601:1;17590:13;;;;;;;;:::i;:::-;;;;;;;;17569:48;;17578:10;17569:48;;;17605:8;17614:1;17605:11;;;;;;;;:::i;:::-;;;;;;;;17569:48;;;;;;:::i;:::-;;;;;;;;17463:3;;;;;:::i;:::-;;;;17434:195;;;;16813:823;;4419:1:::0;5371:7;:22;;;;16712:924;;:::o;13786:87::-;13832:7;13859:6;;;;;;;;;;;13852:13;;13786:87;:::o;15177:39::-;;;;;;;;;;;;;;;;;;;:::o;16278:426::-;16351:12;16385:13;:25;16399:10;16385:25;;;;;;;;;;;;;;;;;;;;;;;;;16384:26;16376:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;16470:1;16456:16;;:2;:16;;;;16448:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;16544:32;16569:6;16544:8;:20;16553:10;16544:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;16521:8;:20;16530:10;16521:20;;;;;;;;;;;;;;;:55;;;;16602:24;16619:6;16602:8;:12;16611:2;16602:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;16587:8;:12;16596:2;16587:12;;;;;;;;;;;;;;;:39;;;;16663:2;16642:32;;16651:10;16642:32;;;16667:6;16642:32;;;;;;:::i;:::-;;;;;;;;16692:4;16685:11;;16278:426;;;;:::o;18738:327::-;4463:1;5059:7;;:19;;5051:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4463:1;5192:7;:18;;;;18837:6:::1;18813:8;:20;18822:10;18813:20;;;;;;;;;;;;;;;;:30;;18805:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;18903:32;18928:6;18903:8;:20;18912:10;18903:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;18880:8;:20;18889:10;18880:20;;;;;;;;;;;;;;;:55;;;;18969:32;18994:6;18969:8;:20;15470:42;18969:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;18946:8;:20;15470:42;18946:20;;;;;;;;;;;;;;;:55;;;;15470:42;19017:40;;19026:10;19017:40;;;19050:6;19017:40;;;;;;:::i;:::-;;;;;;;;4419:1:::0;5371:7;:22;;;;18738:327;:::o;19073:286::-;4463:1;5059:7;;:19;;5051:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4463:1;5192:7;:18;;;;19174:6:::1;19150:8;:20;19159:10;19150:20;;;;;;;;;;;;;;;;:30;;19142:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19240:32;19265:6;19240:8;:20;19249:10;19240:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;19217:8;:20;19226:10;19217:20;;;;;;;;;;;;;;;:55;;;;19299:6;19283:12;;:22;;;;;;;:::i;:::-;;;;;;;;19332:10;19321:30;;;19344:6;19321:30;;;;;;:::i;:::-;;;;;;;;4419:1:::0;5371:7;:22;;;;19073:286;:::o;18547:183::-;18644:12;14017;:10;:12::i;:::-;14006:23;;:7;:5;:7::i;:::-;:23;;;13998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18683:12:::1;18676:29;;;18706:7;:5;:7::i;:::-;18715:6;18676:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18669:53;;18547:183:::0;;;;:::o;18378:161::-;18466:17;18503:7;:19;18511:10;18503:19;;;;;;;;;;;;;;;:28;18523:7;18503:28;;;;;;;;;;;;;;;;18496:35;;18378:161;;;;:::o;15520:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;19746:166::-;14017:12;:10;:12::i;:::-;14006:23;;:7;:5;:7::i;:::-;:23;;;13998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19853:5:::1;19823:13;:27;19837:12;19823:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;19891:12;19874:30;;;;;;;;;;;;19746:166:::0;:::o;14688:194::-;14017:12;:10;:12::i;:::-;14006:23;;:7;:5;:7::i;:::-;:23;;;13998:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14799:1:::1;14779:22;;:8;:22;;;;14771:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;14855:19;14865:8;14855:9;:19::i;:::-;14688:194:::0;:::o;12662:98::-;12715:7;12742:10;12735:17;;12662:98;:::o;8386:::-;8444:7;8475:1;8471;:5;;;;:::i;:::-;8464:12;;8386:98;;;;:::o;8005:::-;8063:7;8094:1;8090;:5;;;;:::i;:::-;8083:12;;8005:98;;;;:::o;14890:173::-;14946:16;14965:6;;;;;;;;;;;14946:25;;14991:8;14982:6;;:17;;;;;;;;;;;;;;;;;;15046:8;15015:40;;15036:8;15015:40;;;;;;;;;;;;14935:128;14890:173;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;404:79;;:::i;:::-;350:2;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;;;;;;:::o;769:722::-;865:5;890:81;906:64;963:6;906:64;:::i;:::-;890:81;:::i;:::-;881:90;;991:5;1020:6;1013:5;1006:21;1054:4;1047:5;1043:16;1036:23;;1080:6;1130:3;1122:4;1114:6;1110:17;1105:3;1101:27;1098:36;1095:2;;;1149:79;;:::i;:::-;1095:2;1262:1;1247:238;1272:6;1269:1;1266:13;1247:238;;;1340:3;1369:37;1402:3;1390:10;1369:37;:::i;:::-;1364:3;1357:50;1436:4;1431:3;1427:14;1420:21;;1470:4;1465:3;1461:14;1454:21;;1307:178;1294:1;1291;1287:9;1282:14;;1247:238;;;1251:14;871:620;;;;;;;:::o;1497:139::-;1543:5;1581:6;1568:20;1559:29;;1597:33;1624:5;1597:33;:::i;:::-;1549:87;;;;:::o;1659:370::-;1730:5;1779:3;1772:4;1764:6;1760:17;1756:27;1746:2;;1787:79;;:::i;:::-;1746:2;1904:6;1891:20;1929:94;2019:3;2011:6;2004:4;1996:6;1992:17;1929:94;:::i;:::-;1920:103;;1736:293;;;;;:::o;2052:370::-;2123:5;2172:3;2165:4;2157:6;2153:17;2149:27;2139:2;;2180:79;;:::i;:::-;2139:2;2297:6;2284:20;2322:94;2412:3;2404:6;2397:4;2389:6;2385:17;2322:94;:::i;:::-;2313:103;;2129:293;;;;;:::o;2428:137::-;2482:5;2513:6;2507:13;2498:22;;2529:30;2553:5;2529:30;:::i;:::-;2488:77;;;;:::o;2571:139::-;2617:5;2655:6;2642:20;2633:29;;2671:33;2698:5;2671:33;:::i;:::-;2623:87;;;;:::o;2716:329::-;2775:6;2824:2;2812:9;2803:7;2799:23;2795:32;2792:2;;;2830:79;;:::i;:::-;2792:2;2950:1;2975:53;3020:7;3011:6;3000:9;2996:22;2975:53;:::i;:::-;2965:63;;2921:117;2782:263;;;;:::o;3051:474::-;3119:6;3127;3176:2;3164:9;3155:7;3151:23;3147:32;3144:2;;;3182:79;;:::i;:::-;3144:2;3302:1;3327:53;3372:7;3363:6;3352:9;3348:22;3327:53;:::i;:::-;3317:63;;3273:117;3429:2;3455:53;3500:7;3491:6;3480:9;3476:22;3455:53;:::i;:::-;3445:63;;3400:118;3134:391;;;;;:::o;3531:619::-;3608:6;3616;3624;3673:2;3661:9;3652:7;3648:23;3644:32;3641:2;;;3679:79;;:::i;:::-;3641:2;3799:1;3824:53;3869:7;3860:6;3849:9;3845:22;3824:53;:::i;:::-;3814:63;;3770:117;3926:2;3952:53;3997:7;3988:6;3977:9;3973:22;3952:53;:::i;:::-;3942:63;;3897:118;4054:2;4080:53;4125:7;4116:6;4105:9;4101:22;4080:53;:::i;:::-;4070:63;;4025:118;3631:519;;;;;:::o;4156:474::-;4224:6;4232;4281:2;4269:9;4260:7;4256:23;4252:32;4249:2;;;4287:79;;:::i;:::-;4249:2;4407:1;4432:53;4477:7;4468:6;4457:9;4453:22;4432:53;:::i;:::-;4422:63;;4378:117;4534:2;4560:53;4605:7;4596:6;4585:9;4581:22;4560:53;:::i;:::-;4550:63;;4505:118;4239:391;;;;;:::o;4636:894::-;4754:6;4762;4811:2;4799:9;4790:7;4786:23;4782:32;4779:2;;;4817:79;;:::i;:::-;4779:2;4965:1;4954:9;4950:17;4937:31;4995:18;4987:6;4984:30;4981:2;;;5017:79;;:::i;:::-;4981:2;5122:78;5192:7;5183:6;5172:9;5168:22;5122:78;:::i;:::-;5112:88;;4908:302;5277:2;5266:9;5262:18;5249:32;5308:18;5300:6;5297:30;5294:2;;;5330:79;;:::i;:::-;5294:2;5435:78;5505:7;5496:6;5485:9;5481:22;5435:78;:::i;:::-;5425:88;;5220:303;4769:761;;;;;:::o;5536:345::-;5603:6;5652:2;5640:9;5631:7;5627:23;5623:32;5620:2;;;5658:79;;:::i;:::-;5620:2;5778:1;5803:61;5856:7;5847:6;5836:9;5832:22;5803:61;:::i;:::-;5793:71;;5749:125;5610:271;;;;:::o;5887:329::-;5946:6;5995:2;5983:9;5974:7;5970:23;5966:32;5963:2;;;6001:79;;:::i;:::-;5963:2;6121:1;6146:53;6191:7;6182:6;6171:9;6167:22;6146:53;:::i;:::-;6136:63;;6092:117;5953:263;;;;:::o;6222:118::-;6309:24;6327:5;6309:24;:::i;:::-;6304:3;6297:37;6287:53;;:::o;6346:109::-;6427:21;6442:5;6427:21;:::i;:::-;6422:3;6415:34;6405:50;;:::o;6461:364::-;6549:3;6577:39;6610:5;6577:39;:::i;:::-;6632:71;6696:6;6691:3;6632:71;:::i;:::-;6625:78;;6712:52;6757:6;6752:3;6745:4;6738:5;6734:16;6712:52;:::i;:::-;6789:29;6811:6;6789:29;:::i;:::-;6784:3;6780:39;6773:46;;6553:272;;;;;:::o;6831:366::-;6973:3;6994:67;7058:2;7053:3;6994:67;:::i;:::-;6987:74;;7070:93;7159:3;7070:93;:::i;:::-;7188:2;7183:3;7179:12;7172:19;;6977:220;;;:::o;7203:366::-;7345:3;7366:67;7430:2;7425:3;7366:67;:::i;:::-;7359:74;;7442:93;7531:3;7442:93;:::i;:::-;7560:2;7555:3;7551:12;7544:19;;7349:220;;;:::o;7575:366::-;7717:3;7738:67;7802:2;7797:3;7738:67;:::i;:::-;7731:74;;7814:93;7903:3;7814:93;:::i;:::-;7932:2;7927:3;7923:12;7916:19;;7721:220;;;:::o;7947:366::-;8089:3;8110:67;8174:2;8169:3;8110:67;:::i;:::-;8103:74;;8186:93;8275:3;8186:93;:::i;:::-;8304:2;8299:3;8295:12;8288:19;;8093:220;;;:::o;8319:366::-;8461:3;8482:67;8546:2;8541:3;8482:67;:::i;:::-;8475:74;;8558:93;8647:3;8558:93;:::i;:::-;8676:2;8671:3;8667:12;8660:19;;8465:220;;;:::o;8691:366::-;8833:3;8854:67;8918:2;8913:3;8854:67;:::i;:::-;8847:74;;8930:93;9019:3;8930:93;:::i;:::-;9048:2;9043:3;9039:12;9032:19;;8837:220;;;:::o;9063:366::-;9205:3;9226:67;9290:2;9285:3;9226:67;:::i;:::-;9219:74;;9302:93;9391:3;9302:93;:::i;:::-;9420:2;9415:3;9411:12;9404:19;;9209:220;;;:::o;9435:118::-;9522:24;9540:5;9522:24;:::i;:::-;9517:3;9510:37;9500:53;;:::o;9559:222::-;9652:4;9690:2;9679:9;9675:18;9667:26;;9703:71;9771:1;9760:9;9756:17;9747:6;9703:71;:::i;:::-;9657:124;;;;:::o;9787:332::-;9908:4;9946:2;9935:9;9931:18;9923:26;;9959:71;10027:1;10016:9;10012:17;10003:6;9959:71;:::i;:::-;10040:72;10108:2;10097:9;10093:18;10084:6;10040:72;:::i;:::-;9913:206;;;;;:::o;10125:210::-;10212:4;10250:2;10239:9;10235:18;10227:26;;10263:65;10325:1;10314:9;10310:17;10301:6;10263:65;:::i;:::-;10217:118;;;;:::o;10341:313::-;10454:4;10492:2;10481:9;10477:18;10469:26;;10541:9;10535:4;10531:20;10527:1;10516:9;10512:17;10505:47;10569:78;10642:4;10633:6;10569:78;:::i;:::-;10561:86;;10459:195;;;;:::o;10660:419::-;10826:4;10864:2;10853:9;10849:18;10841:26;;10913:9;10907:4;10903:20;10899:1;10888:9;10884:17;10877:47;10941:131;11067:4;10941:131;:::i;:::-;10933:139;;10831:248;;;:::o;11085:419::-;11251:4;11289:2;11278:9;11274:18;11266:26;;11338:9;11332:4;11328:20;11324:1;11313:9;11309:17;11302:47;11366:131;11492:4;11366:131;:::i;:::-;11358:139;;11256:248;;;:::o;11510:419::-;11676:4;11714:2;11703:9;11699:18;11691:26;;11763:9;11757:4;11753:20;11749:1;11738:9;11734:17;11727:47;11791:131;11917:4;11791:131;:::i;:::-;11783:139;;11681:248;;;:::o;11935:419::-;12101:4;12139:2;12128:9;12124:18;12116:26;;12188:9;12182:4;12178:20;12174:1;12163:9;12159:17;12152:47;12216:131;12342:4;12216:131;:::i;:::-;12208:139;;12106:248;;;:::o;12360:419::-;12526:4;12564:2;12553:9;12549:18;12541:26;;12613:9;12607:4;12603:20;12599:1;12588:9;12584:17;12577:47;12641:131;12767:4;12641:131;:::i;:::-;12633:139;;12531:248;;;:::o;12785:419::-;12951:4;12989:2;12978:9;12974:18;12966:26;;13038:9;13032:4;13028:20;13024:1;13013:9;13009:17;13002:47;13066:131;13192:4;13066:131;:::i;:::-;13058:139;;12956:248;;;:::o;13210:419::-;13376:4;13414:2;13403:9;13399:18;13391:26;;13463:9;13457:4;13453:20;13449:1;13438:9;13434:17;13427:47;13491:131;13617:4;13491:131;:::i;:::-;13483:139;;13381:248;;;:::o;13635:222::-;13728:4;13766:2;13755:9;13751:18;13743:26;;13779:71;13847:1;13836:9;13832:17;13823:6;13779:71;:::i;:::-;13733:124;;;;:::o;13863:129::-;13897:6;13924:20;;:::i;:::-;13914:30;;13953:33;13981:4;13973:6;13953:33;:::i;:::-;13904:88;;;:::o;13998:75::-;14031:6;14064:2;14058:9;14048:19;;14038:35;:::o;14079:311::-;14156:4;14246:18;14238:6;14235:30;14232:2;;;14268:18;;:::i;:::-;14232:2;14318:4;14310:6;14306:17;14298:25;;14378:4;14372;14368:15;14360:23;;14161:229;;;:::o;14396:311::-;14473:4;14563:18;14555:6;14552:30;14549:2;;;14585:18;;:::i;:::-;14549:2;14635:4;14627:6;14623:17;14615:25;;14695:4;14689;14685:15;14677:23;;14478:229;;;:::o;14713:99::-;14765:6;14799:5;14793:12;14783:22;;14772:40;;;:::o;14818:169::-;14902:11;14936:6;14931:3;14924:19;14976:4;14971:3;14967:14;14952:29;;14914:73;;;;:::o;14993:305::-;15033:3;15052:20;15070:1;15052:20;:::i;:::-;15047:25;;15086:20;15104:1;15086:20;:::i;:::-;15081:25;;15240:1;15172:66;15168:74;15165:1;15162:81;15159:2;;;15246:18;;:::i;:::-;15159:2;15290:1;15287;15283:9;15276:16;;15037:261;;;;:::o;15304:191::-;15344:4;15364:20;15382:1;15364:20;:::i;:::-;15359:25;;15398:20;15416:1;15398:20;:::i;:::-;15393:25;;15437:1;15434;15431:8;15428:2;;;15442:18;;:::i;:::-;15428:2;15487:1;15484;15480:9;15472:17;;15349:146;;;;:::o;15501:96::-;15538:7;15567:24;15585:5;15567:24;:::i;:::-;15556:35;;15546:51;;;:::o;15603:90::-;15637:7;15680:5;15673:13;15666:21;15655:32;;15645:48;;;:::o;15699:126::-;15736:7;15776:42;15769:5;15765:54;15754:65;;15744:81;;;:::o;15831:77::-;15868:7;15897:5;15886:16;;15876:32;;;:::o;15914:86::-;15949:7;15989:4;15982:5;15978:16;15967:27;;15957:43;;;:::o;16006:307::-;16074:1;16084:113;16098:6;16095:1;16092:13;16084:113;;;16183:1;16178:3;16174:11;16168:18;16164:1;16159:3;16155:11;16148:39;16120:2;16117:1;16113:10;16108:15;;16084:113;;;16215:6;16212:1;16209:13;16206:2;;;16295:1;16286:6;16281:3;16277:16;16270:27;16206:2;16055:258;;;;:::o;16319:281::-;16402:27;16424:4;16402:27;:::i;:::-;16394:6;16390:40;16532:6;16520:10;16517:22;16496:18;16484:10;16481:34;16478:62;16475:2;;;16543:18;;:::i;:::-;16475:2;16583:10;16579:2;16572:22;16362:238;;;:::o;16606:233::-;16645:3;16668:24;16686:5;16668:24;:::i;:::-;16659:33;;16714:66;16707:5;16704:77;16701:2;;;16784:18;;:::i;:::-;16701:2;16831:1;16824:5;16820:13;16813:20;;16649:190;;;:::o;16845:167::-;16882:3;16905:22;16921:5;16905:22;:::i;:::-;16896:31;;16949:4;16942:5;16939:15;16936:2;;;16957:18;;:::i;:::-;16936:2;17004:1;16997:5;16993:13;16986:20;;16886:126;;;:::o;17018:180::-;17066:77;17063:1;17056:88;17163:4;17160:1;17153:15;17187:4;17184:1;17177:15;17204:180;17252:77;17249:1;17242:88;17349:4;17346:1;17339:15;17373:4;17370:1;17363:15;17390:180;17438:77;17435:1;17428:88;17535:4;17532:1;17525:15;17559:4;17556:1;17549:15;17576:117;17685:1;17682;17675:12;17699:117;17808:1;17805;17798:12;17822:117;17931:1;17928;17921:12;17945:117;18054:1;18051;18044:12;18068:102;18109:6;18160:2;18156:7;18151:2;18144:5;18140:14;18136:28;18126:38;;18116:54;;;:::o;18176:176::-;18316:28;18312:1;18304:6;18300:14;18293:52;18282:70;:::o;18358:225::-;18498:34;18494:1;18486:6;18482:14;18475:58;18567:8;18562:2;18554:6;18550:15;18543:33;18464:119;:::o;18589:172::-;18729:24;18725:1;18717:6;18713:14;18706:48;18695:66;:::o;18767:220::-;18907:34;18903:1;18895:6;18891:14;18884:58;18976:3;18971:2;18963:6;18959:15;18952:28;18873:114;:::o;18993:182::-;19133:34;19129:1;19121:6;19117:14;19110:58;19099:76;:::o;19181:171::-;19321:23;19317:1;19309:6;19305:14;19298:47;19287:65;:::o;19358:181::-;19498:33;19494:1;19486:6;19482:14;19475:57;19464:75;:::o;19545:122::-;19618:24;19636:5;19618:24;:::i;:::-;19611:5;19608:35;19598:2;;19657:1;19654;19647:12;19598:2;19588:79;:::o;19673:116::-;19743:21;19758:5;19743:21;:::i;:::-;19736:5;19733:32;19723:2;;19779:1;19776;19769:12;19723:2;19713:76;:::o;19795:122::-;19868:24;19886:5;19868:24;:::i;:::-;19861:5;19858:35;19848:2;;19907:1;19904;19897:12;19848:2;19838:79;:::o

Swarm Source

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