ERC-20
Overview
Max Total Supply
3,100,000 TUBE2
Holders
5,345
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
3.961054 TUBE2Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TubeToken
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity Multiple files format)
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); } }
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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.