ETH Price: $3,684.96 (+3.24%)

Token

ERC-20: Shell (SHELL)
 

Overview

Max Total Supply

138,141,173.83796296296294866 SHELL

Holders

2,768

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
baker3x.eth
Balance
6.561342592592592592 SHELL

Value
$0.00
0xa1497E3aF49BB789496BFBfa3a9330741B882B49
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:
Shell

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-01-30
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/*
    ERC20I (ERC20 0xInuarashi Edition)
    Minified and Gas Optimized
    Contributors: 0xInuarashi (Message to Martians, Anonymice), 0xBasset (Ether Orcs)
*/

contract ERC20I {
    // Token Params
    string public name;
    string public symbol;
    constructor(string memory name_, string memory symbol_) {
        name = name_;
        symbol = symbol_;
    }

    // Decimals
    uint8 public constant decimals = 18;

    // Supply
    uint256 public totalSupply;
    
    // Mappings of Balances
    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    // Events
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    // Internal Functions
    function _mint(address to_, uint256 amount_) internal virtual {
        totalSupply += amount_;
        balanceOf[to_] += amount_;
        emit Transfer(address(0x0), to_, amount_);
    }
    function _burn(address from_, uint256 amount_) internal virtual {
        balanceOf[from_] -= amount_;
        totalSupply -= amount_;
        emit Transfer(from_, address(0x0), amount_);
    }
    function _approve(address owner_, address spender_, uint256 amount_) internal virtual {
        allowance[owner_][spender_] = amount_;
        emit Approval(owner_, spender_, amount_);
    }

    // Public Functions
    function approve(address spender_, uint256 amount_) public virtual returns (bool) {
        _approve(msg.sender, spender_, amount_);
        return true;
    }
    function transfer(address to_, uint256 amount_) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount_;
        balanceOf[to_] += amount_;
        emit Transfer(msg.sender, to_, amount_);
        return true;
    }
    function transferFrom(address from_, address to_, uint256 amount_) public virtual returns (bool) {
        if (allowance[from_][msg.sender] != type(uint256).max) {
            allowance[from_][msg.sender] -= amount_; }
        balanceOf[from_] -= amount_;
        balanceOf[to_] += amount_;
        emit Transfer(from_, to_, amount_);
        return true;
    }

    // 0xInuarashi Custom Functions
    function multiTransfer(address[] memory to_, uint256[] memory amounts_) public virtual {
        require(to_.length == amounts_.length, "ERC20I: To and Amounts length Mismatch!");
        for (uint256 i = 0; i < to_.length; i++) {
            transfer(to_[i], amounts_[i]);
        }
    }
    function multiTransferFrom(address[] memory from_, address[] memory to_, uint256[] memory amounts_) public virtual {
        require(from_.length == to_.length && from_.length == amounts_.length, "ERC20I: From, To, and Amounts length Mismatch!");
        for (uint256 i = 0; i < from_.length; i++) {
            transferFrom(from_[i], to_[i], amounts_[i]);
        }
    }
}

abstract contract ERC20IBurnable is ERC20I {
    function burn(uint256 amount_) external virtual {
        _burn(msg.sender, amount_);
    }
    function burnFrom(address from_, uint256 amount_) public virtual {
        uint256 _currentAllowance = allowance[from_][msg.sender];
        require(_currentAllowance >= amount_, "ERC20IBurnable: Burn amount requested exceeds allowance!");

        if (allowance[from_][msg.sender] != type(uint256).max) {
            allowance[from_][msg.sender] -= amount_; }

        _burn(from_, amount_);
    }
}

abstract contract Ownable {
    address public owner;
    event OwnershipTransferred(address indexed oldOwner_, address indexed newOwner_);
    constructor() { owner = msg.sender; }
    modifier onlyOwner {
        require(owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function _transferOwnership(address newOwner_) internal virtual {
        address _oldOwner = owner;
        owner = newOwner_;
        emit OwnershipTransferred(_oldOwner, newOwner_);    
    }
    function transferOwnership(address newOwner_) public virtual onlyOwner {
        require(newOwner_ != address(0x0), "Ownable: new owner is the zero address!");
        _transferOwnership(newOwner_);
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0x0));
    }
}

contract Shell is ERC20IBurnable, Ownable {
    constructor() ERC20I("Shell", "SHELL") {}

    mapping(address => bool) isController;
    function setController(address address_, bool bool_) external onlyOwner {
        isController[address_] = bool_;
    }
    modifier onlyControllers {
        require(isController[msg.sender], "You are not authorized!"); _;
    }

    function mint(address to_, uint256 amount_) external onlyControllers {
        _mint(to_, amount_);
    }

    function burnAsController(address from_, uint256 amount_) external onlyControllers {
        _burn(from_, amount_);
    }
}

Contract Security Audit

Contract ABI

