ETH Price: $2,361.81 (+0.48%)

Token

Atsuko Sato (SATO)
 

Overview

Max Total Supply

1,000,000,000 SATO

Holders

106

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap V2: SATO 31
Balance
557,488,931.5754277717029638 SATO

Value
$0.00
0x3c5721dbe05f9a2370132a4c540710022f47ec45
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:
SATO

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-08-07
*/

/*
SATO: The True Spirit of Doge—No Imitations, Just Legends!

WEBSITE:  https://atsukosatocoin.xyz
TWITTER:  https://x.com/SATO_erc20
TELEGRAM: https://t.me/Atsuko_Sato_portal
*/
// SPDX-License-Identifier: MIT
/**
 * @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.
 */


pragma solidity ^0.8.20;

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);
}
/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    } 

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public 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) public 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) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        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");

        _beforeTokenTransfer(sender, recipient, amount);

        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);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), 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);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract SATO is ERC20, Ownable { 

    constructor () ERC20("Atsuko Sato", "SATO")
    {   
        _mint(owner(), 1_000_000_000 * (10 ** 18));
    }

    receive() external payable {

  	}
}

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":"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":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":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"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":"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"},{"stateMutability":"payable","type":"receive"}]

608060405234801561000f575f80fd5b506040518060400160405280600b81526020016a417473756b6f205361746f60a81b815250604051806040016040528060048152602001635341544f60e01b81525081600390816100609190610278565b50600461006d8282610278565b5050505f61007f6100f860201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100f36100e16005546001600160a01b031690565b6b033b2e3c9fd0803ce80000006100fc565b610357565b3390565b6001600160a01b0382166101565760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f8282546101679190610332565b90915550506001600160a01b0382165f9081526020819052604081208054839290610193908490610332565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020957607f821691505b60208210810361022757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101dc57805f5260205f20601f840160051c810160208510156102525750805b601f840160051c820191505b81811015610271575f815560010161025e565b5050505050565b81516001600160401b03811115610291576102916101e1565b6102a58161029f84546101f5565b8461022d565b6020601f8211600181146102d7575f83156102c05750848201515b5f19600385901b1c1916600184901b178455610271565b5f84815260208120601f198516915b8281101561030657878501518255602094850194600190920191016102e6565b508482101561032357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561035157634e487b7160e01b5f52601160045260245ffd5b92915050565b610b62806103645f395ff3fe6080604052600436106100dc575f3560e01c8063715018a61161007c578063a457c2d711610057578063a457c2d71461023c578063a9059cbb1461025b578063dd62ed3e1461027a578063f2fde38b146102be575f80fd5b8063715018a6146101eb5780638da5cb5b1461020157806395d89b4114610228575f80fd5b806323b872dd116100b757806323b872dd1461015e578063313ce5671461017d578063395093511461019857806370a08231146101b7575f80fd5b806306fdde03146100e7578063095ea7b31461011157806318160ddd14610140575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b506100fb6102dd565b60405161010891906109d2565b60405180910390f35b34801561011c575f80fd5b5061013061012b366004610a22565b61036d565b6040519015158152602001610108565b34801561014b575f80fd5b506002545b604051908152602001610108565b348015610169575f80fd5b50610130610178366004610a4a565b610383565b348015610188575f80fd5b5060405160128152602001610108565b3480156101a3575f80fd5b506101306101b2366004610a22565b610437565b3480156101c2575f80fd5b506101506101d1366004610a84565b6001600160a01b03165f9081526020819052604090205490565b3480156101f6575f80fd5b506101ff610472565b005b34801561020c575f80fd5b506005546040516001600160a01b039091168152602001610108565b348015610233575f80fd5b506100fb610515565b348015610247575f80fd5b50610130610256366004610a22565b610524565b348015610266575f80fd5b50610130610275366004610a22565b6105bc565b348015610285575f80fd5b50610150610294366004610aa4565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156102c9575f80fd5b506101ff6102d8366004610a84565b6105c8565b6060600380546102ec90610ad5565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610ad5565b80156103635780601f1061033a57610100808354040283529160200191610363565b820191905f5260205f20905b81548152906001019060200180831161034657829003601f168201915b5050505050905090565b5f6103793384846106e2565b5060015b92915050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f19811461042157828110156104145760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61042185338584036106e2565b61042c858585610805565b506001949350505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161037991859061046d908690610b0d565b6106e2565b6005546001600160a01b031633146104cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040b565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6060600480546102ec90610ad5565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156105a55760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161040b565b6105b233858584036106e2565b5060019392505050565b5f610379338484610805565b6005546001600160a01b031633146106225760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040b565b6001600160a01b0381166106875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161040b565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040b565b6001600160a01b0382166107a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040b565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040b565b6001600160a01b0382166108cb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040b565b6001600160a01b0383165f90815260208190526040902054818110156109425760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161040b565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610978908490610b0d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109c491815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610a1d575f80fd5b919050565b5f8060408385031215610a33575f80fd5b610a3c83610a07565b946020939093013593505050565b5f805f60608486031215610a5c575f80fd5b610a6584610a07565b9250610a7360208501610a07565b929592945050506040919091013590565b5f60208284031215610a94575f80fd5b610a9d82610a07565b9392505050565b5f8060408385031215610ab5575f80fd5b610abe83610a07565b9150610acc60208401610a07565b90509250929050565b600181811c90821680610ae957607f821691505b602082108103610b0757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561037d57634e487b7160e01b5f52601160045260245ffdfea264697066735822122063bace2714f3d51be9a944e0eee9d081eddf3f8a4be5d4c8352e80456bee4f2664736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106100dc575f3560e01c8063715018a61161007c578063a457c2d711610057578063a457c2d71461023c578063a9059cbb1461025b578063dd62ed3e1461027a578063f2fde38b146102be575f80fd5b8063715018a6146101eb5780638da5cb5b1461020157806395d89b4114610228575f80fd5b806323b872dd116100b757806323b872dd1461015e578063313ce5671461017d578063395093511461019857806370a08231146101b7575f80fd5b806306fdde03146100e7578063095ea7b31461011157806318160ddd14610140575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b506100fb6102dd565b60405161010891906109d2565b60405180910390f35b34801561011c575f80fd5b5061013061012b366004610a22565b61036d565b6040519015158152602001610108565b34801561014b575f80fd5b506002545b604051908152602001610108565b348015610169575f80fd5b50610130610178366004610a4a565b610383565b348015610188575f80fd5b5060405160128152602001610108565b3480156101a3575f80fd5b506101306101b2366004610a22565b610437565b3480156101c2575f80fd5b506101506101d1366004610a84565b6001600160a01b03165f9081526020819052604090205490565b3480156101f6575f80fd5b506101ff610472565b005b34801561020c575f80fd5b506005546040516001600160a01b039091168152602001610108565b348015610233575f80fd5b506100fb610515565b348015610247575f80fd5b50610130610256366004610a22565b610524565b348015610266575f80fd5b50610130610275366004610a22565b6105bc565b348015610285575f80fd5b50610150610294366004610aa4565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156102c9575f80fd5b506101ff6102d8366004610a84565b6105c8565b6060600380546102ec90610ad5565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610ad5565b80156103635780601f1061033a57610100808354040283529160200191610363565b820191905f5260205f20905b81548152906001019060200180831161034657829003601f168201915b5050505050905090565b5f6103793384846106e2565b5060015b92915050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f19811461042157828110156104145760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61042185338584036106e2565b61042c858585610805565b506001949350505050565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909161037991859061046d908690610b0d565b6106e2565b6005546001600160a01b031633146104cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040b565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6060600480546102ec90610ad5565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156105a55760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161040b565b6105b233858584036106e2565b5060019392505050565b5f610379338484610805565b6005546001600160a01b031633146106225760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040b565b6001600160a01b0381166106875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161040b565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040b565b6001600160a01b0382166107a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040b565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040b565b6001600160a01b0382166108cb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040b565b6001600160a01b0383165f90815260208190526040902054818110156109425760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161040b565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610978908490610b0d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109c491815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610a1d575f80fd5b919050565b5f8060408385031215610a33575f80fd5b610a3c83610a07565b946020939093013593505050565b5f805f60608486031215610a5c575f80fd5b610a6584610a07565b9250610a7360208501610a07565b929592945050506040919091013590565b5f60208284031215610a94575f80fd5b610a9d82610a07565b9392505050565b5f8060408385031215610ab5575f80fd5b610abe83610a07565b9150610acc60208401610a07565b90509250929050565b600181811c90821680610ae957607f821691505b602082108103610b0757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561037d57634e487b7160e01b5f52601160045260245ffdfea264697066735822122063bace2714f3d51be9a944e0eee9d081eddf3f8a4be5d4c8352e80456bee4f2664736f6c634300081a0033

