Contract 0xac472d0eed2b8a2f57a6e304ea7ebd8e88d1d36f 1

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x3ddfb0e2e887eb7e1d3e02dff1afe184fe72509773fdc55947749a23ea295601Approve132606502021-12-07 2:58:096 hrs 21 mins ago0x9e27a9a3633cff461e215fff3bf62ef5e7adbfa4 IN  Anime Token: ANI Token0 BNB0.000310842
0xf9882caac4236c642cfd38cada6a9318fbca9c6ec5b149c8b158211a1143a22bApprove132567162021-12-06 23:38:019 hrs 41 mins ago0xf6e05a68ed4cc026fc25a155b48aabcef2c100df IN  Anime Token: ANI Token0 BNB0.000242583
0xef64af5399cc34405fa895909a37ef5574446a65ee1b37aa60e55b8975817fd3Approve132545162021-12-06 21:46:3411 hrs 32 mins ago0x3d62e37b94d040eb35f63c8ecfe9bccca8d7aade IN  Anime Token: ANI Token0 BNB0.00022203
0x17be2953cfe680f86b77c92cf8470fc1313df8bd5159bd52efbefd6ae4056f84Approve132537282021-12-06 21:07:0912 hrs 12 mins ago0xe67e03ad838e213de6a7d45febdb6a53f475dc03 IN  Anime Token: ANI Token0 BNB0.00022203
0xef1abfa530c8758b8ffd1c2fb0c689b976aa09d1a9f767a7765354e1e49d9c50Approve132480532021-12-06 16:17:2417 hrs 1 min ago0x4067eea2810efa6b3aed3d3b323e03af864d705a IN  Anime Token: ANI Token0 BNB0.000242715
0x827678b6c17eb11482650b10500f9d71e8c3784bc3b1ccf57645c10ec3f3aa3dApprove132429592021-12-06 11:42:1321 hrs 37 mins ago0xbb20414b8337a2741f38ea25a7d818f7b8f3396c IN  Anime Token: ANI Token0 BNB0.00022203
0x7b8be9e43410a8acf5b7ae26f0a91c07b83b44fbd7af8aeece5572b540cf184aApprove132375892021-12-06 7:07:091 day 2 hrs ago0x3b868e045dcb4e8d3644e16059de8016083fa085 IN  Anime Token: ANI Token0 BNB0.000310842
0xa537b1772fa511cf68ba20abbbc2630fae97b9e9fe3aa68f3785c633b5d1eeb7Approve132249282021-12-05 20:25:041 day 12 hrs ago0xa55c15492b264584fc9d2ad2e51fd718a4dcd5c7 IN  Anime Token: ANI Token0 BNB0.00022203
0xd14332a74daa2c5cf90e64eba178ade77ba91db2d42cefbcfd993c145d34af50Transfer132243892021-12-05 19:58:061 day 13 hrs ago0x3854b92ebd668ff7fb4adc88c05ce02d5331abed IN  Anime Token: ANI Token0 BNB0.00018094
0xba6f6d395746755e650be6cc3b0911a6452bec4b367d3eed5cd6492677f91bf9Approve132243642021-12-05 19:56:511 day 13 hrs ago0xe70977b68754e97a4b31ae32466c11feee452c73 IN  Anime Token: ANI Token0 BNB0.000242715
0x0d2e678538080d73bffda506a3691e58f784516cb155cc410b98e5aea7d4b2afTransfer132242242021-12-05 19:49:511 day 13 hrs ago0x975c637e30a178de34dc45e48739d14dcc1e4a79 IN  Anime Token: ANI Token0 BNB0.00010582
0xf737c1903a7eab7d7b5ae1e316fa878a9b701bba67d5374d79566ca808245b92Approve132224732021-12-05 18:21:561 day 14 hrs ago0x13501b5992517f1564d6ed2ba0eb14fcc52d5e48 IN  Anime Token: ANI Token0 BNB0.00022203
0x2dde259e449742cf22db928c7a942c622abf8f9b031ee0f7d7b2704f3e2011cbApprove132222762021-12-05 18:11:511 day 15 hrs ago0xb663357c240fb1b1d1b0cae935d960a1b3d7cbbb IN  Anime Token: ANI Token0 BNB0.00022203
0xc33477b30b78a721149d89fdce41f782187343d8451dd79e9edf986d8b643645Approve132196432021-12-05 15:50:531 day 17 hrs ago0x72ee765d75bbc8a89ded3f10d629f433eb2d0977 IN  Anime Token: ANI Token0 BNB0.00022203
0xe2305484194597fdde7d9970d67348a2b0fcea798f841b603c04fc2e1e6bc1cdApprove132172702021-12-05 13:40:561 day 19 hrs ago0xa9149dbd81c1e76e5f50d97a205b8a35b2293437 IN  Anime Token: ANI Token0 BNB0.00022203
0x2c4d839fdb8e91553578bf97e133c67845cbae71d628c066af35d2bd5dd12c8aApprove132137382021-12-05 10:37:371 day 22 hrs ago0x8cf561b2794f73b7f295f45b029d37ff3bb3ef4c IN  Anime Token: ANI Token0 BNB0.00022203
0x6f7ae2a6b282123ff9c77cf9f4bf3aaa90e1fa3af89368eee00234384c0b4185Approve132132782021-12-05 10:14:371 day 23 hrs ago0xdefba239fbbfa47ec998fb92d9231df0262d7fb3 IN  Anime Token: ANI Token0 BNB0.00022203
0xafbe0436401c8ef7801124b3477a5acf9fd6fd48af5b043d6372e36f4f901b56Transfer132114002021-12-05 8:39:552 days 39 mins ago0x905b4b3929d6dfb3c547b9755b512c447f40b81a IN  Anime Token: ANI Token0 BNB0.00010582
0x4695487a50da7c43150250653ef782b37a454216b20d820ecac28393d043bc6bApprove132012212021-12-05 0:09:182 days 9 hrs ago0xa2a5f8de154707a6a267e1360b1b15d7814d50ef IN  Anime Token: ANI Token0 BNB0.00022065
0x63be0376a6dd9b45c8690927cdf010de68a5b2c19e510f98f588da0a63711219Approve131921412021-12-04 16:34:312 days 16 hrs ago0xf203be96a03af0896de7cb00dc2f9a3863d13ba8 IN  Anime Token: ANI Token0 BNB0.00022203
0x6892bb530e8664f881b8a5576350dcba8f524c1ff755bcb4f8605181ae9b4254Approve131921242021-12-04 16:33:402 days 16 hrs ago0xf203be96a03af0896de7cb00dc2f9a3863d13ba8 IN  Anime Token: ANI Token0 BNB0.00022203
0xed51da2439eec5bac5c1550cddbba1346467ef2b3125911d576640a7d6ccc942Approve131897942021-12-04 14:35:252 days 18 hrs ago0x5c800d551f616f0672e495124d2ab3e542a34b32 IN  Anime Token: ANI Token0 BNB0.00022203
0x5c8907c6638544678b3948274732d0d79ca51581708249537929fc3b9e27e2a9Approve131886342021-12-04 13:36:242 days 19 hrs ago0x446e598d19f129745f49f99997aa85811921c1ed IN  Anime Token: ANI Token0 BNB0.00022203
0x9e9efbfeba68124a544e9407d420383e597815656e8a2ee4a8468278f3311f09Approve131868732021-12-04 12:06:222 days 21 hrs ago0x135a4d75bfe898006c6ec770aacaa31b40015b0d IN  Anime Token: ANI Token0 BNB0.00022203
0xd20085c0243aba7310d08174d97e0fcbd309cb0ef6800017f687371d002eb9b0Approve131868572021-12-04 12:05:312 days 21 hrs ago0x135a4d75bfe898006c6ec770aacaa31b40015b0d IN  Anime Token: ANI Token0 BNB0.00022203
[ Download CSV Export 

OVERVIEW

Anime (ANI) is a cryptocurrency of the new standards which allows the market to freely drive its value and optimized for fast trading.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x9d610623a1aa18f8828aa1564293d9c3c9030845b05eaefb01051f65022f31e354697832021-03-07 10:42:06274 days 22 hrs ago PancakeSwap: ANI Anime Token: ANI Token0 BNB
0x9d610623a1aa18f8828aa1564293d9c3c9030845b05eaefb01051f65022f31e354697832021-03-07 10:42:06274 days 22 hrs ago PancakeSwap: Router Anime Token: ANI Token0 BNB
0xddafe6da0624dd383d3446ae54e4ecbfb3dfa4884c1088e9326f06587e87ae3654697252021-03-07 10:39:12274 days 22 hrs ago PancakeSwap: ANI Anime Token: ANI Token0 BNB
0xddafe6da0624dd383d3446ae54e4ecbfb3dfa4884c1088e9326f06587e87ae3654697252021-03-07 10:39:12274 days 22 hrs ago PancakeSwap: Router Anime Token: ANI Token0 BNB
0x3f9d6e0a628fab6b76652fdced194045383c95abf9da1e66fdce550a1881366954697112021-03-07 10:38:30274 days 22 hrs ago 0xc236baf886a74d30ad561470f4f0c53fe24a2278 Anime Token: ANI Token0 BNB
0x3f9d6e0a628fab6b76652fdced194045383c95abf9da1e66fdce550a1881366954697112021-03-07 10:38:30274 days 22 hrs ago 0x3d113b6473a8f39ad33bc97c6f1e80b155c9f0e3 Anime Token: ANI Token0 BNB
0x4b2bc1deabf0e4258013c0175ca90480841e16a2f93aa5cfae657bffc5901e5054695382021-03-07 10:29:51274 days 22 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Anime Token: ANI Token0 BNB
0x89f69cb3678a683efcda7796a0d1649d19db18bf982152178944b17a7dac4af054684262021-03-07 9:34:15274 days 23 hrs ago PancakeSwap: ANI Anime Token: ANI Token0 BNB
0x89f69cb3678a683efcda7796a0d1649d19db18bf982152178944b17a7dac4af054684262021-03-07 9:34:15274 days 23 hrs ago PancakeSwap: Router Anime Token: ANI Token0 BNB
0x923f802c6cc767098b7b7dbe7281490088be9a5726e8e5f399cd1c93c4d73cd554684132021-03-07 9:33:36274 days 23 hrs ago PancakeSwap: ANI Anime Token: ANI Token0 BNB
0x923f802c6cc767098b7b7dbe7281490088be9a5726e8e5f399cd1c93c4d73cd554684132021-03-07 9:33:36274 days 23 hrs ago PancakeSwap: Router Anime Token: ANI Token0 BNB
0xe018f7f9965b5308d4282542a2e4e7f173ea7f29ad0ecff7d1dae25aee7fcf4d54684012021-03-07 9:33:00274 days 23 hrs ago 0xc236baf886a74d30ad561470f4f0c53fe24a2278 Anime Token: ANI Token0 BNB
0xe018f7f9965b5308d4282542a2e4e7f173ea7f29ad0ecff7d1dae25aee7fcf4d54684012021-03-07 9:33:00274 days 23 hrs ago 0x3d113b6473a8f39ad33bc97c6f1e80b155c9f0e3 Anime Token: ANI Token0 BNB
0x2a86ba6ff6896a40e0454f59f281b1531000d78ad054327d6ad6cf7721f43da354681232021-03-07 9:19:06275 days ago 0x4fc4bfedc5c82644514facf716c7f888a0c73ccc Anime Token: ANI Token0 BNB
0xe32bc3c7bf7f5630468369c2ce55a06356fa14d932a505bd6f859034533c524a54678012021-03-07 9:03:00275 days 16 mins ago PancakeSwap: ANI Anime Token: ANI Token0 BNB
0xe32bc3c7bf7f5630468369c2ce55a06356fa14d932a505bd6f859034533c524a54678012021-03-07 9:03:00275 days 16 mins ago PancakeSwap: ANI Anime Token: ANI Token0 BNB
0xbc910594629e866a44a435fe6f47f29358b955cfd1763588a3137d52dacb2ac154671142021-03-07 8:28:39275 days 50 mins ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Anime Token: ANI Token0 BNB
0x5746d45e0181b0d669bda39dfdf377e7f1a4ee1b496b1a877b7840735be5c89754665162021-03-07 7:58:45275 days 1 hr ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Anime Token: ANI Token0 BNB
0x136f252e09f4f62afccc96052683f1f744f7dac2ced5622415e138a3da4f841954659102021-03-07 7:28:27275 days 1 hr ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Anime Token: ANI Token0 BNB
0x9964f488a769f5416bd13c67966dc59559831823ca17dadd7dd85cc0257fdbff54652712021-03-07 6:56:30275 days 2 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Anime Token: ANI Token0 BNB
0x9964f488a769f5416bd13c67966dc59559831823ca17dadd7dd85cc0257fdbff54652712021-03-07 6:56:30275 days 2 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Anime Token: ANI Token0 BNB
0x95ba9c0ebd60a91aa2508f142e93f8eb166c2fdbcd68aa7857c2e63c5f9814e354651882021-03-07 6:52:21275 days 2 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Anime Token: ANI Token0 BNB
0x95ba9c0ebd60a91aa2508f142e93f8eb166c2fdbcd68aa7857c2e63c5f9814e354651882021-03-07 6:52:21275 days 2 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Anime Token: ANI Token0 BNB
0x9b554dd9c72f2394e6353a2c654fcc8b1babb20a6cef90a320db5705093f66a454640752021-03-07 5:56:32275 days 3 hrs ago PancakeSwap: ANI Anime Token: ANI Token0 BNB
0x9b554dd9c72f2394e6353a2c654fcc8b1babb20a6cef90a320db5705093f66a454640752021-03-07 5:56:32275 days 3 hrs ago PancakeSwap: Router Anime Token: ANI Token0 BNB
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x3bc70257f30ca916ecef7002ae32dc95e1e1f5b0

Contract Name:
StandardBEP20

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-12-19
*/

// SPDX-License-Identifier: MIT

// File: @openzeppelin/contracts/GSN/Context.sol

pragma solidity ^0.7.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN 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 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;
    }
}

