Contract 0xeDe2F059545e8Cde832d8Da3985cAacf795B8765

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf68a59fdaf742a8b090bf8c9368b059cf32f93ee685a8f9d994f6574b7bb8c5dTransfer112818152021-09-27 14:36:553 hrs 22 mins ago0x9d66121914f6548874fc2fef74124df8c0b9d7bf IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000186125
0xacdc38ca48698e5d016a19f581bcea47f7298105dc0fde1b75250eb4fffff86eApprove112788682021-09-27 12:09:255 hrs 50 mins ago0x272c04291ec9304dc2b86f2a6b0dfbe761b0a5bc IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000221155
0xf088ec681cafdf9ece18a42d3502c3a033204c71d7667c4c228e4da09b2be485Approve112709702021-09-27 5:28:5412 hrs 30 mins ago0x587c35000c0afe3513ef9554fbb25c10bc67463f IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0x4e881fa4e94f485caadee7450c962dc1e47710fbd229ce95c9bbfa4afce74521Approve112702552021-09-27 4:52:4513 hrs 7 mins ago0xb30d8a5b198a043d44dc852d79619dc3f7082fa0 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0x3477c99e5b9ace81adb7ffa809d199ab25cbb9605af297b9a8b35787e4f9e923Approve112622352021-09-26 22:05:3719 hrs 54 mins ago0xfc9c5b3b618a83c41ad9bd3b198ca7b15832f608 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0x7294c382b465685c7b7b9b75a9f642a657eb49f666052c5156f7b989c93700b6Approve112588602021-09-26 19:15:1522 hrs 44 mins ago0xe934d92cebcd9de3d4c81252c2550f345eb952d2 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0x2e1648c783b3ed596ab993cdc6c5b80a1e0be832f27279e1a697fb583bf468d8Transfer112561822021-09-26 17:00:421 day 59 mins ago0x0f587489ac197d128f78ba78459a001355e2f808 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000186065
0x3cb08a898dc4a9532bc7c7ee243c3f2871408296d2003bd68512ba45d5dc0156Approve112488772021-09-26 10:51:511 day 7 hrs ago0x0a8712689fef097ae59388d8f6d109767bfa0d6f IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0xc1606c45b68063dcc2659f939450645ffec53acbf9cbda05a1c7cbf443441ad2Approve112485792021-09-26 10:36:531 day 7 hrs ago0x5d4c6ceab47118e967a747f017f539561678450b IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0xc8c5a4f8d62a3768736c6f21d8a00096643a9997afa700e79a902eb6d628450eApprove112473892021-09-26 9:36:551 day 8 hrs ago0xae3a13b42e020226ca163e2709c451636ed2363c IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222055
0xb7d0c8f8a57139e5dbf0c3ceb879675e3cf2d26017e5de269931cd81b6013c97Approve112461012021-09-26 8:32:091 day 9 hrs ago0xce772b12ac7ba71fb4d0523ba055a95ae6f23a90 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0xd7e8f66ca1050b50ac99fff80633dcfd1cbc921cb7584ad454d4a8495adb50b5Approve112458942021-09-26 8:21:481 day 9 hrs ago0xb1b9b4bbe8a92d535f5df2368e7fd2ecfb3a1950 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000221335
0xafddcd9894346ee2a177490753fda7c56714908301709ffd65c2a644c61bf66aTransfer112447582021-09-26 7:24:591 day 10 hrs ago0x99328da0672f827f3e7a717f3f796eb34731136a IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000185945
0x0efeaa0ca955e7543c0081145956c5e3b189aa4d0bbccf23ac20d05f189e931dApprove112394092021-09-26 2:54:011 day 15 hrs ago0xb50cf67bff376fc859227ee8d128dec013677947 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0x0504006801591ede3a7237bd9ddfb4ed530cdadd4c178ff24a4ded6e45885daaApprove112351612021-09-25 23:21:321 day 18 hrs ago0x7b9ceee6bd2ac2777fc02b13c04944ac01485b51 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0xa3440a769c770b72670a65c8970917af5c7ee8915e837af66b513012ec4088fdApprove112350952021-09-25 23:18:121 day 18 hrs ago0xeb9eeebe336fef8c01b61f5476fcf4f65fd36072 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0xd6e9024cca50ec88bf06028179ddc24a18b1f76c59a89cb0f86fcd91c1230bfaApprove112336262021-09-25 22:04:451 day 19 hrs ago0x6bef316d06d904826015dca25a72612b9e4963e7 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0x9e71058a143f2b780e2b20ca34281dcbe3262206c3b3644dd4ec493fccdf532fApprove112318862021-09-25 20:37:451 day 21 hrs ago0x3a90b2dfb33052eed164d56c64fa951027418abf IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000177317
0x03832315ff356d6a39f6c110d53d0933b8910f029101ddab75d814922f0f3b2bApprove112318832021-09-25 20:37:361 day 21 hrs ago0x3a90b2dfb33052eed164d56c64fa951027418abf IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000311717
0x90d4392d79f0349b53da0093abc052696e98b33afac289171edaedad78ed05d3Approve112317212021-09-25 20:29:301 day 21 hrs ago0x5ed26dabd37ff03657cb23c534761b8a885e7a8a IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0xf6bb436b0e05d63006a03fc92d81077da502d2551cfe9dfb4ed5d3aa250032d8Approve112221192021-09-25 12:24:302 days 5 hrs ago0x43199baa73a5de70ba01305d09055e93aaff5347 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0x17c62289d5856ab69dea06e653e92e08b16c3fd6935c1ce3b454c5f333fa2bfeTransfer112178182021-09-25 8:49:222 days 9 hrs ago0x3151cc87100f6dee680df6b54673957832d806bf IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000186005
0x7e2cab7c76726449a97e89e2165d4b701b3faa514edf953a7cb1b6e1f575cdbdTransfer112177742021-09-25 8:47:102 days 9 hrs ago0x3151cc87100f6dee680df6b54673957832d806bf IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000261005
0xe5033d7b0437c059807e817e702c1931dd624063d25dcfc45362c0641b029512Approve112161422021-09-25 7:24:522 days 10 hrs ago0xb842c69e4f3e06e3ad4f8ec89e3d52dbb75533c2 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
0xb0f5fd2e08484331da93b0ae79be9d6856619131fbb56fcc7d00fa342945c9a1Approve112095372021-09-25 1:52:572 days 16 hrs ago0x905c8b4eecfde4159d79be4706ae3e56654d1c62 IN  0xede2f059545e8cde832d8da3985caacf795b87650 BNB0.000222655
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x92ae611f26bfba052ec2b08e24ff44bb60e52d1e175a8c1e6083376d610be89254674762021-03-07 8:46:45204 days 9 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x92ae611f26bfba052ec2b08e24ff44bb60e52d1e175a8c1e6083376d610be89254674762021-03-07 8:46:45204 days 9 hrs ago PancakeSwap: Router 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0xa18c026dfab62f2f30b80fc45059745d39e46324cf5c6e588b0f082e097831df54674562021-03-07 8:45:45204 days 9 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0xa18c026dfab62f2f30b80fc45059745d39e46324cf5c6e588b0f082e097831df54674562021-03-07 8:45:45204 days 9 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0xbc910594629e866a44a435fe6f47f29358b955cfd1763588a3137d52dacb2ac154671142021-03-07 8:28:39204 days 9 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x5746d45e0181b0d669bda39dfdf377e7f1a4ee1b496b1a877b7840735be5c89754665162021-03-07 7:58:45204 days 10 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x136f252e09f4f62afccc96052683f1f744f7dac2ced5622415e138a3da4f841954659102021-03-07 7:28:27204 days 10 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x136f252e09f4f62afccc96052683f1f744f7dac2ced5622415e138a3da4f841954659102021-03-07 7:28:27204 days 10 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0xbcd6c1bafad2625cb097cad902878e16cc2462c6a503a01a37347f5e042e4aa054485032021-03-06 16:57:07205 days 1 hr ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0xbcd6c1bafad2625cb097cad902878e16cc2462c6a503a01a37347f5e042e4aa054485032021-03-06 16:57:07205 days 1 hr ago PancakeSwap: Router 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x27af361afff2440236dc4106801e8bacdc36efe49209e5c4db510dd07bb1ae4a54484972021-03-06 16:56:49205 days 1 hr ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x27af361afff2440236dc4106801e8bacdc36efe49209e5c4db510dd07bb1ae4a54484972021-03-06 16:56:49205 days 1 hr ago PancakeSwap: Router 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x87fde4f5961099e7b117f7d39ade457198995f4b1ef45e0862865f74c78e089854459162021-03-06 14:47:15205 days 3 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x87fde4f5961099e7b117f7d39ade457198995f4b1ef45e0862865f74c78e089854459162021-03-06 14:47:15205 days 3 hrs ago PancakeSwap: Router 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x566d89defaf72254d84ce8bdcaf70c230589420985416bf955d7442bf5f32f4854454382021-03-06 14:23:21205 days 3 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x566d89defaf72254d84ce8bdcaf70c230589420985416bf955d7442bf5f32f4854454382021-03-06 14:23:21205 days 3 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0xcf5e4189b97a7a46e7a7d8258022a8edeb78f9b5aa385e073c119ab4e1bd87c254451682021-03-06 14:09:51205 days 3 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0xcf5e4189b97a7a46e7a7d8258022a8edeb78f9b5aa385e073c119ab4e1bd87c254451682021-03-06 14:09:51205 days 3 hrs ago PancakeSwap: Router 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x2f7d2a88b2fcd8a654b8ccd9c793b03239c97399191f47fc47cddafe4410534254442312021-03-06 13:23:00205 days 4 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x2f7d2a88b2fcd8a654b8ccd9c793b03239c97399191f47fc47cddafe4410534254442312021-03-06 13:23:00205 days 4 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x01ac86951b1ec57ec0a5048e0ac5295ae114f867e16c99591b2e2d32efe5801854180622021-03-05 15:34:22206 days 2 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x01ac86951b1ec57ec0a5048e0ac5295ae114f867e16c99591b2e2d32efe5801854180622021-03-05 15:34:22206 days 2 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x9375852791b409227c6adb251a6ce496e8d8e77a8f0ba62e10e0628bf5dc375954177412021-03-05 15:18:19206 days 2 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x9375852791b409227c6adb251a6ce496e8d8e77a8f0ba62e10e0628bf5dc375954177412021-03-05 15:18:19206 days 2 hrs ago PancakeSwap: Router 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
0x995bbf6ec48745254e1cc7fc2cbd1c7e2863225071e3dedd97aed75cf97734f553931262021-03-04 18:47:33206 days 23 hrs ago PancakeSwap: ECO 3 0xede2f059545e8cde832d8da3985caacf795b87650 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EcoTokenContract

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-03-04
*/

