Feature Tip: Add private address tag to any address under My Name Tag !
Overview
Max Total Supply
100,000,000 TORO
Holders
528 (0.00%)
Market
Price
$0.00 @ 0.000001 ETH
Onchain Market Cap
$237,607.00
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
957,580.673061649779332799 TOROValue
$2,275.28 ( ~0.997506930306625 Eth) [0.9576%]Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
TOROGRAM
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-11-28
*/
// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.22;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() external view virtual override returns (string memory) {
return _name;
}
function symbol() external view virtual override returns (string memory) {
return _symbol;
}
function decimals() external view virtual override returns (uint8) {
return 18;
}
function totalSupply() external view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) external virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) external virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) external virtual override returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][_msgSender()];
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
unchecked {
_approve(sender, _msgSender(), currentAllowance - amount);
}
return true;
}
function _transfer(
address sender,
address recipient,
uint256 amount
) internal virtual {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[sender] = senderBalance - amount;
}
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
}
function _createSupply(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_totalSupply += amount;
_balances[account] += amount;
emit Transfer(address(0), account, amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_setOwner(_msgSender());
}
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() external virtual onlyOwner {
_setOwner(address(0));
}
function transferOwnership(address newOwner) external virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_setOwner(newOwner);
}
function _setOwner(address newOwner) private {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
contract TOROGRAM is ERC20, Ownable {
using SafeMath for uint256;
IUniswapV2Router02 public uniswapV2Router;
address public immutable uniswapV2Pair;
uint256 public payoutTaxAtAmount = 50000 * (10**18);
uint256 public maxBuy = 1500000 * (10**18);
uint256 public totalTax = 5;
mapping (address => bool) public isTaxesExempt;
address payable public taxWallet = payable(0x2bd1D559434d028914c3266512AEF77eD1b2B76B);
event PaidOutTaxes(uint256 contract_token_balance);
bool private inSwapping;
modifier lockTheSwap {
inSwapping = true;
_;
inSwapping = false;
}
constructor() ERC20("TORO", "TORO") {
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router = _uniswapV2Router;
uniswapV2Pair = _uniswapV2Pair;
isTaxesExempt[owner()] = true;
isTaxesExempt[taxWallet] = true;
isTaxesExempt[address(this)] = true;
_createSupply(owner(), 100000000 * (10**18));
}
function _transfer(address from, address to, uint256 amount) internal override {
require(from != address(0), "TORO: transfer from the zero address");
require(to != address(0), "TORO: transfer to the zero address");
if(amount == 0) {
super._transfer(from, to, 0);
return;
}
if(from == uniswapV2Pair && !isTaxesExempt[to]) { // ONLY MAX WALLET FOR BUYING, SELLING ALWAYS WORKS
uint256 token_receiver = balanceOf(to);
require(token_receiver.add(amount) <= maxBuy, "TORO: Exceeds maximum buy token amount");
}
uint256 contract_token_balance = balanceOf(address(this));
bool overMinTokenBalance = contract_token_balance >= payoutTaxAtAmount;
if(to == uniswapV2Pair && overMinTokenBalance && !inSwapping) { // ONLY PAYOUT TAXES WHEN SELLING AND OVER MIN AMOUNT TO PAYOUT
payoutTaxes(contract_token_balance);
}
if((to == uniswapV2Pair && !isTaxesExempt[from]) || (from == uniswapV2Pair && !isTaxesExempt[to])) { // ONLY DEDUCT FEES WHILE BUYING/SELLING
uint256 taxes = amount.mul(totalTax).div(100);
amount = amount.sub(taxes);
super._transfer(from, address(this), taxes);
}
super._transfer(from, to, amount);
}
function payoutTaxes(uint256 contract_token_balance) private lockTheSwap {
swapTokensForETH(contract_token_balance);
taxWallet.transfer(address(this).balance);
emit PaidOutTaxes(contract_token_balance);
}
function swapTokensForETH(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
if(allowance(address(this), address(uniswapV2Router)) < tokenAmount) {
_approve(address(this), address(uniswapV2Router), ~uint256(0));
}
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
receive() external payable {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"contract_token_balance","type":"uint256"}],"name":"PaidOutTaxes","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTaxesExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payoutTaxAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a0604052690a968163f0a57b4000006007556a013da329b63364718000006008556005600955600b80546001600160a01b031916732bd1d559434d028914c3266512aef77ed1b2b76b17905534801562000058575f80fd5b50604080518082018252600480825263544f524f60e01b6020808401829052845180860190955291845290830152906003620000958382620004be565b506004620000a48282620004be565b505050620000c1620000bb620002e660201b60201c565b620002ea565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000117573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200013d91906200058a565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000189573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001af91906200058a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620001fa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022091906200058a565b600680546001600160a01b0319166001600160a01b0385811691909117909155811660805290506001600a5f6200025f6005546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055600b549091168152600a90925280822080548416600190811790915530835291208054909216179055620002de620002cc6005546001600160a01b031690565b6a52b7d2dcc80cd2e40000006200033b565b5050620005df565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038216620003965760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f828254620003a99190620005b9565b90915550506001600160a01b0382165f9081526020819052604081208054839290620003d7908490620005b9565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200044957607f821691505b6020821081036200046857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004b957805f5260205f20601f840160051c81016020851015620004955750805b601f840160051c820191505b81811015620004b6575f8155600101620004a1565b50505b505050565b81516001600160401b03811115620004da57620004da62000420565b620004f281620004eb845462000434565b846200046e565b602080601f83116001811462000528575f8415620005105750858301515b5f19600386901b1c1916600185901b17855562000582565b5f85815260208120601f198616915b82811015620005585788860151825594840194600190910190840162000537565b50858210156200057657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602082840312156200059b575f80fd5b81516001600160a01b0381168114620005b2575f80fd5b9392505050565b80820180821115620005d957634e487b7160e01b5f52601160045260245ffd5b92915050565b6080516111ba620006145f395f81816102360152818161085f01528181610956015281816109b30152610a1201526111ba5ff3fe608060405260043610610113575f3560e01c806370db69d61161009d57806395d89b411161006257806395d89b4114610317578063a9059cbb1461032b578063dd62ed3e1461034a578063f2fde38b1461038e578063fe85b42b146103ad575f80fd5b806370db69d61461028c578063715018a6146102a1578063715a1606146102b75780637df36af0146102cc5780638da5cb5b146102fa575f80fd5b806323b872dd116100e357806323b872dd146101cc5780632dc0562d146101eb578063313ce5671461020a57806349bd5a5e1461022557806370a0823114610258575f80fd5b806306fdde031461011e578063095ea7b3146101485780631694505e1461017757806318160ddd146101ae575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506101326103c2565b60405161013f9190610f22565b60405180910390f35b348015610153575f80fd5b50610167610162366004610f82565b610452565b604051901515815260200161013f565b348015610182575f80fd5b50600654610196906001600160a01b031681565b6040516001600160a01b03909116815260200161013f565b3480156101b9575f80fd5b506002545b60405190815260200161013f565b3480156101d7575f80fd5b506101676101e6366004610fac565b610468565b3480156101f6575f80fd5b50600b54610196906001600160a01b031681565b348015610215575f80fd5b506040516012815260200161013f565b348015610230575f80fd5b506101967f000000000000000000000000000000000000000000000000000000000000000081565b348015610263575f80fd5b506101be610272366004610fea565b6001600160a01b03165f9081526020819052604090205490565b348015610297575f80fd5b506101be60085481565b3480156102ac575f80fd5b506102b5610515565b005b3480156102c2575f80fd5b506101be60075481565b3480156102d7575f80fd5b506101676102e6366004610fea565b600a6020525f908152604090205460ff1681565b348015610305575f80fd5b506005546001600160a01b0316610196565b348015610322575f80fd5b5061013261057a565b348015610336575f80fd5b50610167610345366004610f82565b610589565b348015610355575f80fd5b506101be610364366004611005565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610399575f80fd5b506102b56103a8366004610fea565b610595565b3480156103b8575f80fd5b506101be60095481565b6060600380546103d19061103c565b80601f01602080910402602001604051908101604052809291908181526020018280546103fd9061103c565b80156104485780601f1061041f57610100808354040283529160200191610448565b820191905f5260205f20905b81548152906001019060200180831161042b57829003601f168201915b5050505050905090565b5f61045e338484610660565b5060015b92915050565b5f610474848484610783565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156104fd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61050a8533858403610660565b506001949350505050565b6005546001600160a01b0316331461056f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f4565b6105785f610abc565b565b6060600480546103d19061103c565b5f61045e338484610783565b6005546001600160a01b031633146105ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f4565b6001600160a01b0381166106545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f4565b61065d81610abc565b50565b6001600160a01b0383166106c25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f4565b6001600160a01b0382166107235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f4565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107e55760405162461bcd60e51b8152602060048201526024808201527f544f524f3a207472616e736665722066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f4565b6001600160a01b0382166108465760405162461bcd60e51b815260206004820152602260248201527f544f524f3a207472616e7366657220746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f4565b805f0361085d5761085883835f610b0d565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161480156108b657506001600160a01b0382165f908152600a602052604090205460ff16155b1561093f576001600160a01b0382165f908152602081905260409020546008546108e08284610cda565b111561093d5760405162461bcd60e51b815260206004820152602660248201527f544f524f3a2045786365656473206d6178696d756d2062757920746f6b656e20604482015265185b5bdd5b9d60d21b60648201526084016104f4565b505b305f908152602081905260409020546007548110157f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811690851614801561098d5750805b80156109a35750600b54600160a01b900460ff16155b156109b1576109b182610cec565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316148015610a0a57506001600160a01b0385165f908152600a602052604090205460ff16155b80610a6957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316148015610a6957506001600160a01b0384165f908152600a602052604090205460ff16155b15610aaa575f610a8f6064610a8960095487610d8290919063ffffffff16565b90610d8d565b9050610a9b8482610d98565b9350610aa8863083610b0d565b505b610ab5858585610b0d565b5050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038316610b715760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f4565b6001600160a01b038216610bd35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f4565b6001600160a01b0383165f9081526020819052604090205481811015610c4a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104f4565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610c80908490611088565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ccc91815260200190565b60405180910390a350505050565b5f610ce58284611088565b9392505050565b600b805460ff60a01b1916600160a01b179055610d0881610da3565b600b546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610d3e573d5f803e3d5ffd5b506040518181527fac35835418bf6f25ae2ac4387c93c996cdbd809b6d558d7271f767b4aa98918d9060200160405180910390a150600b805460ff60a01b19169055565b5f610ce5828461109b565b5f610ce582846110b2565b5f610ce582846110d1565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dd657610dd66110e4565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5191906110f8565b81600181518110610e6457610e646110e4565b6001600160a01b03928316602091820292909201810191909152600654305f90815260018352604080822092909416815291522054821115610eb957600654610eb99030906001600160a01b03165f19610660565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ef19085905f90869030904290600401611113565b5f604051808303815f87803b158015610f08575f80fd5b505af1158015610f1a573d5f803e3d5ffd5b505050505050565b5f602080835283518060208501525f5b81811015610f4e57858101830151858201604001528201610f32565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461065d575f80fd5b5f8060408385031215610f93575f80fd5b8235610f9e81610f6e565b946020939093013593505050565b5f805f60608486031215610fbe575f80fd5b8335610fc981610f6e565b92506020840135610fd981610f6e565b929592945050506040919091013590565b5f60208284031215610ffa575f80fd5b8135610ce581610f6e565b5f8060408385031215611016575f80fd5b823561102181610f6e565b9150602083013561103181610f6e565b809150509250929050565b600181811c9082168061105057607f821691505b60208210810361106e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561046257610462611074565b808202811582820484141761046257610462611074565b5f826110cc57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561046257610462611074565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611108575f80fd5b8151610ce581610f6e565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156111635784516001600160a01b03168352938301939183019160010161113e565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b3bcb855793ef1b0709493fc942c888bfcda6530d394933bc262fb025ac7be9464736f6c63430008160033
Deployed Bytecode
0x608060405260043610610113575f3560e01c806370db69d61161009d57806395d89b411161006257806395d89b4114610317578063a9059cbb1461032b578063dd62ed3e1461034a578063f2fde38b1461038e578063fe85b42b146103ad575f80fd5b806370db69d61461028c578063715018a6146102a1578063715a1606146102b75780637df36af0146102cc5780638da5cb5b146102fa575f80fd5b806323b872dd116100e357806323b872dd146101cc5780632dc0562d146101eb578063313ce5671461020a57806349bd5a5e1461022557806370a0823114610258575f80fd5b806306fdde031461011e578063095ea7b3146101485780631694505e1461017757806318160ddd146101ae575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506101326103c2565b60405161013f9190610f22565b60405180910390f35b348015610153575f80fd5b50610167610162366004610f82565b610452565b604051901515815260200161013f565b348015610182575f80fd5b50600654610196906001600160a01b031681565b6040516001600160a01b03909116815260200161013f565b3480156101b9575f80fd5b506002545b60405190815260200161013f565b3480156101d7575f80fd5b506101676101e6366004610fac565b610468565b3480156101f6575f80fd5b50600b54610196906001600160a01b031681565b348015610215575f80fd5b506040516012815260200161013f565b348015610230575f80fd5b506101967f000000000000000000000000bca0660a58fe70e153e6b533eb130943b68e666b81565b348015610263575f80fd5b506101be610272366004610fea565b6001600160a01b03165f9081526020819052604090205490565b348015610297575f80fd5b506101be60085481565b3480156102ac575f80fd5b506102b5610515565b005b3480156102c2575f80fd5b506101be60075481565b3480156102d7575f80fd5b506101676102e6366004610fea565b600a6020525f908152604090205460ff1681565b348015610305575f80fd5b506005546001600160a01b0316610196565b348015610322575f80fd5b5061013261057a565b348015610336575f80fd5b50610167610345366004610f82565b610589565b348015610355575f80fd5b506101be610364366004611005565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610399575f80fd5b506102b56103a8366004610fea565b610595565b3480156103b8575f80fd5b506101be60095481565b6060600380546103d19061103c565b80601f01602080910402602001604051908101604052809291908181526020018280546103fd9061103c565b80156104485780601f1061041f57610100808354040283529160200191610448565b820191905f5260205f20905b81548152906001019060200180831161042b57829003601f168201915b5050505050905090565b5f61045e338484610660565b5060015b92915050565b5f610474848484610783565b6001600160a01b0384165f908152600160209081526040808320338452909152902054828110156104fd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61050a8533858403610660565b506001949350505050565b6005546001600160a01b0316331461056f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f4565b6105785f610abc565b565b6060600480546103d19061103c565b5f61045e338484610783565b6005546001600160a01b031633146105ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f4565b6001600160a01b0381166106545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f4565b61065d81610abc565b50565b6001600160a01b0383166106c25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f4565b6001600160a01b0382166107235760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f4565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107e55760405162461bcd60e51b8152602060048201526024808201527f544f524f3a207472616e736665722066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f4565b6001600160a01b0382166108465760405162461bcd60e51b815260206004820152602260248201527f544f524f3a207472616e7366657220746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f4565b805f0361085d5761085883835f610b0d565b505050565b7f000000000000000000000000bca0660a58fe70e153e6b533eb130943b68e666b6001600160a01b0316836001600160a01b03161480156108b657506001600160a01b0382165f908152600a602052604090205460ff16155b1561093f576001600160a01b0382165f908152602081905260409020546008546108e08284610cda565b111561093d5760405162461bcd60e51b815260206004820152602660248201527f544f524f3a2045786365656473206d6178696d756d2062757920746f6b656e20604482015265185b5bdd5b9d60d21b60648201526084016104f4565b505b305f908152602081905260409020546007548110157f000000000000000000000000bca0660a58fe70e153e6b533eb130943b68e666b6001600160a01b0390811690851614801561098d5750805b80156109a35750600b54600160a01b900460ff16155b156109b1576109b182610cec565b7f000000000000000000000000bca0660a58fe70e153e6b533eb130943b68e666b6001600160a01b0316846001600160a01b0316148015610a0a57506001600160a01b0385165f908152600a602052604090205460ff16155b80610a6957507f000000000000000000000000bca0660a58fe70e153e6b533eb130943b68e666b6001600160a01b0316856001600160a01b0316148015610a6957506001600160a01b0384165f908152600a602052604090205460ff16155b15610aaa575f610a8f6064610a8960095487610d8290919063ffffffff16565b90610d8d565b9050610a9b8482610d98565b9350610aa8863083610b0d565b505b610ab5858585610b0d565b5050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038316610b715760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f4565b6001600160a01b038216610bd35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f4565b6001600160a01b0383165f9081526020819052604090205481811015610c4a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104f4565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610c80908490611088565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ccc91815260200190565b60405180910390a350505050565b5f610ce58284611088565b9392505050565b600b805460ff60a01b1916600160a01b179055610d0881610da3565b600b546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610d3e573d5f803e3d5ffd5b506040518181527fac35835418bf6f25ae2ac4387c93c996cdbd809b6d558d7271f767b4aa98918d9060200160405180910390a150600b805460ff60a01b19169055565b5f610ce5828461109b565b5f610ce582846110b2565b5f610ce582846110d1565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dd657610dd66110e4565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5191906110f8565b81600181518110610e6457610e646110e4565b6001600160a01b03928316602091820292909201810191909152600654305f90815260018352604080822092909416815291522054821115610eb957600654610eb99030906001600160a01b03165f19610660565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ef19085905f90869030904290600401611113565b5f604051808303815f87803b158015610f08575f80fd5b505af1158015610f1a573d5f803e3d5ffd5b505050505050565b5f602080835283518060208501525f5b81811015610f4e57858101830151858201604001528201610f32565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461065d575f80fd5b5f8060408385031215610f93575f80fd5b8235610f9e81610f6e565b946020939093013593505050565b5f805f60608486031215610fbe575f80fd5b8335610fc981610f6e565b92506020840135610fd981610f6e565b929592945050506040919091013590565b5f60208284031215610ffa575f80fd5b8135610ce581610f6e565b5f8060408385031215611016575f80fd5b823561102181610f6e565b9150602083013561103181610f6e565b809150509250929050565b600181811c9082168061105057607f821691505b60208210810361106e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561046257610462611074565b808202811582820484141761046257610462611074565b5f826110cc57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561046257610462611074565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611108575f80fd5b8151610ce581610f6e565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156111635784516001600160a01b03168352938301939183019160010161113e565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b3bcb855793ef1b0709493fc942c888bfcda6530d394933bc262fb025ac7be9464736f6c63430008160033
Deployed Bytecode Sourcemap
6404:3475:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2008:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2932:171;;;;;;;;;;-1:-1:-1;2932:171:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;2932:171:0;1023:187:1;6482:41:0;;;;;;;;;;-1:-1:-1;6482:41:0;;;;-1:-1:-1;;;;;6482:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;6482:41:0;1215:229:1;2335:110:0;;;;;;;;;;-1:-1:-1;2425:12:0;;2335:110;;;1595:25:1;;;1583:2;1568:18;2335:110:0;1449:177:1;3111:494:0;;;;;;;;;;-1:-1:-1;3111:494:0;;;;;:::i;:::-;;:::i;6769:86::-;;;;;;;;;;-1:-1:-1;6769:86:0;;;;-1:-1:-1;;;;;6769:86:0;;;2232:95;;;;;;;;;;-1:-1:-1;2232:95:0;;2317:2;2458:36:1;;2446:2;2431:18;2232:95:0;2316:184:1;6530:38:0;;;;;;;;;;;;;;;2453:127;;;;;;;;;;-1:-1:-1;2453:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;2554:18:0;2527:7;2554:18;;;;;;;;;;;;2453:127;6633:42;;;;;;;;;;;;;;;;5370:96;;;;;;;;;;;;;:::i;:::-;;6575:51;;;;;;;;;;;;;;;;6716:46;;;;;;;;;;-1:-1:-1;6716:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5147:87;;;;;;;;;;-1:-1:-1;5220:6:0;;-1:-1:-1;;;;;5220:6:0;5147:87;;2118:106;;;;;;;;;;;;;:::i;2588:177::-;;;;;;;;;;-1:-1:-1;2588:177:0;;;;;:::i;:::-;;:::i;2773:151::-;;;;;;;;;;-1:-1:-1;2773:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;2889:18:0;;;2862:7;2889:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2773:151;5474:194;;;;;;;;;;-1:-1:-1;5474:194:0;;;;;:::i;:::-;;:::i;6682:27::-;;;;;;;;;;;;;;;;2008:102;2064:13;2097:5;2090:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2008:102;:::o;2932:171::-;3017:4;3034:39;180:10;3057:7;3066:6;3034:8;:39::i;:::-;-1:-1:-1;3091:4:0;2932:171;;;;;:::o;3111:494::-;3253:4;3270:36;3280:6;3288:9;3299:6;3270:9;:36::i;:::-;-1:-1:-1;;;;;3346:19:0;;3319:24;3346:19;;;:11;:19;;;;;;;;180:10;3346:33;;;;;;;;3398:26;;;;3390:79;;;;-1:-1:-1;;;3390:79:0;;3945:2:1;3390:79:0;;;3927:21:1;3984:2;3964:18;;;3957:30;4023:34;4003:18;;;3996:62;-1:-1:-1;;;4074:18:1;;;4067:38;4122:19;;3390:79:0;;;;;;;;;3505:57;3514:6;180:10;3555:6;3536:16;:25;3505:8;:57::i;:::-;-1:-1:-1;3593:4:0;;3111:494;-1:-1:-1;;;;3111:494:0:o;5370:96::-;5220:6;;-1:-1:-1;;;;;5220:6:0;180:10;5282:23;5274:68;;;;-1:-1:-1;;;5274:68:0;;4354:2:1;5274:68:0;;;4336:21:1;;;4373:18;;;4366:30;4432:34;4412:18;;;4405:62;4484:18;;5274:68:0;4152:356:1;5274:68:0;5437:21:::1;5455:1;5437:9;:21::i;:::-;5370:96::o:0;2118:106::-;2176:13;2209:7;2202:14;;;;;:::i;2588:177::-;2676:4;2693:42;180:10;2717:9;2728:6;2693:9;:42::i;5474:194::-;5220:6;;-1:-1:-1;;;;;5220:6:0;180:10;5282:23;5274:68;;;;-1:-1:-1;;;5274:68:0;;4354:2:1;5274:68:0;;;4336:21:1;;;4373:18;;;4366:30;4432:34;4412:18;;;4405:62;4484:18;;5274:68:0;4152:356:1;5274:68:0;-1:-1:-1;;;;;5565:22:0;::::1;5557:73;;;::::0;-1:-1:-1;;;5557:73:0;;4715:2:1;5557:73:0::1;::::0;::::1;4697:21:1::0;4754:2;4734:18;;;4727:30;4793:34;4773:18;;;4766:62;-1:-1:-1;;;4844:18:1;;;4837:36;4890:19;;5557:73:0::1;4513:402:1::0;5557:73:0::1;5641:19;5651:8;5641:9;:19::i;:::-;5474:194:::0;:::o;4527:380::-;-1:-1:-1;;;;;4663:19:0;;4655:68;;;;-1:-1:-1;;;4655:68:0;;5122:2:1;4655:68:0;;;5104:21:1;5161:2;5141:18;;;5134:30;5200:34;5180:18;;;5173:62;-1:-1:-1;;;5251:18:1;;;5244:34;5295:19;;4655:68:0;4920:400:1;4655:68:0;-1:-1:-1;;;;;4742:21:0;;4734:68;;;;-1:-1:-1;;;4734:68:0;;5527:2:1;4734:68:0;;;5509:21:1;5566:2;5546:18;;;5539:30;5605:34;5585:18;;;5578:62;-1:-1:-1;;;5656:18:1;;;5649:32;5698:19;;4734:68:0;5325:398:1;4734:68:0;-1:-1:-1;;;;;4815:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;4867:32;;1595:25:1;;;4867:32:0;;1568:18:1;4867:32:0;;;;;;;4527:380;;;:::o;7645:1360::-;-1:-1:-1;;;;;7743:18:0;;7735:67;;;;-1:-1:-1;;;7735:67:0;;5930:2:1;7735:67:0;;;5912:21:1;5969:2;5949:18;;;5942:30;6008:34;5988:18;;;5981:62;-1:-1:-1;;;6059:18:1;;;6052:34;6103:19;;7735:67:0;5728:400:1;7735:67:0;-1:-1:-1;;;;;7821:16:0;;7813:63;;;;-1:-1:-1;;;7813:63:0;;6335:2:1;7813:63:0;;;6317:21:1;6374:2;6354:18;;;6347:30;6413:34;6393:18;;;6386:62;-1:-1:-1;;;6464:18:1;;;6457:32;6506:19;;7813:63:0;6133:398:1;7813:63:0;7892:6;7902:1;7892:11;7889:92;;7920:28;7936:4;7942:2;7946:1;7920:15;:28::i;:::-;7645:1360;;;:::o;7889:92::-;8004:13;-1:-1:-1;;;;;7996:21:0;:4;-1:-1:-1;;;;;7996:21:0;;:43;;;;-1:-1:-1;;;;;;8022:17:0;;;;;;:13;:17;;;;;;;;8021:18;7996:43;7993:267;;;-1:-1:-1;;;;;2554:18:0;;8108:22;2554:18;;;;;;;;;;;8199:6;;8169:26;2554:18;8188:6;8169:18;:26::i;:::-;:36;;8161:87;;;;-1:-1:-1;;;8161:87:0;;6738:2:1;8161:87:0;;;6720:21:1;6777:2;6757:18;;;6750:30;6816:34;6796:18;;;6789:62;-1:-1:-1;;;6867:18:1;;;6860:36;6913:19;;8161:87:0;6536:402:1;8161:87:0;8041:219;7993:267;8331:4;8280:30;2554:18;;;;;;;;;;;8401:17;;8375:43;;;8447:13;-1:-1:-1;;;;;8441:19:0;;;;;;;:42;;;;;8464:19;8441:42;:57;;;;-1:-1:-1;8488:10:0;;-1:-1:-1;;;8488:10:0;;;;8487:11;8441:57;8438:188;;;8579:35;8591:22;8579:11;:35::i;:::-;8648:13;-1:-1:-1;;;;;8642:19:0;:2;-1:-1:-1;;;;;8642:19:0;;:43;;;;-1:-1:-1;;;;;;8666:19:0;;;;;;:13;:19;;;;;;;;8665:20;8642:43;8641:94;;;;8699:13;-1:-1:-1;;;;;8691:21:0;:4;-1:-1:-1;;;;;8691:21:0;;:43;;;;-1:-1:-1;;;;;;8717:17:0;;;;;;:13;:17;;;;;;;;8716:18;8691:43;8638:312;;;8793:13;8809:29;8834:3;8809:20;8820:8;;8809:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;8793:45;-1:-1:-1;8862:17:0;:6;8793:45;8862:10;:17::i;:::-;8853:26;;8894:43;8910:4;8924;8931:5;8894:15;:43::i;:::-;8737:213;8638:312;8962:33;8978:4;8984:2;8988:6;8962:15;:33::i;:::-;7724:1281;;7645:1360;;;:::o;5676:173::-;5751:6;;;-1:-1:-1;;;;;5768:17:0;;;-1:-1:-1;;;;;;5768:17:0;;;;;;;5801:40;;5751:6;;;5768:17;5751:6;;5801:40;;5732:16;;5801:40;5721:128;5676:173;:::o;3613:614::-;-1:-1:-1;;;;;3753:20:0;;3745:70;;;;-1:-1:-1;;;3745:70:0;;7145:2:1;3745:70:0;;;7127:21:1;7184:2;7164:18;;;7157:30;7223:34;7203:18;;;7196:62;-1:-1:-1;;;7274:18:1;;;7267:35;7319:19;;3745:70:0;6943:401:1;3745:70:0;-1:-1:-1;;;;;3834:23:0;;3826:71;;;;-1:-1:-1;;;3826:71:0;;7551:2:1;3826:71:0;;;7533:21:1;7590:2;7570:18;;;7563:30;7629:34;7609:18;;;7602:62;-1:-1:-1;;;7680:18:1;;;7673:33;7723:19;;3826:71:0;7349:399:1;3826:71:0;-1:-1:-1;;;;;3934:17:0;;3910:21;3934:17;;;;;;;;;;;3970:23;;;;3962:74;;;;-1:-1:-1;;;3962:74:0;;7955:2:1;3962:74:0;;;7937:21:1;7994:2;7974:18;;;7967:30;8033:34;8013:18;;;8006:62;-1:-1:-1;;;8084:18:1;;;8077:36;8130:19;;3962:74:0;7753:402:1;3962:74:0;-1:-1:-1;;;;;4072:17:0;;;:9;:17;;;;;;;;;;;4092:22;;;4072:42;;4136:20;;;;;;;;:30;;4108:6;;4072:9;4136:30;;4108:6;;4136:30;:::i;:::-;;;;;;;;4201:9;-1:-1:-1;;;;;4184:35:0;4193:6;-1:-1:-1;;;;;4184:35:0;;4212:6;4184:35;;;;1595:25:1;;1583:2;1568:18;;1449:177;4184:35:0;;;;;;;;3734:493;3613:614;;;:::o;229:98::-;287:7;314:5;318:1;314;:5;:::i;:::-;307:12;229:98;-1:-1:-1;;;229:98:0:o;9013:236::-;6989:10;:17;;-1:-1:-1;;;;6989:17:0;-1:-1:-1;;;6989:17:0;;;9097:40:::1;9114:22:::0;9097:16:::1;:40::i;:::-;9148:9;::::0;:41:::1;::::0;-1:-1:-1;;;;;9148:9:0;;::::1;::::0;9167:21:::1;9148:41:::0;::::1;;;::::0;:9:::1;:41:::0;:9;:41;9167:21;9148:9;:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;9205:36:0::1;::::0;1595:25:1;;;9205:36:0::1;::::0;1583:2:1;1568:18;9205:36:0::1;;;;;;;-1:-1:-1::0;7029:10:0;:18;;-1:-1:-1;;;;7029:18:0;;;9013:236::o;441:98::-;499:7;526:5;530:1;526;:5;:::i;547:98::-;605:7;632:5;636:1;632;:5;:::i;335:98::-;393:7;420:5;424:1;420;:5;:::i;9257:580::-;9349:16;;;9363:1;9349:16;;;;;;;;9325:21;;9349:16;;;;;;;;;;-1:-1:-1;9349:16:0;9325:40;;9394:4;9376;9381:1;9376:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9376:23:0;;;:7;;;;;;;;;;:23;;;;9420:15;;:22;;;-1:-1:-1;;;9420:22:0;;;;:15;;;;;:20;;:22;;;;;9376:7;;9420:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9410:4;9415:1;9410:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9410:32:0;;;:7;;;;;;;;;;:32;;;;9491:15;;9476:4;2862:7;2889:18;;;:11;:18;;;;;;9491:15;;;;2889:27;;;;;;9511:11;-1:-1:-1;9455:156:0;;;9569:15;;9537:62;;9554:4;;-1:-1:-1;;;;;9569:15:0;-1:-1:-1;;9537:8:0;:62::i;:::-;9623:15;;:196;;-1:-1:-1;;;9623:196:0;;-1:-1:-1;;;;;9623:15:0;;;;:66;;:196;;9704:11;;9623:15;;9746:4;;9773;;9793:15;;9623:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9312:525;9257:580;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2713:247::-;2772:6;2825:2;2813:9;2804:7;2800:23;2796:32;2793:52;;;2841:1;2838;2831:12;2793:52;2880:9;2867:23;2899:31;2924:5;2899:31;:::i;2965:388::-;3033:6;3041;3094:2;3082:9;3073:7;3069:23;3065:32;3062:52;;;3110:1;3107;3100:12;3062:52;3149:9;3136:23;3168:31;3193:5;3168:31;:::i;:::-;3218:5;-1:-1:-1;3275:2:1;3260:18;;3247:32;3288:33;3247:32;3288:33;:::i;:::-;3340:7;3330:17;;;2965:388;;;;;:::o;3358:380::-;3437:1;3433:12;;;;3480;;;3501:61;;3555:4;3547:6;3543:17;3533:27;;3501:61;3608:2;3600:6;3597:14;3577:18;3574:38;3571:161;;3654:10;3649:3;3645:20;3642:1;3635:31;3689:4;3686:1;3679:15;3717:4;3714:1;3707:15;3571:161;;3358:380;;;:::o;8160:127::-;8221:10;8216:3;8212:20;8209:1;8202:31;8252:4;8249:1;8242:15;8276:4;8273:1;8266:15;8292:125;8357:9;;;8378:10;;;8375:36;;;8391:18;;:::i;8422:168::-;8495:9;;;8526;;8543:15;;;8537:22;;8523:37;8513:71;;8564:18;;:::i;8595:217::-;8635:1;8661;8651:132;;8705:10;8700:3;8696:20;8693:1;8686:31;8740:4;8737:1;8730:15;8768:4;8765:1;8758:15;8651:132;-1:-1:-1;8797:9:1;;8595:217::o;8817:128::-;8884:9;;;8905:11;;;8902:37;;;8919:18;;:::i;9082:127::-;9143:10;9138:3;9134:20;9131:1;9124:31;9174:4;9171:1;9164:15;9198:4;9195:1;9188:15;9214:251;9284:6;9337:2;9325:9;9316:7;9312:23;9308:32;9305:52;;;9353:1;9350;9343:12;9305:52;9385:9;9379:16;9404:31;9429:5;9404:31;:::i;9470:980::-;9732:4;9780:3;9769:9;9765:19;9811:6;9800:9;9793:25;9837:2;9875:6;9870:2;9859:9;9855:18;9848:34;9918:3;9913:2;9902:9;9898:18;9891:31;9942:6;9977;9971:13;10008:6;10000;9993:22;10046:3;10035:9;10031:19;10024:26;;10085:2;10077:6;10073:15;10059:29;;10106:1;10116:195;10130:6;10127:1;10124:13;10116:195;;;10195:13;;-1:-1:-1;;;;;10191:39:1;10179:52;;10286:15;;;;10251:12;;;;10227:1;10145:9;10116:195;;;-1:-1:-1;;;;;;;10367:32:1;;;;10362:2;10347:18;;10340:60;-1:-1:-1;;;10431:3:1;10416:19;10409:35;10328:3;9470:980;-1:-1:-1;;;9470:980:1:o
Swarm Source
ipfs://b3bcb855793ef1b0709493fc942c888bfcda6530d394933bc262fb025ac7be94
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.
Add Token to MetaMask (Web3)