// File: @openzeppelin/contracts/access/Ownable.sol



pragma solidity ^0.7.0;

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

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

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

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

// File: @openzeppelin/contracts/math/SafeMath.sol



pragma solidity ^0.7.0;

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

// File: contracts/token/BEP20/lib/IBEP20.sol



pragma solidity ^0.7.0;

/**
 * @dev Interface of the BEP standard.
 */
interface IBEP20 {

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

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

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

    /**
     * @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 Returns the token owner.
     */
    function getOwner() external view returns (address);

    /**
     * @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 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 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 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 Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

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

// File: contracts/token/BEP20/lib/BEP20.sol



pragma solidity ^0.7.0;




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

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

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

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

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

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {BEP20} uses, unless {_setupDecimals} is
     * called.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IBEP20-balanceOf} and {IBEP20-transfer}.
     */
    function decimals() public view override returns (uint8) {
        return _decimals;
    }

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

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

    /**
     * @dev See {IBEP20-getOwner}.
     */
    function getOwner() public view override returns (address) {
        return owner();
    }

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

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

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

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

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

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

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

        _beforeTokenTransfer(sender, recipient, amount);

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

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

        _beforeTokenTransfer(address(0), account, amount);

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

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

        _beforeTokenTransfer(account, address(0), amount);

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

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

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