Deployed Bytecode Sourcemap

9227:202:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4512:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5426:169;;;;;;;;;;-1:-1:-1;5426:169:0;;;;;:::i;:::-;;:::i;:::-;;;1085:14:1;;1078:22;1060:41;;1048:2;1033:18;5426:169:0;920:187:1;4833:108:0;;;;;;;;;;-1:-1:-1;4921:12:0;;4833:108;;;1258:25:1;;;1246:2;1231:18;4833:108:0;1112:177:1;5603:573:0;;;;;;;;;;-1:-1:-1;5603:573:0;;;;;:::i;:::-;;:::i;4732:93::-;;;;;;;;;;-1:-1:-1;4732:93:0;;4815:2;1815:36:1;;1803:2;1788:18;4732:93:0;1673:184:1;6184:215:0;;;;;;;;;;-1:-1:-1;6184:215:0;;;;;:::i;:::-;;:::i;4949:127::-;;;;;;;;;;-1:-1:-1;4949:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5050:18:0;5023:7;5050:18;;;;;;;;;;;;4949:127;3571:148;;;;;;;;;;;;;:::i;:::-;;3484:79;;;;;;;;;;-1:-1:-1;3549:6:0;;3484:79;;-1:-1:-1;;;;;3549:6:0;;;2199:51:1;;2187:2;2172:18;3484:79:0;2053:203:1;4620:104:0;;;;;;;;;;;;;:::i;6407:413::-;;;;;;;;;;-1:-1:-1;6407:413:0;;;;;:::i;:::-;;:::i;5084:175::-;;;;;;;;;;-1:-1:-1;5084:175:0;;;;;:::i;:::-;;:::i;5267:151::-;;;;;;;;;;-1:-1:-1;5267:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;5383:18:0;;;5356:7;5383:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5267:151;3855:244;;;;;;;;;;-1:-1:-1;3855:244:0;;;;;:::i;:::-;;:::i;4512:100::-;4566:13;4599:5;4592:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4512:100;:::o;5426:169::-;5509:4;5526:39;3005:10;5549:7;5558:6;5526:8;:39::i;:::-;-1:-1:-1;5583:4:0;5426:169;;;;;:::o;5603:573::-;-1:-1:-1;;;;;5787:19:0;;5743:4;5787:19;;;:11;:19;;;;;;;;3005:10;5787:33;;;;;;;;-1:-1:-1;;5835:37:0;;5831:265;;5917:6;5897:16;:26;;5889:79;;;;-1:-1:-1;;;5889:79:0;;3113:2:1;5889:79:0;;;3095:21:1;3152:2;3132:18;;;3125:30;3191:34;3171:18;;;3164:62;-1:-1:-1;;;3242:18:1;;;3235:38;3290:19;;5889:79:0;;;;;;;;;6012:57;6021:6;3005:10;6062:6;6043:16;:25;6012:8;:57::i;:::-;6108:36;6118:6;6126:9;6137:6;6108:9;:36::i;:::-;-1:-1:-1;6164:4:0;;5603:573;-1:-1:-1;;;;5603:573:0:o;6184:215::-;3005:10;6272:4;6321:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6321:34:0;;;;;;;;;;6272:4;;6289:80;;6312:7;;6321:47;;6358:10;;6321:47;:::i;:::-;6289:8;:80::i;3571:148::-;3768:6;;-1:-1:-1;;;;;3768:6:0;3005:10;3768:22;3760:67;;;;-1:-1:-1;;;3760:67:0;;3749:2:1;3760:67:0;;;3731:21:1;;;3768:18;;;3761:30;3827:34;3807:18;;;3800:62;3879:18;;3760:67:0;3547:356:1;3760:67:0;3662:6:::1;::::0;3641:40:::1;::::0;3678:1:::1;::::0;-1:-1:-1;;;;;3662:6:0::1;::::0;3641:40:::1;::::0;3678:1;;3641:40:::1;3692:6;:19:::0;;-1:-1:-1;;;;;;3692:19:0::1;::::0;;3571:148::o;4620:104::-;4676:13;4709:7;4702:14;;;;;:::i;6407:413::-;3005:10;6500:4;6544:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6544:34:0;;;;;;;;;;6597:35;;;;6589:85;;;;-1:-1:-1;;;6589:85:0;;4110:2:1;6589:85:0;;;4092:21:1;4149:2;4129:18;;;4122:30;4188:34;4168:18;;;4161:62;-1:-1:-1;;;4239:18:1;;;4232:35;4284:19;;6589:85:0;3908:401:1;6589:85:0;6710:67;3005:10;6733:7;6761:15;6742:16;:34;6710:8;:67::i;:::-;-1:-1:-1;6808:4:0;;6407:413;-1:-1:-1;;;6407:413:0:o;5084:175::-;5170:4;5187:42;3005:10;5211:9;5222:6;5187:9;:42::i;3855:244::-;3768:6;;-1:-1:-1;;;;;3768:6:0;3005:10;3768:22;3760:67;;;;-1:-1:-1;;;3760:67:0;;3749:2:1;3760:67:0;;;3731:21:1;;;3768:18;;;3761:30;3827:34;3807:18;;;3800:62;3879:18;;3760:67:0;3547:356:1;3760:67:0;-1:-1:-1;;;;;3944:22:0;::::1;3936:73;;;::::0;-1:-1:-1;;;3936:73:0;;4516:2:1;3936:73:0::1;::::0;::::1;4498:21:1::0;4555:2;4535:18;;;4528:30;4594:34;4574:18;;;4567:62;-1:-1:-1;;;4645:18:1;;;4638:36;4691:19;;3936:73:0::1;4314:402:1::0;3936:73:0::1;4046:6;::::0;4025:38:::1;::::0;-1:-1:-1;;;;;4025:38:0;;::::1;::::0;4046:6:::1;::::0;4025:38:::1;::::0;4046:6:::1;::::0;4025:38:::1;4074:6;:17:::0;;-1:-1:-1;;;;;;4074:17:0::1;-1:-1:-1::0;;;;;4074:17:0;;;::::1;::::0;;;::::1;::::0;;3855:244::o;8575:380::-;-1:-1:-1;;;;;8711:19:0;;8703:68;;;;-1:-1:-1;;;8703:68:0;;4923:2:1;8703:68:0;;;4905:21:1;4962:2;4942:18;;;4935:30;5001:34;4981:18;;;4974:62;-1:-1:-1;;;5052:18:1;;;5045:34;5096:19;;8703:68:0;4721:400:1;8703:68:0;-1:-1:-1;;;;;8790:21:0;;8782:68;;;;-1:-1:-1;;;8782:68:0;;5328:2:1;8782:68:0;;;5310:21:1;5367:2;5347:18;;;5340:30;5406:34;5386:18;;;5379:62;-1:-1:-1;;;5457:18:1;;;5450:32;5499:19;;8782:68:0;5126:398:1;8782:68:0;-1:-1:-1;;;;;8863:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8915:32;;1258:25:1;;;8915:32:0;;1231:18:1;8915:32:0;;;;;;;8575:380;;;:::o;6828:733::-;-1:-1:-1;;;;;6968:20:0;;6960:70;;;;-1:-1:-1;;;6960:70:0;;5731:2:1;6960:70:0;;;5713:21:1;5770:2;5750:18;;;5743:30;5809:34;5789:18;;;5782:62;-1:-1:-1;;;5860:18:1;;;5853:35;5905:19;;6960:70:0;5529:401:1;6960:70:0;-1:-1:-1;;;;;7049:23:0;;7041:71;;;;-1:-1:-1;;;7041:71:0;;6137:2:1;7041:71:0;;;6119:21:1;6176:2;6156:18;;;6149:30;6215:34;6195:18;;;6188:62;-1:-1:-1;;;6266:18:1;;;6259:33;6309:19;;7041:71:0;5935:399:1;7041:71:0;-1:-1:-1;;;;;7209:17:0;;7185:21;7209:17;;;;;;;;;;;7245:23;;;;7237:74;;;;-1:-1:-1;;;7237:74:0;;6541:2:1;7237:74:0;;;6523:21:1;6580:2;6560:18;;;6553:30;6619:34;6599:18;;;6592:62;-1:-1:-1;;;6670:18:1;;;6663:36;6716:19;;7237:74:0;6339:402:1;7237:74:0;-1:-1:-1;;;;;7347:17:0;;;:9;:17;;;;;;;;;;;7367:22;;;7347:42;;7411:20;;;;;;;;:30;;7383:6;;7347:9;7411:30;;7383:6;;7411:30;:::i;:::-;;;;;;;;7476:9;-1:-1:-1;;;;;7459:35:0;7468:6;-1:-1:-1;;;;;7459:35:0;;7487:6;7459:35;;;;1258:25:1;;1246:2;1231:18;;1112:177;7459:35:0;;;;;;;;6949:612;6828:733;;;:::o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:173::-;505:20;;-1:-1:-1;;;;;554:31:1;;544:42;;534:70;;600:1;597;590:12;534:70;437:173;;;:::o;615:300::-;683:6;691;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;783:29;802:9;783:29;:::i;:::-;773:39;881:2;866:18;;;;853:32;;-1:-1:-1;;;615:300:1:o;1294:374::-;1371:6;1379;1387;1440:2;1428:9;1419:7;1415:23;1411:32;1408:52;;;1456:1;1453;1446:12;1408:52;1479:29;1498:9;1479:29;:::i;:::-;1469:39;;1527:38;1561:2;1550:9;1546:18;1527:38;:::i;:::-;1294:374;;1517:48;;-1:-1:-1;;;1634:2:1;1619:18;;;;1606:32;;1294:374::o;1862:186::-;1921:6;1974:2;1962:9;1953:7;1949:23;1945:32;1942:52;;;1990:1;1987;1980:12;1942:52;2013:29;2032:9;2013:29;:::i;:::-;2003:39;1862:186;-1:-1:-1;;;1862:186:1:o;2261:260::-;2329:6;2337;2390:2;2378:9;2369:7;2365:23;2361:32;2358:52;;;2406:1;2403;2396:12;2358:52;2429:29;2448:9;2429:29;:::i;:::-;2419:39;;2477:38;2511:2;2500:9;2496:18;2477:38;:::i;:::-;2467:48;;2261:260;;;;;:::o;2526:380::-;2605:1;2601:12;;;;2648;;;2669:61;;2723:4;2715:6;2711:17;2701:27;;2669:61;2776:2;2768:6;2765:14;2745:18;2742:38;2739:161;;2822:10;2817:3;2813:20;2810:1;2803:31;2857:4;2854:1;2847:15;2885:4;2882:1;2875:15;2739:161;;2526:380;;;:::o;3320:222::-;3385:9;;;3406:10;;;3403:133;;;3458:10;3453:3;3449:20;3446:1;3439:31;3493:4;3490:1;3483:15;3521:4;3518:1;3511:15

Swarm Source

ipfs://63bace2714f3d51be9a944e0eee9d081eddf3f8a4be5d4c8352e80456bee4f26
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.