[{"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":"oldOwner_","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner_","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"burnAsController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"to_","type":"address[]"},{"internalType":"uint256[]","name":"amounts_","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"from_","type":"address[]"},{"internalType":"address[]","name":"to_","type":"address[]"},{"internalType":"uint256[]","name":"amounts_","type":"uint256[]"}],"name":"multiTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"bool","name":"bool_","type":"bool"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","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"}]

60806040523480156200001157600080fd5b506040518060400160405280600581526020016414da195b1b60da1b8152506040518060400160405280600581526020016414d211531360da1b81525081600090805190602001906200006692919062000097565b5080516200007c90600190602084019062000097565b5050600580546001600160a01b03191633179055506200017a565b828054620000a5906200013d565b90600052602060002090601f016020900481019282620000c9576000855562000114565b82601f10620000e457805160ff191683800117855562000114565b8280016001018555821562000114579182015b8281111562000114578251825591602001919060010190620000f7565b506200012292915062000126565b5090565b5b8082111562000122576000815560010162000127565b600181811c908216806200015257607f821691505b602082108114156200017457634e487b7160e01b600052602260045260246000fd5b50919050565b611063806200018a6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063a9059cbb11610071578063a9059cbb14610267578063dd62ed3e1461027a578063e0dba60f146102a5578063e5e656cb146102b8578063f2fde38b146102cb57600080fd5b8063715018a61461020657806379cc67901461020e5780637bde17a3146102215780638da5cb5b1461023457806395d89b411461025f57600080fd5b806323b872dd116100f457806323b872dd14610193578063313ce567146101a657806340c10f19146101c057806342966c68146101d357806370a08231146101e657600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd146101675780631e89d5451461017e575b600080fd5b61012e6102de565b60405161013b9190610e67565b60405180910390f35b610157610152366004610d38565b61036c565b604051901515815260200161013b565b61017060025481565b60405190815260200161013b565b61019161018c366004610dea565b610382565b005b6101576101a1366004610cc0565b610448565b6101ae601281565b60405160ff909116815260200161013b565b6101916101ce366004610d38565b61054e565b6101916101e1366004610e4e565b6105b5565b6101706101f4366004610c6b565b60036020526000908152604090205481565b6101916105c2565b61019161021c366004610d38565b6105f8565b61019161022f366004610d62565b610701565b600554610247906001600160a01b031681565b6040516001600160a01b03909116815260200161013b565b61012e6107f1565b610157610275366004610d38565b6107fe565b610170610288366004610c8d565b600460209081526000928352604080842090915290825290205481565b6101916102b3366004610cfc565b610888565b6101916102c6366004610d38565b6108dd565b6101916102d9366004610c6b565b610940565b600080546102eb90610f75565b80601f016020809104026020016040519081016040528092919081815260200182805461031790610f75565b80156103645780601f1061033957610100808354040283529160200191610364565b820191906000526020600020905b81548152906001019060200180831161034757829003601f168201915b505050505081565b60006103793384846109d9565b50600192915050565b80518251146103e85760405162461bcd60e51b815260206004820152602760248201527f4552433230493a20546f20616e6420416d6f756e7473206c656e677468204d69604482015266736d617463682160c81b60648201526084015b60405180910390fd5b60005b82518110156104435761043083828151811061040957610409610fe1565b602002602001015183838151811061042357610423610fe1565b60200260200101516107fe565b508061043b81610fb0565b9150506103eb565b505050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146104ad576001600160a01b0384166000908152600460209081526040808320338452909152812080548492906104a7908490610f5e565b90915550505b6001600160a01b038416600090815260036020526040812080548492906104d5908490610f5e565b90915550506001600160a01b03831660009081526003602052604081208054849290610502908490610f46565b92505081905550826001600160a01b0316846001600160a01b031660008051602061100e8339815191528460405161053c91815260200190565b60405180910390a35060019392505050565b3360009081526006602052604090205460ff166105a75760405162461bcd60e51b8152602060048201526017602482015276596f7520617265206e6f7420617574686f72697a65642160481b60448201526064016103df565b6105b18282610a3a565b5050565b6105bf3382610ab2565b50565b6005546001600160a01b031633146105ec5760405162461bcd60e51b81526004016103df90610ebc565b6105f66000610b24565b565b6001600160a01b0382166000908152600460209081526040808320338452909152902054818110156106925760405162461bcd60e51b815260206004820152603860248201527f4552433230494275726e61626c653a204275726e20616d6f756e74207265717560448201527f6573746564206578636565647320616c6c6f77616e636521000000000000000060648201526084016103df565b6001600160a01b0383166000908152600460209081526040808320338452909152902054600019146106f7576001600160a01b0383166000908152600460209081526040808320338452909152812080548492906106f1908490610f5e565b90915550505b6104438383610ab2565b81518351148015610713575080518351145b6107765760405162461bcd60e51b815260206004820152602e60248201527f4552433230493a2046726f6d2c20546f2c20616e6420416d6f756e7473206c6560448201526d6e677468204d69736d617463682160901b60648201526084016103df565b60005b83518110156107eb576107d884828151811061079757610797610fe1565b60200260200101518483815181106107b1576107b1610fe1565b60200260200101518484815181106107cb576107cb610fe1565b6020026020010151610448565b50806107e381610fb0565b915050610779565b50505050565b600180546102eb90610f75565b3360009081526003602052604081208054839190839061081f908490610f5e565b90915550506001600160a01b0383166000908152600360205260408120805484929061084c908490610f46565b90915550506040518281526001600160a01b03841690339060008051602061100e8339815191529060200160405180910390a350600192915050565b6005546001600160a01b031633146108b25760405162461bcd60e51b81526004016103df90610ebc565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b3360009081526006602052604090205460ff166109365760405162461bcd60e51b8152602060048201526017602482015276596f7520617265206e6f7420617574686f72697a65642160481b60448201526064016103df565b6105b18282610ab2565b6005546001600160a01b0316331461096a5760405162461bcd60e51b81526004016103df90610ebc565b6001600160a01b0381166109d05760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616044820152666464726573732160c81b60648201526084016103df565b6105bf81610b24565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b8060026000828254610a4c9190610f46565b90915550506001600160a01b03821660009081526003602052604081208054839290610a79908490610f46565b90915550506040518181526001600160a01b0383169060009060008051602061100e833981519152906020015b60405180910390a35050565b6001600160a01b03821660009081526003602052604081208054839290610ada908490610f5e565b925050819055508060026000828254610af39190610f5e565b90915550506040518181526000906001600160a01b0384169060008051602061100e83398151915290602001610aa6565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80356001600160a01b0381168114610b8d57600080fd5b919050565b600082601f830112610ba357600080fd5b81356020610bb8610bb383610f22565b610ef1565b80838252828201915082860187848660051b8901011115610bd857600080fd5b60005b85811015610bfe57610bec82610b76565b84529284019290840190600101610bdb565b5090979650505050505050565b600082601f830112610c1c57600080fd5b81356020610c2c610bb383610f22565b80838252828201915082860187848660051b8901011115610c4c57600080fd5b60005b85811015610bfe57813584529284019290840190600101610c4f565b600060208284031215610c7d57600080fd5b610c8682610b76565b9392505050565b60008060408385031215610ca057600080fd5b610ca983610b76565b9150610cb760208401610b76565b90509250929050565b600080600060608486031215610cd557600080fd5b610cde84610b76565b9250610cec60208501610b76565b9150604084013590509250925092565b60008060408385031215610d0f57600080fd5b610d1883610b76565b915060208301358015158114610d2d57600080fd5b809150509250929050565b60008060408385031215610d4b57600080fd5b610d5483610b76565b946020939093013593505050565b600080600060608486031215610d7757600080fd5b833567ffffffffffffffff80821115610d8f57600080fd5b610d9b87838801610b92565b94506020860135915080821115610db157600080fd5b610dbd87838801610b92565b93506040860135915080821115610dd357600080fd5b50610de086828701610c0b565b9150509250925092565b60008060408385031215610dfd57600080fd5b823567ffffffffffffffff80821115610e1557600080fd5b610e2186838701610b92565b93506020850135915080821115610e3757600080fd5b50610e4485828601610c0b565b9150509250929050565b600060208284031215610e6057600080fd5b5035919050565b600060208083528351808285015260005b81811015610e9457858101830151858201604001528201610e78565b81811115610ea6576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff81118282101715610f1a57610f1a610ff7565b604052919050565b600067ffffffffffffffff821115610f3c57610f3c610ff7565b5060051b60200190565b60008219821115610f5957610f59610fcb565b500190565b600082821015610f7057610f70610fcb565b500390565b600181811c90821680610f8957607f821691505b60208210811415610faa57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610fc457610fc4610fcb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204d30fc5eb2414ad83294ba48d1569398a338c72a4caa3535d8bc419801f3674464736f6c63430008070033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063a9059cbb11610071578063a9059cbb14610267578063dd62ed3e1461027a578063e0dba60f146102a5578063e5e656cb146102b8578063f2fde38b146102cb57600080fd5b8063715018a61461020657806379cc67901461020e5780637bde17a3146102215780638da5cb5b1461023457806395d89b411461025f57600080fd5b806323b872dd116100f457806323b872dd14610193578063313ce567146101a657806340c10f19146101c057806342966c68146101d357806370a08231146101e657600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd146101675780631e89d5451461017e575b600080fd5b61012e6102de565b60405161013b9190610e67565b60405180910390f35b610157610152366004610d38565b61036c565b604051901515815260200161013b565b61017060025481565b60405190815260200161013b565b61019161018c366004610dea565b610382565b005b6101576101a1366004610cc0565b610448565b6101ae601281565b60405160ff909116815260200161013b565b6101916101ce366004610d38565b61054e565b6101916101e1366004610e4e565b6105b5565b6101706101f4366004610c6b565b60036020526000908152604090205481565b6101916105c2565b61019161021c366004610d38565b6105f8565b61019161022f366004610d62565b610701565b600554610247906001600160a01b031681565b6040516001600160a01b03909116815260200161013b565b61012e6107f1565b610157610275366004610d38565b6107fe565b610170610288366004610c8d565b600460209081526000928352604080842090915290825290205481565b6101916102b3366004610cfc565b610888565b6101916102c6366004610d38565b6108dd565b6101916102d9366004610c6b565b610940565b600080546102eb90610f75565b80601f016020809104026020016040519081016040528092919081815260200182805461031790610f75565b80156103645780601f1061033957610100808354040283529160200191610364565b820191906000526020600020905b81548152906001019060200180831161034757829003601f168201915b505050505081565b60006103793384846109d9565b50600192915050565b80518251146103e85760405162461bcd60e51b815260206004820152602760248201527f4552433230493a20546f20616e6420416d6f756e7473206c656e677468204d69604482015266736d617463682160c81b60648201526084015b60405180910390fd5b60005b82518110156104435761043083828151811061040957610409610fe1565b602002602001015183838151811061042357610423610fe1565b60200260200101516107fe565b508061043b81610fb0565b9150506103eb565b505050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146104ad576001600160a01b0384166000908152600460209081526040808320338452909152812080548492906104a7908490610f5e565b90915550505b6001600160a01b038416600090815260036020526040812080548492906104d5908490610f5e565b90915550506001600160a01b03831660009081526003602052604081208054849290610502908490610f46565b92505081905550826001600160a01b0316846001600160a01b031660008051602061100e8339815191528460405161053c91815260200190565b60405180910390a35060019392505050565b3360009081526006602052604090205460ff166105a75760405162461bcd60e51b8152602060048201526017602482015276596f7520617265206e6f7420617574686f72697a65642160481b60448201526064016103df565b6105b18282610a3a565b5050565b6105bf3382610ab2565b50565b6005546001600160a01b031633146105ec5760405162461bcd60e51b81526004016103df90610ebc565b6105f66000610b24565b565b6001600160a01b0382166000908152600460209081526040808320338452909152902054818110156106925760405162461bcd60e51b815260206004820152603860248201527f4552433230494275726e61626c653a204275726e20616d6f756e74207265717560448201527f6573746564206578636565647320616c6c6f77616e636521000000000000000060648201526084016103df565b6001600160a01b0383166000908152600460209081526040808320338452909152902054600019146106f7576001600160a01b0383166000908152600460209081526040808320338452909152812080548492906106f1908490610f5e565b90915550505b6104438383610ab2565b81518351148015610713575080518351145b6107765760405162461bcd60e51b815260206004820152602e60248201527f4552433230493a2046726f6d2c20546f2c20616e6420416d6f756e7473206c6560448201526d6e677468204d69736d617463682160901b60648201526084016103df565b60005b83518110156107eb576107d884828151811061079757610797610fe1565b60200260200101518483815181106107b1576107b1610fe1565b60200260200101518484815181106107cb576107cb610fe1565b6020026020010151610448565b50806107e381610fb0565b915050610779565b50505050565b600180546102eb90610f75565b3360009081526003602052604081208054839190839061081f908490610f5e565b90915550506001600160a01b0383166000908152600360205260408120805484929061084c908490610f46565b90915550506040518281526001600160a01b03841690339060008051602061100e8339815191529060200160405180910390a350600192915050565b6005546001600160a01b031633146108b25760405162461bcd60e51b81526004016103df90610ebc565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b3360009081526006602052604090205460ff166109365760405162461bcd60e51b8152602060048201526017602482015276596f7520617265206e6f7420617574686f72697a65642160481b60448201526064016103df565b6105b18282610ab2565b6005546001600160a01b0316331461096a5760405162461bcd60e51b81526004016103df90610ebc565b6001600160a01b0381166109d05760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616044820152666464726573732160c81b60648201526084016103df565b6105bf81610b24565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b8060026000828254610a4c9190610f46565b90915550506001600160a01b03821660009081526003602052604081208054839290610a79908490610f46565b90915550506040518181526001600160a01b0383169060009060008051602061100e833981519152906020015b60405180910390a35050565b6001600160a01b03821660009081526003602052604081208054839290610ada908490610f5e565b925050819055508060026000828254610af39190610f5e565b90915550506040518181526000906001600160a01b0384169060008051602061100e83398151915290602001610aa6565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80356001600160a01b0381168114610b8d57600080fd5b919050565b600082601f830112610ba357600080fd5b81356020610bb8610bb383610f22565b610ef1565b80838252828201915082860187848660051b8901011115610bd857600080fd5b60005b85811015610bfe57610bec82610b76565b84529284019290840190600101610bdb565b5090979650505050505050565b600082601f830112610c1c57600080fd5b81356020610c2c610bb383610f22565b80838252828201915082860187848660051b8901011115610c4c57600080fd5b60005b85811015610bfe57813584529284019290840190600101610c4f565b600060208284031215610c7d57600080fd5b610c8682610b76565b9392505050565b60008060408385031215610ca057600080fd5b610ca983610b76565b9150610cb760208401610b76565b90509250929050565b600080600060608486031215610cd557600080fd5b610cde84610b76565b9250610cec60208501610b76565b9150604084013590509250925092565b60008060408385031215610d0f57600080fd5b610d1883610b76565b915060208301358015158114610d2d57600080fd5b809150509250929050565b60008060408385031215610d4b57600080fd5b610d5483610b76565b946020939093013593505050565b600080600060608486031215610d7757600080fd5b833567ffffffffffffffff80821115610d8f57600080fd5b610d9b87838801610b92565b94506020860135915080821115610db157600080fd5b610dbd87838801610b92565b93506040860135915080821115610dd357600080fd5b50610de086828701610c0b565b9150509250925092565b60008060408385031215610dfd57600080fd5b823567ffffffffffffffff80821115610e1557600080fd5b610e2186838701610b92565b93506020850135915080821115610e3757600080fd5b50610e4485828601610c0b565b9150509250929050565b600060208284031215610e6057600080fd5b5035919050565b600060208083528351808285015260005b81811015610e9457858101830151858201604001528201610e78565b81811115610ea6576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff81118282101715610f1a57610f1a610ff7565b604052919050565b600067ffffffffffffffff821115610f3c57610f3c610ff7565b5060051b60200190565b60008219821115610f5957610f59610fcb565b500190565b600082821015610f7057610f70610fcb565b500390565b600181811c90821680610f8957607f821691505b60208210811415610faa57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610fc457610fc4610fcb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204d30fc5eb2414ad83294ba48d1569398a338c72a4caa3535d8bc419801f3674464736f6c63430008070033

Deployed Bytecode Sourcemap

4456:625:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;273:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1547:162;;;;;;:::i;:::-;;:::i;:::-;;;4938:14:1;;4931:22;4913:41;;4901:2;4886:18;1547:162:0;4773:187:1;523:26:0;;;;;;;;;8082:25:1;;;8070:2;8055:18;523:26:0;7936:177:1;2371:294:0;;;;;;:::i;:::-;;:::i;:::-;;1958:368;;;;;;:::i;:::-;;:::i;464:35::-;;497:2;464:35;;;;;8290:4:1;8278:17;;;8260:36;;8248:2;8233:18;464:35:0;8118:184:1;4840:107:0;;;;;;:::i;:::-;;:::i;3105:93::-;;;;;;:::i;:::-;;:::i;591:44::-;;;;;;:::i;:::-;;;;;;;;;;;;;;4344:105;;;:::i;3204:406::-;;;;;;:::i;:::-;;:::i;2671:377::-;;;;;;:::i;:::-;;:::i;3650:20::-;;;;;-1:-1:-1;;;;;3650:20:0;;;;;;-1:-1:-1;;;;;4729:32:1;;;4711:51;;4699:2;4684:18;3650:20:0;4565:203:1;298:20:0;;;:::i;1715:237::-;;;;;;:::i;:::-;;:::i;642:64::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;4598:121;;;;;;:::i;:::-;;:::i;4955:123::-;;;;;;:::i;:::-;;:::i;4131:207::-;;;;;;:::i;:::-;;:::i;273:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1547:162::-;1623:4;1640:39;1649:10;1661:8;1671:7;1640:8;:39::i;:::-;-1:-1:-1;1697:4:0;1547:162;;;;:::o;2371:294::-;2491:8;:15;2477:3;:10;:29;2469:81;;;;-1:-1:-1;;;2469:81:0;;6177:2:1;2469:81:0;;;6159:21:1;6216:2;6196:18;;;6189:30;6255:34;6235:18;;;6228:62;-1:-1:-1;;;6306:18:1;;;6299:37;6353:19;;2469:81:0;;;;;;;;;2566:9;2561:97;2585:3;:10;2581:1;:14;2561:97;;;2617:29;2626:3;2630:1;2626:6;;;;;;;;:::i;:::-;;;;;;;2634:8;2643:1;2634:11;;;;;;;;:::i;:::-;;;;;;;2617:8;:29::i;:::-;-1:-1:-1;2597:3:0;;;;:::i;:::-;;;;2561:97;;;;2371:294;;:::o;1958:368::-;-1:-1:-1;;;;;2070:16:0;;2049:4;2070:16;;;:9;:16;;;;;;;;2087:10;2070:28;;;;;;;;-1:-1:-1;;2070:49:0;2066:112;;-1:-1:-1;;;;;2136:16:0;;;;;;:9;:16;;;;;;;;2153:10;2136:28;;;;;;;:39;;2168:7;;2136:16;:39;;2168:7;;2136:39;:::i;:::-;;;;-1:-1:-1;;2066:112:0;-1:-1:-1;;;;;2188:16:0;;;;;;:9;:16;;;;;:27;;2208:7;;2188:16;:27;;2208:7;;2188:27;:::i;:::-;;;;-1:-1:-1;;;;;;;2226:14:0;;;;;;:9;:14;;;;;:25;;2244:7;;2226:14;:25;;2244:7;;2226:25;:::i;:::-;;;;;;;;2283:3;-1:-1:-1;;;;;2267:29:0;2276:5;-1:-1:-1;;;;;2267:29:0;-1:-1:-1;;;;;;;;;;;2288:7:0;2267:29;;;;8082:25:1;;8070:2;8055:18;;7936:177;2267:29:0;;;;;;;;-1:-1:-1;2314:4:0;1958:368;;;;;:::o;4840:107::-;4782:10;4769:24;;;;:12;:24;;;;;;;;4761:60;;;;-1:-1:-1;;;4761:60:0;;7786:2:1;4761:60:0;;;7768:21:1;7825:2;7805:18;;;7798:30;-1:-1:-1;;;7844:18:1;;;7837:53;7907:18;;4761:60:0;7584:347:1;4761:60:0;4920:19:::1;4926:3;4931:7;4920:5;:19::i;:::-;4840:107:::0;;:::o;3105:93::-;3164:26;3170:10;3182:7;3164:5;:26::i;:::-;3105:93;:::o;4344:105::-;3845:5;;-1:-1:-1;;;;;3845:5:0;3854:10;3845:19;3837:64;;;;-1:-1:-1;;;3837:64:0;;;;;;;:::i;:::-;4409:32:::1;4436:3;4409:18;:32::i;:::-;4344:105::o:0;3204:406::-;-1:-1:-1;;;;;3308:16:0;;3280:25;3308:16;;;:9;:16;;;;;;;;3325:10;3308:28;;;;;;;;3355;;;;3347:97;;;;-1:-1:-1;;;3347:97:0;;7361:2:1;3347:97:0;;;7343:21:1;7400:2;7380:18;;;7373:30;7439:34;7419:18;;;7412:62;7510:26;7490:18;;;7483:54;7554:19;;3347:97:0;7159:420:1;3347:97:0;-1:-1:-1;;;;;3461:16:0;;;;;;:9;:16;;;;;;;;3478:10;3461:28;;;;;;;;-1:-1:-1;;3461:49:0;3457:112;;-1:-1:-1;;;;;3527:16:0;;;;;;:9;:16;;;;;;;;3544:10;3527:28;;;;;;;:39;;3559:7;;3527:16;:39;;3559:7;;3527:39;:::i;:::-;;;;-1:-1:-1;;3457:112:0;3581:21;3587:5;3594:7;3581:5;:21::i;2671:377::-;2821:3;:10;2805:5;:12;:26;:61;;;;;2851:8;:15;2835:5;:12;:31;2805:61;2797:120;;;;-1:-1:-1;;;2797:120:0;;6946:2:1;2797:120:0;;;6928:21:1;6985:2;6965:18;;;6958:30;7024:34;7004:18;;;6997:62;-1:-1:-1;;;7075:18:1;;;7068:44;7129:19;;2797:120:0;6744:410:1;2797:120:0;2933:9;2928:113;2952:5;:12;2948:1;:16;2928:113;;;2986:43;2999:5;3005:1;2999:8;;;;;;;;:::i;:::-;;;;;;;3009:3;3013:1;3009:6;;;;;;;;:::i;:::-;;;;;;;3017:8;3026:1;3017:11;;;;;;;;:::i;:::-;;;;;;;2986:12;:43::i;:::-;-1:-1:-1;2966:3:0;;;;:::i;:::-;;;;2928:113;;;;2671:377;;;:::o;298:20::-;;;;;;;:::i;1715:237::-;1814:10;1787:4;1804:21;;;:9;:21;;;;;:32;;1829:7;;1804:21;1787:4;;1804:32;;1829:7;;1804:32;:::i;:::-;;;;-1:-1:-1;;;;;;;1847:14:0;;;;;;:9;:14;;;;;:25;;1865:7;;1847:14;:25;;1865:7;;1847:25;:::i;:::-;;;;-1:-1:-1;;1888:34:0;;8082:25:1;;;-1:-1:-1;;;;;1888:34:0;;;1897:10;;-1:-1:-1;;;;;;;;;;;1888:34:0;8070:2:1;8055:18;1888:34:0;;;;;;;-1:-1:-1;1940:4:0;1715:237;;;;:::o;4598:121::-;3845:5;;-1:-1:-1;;;;;3845:5:0;3854:10;3845:19;3837:64;;;;-1:-1:-1;;;3837:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4681:22:0;;;::::1;;::::0;;;:12:::1;:22;::::0;;;;:30;;-1:-1:-1;;4681:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;4598:121::o;4955:123::-;4782:10;4769:24;;;;:12;:24;;;;;;;;4761:60;;;;-1:-1:-1;;;4761:60:0;;7786:2:1;4761:60:0;;;7768:21:1;7825:2;7805:18;;;7798:30;-1:-1:-1;;;7844:18:1;;;7837:53;7907:18;;4761:60:0;7584:347:1;4761:60:0;5049:21:::1;5055:5;5062:7;5049:5;:21::i;4131:207::-:0;3845:5;;-1:-1:-1;;;;;3845:5:0;3854:10;3845:19;3837:64;;;;-1:-1:-1;;;3837:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4221:25:0;::::1;4213:77;;;::::0;-1:-1:-1;;;4213:77:0;;5769:2:1;4213:77:0::1;::::0;::::1;5751:21:1::0;5808:2;5788:18;;;5781:30;5847:34;5827:18;;;5820:62;-1:-1:-1;;;5898:18:1;;;5891:37;5945:19;;4213:77:0::1;5567:403:1::0;4213:77:0::1;4301:29;4320:9;4301:18;:29::i;1321:193::-:0;-1:-1:-1;;;;;1418:17:0;;;;;;;:9;:17;;;;;;;;:27;;;;;;;;;;;;;:37;;;1471:35;;8082:25:1;;;1471:35:0;;8055:18:1;1471:35:0;;;;;;;1321:193;;;:::o;921:191::-;1009:7;994:11;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;1027:14:0;;;;;;:9;:14;;;;;:25;;1045:7;;1027:14;:25;;1045:7;;1027:25;:::i;:::-;;;;-1:-1:-1;;1068:36:0;;8082:25:1;;;-1:-1:-1;;;;;1068:36:0;;;1085:3;;-1:-1:-1;;;;;;;;;;;1068:36:0;8070:2:1;8055:18;1068:36:0;;;;;;;;921:191;;:::o;1118:197::-;-1:-1:-1;;;;;1193:16:0;;;;;;:9;:16;;;;;:27;;1213:7;;1193:16;:27;;1213:7;;1193:27;:::i;:::-;;;;;;;;1246:7;1231:11;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;1269:38:0;;8082:25:1;;;1293:3:0;;-1:-1:-1;;;;;1269:38:0;;;-1:-1:-1;;;;;;;;;;;1269:38:0;8070:2:1;8055:18;1269:38:0;7936:177:1;3927:198:0;4022:5;;;-1:-1:-1;;;;;4038:17:0;;;-1:-1:-1;;;;;;4038:17:0;;;;;;;4071:42;;4022:5;;;4038:17;4022:5;;4071:42;;4002:17;;4071:42;3991:134;3927:198;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:679::-;246:5;299:3;292:4;284:6;280:17;276:27;266:55;;317:1;314;307:12;266:55;353:6;340:20;379:4;403:60;419:43;459:2;419:43;:::i;:::-;403:60;:::i;:::-;485:3;509:2;504:3;497:15;537:2;532:3;528:12;521:19;;572:2;564:6;560:15;624:3;619:2;613;610:1;606:10;598:6;594:23;590:32;587:41;584:61;;;641:1;638;631:12;584:61;663:1;673:169;687:2;684:1;681:9;673:169;;;744:23;763:3;744:23;:::i;:::-;732:36;;788:12;;;;820;;;;705:1;698:9;673:169;;;-1:-1:-1;860:5:1;;192:679;-1:-1:-1;;;;;;;192:679:1:o;876:673::-;930:5;983:3;976:4;968:6;964:17;960:27;950:55;;1001:1;998;991:12;950:55;1037:6;1024:20;1063:4;1087:60;1103:43;1143:2;1103:43;:::i;1087:60::-;1169:3;1193:2;1188:3;1181:15;1221:2;1216:3;1212:12;1205:19;;1256:2;1248:6;1244:15;1308:3;1303:2;1297;1294:1;1290:10;1282:6;1278:23;1274:32;1271:41;1268:61;;;1325:1;1322;1315:12;1268:61;1347:1;1357:163;1371:2;1368:1;1365:9;1357:163;;;1428:17;;1416:30;;1466:12;;;;1498;;;;1389:1;1382:9;1357:163;;1554:186;1613:6;1666:2;1654:9;1645:7;1641:23;1637:32;1634:52;;;1682:1;1679;1672:12;1634:52;1705:29;1724:9;1705:29;:::i;:::-;1695:39;1554:186;-1:-1:-1;;;1554:186:1:o;1745:260::-;1813:6;1821;1874:2;1862:9;1853:7;1849:23;1845:32;1842:52;;;1890:1;1887;1880:12;1842:52;1913:29;1932:9;1913:29;:::i;:::-;1903:39;;1961:38;1995:2;1984:9;1980:18;1961:38;:::i;:::-;1951:48;;1745:260;;;;;:::o;2010:328::-;2087:6;2095;2103;2156:2;2144:9;2135:7;2131:23;2127:32;2124:52;;;2172:1;2169;2162:12;2124:52;2195:29;2214:9;2195:29;:::i;:::-;2185:39;;2243:38;2277:2;2266:9;2262:18;2243:38;:::i;:::-;2233:48;;2328:2;2317:9;2313:18;2300:32;2290:42;;2010:328;;;;;:::o;2343:347::-;2408:6;2416;2469:2;2457:9;2448:7;2444:23;2440:32;2437:52;;;2485:1;2482;2475:12;2437:52;2508:29;2527:9;2508:29;:::i;:::-;2498:39;;2587:2;2576:9;2572:18;2559:32;2634:5;2627:13;2620:21;2613:5;2610:32;2600:60;;2656:1;2653;2646:12;2600:60;2679:5;2669:15;;;2343:347;;;;;:::o;2695:254::-;2763:6;2771;2824:2;2812:9;2803:7;2799:23;2795:32;2792:52;;;2840:1;2837;2830:12;2792:52;2863:29;2882:9;2863:29;:::i;:::-;2853:39;2939:2;2924:18;;;;2911:32;;-1:-1:-1;;;2695:254:1:o;2954:821::-;3106:6;3114;3122;3175:2;3163:9;3154:7;3150:23;3146:32;3143:52;;;3191:1;3188;3181:12;3143:52;3231:9;3218:23;3260:18;3301:2;3293:6;3290:14;3287:34;;;3317:1;3314;3307:12;3287:34;3340:61;3393:7;3384:6;3373:9;3369:22;3340:61;:::i;:::-;3330:71;;3454:2;3443:9;3439:18;3426:32;3410:48;;3483:2;3473:8;3470:16;3467:36;;;3499:1;3496;3489:12;3467:36;3522:63;3577:7;3566:8;3555:9;3551:24;3522:63;:::i;:::-;3512:73;;3638:2;3627:9;3623:18;3610:32;3594:48;;3667:2;3657:8;3654:16;3651:36;;;3683:1;3680;3673:12;3651:36;;3706:63;3761:7;3750:8;3739:9;3735:24;3706:63;:::i;:::-;3696:73;;;2954:821;;;;;:::o;3780:595::-;3898:6;3906;3959:2;3947:9;3938:7;3934:23;3930:32;3927:52;;;3975:1;3972;3965:12;3927:52;4015:9;4002:23;4044:18;4085:2;4077:6;4074:14;4071:34;;;4101:1;4098;4091:12;4071:34;4124:61;4177:7;4168:6;4157:9;4153:22;4124:61;:::i;:::-;4114:71;;4238:2;4227:9;4223:18;4210:32;4194:48;;4267:2;4257:8;4254:16;4251:36;;;4283:1;4280;4273:12;4251:36;;4306:63;4361:7;4350:8;4339:9;4335:24;4306:63;:::i;:::-;4296:73;;;3780:595;;;;;:::o;4380:180::-;4439:6;4492:2;4480:9;4471:7;4467:23;4463:32;4460:52;;;4508:1;4505;4498:12;4460:52;-1:-1:-1;4531:23:1;;4380:180;-1:-1:-1;4380:180:1:o;4965:597::-;5077:4;5106:2;5135;5124:9;5117:21;5167:6;5161:13;5210:6;5205:2;5194:9;5190:18;5183:34;5235:1;5245:140;5259:6;5256:1;5253:13;5245:140;;;5354:14;;;5350:23;;5344:30;5320:17;;;5339:2;5316:26;5309:66;5274:10;;5245:140;;;5403:6;5400:1;5397:13;5394:91;;;5473:1;5468:2;5459:6;5448:9;5444:22;5440:31;5433:42;5394:91;-1:-1:-1;5546:2:1;5525:15;-1:-1:-1;;5521:29:1;5506:45;;;;5553:2;5502:54;;4965:597;-1:-1:-1;;;4965:597:1:o;6383:356::-;6585:2;6567:21;;;6604:18;;;6597:30;6663:34;6658:2;6643:18;;6636:62;6730:2;6715:18;;6383:356::o;8307:275::-;8378:2;8372:9;8443:2;8424:13;;-1:-1:-1;;8420:27:1;8408:40;;8478:18;8463:34;;8499:22;;;8460:62;8457:88;;;8525:18;;:::i;:::-;8561:2;8554:22;8307:275;;-1:-1:-1;8307:275:1:o;8587:183::-;8647:4;8680:18;8672:6;8669:30;8666:56;;;8702:18;;:::i;:::-;-1:-1:-1;8747:1:1;8743:14;8759:4;8739:25;;8587:183::o;8775:128::-;8815:3;8846:1;8842:6;8839:1;8836:13;8833:39;;;8852:18;;:::i;:::-;-1:-1:-1;8888:9:1;;8775:128::o;8908:125::-;8948:4;8976:1;8973;8970:8;8967:34;;;8981:18;;:::i;:::-;-1:-1:-1;9018:9:1;;8908:125::o;9038:380::-;9117:1;9113:12;;;;9160;;;9181:61;;9235:4;9227:6;9223:17;9213:27;;9181:61;9288:2;9280:6;9277:14;9257:18;9254:38;9251:161;;;9334:10;9329:3;9325:20;9322:1;9315:31;9369:4;9366:1;9359:15;9397:4;9394:1;9387:15;9251:161;;9038:380;;;:::o;9423:135::-;9462:3;-1:-1:-1;;9483:17:1;;9480:43;;;9503:18;;:::i;:::-;-1:-1:-1;9550:1:1;9539:13;;9423:135::o;9563:127::-;9624:10;9619:3;9615:20;9612:1;9605:31;9655:4;9652:1;9645:15;9679:4;9676:1;9669:15;9695:127;9756:10;9751:3;9747:20;9744:1;9737:31;9787:4;9784:1;9777:15;9811:4;9808:1;9801:15;9827:127;9888:10;9883:3;9879:20;9876:1;9869:31;9919:4;9916:1;9909:15;9943:4;9940:1;9933:15

Swarm Source

ipfs://4d30fc5eb2414ad83294ba48d1569398a338c72a4caa3535d8bc419801f36744
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.