ETH Price: $3,125.65 (+0.93%)

Token

TUBE2 (TUBE2)
 

Overview

Max Total Supply

3,100,000 TUBE2

Holders

5,206

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 TUBE2

Value
$0.00
0xf2f5ec819d8613d293971fe3d1d104f16c155487
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TubeToken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 2 of 2: TubeToken.sol
pragma solidity ^0.6.12;

import './SafeMath.sol';

// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
abstract contract ERC20Interface {
  function totalSupply() public virtual view returns (uint);
  function balanceOf(address tokenOwner) public virtual view returns (uint balance);
  function allowance(address tokenOwner, address spender) public virtual view returns (uint remaining);
  function transfer(address to, uint tokens) public virtual returns (bool success);
  function approve(address spender, uint tokens) public virtual returns (bool success);
  function transferFrom(address from, address to, uint tokens) public virtual returns (bool success);

  event Transfer(address indexed from, address indexed to, uint tokens);
  event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

// ----------------------------------------------------------------------------
// Contract function to receive approval and execute function in one call
//
// Borrowed from MiniMeToken
// ----------------------------------------------------------------------------
abstract contract ApproveAndCallFallBack {
  function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public virtual;
}

// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
  address public owner;
  address public newOwner;

  event OwnershipTransferred(address indexed _from, address indexed _to);

  constructor() public {
      owner = msg.sender;
  }

  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address _newOwner) public onlyOwner {
    newOwner = _newOwner;
  }
  function acceptOwnership() public {
    require(msg.sender == newOwner);
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
    newOwner = address(0);
  }
}

// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and an
// initial fixed supply
// ----------------------------------------------------------------------------
contract TubeToken is ERC20Interface, Owned {
  using SafeMath for uint;

  address public chief; // the Tube Chief address

  string public symbol;
  string public  name;
  uint8 public decimals;
  uint public _totalSupply;

  mapping(address => uint) balances;
  mapping(address => mapping(address => uint)) allowed;

  // only cheif contract able to interact the important function !
  modifier onlyChief {
      require(chief != address(0), 'CHIEF MISSING');
      require(msg.sender == chief, 'ACCESS_FORBIDDEN');
      _;
  }

  // ------------------------------------------------------------------------
  // Constructor
  // ------------------------------------------------------------------------
  constructor() public {
    symbol   = "TUBE2";
    name     = "TUBE2";
    decimals = 18;
    _totalSupply    = 0 * 10**uint(decimals);
    balances[owner] = _totalSupply;
    emit Transfer(address(0), owner, _totalSupply);
  }

  // ------------------------------------------------------------------------
  // Total supply
  // ------------------------------------------------------------------------
  function totalSupply() public override view returns (uint) {
    return _totalSupply  - balances[address(0)];
  }

  // ------------------------------------------------------------------------
  // Get the token balance for account `tokenOwner`
  // ------------------------------------------------------------------------
  function balanceOf(address tokenOwner) public override view returns (uint balance) {
    return balances[tokenOwner];
  }

  // ------------------------------------------------------------------------
  // Transfer the balance from token owner's account to `to` account
  // - Owner's account must have sufficient balance to transfer
  // - 0 value transfers are allowed
  // ------------------------------------------------------------------------
  function transfer(address to, uint tokens) public override returns (bool success) {
    balances[msg.sender] = balances[msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    emit Transfer(msg.sender, to, tokens);
    return true;
  }

  // ------------------------------------------------------------------------
  // Token owner can approve for `spender` to transferFrom(...) `tokens`
  // from the token owner's account
  //
  // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
  // recommends that there are no checks for the approval double-spend attack
  // as this should be implemented in user interfaces
  // ------------------------------------------------------------------------
  function approve(address spender, uint tokens) public override returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    emit Approval(msg.sender, spender, tokens);
    return true;
  }

  // ------------------------------------------------------------------------
  // Transfer `tokens` from the `from` account to the `to` account
  //
  // The calling account must already have sufficient tokens approve(...)-d
  // for spending from the `from` account and
  // - From account must have sufficient balance to transfer
  // - Spender must have sufficient allowance to transfer
  // - 0 value transfers are allowed
  // ------------------------------------------------------------------------
  function transferFrom(address from, address to, uint tokens) public override returns (bool success) {
    balances[from] = balances[from].sub(tokens);
    allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    emit Transfer(from, to, tokens);
    return true;
  }

  // ------------------------------------------------------------------------
  // Returns the amount of tokens approved by the owner that can be
  // transferred to the spender's account
  // ------------------------------------------------------------------------
  function allowance(address tokenOwner, address spender) public view override returns (uint remaining) {
    return allowed[tokenOwner][spender];
  }

  // ------------------------------------------------------------------------
  // Token owner can approve for `spender` to transferFrom(...) `tokens`
  // from the token owner's account. The `spender` contract function
  // `receiveApproval(...)` is then executed
  // ------------------------------------------------------------------------
  function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    emit Approval(msg.sender, spender, tokens);
    ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
    return true;
  }

  // ------------------------------------------------------------------------
  // Update chief address from chief contract
  // ------------------------------------------------------------------------
  function updateChief(address _chief) public onlyOwner {
      chief = _chief;
  }

  // ------------------------------------------------------------------------
  // Mint token
  // ------------------------------------------------------------------------
  function mint(address _address, uint amount) public onlyOwner {
      _mint(_address, amount);
  }

  function farmMint(address _address, uint amount) external onlyChief {
      _mint(_address, amount);
  }

  function _mint(address account, uint256 amount) internal {
    require(account != address(0), "ERC20: mint to the zero address");
    _totalSupply = _totalSupply.add(amount);
    balances[account] = balances[account].add(amount);
    emit Transfer(address(0), account, amount);
  }

  // ------------------------------------------------------------------------
  // Burn token
  // ------------------------------------------------------------------------
  function burn(address account, uint256 amount) public onlyOwner {
        require(account != address(0), "ERC20: burn from the zero address");
        require(balances[account] >= amount, "ERC20: burn amount exceeds balance");
        balances[account] = balances[account].sub(amount);
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

  // ------------------------------------------------------------------------
  // Don't accept ETH
  // ------------------------------------------------------------------------
  fallback() external payable {
    revert();
  }

  // ------------------------------------------------------------------------
  // Owner can transfer out any accidentally sent ERC20 tokens
  // ------------------------------------------------------------------------
  function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
    return ERC20Interface(tokenAddress).transfer(owner, tokens);
  }
}

