ETH Price: $2,548.53 (+0.12%)

Token

Sproto Pepes GEN (GEN)
 

Overview

Max Total Supply

141 GEN

Holders

30

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
Null: 0x000...000
Balance
0 GEN
0x0000000000000000000000000000000000000000
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:
SprotoPepesGEN

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
london EvmVersion
File 1 of 3 : SprotoPepesGEN.sol
pragma solidity ^0.8.17;
import "openzeppelin-contracts/contracts/access/Ownable.sol";

interface ERC721TokenReceiver {
    function onERC721Received(
        address operator,
        address from,
        uint tokenId,
        bytes calldata data
    ) external returns (bytes4);
}

contract SprotoPepesGEN is Ownable {
    string public symbol;
    string public name;
    string public CID;

    address public SprotonCommand;

    uint public totalSupply = 0;

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

    uint256[] private _allTokens;
    mapping(uint256 => uint256) private _allTokensIndex;
    mapping(uint256 => uint256) private _ownedTokensIndex;
    mapping(address => mapping(uint256 => uint256)) private _ownedTokens;

    event Transfer(
        address indexed from,
        address indexed to,
        uint indexed tokenId
    );

    constructor(string memory _symbol, string memory _name) { symbol=_symbol; name=_name;}

    function setCID(string memory _CID) public onlyOwner {
        CID = _CID;
    }

    function setSprotonCommand(address _SprotonCommand) public onlyOwner {
        SprotonCommand = _SprotonCommand;
    }

    function mintGEN(address to, uint tokenId) public {
        require(msg.sender == SprotonCommand, "error SprotonCommand");
        _mint(to, tokenId);
    }

    function transferFrom(address from, address to, uint tokenId) public {
        require(msg.sender == SprotonCommand, "error SprotonCommand");
        _transfer(from, to, tokenId);
    }

    function exist(uint tokenId) public view returns (bool) {
        return owners[tokenId] != address(0);
    }

    function supportsInterface(bytes4 interfaceId) public pure returns (bool) {
        return interfaceId == 0x80ac58cd || interfaceId == 0x5b5e139f;
    }

    function balanceOf(address owner) public view returns (uint) {
        require(address(0) != owner, "error owner");
        return balances[owner];
    }

    function ownerOf(uint id) public view returns (address) {
        require(exist(id), "error exist");
        return owners[id];
    }

    function tokenURI(uint id) public view returns (string memory) {
        require(exist(id), "error exist");
        return string(abi.encodePacked("ipfs://", CID, "/", _toString(id),".json"));
    }

    function _mint(address to, uint id) private {
        address from = address(0);
        require(to != address(0), "error to");
        require(owners[id] == address(0), "error owner");

        if (from == address(0)) {
            _addTokenToAllTokensEnumeration(id);
        } else if (from != to) {
            _removeTokenFromOwnerEnumeration(from, id);
        }

        if (to == address(0)) {
            _removeTokenFromAllTokensEnumeration(id);
        } else if (to != from) {
            _addTokenToOwnerEnumeration(to, id);
        }

        balances[to]++;
        owners[id] = to;
        totalSupply++;

        emit Transfer(address(0), to, id);
        require(
            _checkOnERC721Received(address(0), to, id, ""),
            "error ERC721Receiver"
        );
    }

    function _transfer(address from, address to, uint id) private {
        require(exist(id), "error exist");
        require(to != address(0), "error to");
        require(from == ownerOf(id), "error owner");

        if (from == address(0)) {
            _addTokenToAllTokensEnumeration(id);
        } else if (from != to) {
            _removeTokenFromOwnerEnumeration(from, id);
        }

        if (to == address(0)) {
            _removeTokenFromAllTokensEnumeration(id);
        } else if (to != from) {
            _addTokenToOwnerEnumeration(to, id);
        }

        balances[from]--;
        balances[to]++;
        owners[id] = to;

        emit Transfer(from, to, id);
        require(
            _checkOnERC721Received(address(0), to, id, ""),
            "error ERC721Receiver"
        );
    }

    function tokenOfOwnerByIndex(
        address owner,
        uint256 index
    ) public view virtual returns (uint256) {
        require(index < balanceOf(owner), "error balanceOf");
        return _ownedTokens[owner][index];
    }

    function tokenByIndex(uint256 index) public view virtual returns (uint256) {
        require(index < totalSupply, "error totalSupply");
        return _allTokens[index];
    }

    function _addTokenToOwnerEnumeration(address to, uint256 id) private {
        uint256 length = balanceOf(to);
        _ownedTokens[to][length] = id;
        _ownedTokensIndex[id] = length;
    }

    function _addTokenToAllTokensEnumeration(uint256 id) private {
        _allTokensIndex[id] = _allTokens.length;
        _allTokens.push(id);
    }

    function _removeTokenFromOwnerEnumeration(
        address from,
        uint256 id
    ) private {
        uint256 lastTokenIndex = balanceOf(from) - 1;
        uint256 tokenIndex = _ownedTokensIndex[id];

        if (tokenIndex != lastTokenIndex) {
            uint256 lastTokenId = _ownedTokens[from][lastTokenIndex];

            _ownedTokens[from][tokenIndex] = lastTokenId;
            _ownedTokensIndex[lastTokenId] = tokenIndex;
        }

        delete _ownedTokensIndex[id];
        delete _ownedTokens[from][lastTokenIndex];
    }

    function _removeTokenFromAllTokensEnumeration(uint256 id) private {
        uint256 lastTokenIndex = _allTokens.length - 1;
        uint256 tokenIndex = _allTokensIndex[id];

        uint256 lastTokenId = _allTokens[lastTokenIndex];

        _allTokens[tokenIndex] = lastTokenId;
        _allTokensIndex[lastTokenId] = tokenIndex;

        delete _allTokensIndex[id];
        _allTokens.pop();
    }

    function _checkOnERC721Received(
        address from,
        address to,
        uint id,
        bytes memory _data
    ) internal returns (bool) {
        uint size;

        assembly {
            size := extcodesize(to)
        }

        if (size > 0)
            try
                ERC721TokenReceiver(to).onERC721Received(
                    msg.sender,
                    from,
                    id,
                    _data
                )
            returns (bytes4 retval) {
                return
                    retval == ERC721TokenReceiver(to).onERC721Received.selector;
            } catch (bytes memory reason) {
                if (reason.length == 0) revert("error ERC721Receiver");
                else
                    assembly {
                        revert(add(32, reason), mload(reason))
                    }
            }
        else return true;
    }

    function _toString(uint value) private pure returns (string memory) {
        if (value == 0) return "0";

        uint digits;
        uint tmp = value;

        while (tmp != 0) {
            digits++;
            tmp /= 10;
        }

        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint(value % 10)));
            value /= 10;
        }

        return string(buffer);
    }
}