pragma solidity 0.5.16;

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

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

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

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

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

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

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

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

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

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

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

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

/*
 * @dev 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.
 */
contract Context {
  // Empty internal constructor, to prevent people from mistakenly deploying
  // an instance of this contract, which should be used via inheritance.
  constructor () internal { }

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

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

/**
 * @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) {
    // Solidity only automatically asserts when dividing by 0
    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;
  }
}

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

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

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

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

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

  /**
   * @dev Leaves the contract without owner. It will not be possible to call
   * `onlyOwner` functions anymore. Can only be called by the current owner.
   *
   * NOTE: Renouncing ownership will leave the contract without an owner,
   * thereby removing any functionality that is only available to the owner.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipTransferred(_owner, address(0));
    _owner = address(0);
  }

  /**
   * @dev Transfers ownership of the contract to a new account (`newOwner`).
   * Can only be called by the current owner.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    _transferOwnership(newOwner);
  }

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

contract BEP20TokenInterface{
    function transfer(address recipient, uint256 amount) external returns (bool) {}
}

contract EcoTokenContract is Context, IBEP20, Ownable {
  using SafeMath for uint256;

  mapping (address => uint256) private _balances;

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

  uint256 private _totalSupply;
  uint8 private _decimals;
  string private _symbol;
  string private _name;
  
  constructor() public {
    _name = "EcoToken";
    _symbol = "ECO";
    _decimals = 18;
    _maxSupply = 20000000000e18;
  }
  
  bool private _frozen;
  uint256 private _maxSupply;

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

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

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

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

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

  /**
   * @dev See {BEP20-balanceOf}.
   */
  function balanceOf(address account) external view returns (uint256) {
    return _balances[account];
  }
  
  /**
   * @dev Returns if transactions on the contract are frozen
   */
  function frozen() external view returns (bool) {
    return _frozen;
  }

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

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

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

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

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

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

  /**
   * @dev Creates `amount` tokens and assigns them to `msg.sender`, increasing
   * the total supply.
   *
   * Requirements
   *
   * - `msg.sender` must be the token owner
   */
  function mint(uint256 amount) public onlyOwner returns (bool) {
    _mint(_msgSender(), amount);
    return true;
  }
  
  /**
   * @dev Destroys `amount` tokens from `msg.sender`, decreasing
   * the total supply.
   *
   * Requirements
   *
   * - `msg.sender` must be the token owner
   */
  function burn(uint256 amount) public returns (bool) {
    _burn(_msgSender(), amount);
    return true;
  }
  
  /**
   * @dev Sets _frozen to desired value, which enables / disables transfers 
   * on the contract 
   *
   * Requirements
   *
   * - `msg.sender` must be the token owner
   */
  function freeze(bool value) public onlyOwner returns (bool) {
    _frozen = value;
    return true;
  }
  
  /**
   * @dev Allows Owner to send other tokens (`tokenAddress`), that were 
   * mistakenly sent to this smart contract. 
   * Owner specifies `tokenAddress`, `to`, `amount`
   *
   * Requirements
   *
   * - `msg.sender` must be the token owner
   * - `tokenAddress` must be bep20 compatible
   * - `amount` must be same or bigger than the balance
   */
  function salvageTokensFromContract(address tokenAddress, address to, uint amount) onlyOwner public {
    BEP20TokenInterface(tokenAddress).transfer(to, amount);
  }
  
  /**
   * @dev Allows Owner to wipe contract data
   *
   * Requirements
   *
   * - `msg.sender` must be the token owner
   */
  function killContract() onlyOwner public {
    selfdestruct(_msgSender());
  }
  

  /**
   * @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`.
   * - `_frozen` should be enabled (true)
   */
  function _transfer(address sender, address recipient, uint256 amount) internal {
    require(sender != address(0), "BEP20: transfer from the zero address");
    require(recipient != address(0), "BEP20: transfer to the zero address");
    require(_frozen == false, "Transfers are disabled");

    _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.
   * - `ammount` should be so it does not overflow maxSupply
   */
  function _mint(address account, uint256 amount) internal {
    require(account != address(0), "BEP20: mint to the zero address");
    require(_totalSupply.add(amount) <= _maxSupply, "Mint would exceed max supply.");
    
    _totalSupply = _totalSupply.add(amount);
    _balances[account] = _balances[account].add(amount);
    emit Transfer(address(0), account, amount);
  }

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

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"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":[{"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"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"freeze","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"frozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"killContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"salvageTokensFromContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506000620000246200019360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600881526020017f45636f546f6b656e000000000000000000000000000000000000000000000000815250600690805190602001906200010f9291906200019b565b506040518060400160405280600381526020017f45434f0000000000000000000000000000000000000000000000000000000000815250600590805190602001906200015d9291906200019b565b506012600460006101000a81548160ff021916908360ff1602179055506b409f9cbc7c4a04c2200000006008819055506200024a565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001de57805160ff19168380011785556200020f565b828001600101855582156200020f579182015b828111156200020e578251825591602001919060010190620001f1565b5b5090506200021e919062000222565b5090565b6200024791905b808211156200024357600081600090555060010162000229565b5090565b90565b61215b806200025a6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a0929cda1161007c578063a0929cda14610584578063a457c2d7146105f2578063a9059cbb14610658578063b5bf15e5146106be578063dd62ed3e14610706578063f2fde38b1461077e57610137565b8063715018a61461041d578063893d20e8146104275780638da5cb5b1461047157806395d89b41146104bb578063a0712d681461053e57610137565b806323b872dd116100ff57806323b872dd1461026f578063313ce567146102f5578063395093511461031957806342966c681461037f57806370a08231146103c557610137565b8063054f7d9c1461013c57806306fdde031461015e578063095ea7b3146101e157806318160ddd146102475780631c02708d14610265575b600080fd5b6101446107c2565b604051808215151515815260200191505060405180910390f35b6101666107d9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a657808201518184015260208101905061018b565b50505050905090810190601f1680156101d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022d600480360360408110156101f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061087b565b604051808215151515815260200191505060405180910390f35b61024f610899565b6040518082815260200191505060405180910390f35b61026d6108a3565b005b6102db6004803603606081101561028557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061098c565b604051808215151515815260200191505060405180910390f35b6102fd610a65565b604051808260ff1660ff16815260200191505060405180910390f35b6103656004803603604081101561032f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a7c565b604051808215151515815260200191505060405180910390f35b6103ab6004803603602081101561039557600080fd5b8101908080359060200190929190505050610b2f565b604051808215151515815260200191505060405180910390f35b610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b4b565b6040518082815260200191505060405180910390f35b610425610b94565b005b61042f610d1c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610479610d2b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104c3610d54565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105035780820151818401526020810190506104e8565b50505050905090810190601f1680156105305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61056a6004803603602081101561055457600080fd5b8101908080359060200190929190505050610df6565b604051808215151515815260200191505060405180910390f35b6105f06004803603606081101561059a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610edb565b005b61063e6004803603604081101561060857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061106c565b604051808215151515815260200191505060405180910390f35b6106a46004803603604081101561066e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611139565b604051808215151515815260200191505060405180910390f35b6106ec600480360360208110156106d457600080fd5b81019080803515159060200190929190505050611157565b604051808215151515815260200191505060405180910390f35b6107686004803603604081101561071c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611245565b6040518082815260200191505060405180910390f35b6107c06004803603602081101561079457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112cc565b005b6000600760009054906101000a900460ff16905090565b606060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b5050505050905090565b600061088f6108886113a1565b84846113a9565b6001905092915050565b6000600354905090565b6108ab6113a1565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6109746113a1565b73ffffffffffffffffffffffffffffffffffffffff16ff5b60006109998484846115a0565b610a5a846109a56113a1565b610a558560405180606001604052806028815260200161202c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a0b6113a1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e39092919063ffffffff16565b6113a9565b600190509392505050565b6000600460009054906101000a900460ff16905090565b6000610b25610a896113a1565b84610b208560026000610a9a6113a1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119a390919063ffffffff16565b6113a9565b6001905092915050565b6000610b42610b3c6113a1565b83611a2b565b60019050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b9c6113a1565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610d26610d2b565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dec5780601f10610dc157610100808354040283529160200191610dec565b820191906000526020600020905b815481529060010190602001808311610dcf57829003601f168201915b5050505050905090565b6000610e006113a1565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610ed2610ecc6113a1565b83611be5565b60019050919050565b610ee36113a1565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561102b57600080fd5b505af115801561103f573d6000803e3d6000fd5b505050506040513d602081101561105557600080fd5b810190808051906020019092919050505050505050565b600061112f6110796113a1565b8461112a8560405180606001604052806025815260200161209d60259139600260006110a36113a1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e39092919063ffffffff16565b6113a9565b6001905092915050565b600061114d6111466113a1565b84846115a0565b6001905092915050565b60006111616113a1565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611222576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81600760006101000a81548160ff02191690831515021790555060019050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112d46113a1565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611395576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61139e81611e2e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561142f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611fe26024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806121056022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611626576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611fbd6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061207a6023913960400191505060405180910390fd5b60001515600760009054906101000a900460ff16151514611735576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5472616e7366657273206172652064697361626c65640000000000000000000081525060200191505060405180910390fd5b6117a18160405180606001604052806026815260200161205460269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e39092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061183681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119a390919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561195557808201518184015260208101905061193a565b50505050905090810190601f1680156119825780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611a21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ab1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806120c26021913960400191505060405180910390fd5b611b1d816040518060600160405280602281526020016120e360229139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e39092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b7581600354611f7290919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f42455032303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b600854611ca0826003546119a390919063ffffffff16565b1115611d14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4d696e7420776f756c6420657863656564206d617820737570706c792e00000081525060200191505060405180910390fd5b611d29816003546119a390919063ffffffff16565b600381905550611d8181600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119a390919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611eb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806120066026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611fb483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118e3565b90509291505056fe42455032303a207472616e736665722066726f6d20746865207a65726f206164647265737342455032303a20617070726f76652066726f6d20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a207472616e7366657220746f20746865207a65726f206164647265737342455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e2066726f6d20746865207a65726f206164647265737342455032303a206275726e20616d6f756e7420657863656564732062616c616e636542455032303a20617070726f766520746f20746865207a65726f2061646472657373a265627a7a7231582077a35a39dad77e38e3c5927abfc33a4b641745234a36875008e091864c6205f264736f6c63430005100032

Deployed ByteCode Sourcemap

11427:9556:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11427:9556:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12890:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12424:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12424:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13622:144;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13622:144:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12559:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17418:80;;;:::i;:::-;;14211:292;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14211:292:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12152:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14885:200;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14885:200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16316:110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16316:110:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12700:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12700:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10608:130;;;:::i;:::-;;12014:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10006:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12288:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12288:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16008:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16008:120:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17108:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17108:166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15557:251;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15557:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13158:150;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13158:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16625:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16625:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13362:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13362:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10883:103;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10883:103:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12890:74;12931:4;12951:7;;;;;;;;;;;12944:14;;12890:74;:::o;12424:79::-;12463:13;12492:5;12485:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12424:79;:::o;13622:144::-;13690:4;13703:39;13712:12;:10;:12::i;:::-;13726:7;13735:6;13703:8;:39::i;:::-;13756:4;13749:11;;13622:144;;;;:::o;12559:87::-;12605:7;12628:12;;12621:19;;12559:87;:::o;17418:80::-;10210:12;:10;:12::i;:::-;10200:22;;:6;;;;;;;;;;;:22;;;10192:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17479:12;:10;:12::i;:::-;17466:26;;;14211:292;14302:4;14315:36;14325:6;14333:9;14344:6;14315:9;:36::i;:::-;14358:121;14367:6;14375:12;:10;:12::i;:::-;14389:89;14427:6;14389:89;;;;;;;;;;;;;;;;;:11;:19;14401:6;14389:19;;;;;;;;;;;;;;;:33;14409:12;:10;:12::i;:::-;14389:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14358:8;:121::i;:::-;14493:4;14486:11;;14211:292;;;;;:::o;12152:79::-;12195:5;12216:9;;;;;;;;;;;12209:16;;12152:79;:::o;14885:200::-;14965:4;14978:83;14987:12;:10;:12::i;:::-;15001:7;15010:50;15049:10;15010:11;:25;15022:12;:10;:12::i;:::-;15010:25;;;;;;;;;;;;;;;:34;15036:7;15010:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;14978:8;:83::i;:::-;15075:4;15068:11;;14885:200;;;;:::o;16316:110::-;16362:4;16375:27;16381:12;:10;:12::i;:::-;16395:6;16375:5;:27::i;:::-;16416:4;16409:11;;16316:110;;;:::o;12700:106::-;12759:7;12782:9;:18;12792:7;12782:18;;;;;;;;;;;;;;;;12775:25;;12700:106;;;:::o;10608:130::-;10210:12;:10;:12::i;:::-;10200:22;;:6;;;;;;;;;;;:22;;;10192:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10703:1;10666:40;;10687:6;;;;;;;;;;;10666:40;;;;;;;;;;;;10730:1;10713:6;;:19;;;;;;;;;;;;;;;;;;10608:130::o;12014:79::-;12057:7;12080;:5;:7::i;:::-;12073:14;;12014:79;:::o;10006:73::-;10044:7;10067:6;;;;;;;;;;;10060:13;;10006:73;:::o;12288:83::-;12329:13;12358:7;12351:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12288:83;:::o;16008:120::-;16064:4;10210:12;:10;:12::i;:::-;10200:22;;:6;;;;;;;;;;;:22;;;10192:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16077:27;16083:12;:10;:12::i;:::-;16097:6;16077:5;:27::i;:::-;16118:4;16111:11;;16008:120;;;:::o;17108:166::-;10210:12;:10;:12::i;:::-;10200:22;;:6;;;;;;;;;;;:22;;;10192:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17234:12;17214:42;;;17257:2;17261:6;17214:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17214:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17214:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17214:54:0;;;;;;;;;;;;;;;;;17108:166;;;:::o;15557:251::-;15642:4;15655:129;15664:12;:10;:12::i;:::-;15678:7;15687:96;15726:15;15687:96;;;;;;;;;;;;;;;;;:11;:25;15699:12;:10;:12::i;:::-;15687:25;;;;;;;;;;;;;;;:34;15713:7;15687:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;15655:8;:129::i;:::-;15798:4;15791:11;;15557:251;;;;:::o;13158:150::-;13229:4;13242:42;13252:12;:10;:12::i;:::-;13266:9;13277:6;13242:9;:42::i;:::-;13298:4;13291:11;;13158:150;;;;:::o;16625:106::-;16679:4;10210:12;:10;:12::i;:::-;10200:22;;:6;;;;;;;;;;;:22;;;10192:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16702:5;16692:7;;:15;;;;;;;;;;;;;;;;;;16721:4;16714:11;;16625:106;;;:::o;13362:130::-;13436:7;13459:11;:18;13471:5;13459:18;;;;;;;;;;;;;;;:27;13478:7;13459:27;;;;;;;;;;;;;;;;13452:34;;13362:130;;;;:::o;10883:103::-;10210:12;:10;:12::i;:::-;10200:22;;:6;;;;;;;;;;;:22;;;10192:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10952:28;10971:8;10952:18;:28::i;:::-;10883:103;:::o;3703:92::-;3748:15;3779:10;3772:17;;3703:92;:::o;20266:320::-;20373:1;20356:19;;:5;:19;;;;20348:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20450:1;20431:21;;:7;:21;;;;20423:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20530:6;20500:11;:18;20512:5;20500:18;;;;;;;;;;;;;;;:27;20519:7;20500:27;;;;;;;;;;;;;;;:36;;;;20564:7;20548:32;;20557:5;20548:32;;;20573:6;20548:32;;;;;;;;;;;;;;;;;;20266:320;;;:::o;18005:507::-;18117:1;18099:20;;:6;:20;;;;18091:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18197:1;18176:23;;:9;:23;;;;18168:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18265:5;18254:16;;:7;;;;;;;;;;;:16;;;18246:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18326:71;18348:6;18326:71;;;;;;;;;;;;;;;;;:9;:17;18336:6;18326:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;18306:9;:17;18316:6;18306:17;;;;;;;;;;;;;;;:91;;;;18427:32;18452:6;18427:9;:20;18437:9;18427:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;18404:9;:20;18414:9;18404:20;;;;;;;;;;;;;;;:55;;;;18488:9;18471:35;;18480:6;18471:35;;;18499:6;18471:35;;;;;;;;;;;;;;;;;;18005:507;;;:::o;5662:178::-;5748:7;5777:1;5772;:6;;5780:12;5764:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5764:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5800:9;5816:1;5812;:5;5800:17;;5833:1;5826:8;;;5662:178;;;;;:::o;4835:167::-;4893:7;4909:9;4925:1;4921;:5;4909:17;;4946:1;4941;:6;;4933:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4995:1;4988:8;;;4835:167;;;;:::o;19524:330::-;19615:1;19596:21;;:7;:21;;;;19588:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19685:68;19708:6;19685:68;;;;;;;;;;;;;;;;;:9;:18;19695:7;19685:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;19664:9;:18;19674:7;19664:18;;;;;;;;;;;;;;;:89;;;;19775:24;19792:6;19775:12;;:16;;:24;;;;:::i;:::-;19760:12;:39;;;;19837:1;19811:37;;19820:7;19811:37;;;19841:6;19811:37;;;;;;;;;;;;;;;;;;19524:330;;:::o;18835:381::-;18926:1;18907:21;;:7;:21;;;;18899:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19007:10;;18979:24;18996:6;18979:12;;:16;;:24;;;;:::i;:::-;:38;;18971:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19079:24;19096:6;19079:12;;:16;;:24;;;;:::i;:::-;19064:12;:39;;;;19131:30;19154:6;19131:9;:18;19141:7;19131:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;19110:9;:18;19120:7;19110:18;;;;;;;;;;;;;;;:51;;;;19194:7;19173:37;;19190:1;19173:37;;;19203:6;19173:37;;;;;;;;;;;;;;;;;;18835:381;;:::o;11084:215::-;11174:1;11154:22;;:8;:22;;;;11146:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11260:8;11231:38;;11252:6;;;;;;;;;;;11231:38;;;;;;;;;;;;11285:8;11276:6;;:17;;;;;;;;;;;;;;;;;;11084:215;:::o;5257:130::-;5315:7;5338:43;5342:1;5345;5338:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5331:50;;5257:130;;;;:::o

Swarm Source

bzzr://77a35a39dad77e38e3c5927abfc33a4b641745234a36875008e091864c6205f2
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.