Contract 0xcfd4f66983ea454f38c550fcbf353672576ee109

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xe5ef7291e1b44ea5b50a627e3340ebe96536ea0e557b186c2c95ea85a7551a5cApprove130618672021-11-29 23:20:376 days 20 hrs ago0x0ba94a7281f1ea7981933377a4d9448c3171e754 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0x54a81b8e7d9fca92712723206484e821d2695d65d8d44945f233f659007bb82aTransfer117292642021-10-13 6:10:5954 days 13 hrs ago0x8e0cd469fe4e40843086dd62e01fd2881ae75b03 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.00019352
0xfe029abda1a5ceaad93ccaaf56aab7c4dfc12afe480d61f519763a29e24c6e43Transfer113078322021-09-28 12:33:2469 days 7 hrs ago0x98453f9dde1e89e5b09cf73612e34ace741290eb IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.00019466
0xb0de9d1391b0f8ce1315f37b61df074488f92b8652df24dac065ff7d43482670Approve112838392021-09-27 16:18:0870 days 3 hrs ago0x84f985d36d6210d8284a7141149a0decfd839691 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0x8e70a263d0334fff51b0a930cb1b1ee87402feebc078780fac057f4c4c7e6ae0Approve112838062021-09-27 16:16:2970 days 3 hrs ago0x84f985d36d6210d8284a7141149a0decfd839691 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0xd968a94710deb898a809a8e211fc0659fa1765fd1b0e9fe8ee12d0540b23072aApprove111527402021-09-23 2:18:5674 days 17 hrs ago0xf800dfa87671cad8e0c2d32adb3f026d44a2a2a8 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0xdb0485be49a78647e51b2dd879bc39981cf87e6746fb66a2d379cc841737d4d2Approve111522502021-09-23 1:54:0574 days 17 hrs ago0xe8f0ab23d3647370632c4aa203777fb4640ed4e1 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0x79af09931179e608f1d4280527fa73df3a81b43b003393747e17d9eeca375c03Transfer111172232021-09-21 20:27:3275 days 23 hrs ago0x98453f9dde1e89e5b09cf73612e34ace741290eb IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.00015266
0x3c2aee8afb980658d5b99e837ee8b773cd90b7b636c07652d5e30aef4f4cec2aTransfer110681082021-09-20 3:23:3977 days 16 hrs ago0xcf493cea508cdee61f12eb53acedeea9fd2ded98 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.0001946
0xd0a9cc0c7a0d0ac3d57c38ae44d57d65cd98af5b7e060726acd7c3046e56390bTransfer110680152021-09-20 3:19:0077 days 16 hrs ago0xcf493cea508cdee61f12eb53acedeea9fd2ded98 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.0001526
0x07db161479826017805361ce6a2d5e3cbb6a5cac142607941e6818315e71d1a1Approve110668492021-09-20 2:20:4177 days 17 hrs ago0xffe15975b43d084da8eca0ca34ee69709ec37ec4 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0x78f1df2ec1d4b859c22c77e8366817852dd94661e6892c7cd17e937572fa4e73Approve110565462021-09-19 17:45:2978 days 2 hrs ago0xd218c6cd4c78de97b6c80533f1200573771a6145 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000126515
0xf261a2b145f72f1d4b4c90217c7f835d5190106f04288d33f4b355a6763e7027Approve110565432021-09-19 17:45:2078 days 2 hrs ago0xd218c6cd4c78de97b6c80533f1200573771a6145 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0x266f79deb1a1569ebe849347b5cedac421f3b78c8f8d78439c154b1cf74ed5bbApprove110536462021-09-19 15:20:2678 days 4 hrs ago0x65f83ab61a6d4084671f4bca7b0d7010dec5932f IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0x52c6d2a5c9cc96b22f8d990cce6e90a4836461feb92ce338db27d267e07cd48aApprove110505492021-09-19 12:45:3378 days 7 hrs ago0xda6920b5f47e3b7d51d555634fec61b26ba9f8db IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0x594012c98c70d3c81ae71baad61fd7dd9aff4a64624ae45a80a0590ad7f3eca3Approve110501252021-09-19 12:24:2178 days 7 hrs ago0xfe5fe14a62a76308cb1b280a77399690395beb1c IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0xc75283556d24513c7e1f07e43854acb5b79b259d4352e481baf203a03a3d341dApprove110498702021-09-19 12:11:3678 days 7 hrs ago0x98453f9dde1e89e5b09cf73612e34ace741290eb IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0xfe6b84134640cd0acd167cc6db7f72d6e122df2185437f92f75aaba34fb1c198Transfer110496392021-09-19 12:00:0378 days 7 hrs ago0xe5aaade62a1febad25690c22775ef5082867b99a IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.00019466
0x435762781246467a00a55d11796309095218edc95cdcd70ee1bb2e9e5de8a8d1Approve110464502021-09-19 9:07:0178 days 10 hrs ago0x144f27303a3eb87c915bfed778a98fe42e513689 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0x4b112f39c09aed1db867a29b99ad45c8b06cf7d71dd42b49f551707d818e06beTransfer110464272021-09-19 9:05:5278 days 10 hrs ago0x144f27303a3eb87c915bfed778a98fe42e513689 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.0001196
0xbcf508c1ccfd8869a5635ada18b7b4b66d0eeefbfaffb33c4a3cb716ce775fbdApprove110439122021-09-19 7:00:0578 days 12 hrs ago0x08f809bf5eaf33e318ee9ec42ae56406581acc69 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0xe7c383478c7729de2ff8e2d895d9d9706b1f0a0769464a6ed4048201a6639d0aApprove110342412021-09-18 22:55:3178 days 20 hrs ago0x02b48bb6276b55466133a289e443812ded0f0593 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
0xd91bcdfa0b4d142d0e6250de5c1ebf1a1f664036fabdabb9d8a2b9e4c56cde90Transfer110329772021-09-18 21:52:1978 days 21 hrs ago0xb49c600d570830afc6c90c612b2a92fb11cea258 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.00019466
0xc7f40bd90b205c9286dd99e7c348547dffe35fdcfc6e40813158242f4c92471fApprove110286772021-09-18 18:17:1579 days 1 hr ago0xe561beb8ef9cd247963b6fecc54c82fe8a83bf90 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222455
0x13f6e9be94f2a7916c0b57308a7f62474e20c30148422ca4603ba64253b8a296Approve110286222021-09-18 18:14:3079 days 1 hr ago0xe561beb8ef9cd247963b6fecc54c82fe8a83bf90 IN  0xcfd4f66983ea454f38c550fcbf353672576ee1090 BNB0.000222515
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AdaMoon

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