File 2 of 3 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 3 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

Settings
{
  "remappings": [
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "solmate/=lib/solmate/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/operator-filter-registry/lib/openzeppelin-contracts/lib/erc4626-tests/",
    "erc721a/=lib/erc721a/contracts/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts-upgradeable/=lib/operator-filter-registry/lib/openzeppelin-contracts-upgradeable/",
    "operator-filter-registry/=lib/operator-filter-registry/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"CID","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SprotonCommand","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"exist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"mintGEN","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":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_CID","type":"string"}],"name":"setCID","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_SprotonCommand","type":"address"}],"name":"setSprotonCommand","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260006005553480156200001657600080fd5b50604051620018c9380380620018c983398101604081905262000039916200017f565b62000044336200006a565b600162000052838262000278565b50600262000061828262000278565b50505062000344565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000e257600080fd5b81516001600160401b0380821115620000ff57620000ff620000ba565b604051601f8301601f19908116603f011681019082821181831017156200012a576200012a620000ba565b816040528381526020925086838588010111156200014757600080fd5b600091505b838210156200016b57858201830151818301840152908201906200014c565b600093810190920192909252949350505050565b600080604083850312156200019357600080fd5b82516001600160401b0380821115620001ab57600080fd5b620001b986838701620000d0565b93506020850151915080821115620001d057600080fd5b50620001df85828601620000d0565b9150509250929050565b600181811c90821680620001fe57607f821691505b6020821081036200021f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200027357600081815260208120601f850160051c810160208610156200024e5750805b601f850160051c820191505b818110156200026f578281556001016200025a565b5050505b505050565b81516001600160401b03811115620002945762000294620000ba565b620002ac81620002a58454620001e9565b8462000225565b602080601f831160018114620002e45760008415620002cb5750858301515b600019600386901b1c1916600185901b1785556200026f565b600085815260208120601f198616915b828110156200031557888601518255948401946001909101908401620002f4565b5085821015620003345787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61157580620003546000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063c1784fa611610071578063c1784fa61461025a578063c3d6ee7f1461026d578063c87b56dd14610280578063ce02bc9c14610293578063f2fde38b146102a657600080fd5b806370a082311461021e578063715018a6146102315780638da5cb5b1461023957806395d89b411461024a578063c098004c1461025257600080fd5b80632f745c59116100f45780632f745c591461018f578063407ee1da146101a25780634ebbc92a146101cd5780634f6ccce7146101f85780636352211e1461020b57600080fd5b806301ffc9a71461012657806306fdde031461014e57806318160ddd1461016357806323b872dd1461017a575b600080fd5b610139610134366004610fa6565b6102b9565b60405190151581526020015b60405180910390f35b6101566102f0565b604051610145919061101a565b61016c60055481565b604051908152602001610145565b61018d610188366004611049565b61037e565b005b61016c61019d366004611085565b6103e4565b6004546101b5906001600160a01b031681565b6040516001600160a01b039091168152602001610145565b6101396101db3660046110af565b6000908152600660205260409020546001600160a01b0316151590565b61016c6102063660046110af565b610458565b6101b56102193660046110af565b6104c4565b61016c61022c3660046110c8565b610514565b61018d61055a565b6000546001600160a01b03166101b5565b61015661056e565b61015661057b565b61018d610268366004611085565b610588565b61018d61027b3660046110f9565b6105e7565b61015661028e3660046110af565b6105fb565b61018d6102a13660046110c8565b610664565b61018d6102b43660046110c8565b61068e565b60006380ac58cd60e01b6001600160e01b0319831614806102ea5750635b5e139f60e01b6001600160e01b03198316145b92915050565b600280546102fd906111aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610329906111aa565b80156103765780601f1061034b57610100808354040283529160200191610376565b820191906000526020600020905b81548152906001019060200180831161035957829003601f168201915b505050505081565b6004546001600160a01b031633146103d45760405162461bcd60e51b8152602060048201526014602482015273195c9c9bdc8814dc1c9bdd1bdb90dbdb5b585b9960621b60448201526064015b60405180910390fd5b6103df838383610707565b505050565b60006103ef83610514565b821061042f5760405162461bcd60e51b815260206004820152600f60248201526e32b93937b9103130b630b731b2a7b360891b60448201526064016103cb565b506001600160a01b03919091166000908152600b60209081526040808320938352929052205490565b6000600554821061049f5760405162461bcd60e51b81526020600482015260116024820152706572726f7220746f74616c537570706c7960781b60448201526064016103cb565b600882815481106104b2576104b26111e4565b90600052602060002001549050919050565b6000818152600660205260408120546001600160a01b03166104f85760405162461bcd60e51b81526004016103cb906111fa565b506000908152600660205260409020546001600160a01b031690565b60006001600160a01b038216810361053e5760405162461bcd60e51b81526004016103cb9061121f565b506001600160a01b031660009081526007602052604090205490565b61056261093b565b61056c6000610995565b565b600180546102fd906111aa565b600380546102fd906111aa565b6004546001600160a01b031633146105d95760405162461bcd60e51b8152602060048201526014602482015273195c9c9bdc8814dc1c9bdd1bdb90dbdb5b585b9960621b60448201526064016103cb565b6105e382826109e5565b5050565b6105ef61093b565b60036105e38282611292565b6000818152600660205260409020546060906001600160a01b03166106325760405162461bcd60e51b81526004016103cb906111fa565b600361063d83610b92565b60405160200161064e92919061136e565b6040516020818303038152906040529050919050565b61066c61093b565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b61069661093b565b6001600160a01b0381166106fb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103cb565b61070481610995565b50565b6000818152600660205260409020546001600160a01b031661073b5760405162461bcd60e51b81526004016103cb906111fa565b6001600160a01b03821661077c5760405162461bcd60e51b81526020600482015260086024820152676572726f7220746f60c01b60448201526064016103cb565b610785816104c4565b6001600160a01b0316836001600160a01b0316146107b55760405162461bcd60e51b81526004016103cb9061121f565b6001600160a01b0383166107d1576107cc81610c9b565b6107f4565b816001600160a01b0316836001600160a01b0316146107f4576107f48382610cdf565b6001600160a01b0382166108105761080b81610d7c565b610833565b826001600160a01b0316826001600160a01b031614610833576108338282610e2b565b6001600160a01b03831660009081526007602052604081208054916108578361143b565b90915550506001600160a01b038216600090815260076020526040812080549161088083611452565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46108f86000838360405180602001604052806000815250610e6f565b6103df5760405162461bcd60e51b815260206004820152601460248201527332b93937b91022a9219b9918a932b1b2b4bb32b960611b60448201526064016103cb565b6000546001600160a01b0316331461056c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103cb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006001600160a01b038316610a285760405162461bcd60e51b81526020600482015260086024820152676572726f7220746f60c01b60448201526064016103cb565b6000828152600660205260409020546001600160a01b031615610a5d5760405162461bcd60e51b81526004016103cb9061121f565b6001600160a01b038116610a7957610a7482610c9b565b610a9c565b826001600160a01b0316816001600160a01b031614610a9c57610a9c8183610cdf565b6001600160a01b038316610ab857610ab382610d7c565b610adb565b806001600160a01b0316836001600160a01b031614610adb57610adb8383610e2b565b6001600160a01b0383166000908152600760205260408120805491610aff83611452565b9091555050600082815260066020526040812080546001600160a01b0319166001600160a01b0386161790556005805491610b3983611452565b909155505060405182906001600160a01b038516906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46108f86000848460405180602001604052806000815250610e6f565b606081600003610bb95750506040805180820190915260018152600360fc1b602082015290565b6000825b8015610be35781610bcd81611452565b9250610bdc9050600a82611481565b9050610bbd565b60008267ffffffffffffffff811115610bfe57610bfe6110e3565b6040519080825280601f01601f191660200182016040528015610c28576020820181803683370190505b5090505b8415610c9357610c3d600184611495565b9250610c4a600a866114a8565b610c559060306114bc565b60f81b818481518110610c6a57610c6a6111e4565b60200101906001600160f81b031916908160001a905350610c8c600a86611481565b9450610c2c565b949350505050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b60006001610cec84610514565b610cf69190611495565b6000838152600a6020526040902054909150808214610d49576001600160a01b0384166000908152600b602090815260408083208584528252808320548484528184208190558352600a90915290208190555b506000918252600a602090815260408084208490556001600160a01b039094168352600b81528383209183525290812055565b600854600090610d8e90600190611495565b60008381526009602052604081205460088054939450909284908110610db657610db66111e4565b906000526020600020015490508060088381548110610dd757610dd76111e4565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480610e0f57610e0f6114cf565b6001900381819060005260206000200160009055905550505050565b6000610e3683610514565b6001600160a01b039093166000908152600b602090815260408083208684528252808320859055938252600a9052919091209190915550565b6000833b8015610f8657604051630a85bd0160e11b81526001600160a01b0386169063150b7a0290610eab9033908a90899089906004016114e5565b6020604051808303816000875af1925050508015610ee6575060408051601f3d908101601f19168201909252610ee391810190611522565b60015b610f6a573d808015610f14576040519150601f19603f3d011682016040523d82523d6000602084013e610f19565b606091505b508051600003610f625760405162461bcd60e51b815260206004820152601460248201527332b93937b91022a9219b9918a932b1b2b4bb32b960611b60448201526064016103cb565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149150610c939050565b6001915050610c93565b6001600160e01b03198116811461070457600080fd5b600060208284031215610fb857600080fd5b8135610fc381610f90565b9392505050565b60005b83811015610fe5578181015183820152602001610fcd565b50506000910152565b60008151808452611006816020860160208601610fca565b601f01601f19169290920160200192915050565b602081526000610fc36020830184610fee565b80356001600160a01b038116811461104457600080fd5b919050565b60008060006060848603121561105e57600080fd5b6110678461102d565b92506110756020850161102d565b9150604084013590509250925092565b6000806040838503121561109857600080fd5b6110a18361102d565b946020939093013593505050565b6000602082840312156110c157600080fd5b5035919050565b6000602082840312156110da57600080fd5b610fc38261102d565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561110b57600080fd5b813567ffffffffffffffff8082111561112357600080fd5b818401915084601f83011261113757600080fd5b813581811115611149576111496110e3565b604051601f8201601f19908116603f01168101908382118183101715611171576111716110e3565b8160405282815287602084870101111561118a57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c908216806111be57607f821691505b6020821081036111de57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6020808252600b908201526a195c9c9bdc88195e1a5cdd60aa1b604082015260600190565b6020808252600b908201526a32b93937b91037bbb732b960a91b604082015260600190565b601f8211156103df57600081815260208120601f850160051c8101602086101561126b5750805b601f850160051c820191505b8181101561128a57828155600101611277565b505050505050565b815167ffffffffffffffff8111156112ac576112ac6110e3565b6112c0816112ba84546111aa565b84611244565b602080601f8311600181146112f557600084156112dd5750858301515b600019600386901b1c1916600185901b17855561128a565b600085815260208120601f198616915b8281101561132457888601518255948401946001909101908401611305565b50858210156113425787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008151611364818560208601610fca565b9290920192915050565b66697066733a2f2f60c81b8152600060076000855461138c816111aa565b600182811680156113a457600181146113bd576113f0565b60ff1984168887015282151583028801860194506113f0565b8960005260208060002060005b858110156113e55781548b82018a01529084019082016113ca565b505050858389010194505b50602f60f81b84526114186114078286018a611352565b64173539b7b760d91b815260050190565b9998505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008161144a5761144a611425565b506000190190565b60006001820161146457611464611425565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826114905761149061146b565b500490565b818103818111156102ea576102ea611425565b6000826114b7576114b761146b565b500690565b808201808211156102ea576102ea611425565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061151890830184610fee565b9695505050505050565b60006020828403121561153457600080fd5b8151610fc381610f9056fea264697066735822122087be039792ef6581b7fed660bc880687d184d2a258efc09e509de92308bb1a4764736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000347454e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105370726f746f2050657065732047454e00000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063c1784fa611610071578063c1784fa61461025a578063c3d6ee7f1461026d578063c87b56dd14610280578063ce02bc9c14610293578063f2fde38b146102a657600080fd5b806370a082311461021e578063715018a6146102315780638da5cb5b1461023957806395d89b411461024a578063c098004c1461025257600080fd5b80632f745c59116100f45780632f745c591461018f578063407ee1da146101a25780634ebbc92a146101cd5780634f6ccce7146101f85780636352211e1461020b57600080fd5b806301ffc9a71461012657806306fdde031461014e57806318160ddd1461016357806323b872dd1461017a575b600080fd5b610139610134366004610fa6565b6102b9565b60405190151581526020015b60405180910390f35b6101566102f0565b604051610145919061101a565b61016c60055481565b604051908152602001610145565b61018d610188366004611049565b61037e565b005b61016c61019d366004611085565b6103e4565b6004546101b5906001600160a01b031681565b6040516001600160a01b039091168152602001610145565b6101396101db3660046110af565b6000908152600660205260409020546001600160a01b0316151590565b61016c6102063660046110af565b610458565b6101b56102193660046110af565b6104c4565b61016c61022c3660046110c8565b610514565b61018d61055a565b6000546001600160a01b03166101b5565b61015661056e565b61015661057b565b61018d610268366004611085565b610588565b61018d61027b3660046110f9565b6105e7565b61015661028e3660046110af565b6105fb565b61018d6102a13660046110c8565b610664565b61018d6102b43660046110c8565b61068e565b60006380ac58cd60e01b6001600160e01b0319831614806102ea5750635b5e139f60e01b6001600160e01b03198316145b92915050565b600280546102fd906111aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610329906111aa565b80156103765780601f1061034b57610100808354040283529160200191610376565b820191906000526020600020905b81548152906001019060200180831161035957829003601f168201915b505050505081565b6004546001600160a01b031633146103d45760405162461bcd60e51b8152602060048201526014602482015273195c9c9bdc8814dc1c9bdd1bdb90dbdb5b585b9960621b60448201526064015b60405180910390fd5b6103df838383610707565b505050565b60006103ef83610514565b821061042f5760405162461bcd60e51b815260206004820152600f60248201526e32b93937b9103130b630b731b2a7b360891b60448201526064016103cb565b506001600160a01b03919091166000908152600b60209081526040808320938352929052205490565b6000600554821061049f5760405162461bcd60e51b81526020600482015260116024820152706572726f7220746f74616c537570706c7960781b60448201526064016103cb565b600882815481106104b2576104b26111e4565b90600052602060002001549050919050565b6000818152600660205260408120546001600160a01b03166104f85760405162461bcd60e51b81526004016103cb906111fa565b506000908152600660205260409020546001600160a01b031690565b60006001600160a01b038216810361053e5760405162461bcd60e51b81526004016103cb9061121f565b506001600160a01b031660009081526007602052604090205490565b61056261093b565b61056c6000610995565b565b600180546102fd906111aa565b600380546102fd906111aa565b6004546001600160a01b031633146105d95760405162461bcd60e51b8152602060048201526014602482015273195c9c9bdc8814dc1c9bdd1bdb90dbdb5b585b9960621b60448201526064016103cb565b6105e382826109e5565b5050565b6105ef61093b565b60036105e38282611292565b6000818152600660205260409020546060906001600160a01b03166106325760405162461bcd60e51b81526004016103cb906111fa565b600361063d83610b92565b60405160200161064e92919061136e565b6040516020818303038152906040529050919050565b61066c61093b565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b61069661093b565b6001600160a01b0381166106fb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103cb565b61070481610995565b50565b6000818152600660205260409020546001600160a01b031661073b5760405162461bcd60e51b81526004016103cb906111fa565b6001600160a01b03821661077c5760405162461bcd60e51b81526020600482015260086024820152676572726f7220746f60c01b60448201526064016103cb565b610785816104c4565b6001600160a01b0316836001600160a01b0316146107b55760405162461bcd60e51b81526004016103cb9061121f565b6001600160a01b0383166107d1576107cc81610c9b565b6107f4565b816001600160a01b0316836001600160a01b0316146107f4576107f48382610cdf565b6001600160a01b0382166108105761080b81610d7c565b610833565b826001600160a01b0316826001600160a01b031614610833576108338282610e2b565b6001600160a01b03831660009081526007602052604081208054916108578361143b565b90915550506001600160a01b038216600090815260076020526040812080549161088083611452565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46108f86000838360405180602001604052806000815250610e6f565b6103df5760405162461bcd60e51b815260206004820152601460248201527332b93937b91022a9219b9918a932b1b2b4bb32b960611b60448201526064016103cb565b6000546001600160a01b0316331461056c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103cb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006001600160a01b038316610a285760405162461bcd60e51b81526020600482015260086024820152676572726f7220746f60c01b60448201526064016103cb565b6000828152600660205260409020546001600160a01b031615610a5d5760405162461bcd60e51b81526004016103cb9061121f565b6001600160a01b038116610a7957610a7482610c9b565b610a9c565b826001600160a01b0316816001600160a01b031614610a9c57610a9c8183610cdf565b6001600160a01b038316610ab857610ab382610d7c565b610adb565b806001600160a01b0316836001600160a01b031614610adb57610adb8383610e2b565b6001600160a01b0383166000908152600760205260408120805491610aff83611452565b9091555050600082815260066020526040812080546001600160a01b0319166001600160a01b0386161790556005805491610b3983611452565b909155505060405182906001600160a01b038516906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46108f86000848460405180602001604052806000815250610e6f565b606081600003610bb95750506040805180820190915260018152600360fc1b602082015290565b6000825b8015610be35781610bcd81611452565b9250610bdc9050600a82611481565b9050610bbd565b60008267ffffffffffffffff811115610bfe57610bfe6110e3565b6040519080825280601f01601f191660200182016040528015610c28576020820181803683370190505b5090505b8415610c9357610c3d600184611495565b9250610c4a600a866114a8565b610c559060306114bc565b60f81b818481518110610c6a57610c6a6111e4565b60200101906001600160f81b031916908160001a905350610c8c600a86611481565b9450610c2c565b949350505050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b60006001610cec84610514565b610cf69190611495565b6000838152600a6020526040902054909150808214610d49576001600160a01b0384166000908152600b602090815260408083208584528252808320548484528184208190558352600a90915290208190555b506000918252600a602090815260408084208490556001600160a01b039094168352600b81528383209183525290812055565b600854600090610d8e90600190611495565b60008381526009602052604081205460088054939450909284908110610db657610db66111e4565b906000526020600020015490508060088381548110610dd757610dd76111e4565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480610e0f57610e0f6114cf565b6001900381819060005260206000200160009055905550505050565b6000610e3683610514565b6001600160a01b039093166000908152600b602090815260408083208684528252808320859055938252600a9052919091209190915550565b6000833b8015610f8657604051630a85bd0160e11b81526001600160a01b0386169063150b7a0290610eab9033908a90899089906004016114e5565b6020604051808303816000875af1925050508015610ee6575060408051601f3d908101601f19168201909252610ee391810190611522565b60015b610f6a573d808015610f14576040519150601f19603f3d011682016040523d82523d6000602084013e610f19565b606091505b508051600003610f625760405162461bcd60e51b815260206004820152601460248201527332b93937b91022a9219b9918a932b1b2b4bb32b960611b60448201526064016103cb565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149150610c939050565b6001915050610c93565b6001600160e01b03198116811461070457600080fd5b600060208284031215610fb857600080fd5b8135610fc381610f90565b9392505050565b60005b83811015610fe5578181015183820152602001610fcd565b50506000910152565b60008151808452611006816020860160208601610fca565b601f01601f19169290920160200192915050565b602081526000610fc36020830184610fee565b80356001600160a01b038116811461104457600080fd5b919050565b60008060006060848603121561105e57600080fd5b6110678461102d565b92506110756020850161102d565b9150604084013590509250925092565b6000806040838503121561109857600080fd5b6110a18361102d565b946020939093013593505050565b6000602082840312156110c157600080fd5b5035919050565b6000602082840312156110da57600080fd5b610fc38261102d565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561110b57600080fd5b813567ffffffffffffffff8082111561112357600080fd5b818401915084601f83011261113757600080fd5b813581811115611149576111496110e3565b604051601f8201601f19908116603f01168101908382118183101715611171576111716110e3565b8160405282815287602084870101111561118a57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600181811c908216806111be57607f821691505b6020821081036111de57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6020808252600b908201526a195c9c9bdc88195e1a5cdd60aa1b604082015260600190565b6020808252600b908201526a32b93937b91037bbb732b960a91b604082015260600190565b601f8211156103df57600081815260208120601f850160051c8101602086101561126b5750805b601f850160051c820191505b8181101561128a57828155600101611277565b505050505050565b815167ffffffffffffffff8111156112ac576112ac6110e3565b6112c0816112ba84546111aa565b84611244565b602080601f8311600181146112f557600084156112dd5750858301515b600019600386901b1c1916600185901b17855561128a565b600085815260208120601f198616915b8281101561132457888601518255948401946001909101908401611305565b50858210156113425787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008151611364818560208601610fca565b9290920192915050565b66697066733a2f2f60c81b8152600060076000855461138c816111aa565b600182811680156113a457600181146113bd576113f0565b60ff1984168887015282151583028801860194506113f0565b8960005260208060002060005b858110156113e55781548b82018a01529084019082016113ca565b505050858389010194505b50602f60f81b84526114186114078286018a611352565b64173539b7b760d91b815260050190565b9998505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008161144a5761144a611425565b506000190190565b60006001820161146457611464611425565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826114905761149061146b565b500490565b818103818111156102ea576102ea611425565b6000826114b7576114b761146b565b500690565b808201808211156102ea576102ea611425565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061151890830184610fee565b9695505050505050565b60006020828403121561153457600080fd5b8151610fc381610f9056fea264697066735822122087be039792ef6581b7fed660bc880687d184d2a258efc09e509de92308bb1a4764736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000347454e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105370726f746f2050657065732047454e00000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _symbol (string): GEN
Arg [1] : _name (string): Sproto Pepes GEN

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [3] : 47454e0000000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000010
Arg [5] : 5370726f746f2050657065732047454e00000000000000000000000000000000


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.