    /**
     * @dev Sets {decimals} to a value other than the default one of 18.
     *
     * WARNING: This function should only be called from the constructor. Most
     * applications that interact with token contracts will not expect
     * {decimals} to ever change, and may work incorrectly if it does.
     */
    function _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

// File: contracts/service/ServiceReceiver.sol



pragma solidity ^0.7.0;


/**
 * @title ServiceReceiver
 * @dev Implementation of the ServiceReceiver
 */
contract ServiceReceiver is Ownable {

    mapping (bytes32 => uint256) private _prices;

    event Created(string serviceName, address indexed serviceAddress);

    function pay(string memory serviceName) public payable {
        require(msg.value == _prices[_toBytes32(serviceName)], "ServiceReceiver: incorrect price");

        emit Created(serviceName, _msgSender());
    }

    function getPrice(string memory serviceName) public view returns (uint256) {
        return _prices[_toBytes32(serviceName)];
    }

    function setPrice(string memory serviceName, uint256 amount) public onlyOwner {
        _prices[_toBytes32(serviceName)] = amount;
    }

    function withdraw(uint256 amount) public onlyOwner {
        payable(owner()).transfer(amount);
    }

    function _toBytes32(string memory serviceName) private pure returns (bytes32) {
        return keccak256(abi.encode(serviceName));
    }
}

// File: contracts/service/ServicePayer.sol



pragma solidity ^0.7.0;


/**
 * @title ServicePayer
 * @dev Implementation of the ServicePayer
 */
abstract contract ServicePayer {

    constructor (address payable receiver, string memory serviceName) payable {
        ServiceReceiver(receiver).pay{value: msg.value}(serviceName);
    }
}

// File: contracts/token/BEP20/StandardBEP20.sol



pragma solidity ^0.7.0;



/**
 * @title StandardBEP20
 * @dev Implementation of the StandardBEP20
 */
contract StandardBEP20 is BEP20, ServicePayer {

    constructor (
        string memory name,
        string memory symbol,
        uint8 decimals,
        uint256 initialBalance,
        address payable feeReceiver
    )
        BEP20(name, symbol)
        ServicePayer(feeReceiver, "StandardBEP20")
        payable
    {
        require(initialBalance > 0, "StandardBEP20: supply cannot be zero");

        _setupDecimals(decimals);
        _mint(_msgSender(), initialBalance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint8","name":"decimals","type":"uint8"},{"internalType":"uint256","name":"initialBalance","type":"uint256"},{"internalType":"address payable","name":"feeReceiver","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

6080604052604051620012a5380380620012a5833981810160405260a08110156200002957600080fd5b81019080805160405193929190846401000000008211156200004a57600080fd5b9083019060208201858111156200006057600080fd5b82516401000000008111828201881017156200007b57600080fd5b82525081516020918201929091019080838360005b83811015620000aa57818101518382015260200162000090565b50505050905090810190601f168015620000d85780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620000fc57600080fd5b9083019060208201858111156200011257600080fd5b82516401000000008111828201881017156200012d57600080fd5b82525081516020918201929091019080838360005b838110156200015c57818101518382015260200162000142565b50505050905090810190601f1680156200018a5780820380516001836020036101000a031916815260200191505b50604081815260208381015184830151606090950151848401909352600d84526c05374616e64617264424550323609c1b918401919091529450919250819086866000620001d762000393565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35081516200023690600490602085019062000527565b5080516200024c90600590602084019062000527565b50506006805460ff19166012179055506040516315b36b9760e11b81526020600482018181528351602484015283516001600160a01b03861693632b66d72e9334938793909283926044909101919085019080838360005b83811015620002be578181015183820152602001620002a4565b50505050905090810190601f168015620002ec5780820380516001836020036101000a031916815260200191505b50925050506000604051808303818588803b1580156200030b57600080fd5b505af115801562000320573d6000803e3d6000fd5b5050505050505060008211620003685760405162461bcd60e51b8152600401808060200182810382526024815260200180620012816024913960400191505060405180910390fd5b620003738362000397565b620003886200038162000393565b83620003ad565b5050505050620005d3565b3390565b6006805460ff191660ff92909216919091179055565b6001600160a01b03821662000409576040805162461bcd60e51b815260206004820152601f60248201527f42455032303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200041760008383620004c0565b6200043381600354620004c560201b620007f71790919060201c565b6003556001600160a01b03821660009081526001602090815260409091205462000468918390620007f7620004c5821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b60008282018381101562000520576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200055f5760008555620005aa565b82601f106200057a57805160ff1916838001178555620005aa565b82800160010185558215620005aa579182015b82811115620005aa5782518255916020019190600101906200058d565b50620005b8929150620005bc565b5090565b5b80821115620005b85760008155600101620005bd565b610c9e80620005e36000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d7146102b5578063a9059cbb146102e1578063dd62ed3e1461030d578063f2fde38b1461033b576100f5565b8063715018a614610277578063893d20e8146102815780638da5cb5b146102a557806395d89b41146102ad576100f5565b806323b872dd116100d357806323b872dd146101d1578063313ce56714610207578063395093511461022557806370a0823114610251576100f5565b806306fdde03146100fa578063095ea7b31461017757806318160ddd146101b7575b600080fd5b610102610361565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561018d57600080fd5b506001600160a01b0381351690602001356103f7565b604080519115158252519081900360200190f35b6101bf610414565b60408051918252519081900360200190f35b6101a3600480360360608110156101e757600080fd5b506001600160a01b0381358116916020810135909116906040013561041a565b61020f6104a1565b6040805160ff9092168252519081900360200190f35b6101a36004803603604081101561023b57600080fd5b506001600160a01b0381351690602001356104aa565b6101bf6004803603602081101561026757600080fd5b50356001600160a01b03166104f8565b61027f610513565b005b6102896105c7565b604080516001600160a01b039092168252519081900360200190f35b6102896105d6565b6101026105e5565b6101a3600480360360408110156102cb57600080fd5b506001600160a01b038135169060200135610646565b6101a3600480360360408110156102f757600080fd5b506001600160a01b0381351690602001356106ae565b6101bf6004803603604081101561032357600080fd5b506001600160a01b03813581169160200135166106c2565b61027f6004803603602081101561035157600080fd5b50356001600160a01b03166106ed565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103ed5780601f106103c2576101008083540402835291602001916103ed565b820191906000526020600020905b8154815290600101906020018083116103d057829003601f168201915b5050505050905090565b600061040b610404610858565b848461085c565b50600192915050565b60035490565b6000610427848484610948565b61049784610433610858565b61049285604051806060016040528060288152602001610bb1602891396001600160a01b038a16600090815260026020526040812090610471610858565b6001600160a01b031681526020810191909152604001600020549190610aa5565b61085c565b5060019392505050565b60065460ff1690565b600061040b6104b7610858565b8461049285600260006104c8610858565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906107f7565b6001600160a01b031660009081526001602052604090205490565b61051b610858565b6000546001600160a01b0390811691161461057d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105d16105d6565b905090565b6000546001600160a01b031690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103ed5780601f106103c2576101008083540402835291602001916103ed565b600061040b610653610858565b8461049285604051806060016040528060258152602001610c22602591396002600061067d610858565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610aa5565b600061040b6106bb610858565b8484610948565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6106f5610858565b6000546001600160a01b03908116911614610757576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661079c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b8b6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610851576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166108a15760405162461bcd60e51b8152600401808060200182810382526024815260200180610b676024913960400191505060405180910390fd5b6001600160a01b0382166108e65760405162461bcd60e51b8152600401808060200182810382526022815260200180610c476022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661098d5760405162461bcd60e51b8152600401808060200182810382526025815260200180610b426025913960400191505060405180910390fd5b6001600160a01b0382166109d25760405162461bcd60e51b8152600401808060200182810382526023815260200180610bff6023913960400191505060405180910390fd5b6109dd838383610b3c565b610a1a81604051806060016040528060268152602001610bd9602691396001600160a01b0386166000908152600160205260409020549190610aa5565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610a4990826107f7565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b345760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610af9578181015183820152602001610ae1565b50505050905090810190601f168015610b265780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b50505056fe42455032303a207472616e736665722066726f6d20746865207a65726f206164647265737342455032303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a207472616e7366657220746f20746865207a65726f206164647265737342455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a20617070726f766520746f20746865207a65726f2061646472657373a26469706673582212203bf0a484d441cd56e901cb6c778a881a9392b0b0bc333d2e19b06114bf340d2364736f6c634300070600335374616e6461726442455032303a20737570706c792063616e6e6f74206265207a65726f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000001ce6597bab219e627cc54ecd8b6bd613ddd5b4a100000000000000000000000000000000000000000000000000000000000000145374616e6461726442455032302076312e302e3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055354414e44000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

24475:506:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13838:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16714:169;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16714:169:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;14940:100;;;:::i;:::-;;;;;;;;;;;;;;;;16246:321;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16246:321:0;;;;;;;;;;;;;;;;;:::i;14783:92::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17506:218;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17506:218:0;;;;;;;;:::i;15103:119::-;;;;;;;;;;;;;;;;-1:-1:-1;15103:119:0;-1:-1:-1;;;;;15103:119:0;;:::i;2747:148::-;;;:::i;:::-;;15284:92;;;:::i;:::-;;;;-1:-1:-1;;;;;15284:92:0;;;;;;;;;;;;;;2105:79;;;:::i;14049:96::-;;;:::i;18227:269::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18227:269:0;;;;;;;;:::i;15589:175::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15589:175:0;;;;;;;;:::i;16946:151::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16946:151:0;;;;;;;;;;:::i;3050:244::-;;;;;;;;;;;;;;;;-1:-1:-1;3050:244:0;-1:-1:-1;;;;;3050:244:0;;:::i;13838:92::-;13917:5;13910:12;;;;;;;;-1:-1:-1;;13910:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13884:13;;13910:12;;13917:5;;13910:12;;13917:5;13910:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13838:92;:::o;16714:169::-;16797:4;16814:39;16823:12;:10;:12::i;:::-;16837:7;16846:6;16814:8;:39::i;:::-;-1:-1:-1;16871:4:0;16714:169;;;;:::o;14940:100::-;15020:12;;14940:100;:::o;16246:321::-;16352:4;16369:36;16379:6;16387:9;16398:6;16369:9;:36::i;:::-;16416:121;16425:6;16433:12;:10;:12::i;:::-;16447:89;16485:6;16447:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16447:19:0;;;;;;:11;:19;;;;;;16467:12;:10;:12::i;:::-;-1:-1:-1;;;;;16447:33:0;;;;;;;;;;;;-1:-1:-1;16447:33:0;;;:89;:37;:89::i;:::-;16416:8;:121::i;:::-;-1:-1:-1;16555:4:0;16246:321;;;;;:::o;14783:92::-;14858:9;;;;14783:92;:::o;17506:218::-;17594:4;17611:83;17620:12;:10;:12::i;:::-;17634:7;17643:50;17682:10;17643:11;:25;17655:12;:10;:12::i;:::-;-1:-1:-1;;;;;17643:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;17643:25:0;;;:34;;;;;;;;;;;:38;:50::i;15103:119::-;-1:-1:-1;;;;;15196:18:0;15169:7;15196:18;;;:9;:18;;;;;;;15103:119::o;2747:148::-;2327:12;:10;:12::i;:::-;2317:6;;-1:-1:-1;;;;;2317:6:0;;;:22;;;2309:67;;;;;-1:-1:-1;;;2309:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2854:1:::1;2838:6:::0;;2817:40:::1;::::0;-1:-1:-1;;;;;2838:6:0;;::::1;::::0;2817:40:::1;::::0;2854:1;;2817:40:::1;2885:1;2868:19:::0;;-1:-1:-1;;;;;;2868:19:0::1;::::0;;2747:148::o;15284:92::-;15334:7;15361;:5;:7::i;:::-;15354:14;;15284:92;:::o;2105:79::-;2143:7;2170:6;-1:-1:-1;;;;;2170:6:0;2105:79;:::o;14049:96::-;14130:7;14123:14;;;;;;;;-1:-1:-1;;14123:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14097:13;;14123:14;;14130:7;;14123:14;;14130:7;14123:14;;;;;;;;;;;;;;;;;;;;;;;;18227:269;18320:4;18337:129;18346:12;:10;:12::i;:::-;18360:7;18369:96;18408:15;18369:96;;;;;;;;;;;;;;;;;:11;:25;18381:12;:10;:12::i;:::-;-1:-1:-1;;;;;18369:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;18369:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;15589:175::-;15675:4;15692:42;15702:12;:10;:12::i;:::-;15716:9;15727:6;15692:9;:42::i;16946:151::-;-1:-1:-1;;;;;17062:18:0;;;17035:7;17062:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16946:151::o;3050:244::-;2327:12;:10;:12::i;:::-;2317:6;;-1:-1:-1;;;;;2317:6:0;;;:22;;;2309:67;;;;;-1:-1:-1;;;2309:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3139:22:0;::::1;3131:73;;;;-1:-1:-1::0;;;3131:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3241:6;::::0;;3220:38:::1;::::0;-1:-1:-1;;;;;3220:38:0;;::::1;::::0;3241:6;::::1;::::0;3220:38:::1;::::0;::::1;3269:6;:17:::0;;-1:-1:-1;;;;;;3269:17:0::1;-1:-1:-1::0;;;;;3269:17:0;;;::::1;::::0;;;::::1;::::0;;3050:244::o;4226:181::-;4284:7;4316:5;;;4340:6;;;;4332:46;;;;;-1:-1:-1;;;4332:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4398:1;4226:181;-1:-1:-1;;;4226:181:0:o;657:106::-;745:10;657:106;:::o;21374:346::-;-1:-1:-1;;;;;21476:19:0;;21468:68;;;;-1:-1:-1;;;21468:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21555:21:0;;21547:68;;;;-1:-1:-1;;;21547:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21628:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;21680:32;;;;;;;;;;;;;;;;;21374:346;;;:::o;18986:539::-;-1:-1:-1;;;;;19092:20:0;;19084:70;;;;-1:-1:-1;;;19084:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19173:23:0;;19165:71;;;;-1:-1:-1;;;19165:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19249:47;19270:6;19278:9;19289:6;19249:20;:47::i;:::-;19329:71;19351:6;19329:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19329:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;19309:17:0;;;;;;;:9;:17;;;;;;:91;;;;19434:20;;;;;;;:32;;19459:6;19434:24;:32::i;:::-;-1:-1:-1;;;;;19411:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;19482:35;;;;;;;19411:20;;19482:35;;;;;;;;;;;;;18986:539;;;:::o;5129:192::-;5215:7;5251:12;5243:6;;;;5235:29;;;;-1:-1:-1;;;5235:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5287:5:0;;;5129:192::o;22745:92::-;;;;:::o

Swarm Source

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