File 1 of 2: SafeMath.sol
pragma solidity ^0.6.12;

// ----------------------------------------------------------------------------
// Safe maths
// ----------------------------------------------------------------------------
library SafeMath {
    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a, 'SafeMath:INVALID_ADD');
    }

    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a, 'SafeMath:OVERFLOW_SUB');
        c = a - b;
    }

    function mul(uint a, uint b, uint decimal) internal pure returns (uint) {
        uint dc = 10**decimal;
        uint c0 = a * b;
        require(a == 0 || c0 / a == b, "SafeMath: multiple overflow");
        uint c1 = c0 + (dc / 2);
        require(c1 >= c0, "SafeMath: multiple overflow");
        uint c2 = c1 / dc;
        return c2;
    }

    function div(uint256 a, uint256 b, uint decimal) internal pure returns (uint256) {
        require(b != 0, "SafeMath: division by zero");
        uint dc = 10**decimal;
        uint c0 = a * dc;
        require(a == 0 || c0 / a == dc, "SafeMath: division internal");
        uint c1 = c0 + (b / 2);
        require(c1 >= c0, "SafeMath: division internal");
        uint c2 = c1 / b;
        return c2;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"chief","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"farmMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_chief","type":"address"}],"name":"updateChief","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600080546001600160a01b03191633179055604080518082019091526005808252642a2aa1229960d91b602090920191825261004f916003916100ec565b50604080518082019091526005808252642a2aa1229960d91b602090920191825261007c916004916100ec565b506005805460ff191660121790556000600681905580546001600160a01b039081168252600760209081526040808420849055835481518581529151931693927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a361017f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012d57805160ff191683800117855561015a565b8280016001018555821561015a579182015b8281111561015a57825182559160200191906001019061013f565b5061016692915061016a565b5090565b5b80821115610166576000815560010161016b565b611054806200018f6000396000f3fe60806040526004361061012a5760003560e01c80638da5cb5b116100ab578063d32ed14f1161006f578063d32ed14f146104ec578063d4ee1d901461051f578063dc39d06d14610534578063dd62ed3e1461056d578063f2fde38b146105a8578063ffd864d3146105db5761012a565b80638da5cb5b1461036c57806395d89b411461039d5780639dc29fac146103b2578063a9059cbb146103eb578063cae9ca51146104245761012a565b80633eaaf86b116100f25780633eaaf86b1461029b57806340c10f19146102b057806355432fb7146102eb57806370a082311461032457806379ba5097146103575761012a565b806306fdde031461012f578063095ea7b3146101b957806318160ddd1461020657806323b872dd1461022d578063313ce56714610270575b600080fd5b34801561013b57600080fd5b506101446105f0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101f2600480360360408110156101dc57600080fd5b506001600160a01b03813516906020013561067e565b604080519115158252519081900360200190f35b34801561021257600080fd5b5061021b6106e5565b60408051918252519081900360200190f35b34801561023957600080fd5b506101f26004803603606081101561025057600080fd5b506001600160a01b03813581169160208101359091169060400135610717565b34801561027c57600080fd5b506102856107fe565b6040805160ff9092168252519081900360200190f35b3480156102a757600080fd5b5061021b610807565b3480156102bc57600080fd5b506102e9600480360360408110156102d357600080fd5b506001600160a01b03813516906020013561080d565b005b3480156102f757600080fd5b506102e96004803603604081101561030e57600080fd5b506001600160a01b038135169060200135610832565b34801561033057600080fd5b5061021b6004803603602081101561034757600080fd5b50356001600160a01b03166108d1565b34801561036357600080fd5b506102e96108ec565b34801561037857600080fd5b50610381610967565b604080516001600160a01b039092168252519081900360200190f35b3480156103a957600080fd5b50610144610976565b3480156103be57600080fd5b506102e9600480360360408110156103d557600080fd5b506001600160a01b0381351690602001356109d1565b3480156103f757600080fd5b506101f26004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610b03565b34801561043057600080fd5b506101f26004803603606081101561044757600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561047757600080fd5b82018360208201111561048957600080fd5b803590602001918460018302840111640100000000831117156104ab57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b95945050505050565b3480156104f857600080fd5b506102e96004803603602081101561050f57600080fd5b50356001600160a01b0316610ce6565b34801561052b57600080fd5b50610381610d1f565b34801561054057600080fd5b506101f26004803603604081101561055757600080fd5b506001600160a01b038135169060200135610d2e565b34801561057957600080fd5b5061021b6004803603604081101561059057600080fd5b506001600160a01b0381358116916020013516610dd0565b3480156105b457600080fd5b506102e9600480360360208110156105cb57600080fd5b50356001600160a01b0316610dfb565b3480156105e757600080fd5b50610381610e34565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106765780601f1061064b57610100808354040283529160200191610676565b820191906000526020600020905b81548152906001019060200180831161065957829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6000805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df546006540390565b6001600160a01b03831660009081526007602052604081205461073a9083610e43565b6001600160a01b03851660009081526007602090815260408083209390935560088152828220338352905220546107719083610e43565b6001600160a01b0380861660009081526008602090815260408083203384528252808320949094559186168152600790915220546107af9083610e98565b6001600160a01b038085166000818152600760209081526040918290209490945580518681529051919392881692600080516020610fde83398151915292918290030190a35060019392505050565b60055460ff1681565b60065481565b6000546001600160a01b0316331461082457600080fd5b61082e8282610ee7565b5050565b6002546001600160a01b031661087f576040805162461bcd60e51b815260206004820152600d60248201526c4348494546204d495353494e4760981b604482015290519081900360640190fd5b6002546001600160a01b03163314610824576040805162461bcd60e51b815260206004820152601060248201526f20a1a1a2a9a9afa327a92124a22222a760811b604482015290519081900360640190fd5b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461090357600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106765780601f1061064b57610100808354040283529160200191610676565b6000546001600160a01b031633146109e857600080fd5b6001600160a01b038216610a2d5760405162461bcd60e51b8152600401808060200182810382526021815260200180610ffe6021913960400191505060405180910390fd5b6001600160a01b038216600090815260076020526040902054811115610a845760405162461bcd60e51b8152600401808060200182810382526022815260200180610fbc6022913960400191505060405180910390fd5b6001600160a01b038216600090815260076020526040902054610aa79082610e43565b6001600160a01b038316600090815260076020526040902055600654610acd9082610e43565b6006556040805182815290516000916001600160a01b03851691600080516020610fde8339815191529181900360200190a35050565b33600090815260076020526040812054610b1d9083610e43565b33600090815260076020526040808220929092556001600160a01b03851681522054610b499083610e98565b6001600160a01b038416600081815260076020908152604091829020939093558051858152905191923392600080516020610fde8339815191529281900390910190a350600192915050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3836001600160a01b0316638f4ffcb1338530866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c75578181015183820152602001610c5d565b50505050905090810190601f168015610ca25780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610cc457600080fd5b505af1158015610cd8573d6000803e3d6000fd5b506001979650505050505050565b6000546001600160a01b03163314610cfd57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b600080546001600160a01b03163314610d4657600080fd5b600080546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b158015610d9d57600080fd5b505af1158015610db1573d6000803e3d6000fd5b505050506040513d6020811015610dc757600080fd5b50519392505050565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610e1257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031681565b600082821115610e92576040805162461bcd60e51b815260206004820152601560248201527429b0b332a6b0ba341d27ab22a9232627abafa9aaa160591b604482015290519081900360640190fd5b50900390565b818101828110156106df576040805162461bcd60e51b815260206004820152601460248201527314d8599953585d1a0e9253959053125117d0511160621b604482015290519081900360640190fd5b6001600160a01b038216610f42576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600654610f4f9082610e98565b6006556001600160a01b038216600090815260076020526040902054610f759082610e98565b6001600160a01b0383166000818152600760209081526040808320949094558351858152935192939192600080516020610fde8339815191529281900390910190a3505056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f2061646472657373a2646970667358221220a832f121a5204d03212b886e019492c4febd593715cbecaa6d2292dcee5063f564736f6c634300060c0033

Deployed Bytecode

0x60806040526004361061012a5760003560e01c80638da5cb5b116100ab578063d32ed14f1161006f578063d32ed14f146104ec578063d4ee1d901461051f578063dc39d06d14610534578063dd62ed3e1461056d578063f2fde38b146105a8578063ffd864d3146105db5761012a565b80638da5cb5b1461036c57806395d89b411461039d5780639dc29fac146103b2578063a9059cbb146103eb578063cae9ca51146104245761012a565b80633eaaf86b116100f25780633eaaf86b1461029b57806340c10f19146102b057806355432fb7146102eb57806370a082311461032457806379ba5097146103575761012a565b806306fdde031461012f578063095ea7b3146101b957806318160ddd1461020657806323b872dd1461022d578063313ce56714610270575b600080fd5b34801561013b57600080fd5b506101446105f0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101f2600480360360408110156101dc57600080fd5b506001600160a01b03813516906020013561067e565b604080519115158252519081900360200190f35b34801561021257600080fd5b5061021b6106e5565b60408051918252519081900360200190f35b34801561023957600080fd5b506101f26004803603606081101561025057600080fd5b506001600160a01b03813581169160208101359091169060400135610717565b34801561027c57600080fd5b506102856107fe565b6040805160ff9092168252519081900360200190f35b3480156102a757600080fd5b5061021b610807565b3480156102bc57600080fd5b506102e9600480360360408110156102d357600080fd5b506001600160a01b03813516906020013561080d565b005b3480156102f757600080fd5b506102e96004803603604081101561030e57600080fd5b506001600160a01b038135169060200135610832565b34801561033057600080fd5b5061021b6004803603602081101561034757600080fd5b50356001600160a01b03166108d1565b34801561036357600080fd5b506102e96108ec565b34801561037857600080fd5b50610381610967565b604080516001600160a01b039092168252519081900360200190f35b3480156103a957600080fd5b50610144610976565b3480156103be57600080fd5b506102e9600480360360408110156103d557600080fd5b506001600160a01b0381351690602001356109d1565b3480156103f757600080fd5b506101f26004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610b03565b34801561043057600080fd5b506101f26004803603606081101561044757600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561047757600080fd5b82018360208201111561048957600080fd5b803590602001918460018302840111640100000000831117156104ab57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b95945050505050565b3480156104f857600080fd5b506102e96004803603602081101561050f57600080fd5b50356001600160a01b0316610ce6565b34801561052b57600080fd5b50610381610d1f565b34801561054057600080fd5b506101f26004803603604081101561055757600080fd5b506001600160a01b038135169060200135610d2e565b34801561057957600080fd5b5061021b6004803603604081101561059057600080fd5b506001600160a01b0381358116916020013516610dd0565b3480156105b457600080fd5b506102e9600480360360208110156105cb57600080fd5b50356001600160a01b0316610dfb565b3480156105e757600080fd5b50610381610e34565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106765780601f1061064b57610100808354040283529160200191610676565b820191906000526020600020905b81548152906001019060200180831161065957829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6000805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df546006540390565b6001600160a01b03831660009081526007602052604081205461073a9083610e43565b6001600160a01b03851660009081526007602090815260408083209390935560088152828220338352905220546107719083610e43565b6001600160a01b0380861660009081526008602090815260408083203384528252808320949094559186168152600790915220546107af9083610e98565b6001600160a01b038085166000818152600760209081526040918290209490945580518681529051919392881692600080516020610fde83398151915292918290030190a35060019392505050565b60055460ff1681565b60065481565b6000546001600160a01b0316331461082457600080fd5b61082e8282610ee7565b5050565b6002546001600160a01b031661087f576040805162461bcd60e51b815260206004820152600d60248201526c4348494546204d495353494e4760981b604482015290519081900360640190fd5b6002546001600160a01b03163314610824576040805162461bcd60e51b815260206004820152601060248201526f20a1a1a2a9a9afa327a92124a22222a760811b604482015290519081900360640190fd5b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461090357600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106765780601f1061064b57610100808354040283529160200191610676565b6000546001600160a01b031633146109e857600080fd5b6001600160a01b038216610a2d5760405162461bcd60e51b8152600401808060200182810382526021815260200180610ffe6021913960400191505060405180910390fd5b6001600160a01b038216600090815260076020526040902054811115610a845760405162461bcd60e51b8152600401808060200182810382526022815260200180610fbc6022913960400191505060405180910390fd5b6001600160a01b038216600090815260076020526040902054610aa79082610e43565b6001600160a01b038316600090815260076020526040902055600654610acd9082610e43565b6006556040805182815290516000916001600160a01b03851691600080516020610fde8339815191529181900360200190a35050565b33600090815260076020526040812054610b1d9083610e43565b33600090815260076020526040808220929092556001600160a01b03851681522054610b499083610e98565b6001600160a01b038416600081815260076020908152604091829020939093558051858152905191923392600080516020610fde8339815191529281900390910190a350600192915050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3836001600160a01b0316638f4ffcb1338530866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c75578181015183820152602001610c5d565b50505050905090810190601f168015610ca25780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610cc457600080fd5b505af1158015610cd8573d6000803e3d6000fd5b506001979650505050505050565b6000546001600160a01b03163314610cfd57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b600080546001600160a01b03163314610d4657600080fd5b600080546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b158015610d9d57600080fd5b505af1158015610db1573d6000803e3d6000fd5b505050506040513d6020811015610dc757600080fd5b50519392505050565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610e1257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031681565b600082821115610e92576040805162461bcd60e51b815260206004820152601560248201527429b0b332a6b0ba341d27ab22a9232627abafa9aaa160591b604482015290519081900360640190fd5b50900390565b818101828110156106df576040805162461bcd60e51b815260206004820152601460248201527314d8599953585d1a0e9253959053125117d0511160621b604482015290519081900360640190fd5b6001600160a01b038216610f42576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600654610f4f9082610e98565b6006556001600160a01b038216600090815260076020526040902054610f759082610e98565b6001600160a01b0383166000818152600760209081526040808320949094558351858152935192939192600080516020610fde8339815191529281900390910190a3505056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f2061646472657373a2646970667358221220a832f121a5204d03212b886e019492c4febd593715cbecaa6d2292dcee5063f564736f6c634300060c0033

Deployed Bytecode Sourcemap

2504:7046:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9127:8;;;2661:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5198:203;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5198:203:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3652:115;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5922:330;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5922:330:1;;;;;;;;;;;;;;;;;:::i;2685:21::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2711:24;;;;;;;;;;;;;:::i;7822:100::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7822:100:1;;;;;;;;:::i;:::-;;7928:106;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7928:106:1;;;;;;;;:::i;3984:123::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3984:123:1;-1:-1:-1;;;;;3984:123:1;;:::i;2061:178::-;;;;;;;;;;;;;:::i;1695:20::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1695:20:1;;;;;;;;;;;;;;2636;;;;;;;;;;;;;:::i;8507:398::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8507:398:1;;;;;;;;:::i;4444:258::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4444:258:1;;;;;;;;:::i;7032:315::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7032:315:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7032:315:1;;-1:-1:-1;7032:315:1;;-1:-1:-1;;;;;7032:315:1:i;7558:83::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7558:83:1;-1:-1:-1;;;;;7558:83:1;;:::i;1720:23::-;;;;;;;;;;;;;:::i;9369:178::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9369:178:1;;;;;;;;:::i;6528:150::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6528:150:1;;;;;;;;;;:::i;1961:96::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1961:96:1;-1:-1:-1;;;;;1961:96:1;;:::i;2583:20::-;;;;;;;;;;;;;:::i;2661:19::-;;;;;;;;;;;;;;;-1:-1:-1;;2661:19:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5198:203::-;5299:10;5270:12;5291:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5291:28:1;;;;;;;;;;;:37;;;5340;;;;;;;5270:12;;5291:28;;5299:10;;5340:37;;;;;;;;-1:-1:-1;5391:4:1;5198:203;;;;;:::o;3652:115::-;3705:4;3741:20;;:8;:20;;;;3725:12;;:36;3652:115;:::o;5922:330::-;-1:-1:-1;;;;;6046:14:1;;6008:12;6046:14;;;:8;:14;;;;;;:26;;6065:6;6046:18;:26::i;:::-;-1:-1:-1;;;;;6029:14:1;;;;;;:8;:14;;;;;;;;:43;;;;6107:7;:13;;;;;6121:10;6107:25;;;;;;:37;;6137:6;6107:29;:37::i;:::-;-1:-1:-1;;;;;6079:13:1;;;;;;;:7;:13;;;;;;;;6093:10;6079:25;;;;;;;:65;;;;6166:12;;;;;:8;:12;;;;;:24;;6183:6;6166:16;:24::i;:::-;-1:-1:-1;;;;;6151:12:1;;;;;;;:8;:12;;;;;;;;;:39;;;;6202:26;;;;;;;6151:12;;6202:26;;;;-1:-1:-1;;;;;;;;;;;6202:26:1;;;;;;;;-1:-1:-1;6242:4:1;5922:330;;;;;:::o;2685:21::-;;;;;;:::o;2711:24::-;;;;:::o;7822:100::-;1935:5;;-1:-1:-1;;;;;1935:5:1;1921:10;:19;1913:28;;;;;;7893:23:::1;7899:8;7909:6;7893:5;:23::i;:::-;7822:100:::0;;:::o;7928:106::-;2943:5;;-1:-1:-1;;;;;2943:5:1;2935:45;;;;;-1:-1:-1;;;2935:45:1;;;;;;;;;;;;-1:-1:-1;;;2935:45:1;;;;;;;;;;;;;;;3011:5;;-1:-1:-1;;;;;3011:5:1;2997:10;:19;2989:48;;;;;-1:-1:-1;;;2989:48:1;;;;;;;;;;;;-1:-1:-1;;;2989:48:1;;;;;;;;;;;;;;3984:123;-1:-1:-1;;;;;4081:20:1;4053:12;4081:20;;;:8;:20;;;;;;;3984:123::o;2061:178::-;2124:8;;-1:-1:-1;;;;;2124:8:1;2110:10;:22;2102:31;;;;;;2173:8;;;2166:5;;2145:37;;-1:-1:-1;;;;;2173:8:1;;;;2166:5;;;;2145:37;;;2197:8;;;;2189:16;;-1:-1:-1;;;;;;2189:16:1;;;-1:-1:-1;;;;;2197:8:1;;2189:16;;;;2212:21;;;2061:178::o;1695:20::-;;;-1:-1:-1;;;;;1695:20:1;;:::o;2636:::-;;;;;;;;;;;;;;;-1:-1:-1;;2636:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8507:398;1935:5;;-1:-1:-1;;;;;1935:5:1;1921:10;:19;1913:28;;;;;;-1:-1:-1;;;;;8590:21:1;::::1;8582:67;;;;-1:-1:-1::0;;;8582:67:1::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8668:17:1;::::1;;::::0;;;:8:::1;:17;::::0;;;;;:27;-1:-1:-1;8668:27:1::1;8660:74;;;;-1:-1:-1::0;;;8660:74:1::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8765:17:1;::::1;;::::0;;;:8:::1;:17;::::0;;;;;:29:::1;::::0;8787:6;8765:21:::1;:29::i;:::-;-1:-1:-1::0;;;;;8745:17:1;::::1;;::::0;;;:8:::1;:17;::::0;;;;:49;8820:12:::1;::::0;:24:::1;::::0;8837:6;8820:16:::1;:24::i;:::-;8805:12;:39:::0;8860:37:::1;::::0;;;;;;;8886:1:::1;::::0;-1:-1:-1;;;;;8860:37:1;::::1;::::0;-1:-1:-1;;;;;;;;;;;8860:37:1;;;;::::1;::::0;;::::1;8507:398:::0;;:::o;4444:258::-;4565:10;4512:12;4556:20;;;:8;:20;;;;;;:32;;4581:6;4556:24;:32::i;:::-;4542:10;4533:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;4610:12:1;;;;;;:24;;4627:6;4610:16;:24::i;:::-;-1:-1:-1;;;;;4595:12:1;;;;;;:8;:12;;;;;;;;;:39;;;;4646:32;;;;;;;4595:12;;4655:10;;-1:-1:-1;;;;;;;;;;;4646:32:1;;;;;;;;;-1:-1:-1;4692:4:1;4444:258;;;;:::o;7032:315::-;7150:10;7121:12;7142:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7142:28:1;;;;;;;;;;;:37;;;7191;;;;;;;7121:12;;7142:28;;7150:10;;7191:37;;;;;;;;7258:7;-1:-1:-1;;;;;7235:47:1;;7283:10;7295:6;7311:4;7318;7235:88;;;;;;;;;;;;;-1:-1:-1;;;;;7235:88:1;;;;;;;;;;;-1:-1:-1;;;;;7235:88:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7337:4:1;;7032:315;-1:-1:-1;;;;;;;7032:315:1:o;7558:83::-;1935:5;;-1:-1:-1;;;;;1935:5:1;1921:10;:19;1913:28;;;;;;7621:5:::1;:14:::0;;-1:-1:-1;;;;;;7621:14:1::1;-1:-1:-1::0;;;;;7621:14:1;;;::::1;::::0;;;::::1;::::0;;7558:83::o;1720:23::-;;;-1:-1:-1;;;;;1720:23:1;;:::o;9369:178::-;9461:12;1935:5;;-1:-1:-1;;;;;1935:5:1;1921:10;:19;1913:28;;;;;;9527:5:::1;::::0;;9489:52:::1;::::0;;-1:-1:-1;;;9489:52:1;;-1:-1:-1;;;;;9527:5:1;;::::1;9489:52;::::0;::::1;::::0;;;;;;;;;:37;;::::1;::::0;::::1;::::0;:52;;;;;::::1;::::0;;;;;;;;;;;:37;:52;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;9489:52:1;;9369:178;-1:-1:-1;;;9369:178:1:o;6528:150::-;-1:-1:-1;;;;;6644:19:1;;;6614:14;6644:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;6528:150::o;1961:96::-;1935:5;;-1:-1:-1;;;;;1935:5:1;1921:10;:19;1913:28;;;;;;2031:8:::1;:20:::0;;-1:-1:-1;;;;;;2031:20:1::1;-1:-1:-1::0;;;;;2031:20:1;;;::::1;::::0;;;::::1;::::0;;1961:96::o;2583:20::-;;;-1:-1:-1;;;;;2583:20:1;;:::o;375:139:0:-;427:6;459:1;454;:6;;446:40;;;;;-1:-1:-1;;;446:40:0;;;;;;;;;;;;-1:-1:-1;;;446:40:0;;;;;;;;;;;;;;;-1:-1:-1;501:5:0;;;375:139::o;229:138::-;304:5;;;328:6;;;;320:39;;;;;-1:-1:-1;;;320:39:0;;;;;;;;;;;;-1:-1:-1;;;320:39:0;;;;;;;;;;;;;;8040:286:1;-1:-1:-1;;;;;8112:21:1;;8104:65;;;;;-1:-1:-1;;;8104:65:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;8191:12;;:24;;8208:6;8191:16;:24::i;:::-;8176:12;:39;-1:-1:-1;;;;;8242:17:1;;;;;;:8;:17;;;;;;:29;;8264:6;8242:21;:29::i;:::-;-1:-1:-1;;;;;8222:17:1;;;;;;:8;:17;;;;;;;;:49;;;;8283:37;;;;;;;8222:17;;;;-1:-1:-1;;;;;;;;;;;8283:37:1;;;;;;;;;8040:286;;:::o

Swarm Source

ipfs://a832f121a5204d03212b886e019492c4febd593715cbecaa6d2292dcee5063f5
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.