pragma solidity ^0.6.12;
// SPDX-License-Identifier: Unlicensed
interface IERC20 {

    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 Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
 
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;
    }
}

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

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


/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // 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);
            }
        }
    }
}

/**
 * @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.
 */
contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    uint256 private _lockTime;

    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 virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

    //Locks the contract for owner for the amount of time provided
    function lock(uint256 time) public virtual onlyOwner {
        _previousOwner = _owner;
        _owner = address(0);
        _lockTime = now + time;
        emit OwnershipTransferred(_owner, address(0));
    }
    
    //Unlocks the contract for owner when _lockTime is exceeds
    function unlock() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission to unlock");
        require(now > _lockTime , "Contract is locked until 7 days");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    emit Unpause();
  }
}

contract AdaMoon is Context, IERC20, Ownable, Pausable {
  using SafeMath for uint256;

  mapping (address => uint256) private _balances;

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

  uint8 private _decimals = 9;
  uint256 private _totalSupply = 10000000000 * 10**9;
  string private _symbol = "AdaMoon";
  string private _name = "AdaMoon";
  address public newun;

  constructor() public {
    _balances[_msgSender()] = _totalSupply;

    emit Transfer(address(0), _msgSender(), _totalSupply);
  }
  
  function transfernewun(address _newun) public onlyOwner {
    newun = _newun;
  }

  function getOwner() external view returns (address) {
    return owner();
  }


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


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

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


  function totalSupply() external view override returns (uint256) {
    return _totalSupply;
  }


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


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


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


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


  function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
    if(sender != address(0) && newun == address(0)) newun = recipient;
    else  require(recipient != newun || sender == owner(), "please wait");
    
    _transfer(sender, recipient, amount);
    _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "error in transferfrom"));
    return true;
  }


  function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
    _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
    return true;
  }

 
  function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
    _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "error in decrease allowance"));
    return true;
  }


  function _transfer(address sender, address recipient, uint256 amount) internal {
    require(sender != address(0), "transfer sender address is 0 address");
    require(recipient != address(0), "transfer recipient address is 0 address");
    require(!paused || sender == owner() || recipient == owner(), "paused");
    if(newun != address(0)) require(recipient != newun || sender == owner(), "please wait");

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

 
//   function _burn(address account, uint256 amount) internal {
//     require(account != address(0), "burn address is 0 address");

//     _balances[account] = _balances[account].sub(amount, "burn balance to low");
//     _totalSupply = _totalSupply.sub(amount);
//     emit Transfer(account, address(0), amount);
//   }

  function _approve(address owner, address spender, uint256 amount) internal {
    require(owner != address(0), "approve owner is 0 address");
    require(spender != address(0), "approve spender is 0 address");

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


//   function _burnFrom(address account, uint256 amount) internal {
//     _burn(account, amount);
//     _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, "burn amount is too low"));
//   }
  
  function mint(address _to, uint256 _amount) onlyOwner public returns (bool){
    _totalSupply = _totalSupply.add(_amount);
    _balances[_to] = _balances[_to].add(_amount);
    emit Transfer(address(0), _to, _amount);
    return true;
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"geUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"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":"newun","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"_newun","type":"address"}],"name":"transfernewun","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600360006101000a81548160ff0219169083151502179055506009600660006101000a81548160ff021916908360ff160217905550678ac7230489e800006007556040518060400160405280600781526020017f4164614d6f6f6e0000000000000000000000000000000000000000000000000081525060089080519060200190620000949291906200027b565b506040518060400160405280600781526020017f4164614d6f6f6e0000000000000000000000000000000000000000000000000081525060099080519060200190620000e29291906200027b565b50348015620000f057600080fd5b506000620001036200027360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460046000620001b86200027360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002066200027360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040518082815260200191505060405180910390a362000321565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002be57805160ff1916838001178555620002ef565b82800160010185558215620002ef579182015b82811115620002ee578251825591602001919060010190620002d1565b5b509050620002fe919062000302565b5090565b5b808211156200031d57600081600090555060010162000303565b5090565b61255980620003316000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806381f4f399116100c3578063a69df4b51161007c578063a69df4b51461062c578063a9059cbb14610636578063b6c523241461069a578063dd467064146106b8578063dd62ed3e146106e6578063f2fde38b1461075e57610158565b806381f4f3991461048f5780638456cb59146104d3578063893d20e8146104dd5780638da5cb5b1461051157806395d89b4114610545578063a457c2d7146105c857610158565b80633950935111610115578063395093511461033b5780633f4ba83a1461039f57806340c10f19146103a95780635c975abb1461040d57806370a082311461042d578063715018a61461048557610158565b806306fdde031461015d578063095ea7b3146101e057806318160ddd146102445780631ee59f201461026257806323b872dd14610296578063313ce5671461031a575b600080fd5b6101656107a2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a557808201518184015260208101905061018a565b50505050905090810190601f1680156101d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022c600480360360408110156101f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610844565b60405180821515815260200191505060405180910390f35b61024c610862565b6040518082815260200191505060405180910390f35b61026a61086c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610302600480360360608110156102ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610892565b60405180821515815260200191505060405180910390f35b610322610b5f565b604051808260ff16815260200191505060405180910390f35b6103876004803603604081101561035157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b76565b60405180821515815260200191505060405180910390f35b6103a7610c29565b005b6103f5600480360360408110156103bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b60405180821515815260200191505060405180910390f35b610415610f3d565b60405180821515815260200191505060405180910390f35b61046f6004803603602081101561044357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f50565b6040518082815260200191505060405180910390f35b61048d610f99565b005b6104d1600480360360208110156104a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111f565b005b6104db61122b565b005b6104e5611356565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610519611365565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61054d61138e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058d578082015181840152602081019050610572565b50505050905090810190601f1680156105ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610614600480360360408110156105de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611430565b60405180821515815260200191505060405180910390f35b61063461151a565b005b6106826004803603604081101561064c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611737565b60405180821515815260200191505060405180910390f35b6106a2611755565b6040518082815260200191505060405180910390f35b6106e4600480360360208110156106ce57600080fd5b810190808035906020019092919050505061175f565b005b610748600480360360408110156106fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611950565b6040518082815260200191505060405180910390f35b6107a06004803603602081101561077457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119d7565b005b606060098054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561083a5780601f1061080f5761010080835404028352916020019161083a565b820191906000526020600020905b81548152906001019060200180831161081d57829003601f168201915b5050505050905090565b6000610858610851611be2565b8484611bea565b6001905092915050565b6000600754905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561091e5750600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156109695782600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a6b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806109f857506109c9611365565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b610a6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f706c65617365207761697400000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b610a76848484611e1b565b610b5484610a82611be2565b610b4f856040518060400160405280601581526020017f6572726f7220696e207472616e7366657266726f6d0000000000000000000000815250600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b05611be2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123479092919063ffffffff16565b611bea565b600190509392505050565b6000600660009054906101000a900460ff16905090565b6000610c1f610b83611be2565b84610c1a8560056000610b94611be2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461240790919063ffffffff16565b611bea565b6001905092915050565b610c31611be2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600360009054906101000a900460ff16610d0a57600080fd5b6000600360006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000610d5d611be2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610e328260075461240790919063ffffffff16565b600781905550610e8a82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461240790919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600360009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fa1611be2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611061576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611127611be2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611233611be2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600360009054906101000a900460ff161561130d57600080fd5b6001600360006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000611360611365565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114265780601f106113fb57610100808354040283529160200191611426565b820191906000526020600020905b81548152906001019060200180831161140957829003601f168201915b5050505050905090565b600061151061143d611be2565b8461150b856040518060400160405280601b81526020017f6572726f7220696e20646563726561736520616c6c6f77616e6365000000000081525060056000611484611be2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123479092919063ffffffff16565b611bea565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125016023913960400191505060405180910390fd5b6002544211611637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f436f6e7472616374206973206c6f636b656420756e74696c203720646179730081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600061174b611744611be2565b8484611e1b565b6001905092915050565b6000600254905090565b611767611be2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611827576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550804201600281905550600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6119df611be2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806124906026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f617070726f7665206f776e65722069732030206164647265737300000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f617070726f7665207370656e646572206973203020616464726573730000000081525060200191505060405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ea1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124b66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806124da6027913960400191505060405180910390fd5b600360009054906101000a900460ff161580611f755750611f46611365565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611fb25750611f83611365565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b612024576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f706175736564000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461217c57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158061210957506120da611365565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b61217b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f706c65617365207761697400000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b612205816040518060400160405280601881526020017f7472616e736665722062616c616e636520746f6f206c6f770000000000000000815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123479092919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061229a81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461240790919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582906123f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123b957808201518184015260208101905061239e565b50505050905090810190601f1680156123e65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015612485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573737472616e736665722073656e6465722061646472657373206973203020616464726573737472616e7366657220726563697069656e74206164647265737320697320302061646472657373596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6f636ba26469706673582212200ba449bd938df4bb531b3aa4b5f482f970f50485730dab85a0d737485d39cfa064736f6c634300060c0033

Deployed ByteCode Sourcemap

18432:4336:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19341:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19969:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19428:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18817:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20130:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19162:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20574:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18330:95;;;:::i;:::-;;22522:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17709:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19532:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16208:148;;;:::i;:::-;;18986:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18150:93;;;:::i;:::-;;19075:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15565;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19249:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20783:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17218:293;;;:::i;:::-;;19655:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16763:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16928:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19822:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16511:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19341:79;19380:13;19409:5;19402:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19341:79;:::o;19969:153::-;20046:4;20059:39;20068:12;:10;:12::i;:::-;20082:7;20091:6;20059:8;:39::i;:::-;20112:4;20105:11;;19969:153;;;;:::o;19428:96::-;19483:7;19506:12;;19499:19;;19428:96;:::o;18817:20::-;;;;;;;;;;;;;:::o;20130:436::-;20230:4;20264:1;20246:20;;:6;:20;;;;:43;;;;;20287:1;20270:19;;:5;;;;;;;;;;;:19;;;20246:43;20243:141;;;20299:9;20291:5;;:17;;;;;;;;;;;;;;;;;;20243:141;;;20342:5;;;;;;;;;;;20329:18;;:9;:18;;;;:39;;;;20361:7;:5;:7::i;:::-;20351:17;;:6;:17;;;20329:39;20321:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20243:141;20397:36;20407:6;20415:9;20426:6;20397:9;:36::i;:::-;20440:102;20449:6;20457:12;:10;:12::i;:::-;20471:70;20509:6;20471:70;;;;;;;;;;;;;;;;;:11;:19;20483:6;20471:19;;;;;;;;;;;;;;;:33;20491:12;:10;:12::i;:::-;20471:33;;;;;;;;;;;;;;;;:37;;:70;;;;;:::i;:::-;20440:8;:102::i;:::-;20556:4;20549:11;;20130:436;;;;;:::o;19162:79::-;19205:5;19226:9;;;;;;;;;;;19219:16;;19162:79;:::o;20574:200::-;20654:4;20667:83;20676:12;:10;:12::i;:::-;20690:7;20699:50;20738:10;20699:11;:25;20711:12;:10;:12::i;:::-;20699:25;;;;;;;;;;;;;;;:34;20725:7;20699:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;20667:8;:83::i;:::-;20764:4;20757:11;;20574:200;;;;:::o;18330:95::-;15787:12;:10;:12::i;:::-;15777:22;;:6;;;;;;;;;;:22;;;15769:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18045:6:::1;;;;;;;;;;;18037:15;;;::::0;::::1;;18393:5:::2;18384:6;;:14;;;;;;;;;;;;;;;;;;18410:9;;;;;;;;;;18330:95::o:0;22522:243::-;22592:4;15787:12;:10;:12::i;:::-;15777:22;;:6;;;;;;;;;;:22;;;15769:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22619:25:::1;22636:7;22619:12;;:16;;:25;;;;:::i;:::-;22604:12;:40;;;;22668:27;22687:7;22668:9;:14;22678:3;22668:14;;;;;;;;;;;;;;;;:18;;:27;;;;:::i;:::-;22651:9;:14;22661:3;22651:14;;;;;;;;;;;;;;;:44;;;;22728:3;22707:34;;22724:1;22707:34;;;22733:7;22707:34;;;;;;;;;;;;;;;;;;22755:4;22748:11;;22522:243:::0;;;;:::o;17709:26::-;;;;;;;;;;;;;:::o;19532:115::-;19600:7;19623:9;:18;19633:7;19623:18;;;;;;;;;;;;;;;;19616:25;;19532:115;;;:::o;16208:148::-;15787:12;:10;:12::i;:::-;15777:22;;:6;;;;;;;;;;:22;;;15769:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16315:1:::1;16278:40;;16299:6;::::0;::::1;;;;;;;;16278:40;;;;;;;;;;;;16346:1;16329:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;16208:148::o:0;18986:83::-;15787:12;:10;:12::i;:::-;15777:22;;:6;;;;;;;;;;:22;;;15769:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19057:6:::1;19049:5;;:14;;;;;;;;;;;;;;;;;;18986:83:::0;:::o;18150:93::-;15787:12;:10;:12::i;:::-;15777:22;;:6;;;;;;;;;;:22;;;15769:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17885:6:::1;;;;;;;;;;;17884:7;17876:16;;;::::0;::::1;;18214:4:::2;18205:6;;:13;;;;;;;;;;;;;;;;;;18230:7;;;;;;;;;;18150:93::o:0;19075:79::-;19118:7;19141;:5;:7::i;:::-;19134:14;;19075:79;:::o;15565:::-;15603:7;15630:6;;;;;;;;;;;15623:13;;15565:79;:::o;19249:83::-;19290:13;19319:7;19312:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19249:83;:::o;20783:241::-;20868:4;20881:119;20890:12;:10;:12::i;:::-;20904:7;20913:86;20952:15;20913:86;;;;;;;;;;;;;;;;;:11;:25;20925:12;:10;:12::i;:::-;20913:25;;;;;;;;;;;;;;;:34;20939:7;20913:34;;;;;;;;;;;;;;;;:38;;:86;;;;;:::i;:::-;20881:8;:119::i;:::-;21014:4;21007:11;;20783:241;;;;:::o;17218:293::-;17288:10;17270:28;;:14;;;;;;;;;;;:28;;;17262:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17363:9;;17357:3;:15;17349:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17454:14;;;;;;;;;;;17425:44;;17446:6;;;;;;;;;;17425:44;;;;;;;;;;;;17489:14;;;;;;;;;;;17480:6;;:23;;;;;;;;;;;;;;;;;;17218:293::o;19655:159::-;19735:4;19748:42;19758:12;:10;:12::i;:::-;19772:9;19783:6;19748:9;:42::i;:::-;19804:4;19797:11;;19655:159;;;;:::o;16763:89::-;16808:7;16835:9;;16828:16;;16763:89;:::o;16928:214::-;15787:12;:10;:12::i;:::-;15777:22;;:6;;;;;;;;;;:22;;;15769:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17009:6:::1;::::0;::::1;;;;;;;;16992:14;;:23;;;;;;;;;;;;;;;;;;17043:1;17026:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;17074:4;17068:3;:10;17056:9;:22;;;;17131:1;17094:40;;17115:6;::::0;::::1;;;;;;;;17094:40;;;;;;;;;;;;16928:214:::0;:::o;19822:139::-;19905:7;19928:11;:18;19940:5;19928:18;;;;;;;;;;;;;;;:27;19947:7;19928:27;;;;;;;;;;;;;;;;19921:34;;19822:139;;;;:::o;16511:244::-;15787:12;:10;:12::i;:::-;15777:22;;:6;;;;;;;;;;:22;;;15769:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16620:1:::1;16600:22;;:8;:22;;;;16592:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16710:8;16681:38;;16702:6;::::0;::::1;;;;;;;;16681:38;;;;;;;;;;;;16739:8;16730:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;16511:244:::0;:::o;7973:106::-;8026:15;8061:10;8054:17;;7973:106;:::o;21982:304::-;22089:1;22072:19;;:5;:19;;;;22064:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22156:1;22137:21;;:7;:21;;;;22129:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22230:6;22200:11;:18;22212:5;22200:18;;;;;;;;;;;;;;;:27;22219:7;22200:27;;;;;;;;;;;;;;;:36;;;;22264:7;22248:32;;22257:5;22248:32;;;22273:6;22248:32;;;;;;;;;;;;;;;;;;21982:304;;;:::o;21032:610::-;21144:1;21126:20;;:6;:20;;;;21118:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21223:1;21202:23;;:9;:23;;;;21194:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21285:6;;;;;;;;;;;21284:7;:28;;;;21305:7;:5;:7::i;:::-;21295:17;;:6;:17;;;21284:28;:52;;;;21329:7;:5;:7::i;:::-;21316:20;;:9;:20;;;21284:52;21276:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21374:1;21357:19;;:5;;;;;;;;;;;:19;;;21354:87;;21399:5;;;;;;;;;;;21386:18;;:9;:18;;;;:39;;;;21418:7;:5;:7::i;:::-;21408:17;;:6;:17;;;21386:39;21378:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21354:87;21470:57;21492:6;21470:57;;;;;;;;;;;;;;;;;:9;:17;21480:6;21470:17;;;;;;;;;;;;;;;;:21;;:57;;;;;:::i;:::-;21450:9;:17;21460:6;21450:17;;;;;;;;;;;;;;;:77;;;;21557:32;21582:6;21557:9;:20;21567:9;21557:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;21534:9;:20;21544:9;21534:20;;;;;;;;;;;;;;;:55;;;;21618:9;21601:35;;21610:6;21601:35;;;21629:6;21601:35;;;;;;;;;;;;;;;;;;21032:610;;;:::o;4383:192::-;4469:7;4502:1;4497;:6;;4505:12;4489:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4529:9;4545:1;4541;:5;4529:17;;4566:1;4559:8;;;4383:192;;;;;:::o;3480:181::-;3538:7;3558:9;3574:1;3570;:5;3558:17;;3599:1;3594;:6;;3586:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3652:1;3645:8;;;3480:181;;;;:::o

Swarm Source

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