ETH Price: $3,247.25 (+0.80%)
 

Overview

ETH Balance

0.275981342348494158 ETH

Eth Value

$896.18 (@ $3,247.25/ETH)

Token Holdings

Transaction Hash
Method
Block
From
To
Transfer Ownersh...202205102024-07-02 18:06:35212 days ago1719943595IN
0x1d6EBF29...5EFb6d826
0 ETH0.000100793.50857719

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
217365492025-01-30 9:46:1123 hrs ago1738230371
0x1d6EBF29...5EFb6d826
0.0000025 ETH
217365492025-01-30 9:46:1123 hrs ago1738230371
0x1d6EBF29...5EFb6d826
0.00004749 ETH
217365462025-01-30 9:45:3523 hrs ago1738230335
0x1d6EBF29...5EFb6d826
0.00000298 ETH
217365462025-01-30 9:45:3523 hrs ago1738230335
0x1d6EBF29...5EFb6d826
0.00005675 ETH
217336192025-01-29 23:58:3533 hrs ago1738195115
0x1d6EBF29...5EFb6d826
0.000006 ETH
217336192025-01-29 23:58:3533 hrs ago1738195115
0x1d6EBF29...5EFb6d826
0.00011398 ETH
217267132025-01-29 0:50:352 days ago1738111835
0x1d6EBF29...5EFb6d826
0.00000494 ETH
217267132025-01-29 0:50:352 days ago1738111835
0x1d6EBF29...5EFb6d826
0.00009404 ETH
217126872025-01-27 1:51:354 days ago1737942695
0x1d6EBF29...5EFb6d826
0.00028497 ETH
216977622025-01-24 23:51:356 days ago1737762695
0x1d6EBF29...5EFb6d826
0.000005 ETH
216977622025-01-24 23:51:356 days ago1737762695
0x1d6EBF29...5EFb6d826
0.00009499 ETH
216888432025-01-23 17:59:597 days ago1737655199
0x1d6EBF29...5EFb6d826
0.000005 ETH
216888432025-01-23 17:59:597 days ago1737655199
0x1d6EBF29...5EFb6d826
0.00009499 ETH
216888372025-01-23 17:58:477 days ago1737655127
0x1d6EBF29...5EFb6d826
0.00009499 ETH
216562982025-01-19 4:58:5912 days ago1737262739
0x1d6EBF29...5EFb6d826
0.00018998 ETH
216406072025-01-17 0:23:1114 days ago1737073391
0x1d6EBF29...5EFb6d826
0.0000188 ETH
216406072025-01-17 0:23:1114 days ago1737073391
0x1d6EBF29...5EFb6d826
0.00035735 ETH
216295762025-01-15 11:26:3515 days ago1736940395
0x1d6EBF29...5EFb6d826
0.000003 ETH
216295762025-01-15 11:26:3515 days ago1736940395
0x1d6EBF29...5EFb6d826
0.00005699 ETH
216290452025-01-15 9:39:4715 days ago1736933987
0x1d6EBF29...5EFb6d826
0.000005 ETH
216290452025-01-15 9:39:4715 days ago1736933987
0x1d6EBF29...5EFb6d826
0.00009499 ETH
216083912025-01-12 12:24:2318 days ago1736684663
0x1d6EBF29...5EFb6d826
0.000001 ETH
216083912025-01-12 12:24:2318 days ago1736684663
0x1d6EBF29...5EFb6d826
0.00001899 ETH
216055102025-01-12 2:46:1119 days ago1736649971
0x1d6EBF29...5EFb6d826
0.000015 ETH
216055102025-01-12 2:46:1119 days ago1736649971
0x1d6EBF29...5EFb6d826
0.00028497 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TxFeeDistributor

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

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

// SPDX-License-Identifier: MIT

//TX Fee distributor contract
pragma solidity ^0.8.17;
/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;
    address public voter;

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


    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor() {
        owner = msg.sender;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    modifier onlyVoter() {
        require(msg.sender == voter);
        _;
    }
    /**
     * @dev Allows the current owner to relinquish control of the contract.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipRenounced(owner);
        owner = address(0);
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param _newOwner The address to transfer ownership to.
     */
    function transferOwnership(address _newOwner) public onlyOwner {
        _transferOwnership(_newOwner);
    }

    /**
     * @dev Transfers control of the contract to a newOwner.
     * @param _newOwner The address to transfer ownership to.
     */
    function _transferOwnership(address _newOwner) internal {
        require(_newOwner != address(0));
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function decimals() external returns (uint8);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract TxFeeDistributor is Ownable{
    address[] public shareholders;
    mapping(address => uint256) public shares;  // Shares for each shareholder
    mapping(address => bool) public isShareholder;
    mapping(address => bool) public whitelisted;
    uint256 public totalShares;
    uint256 public totalAmount;
    event FeeDistributed(address indexed recipient, uint256 amount);
    event SharesUpdated(address indexed shareholder, uint256 oldShares, uint256 newShares);
    event ShareholderAdded(address indexed shareholder);
    event ShareholderRemoved(address indexed shareholder);

    constructor() {
        owner = msg.sender;
    }


    // Function to set shares for a shareholder
    function setShares(address _shareHolder, uint256 _share) public onlyOwner {
        require(_shareHolder != address(0), "Invalid address");
        require(_share >= 0 && _share <= 10000, "Invalid share percentage");

        if (isShareholder[_shareHolder]) {
            totalShares = totalShares - shares[_shareHolder] + _share;
            shares[_shareHolder] = _share;
            if (_share == 0) {
                removeShareholder(_shareHolder);
            }
        } else {
            require(_share > 0, "Share must be greater than 0 to add shareholder");
            addShareholder(_shareHolder);
            shares[_shareHolder] = _share;
            totalShares += _share;
        }

        emit SharesUpdated(_shareHolder, shares[_shareHolder], _share);
    }

// Function to edit shares for an existing shareholder
    function editShares(address shareholder, uint256 newShare) public onlyOwner {
        require(shareholder != address(0), "Invalid address");
        require(newShare >= 0 && newShare <= 10000, "Invalid share percentage");
        require(isShareholder[shareholder], "Address is not a shareholder");

        uint256 currentShare = shares[shareholder];
        if (newShare == 0) {
            // If the new share is zero, remove the shareholder
            removeShareholder(shareholder);
        } else if (currentShare == 0 && newShare > 0) {
            // If currently no shares and new shares are added, add as shareholder
            addShareholder(shareholder);
        }

        // Update total shares and shareholder's shares
        totalShares = totalShares - currentShare + newShare;
        shares[shareholder] = newShare;

        emit SharesUpdated(shareholder, currentShare, newShare);
    }



    // Function to distribute fees among shareholders based on their shares
    function distributeFees() public {
        require(whitelisted[msg.sender],"not whitelisted");
        uint256 totalReceived = address(this).balance;

        for (uint i = 0; i < shareholders.length; i++) {
            uint256 payment = totalReceived * shares[shareholders[i]] / totalShares;
            (bool distributionSuccess,) = payable(shareholders[i]).call{value:payment}("");
            emit FeeDistributed(shareholders[i], payment);
        }
    }

    // Helper functions to manage shareholders
    function addShareholder(address shareholder) internal {
        isShareholder[shareholder] = true;
        shareholders.push(shareholder);
        emit ShareholderAdded(shareholder);
    }

    function removeShareholder(address shareholder) internal {
        isShareholder[shareholder] = false;
        for (uint i = 0; i < shareholders.length; i++) {
            if (shareholders[i] == shareholder) {
                shareholders[i] = shareholders[shareholders.length - 1];
                shareholders.pop();
                break;
            }
        }
        emit ShareholderRemoved(shareholder);
    }

    function disableHolder(address _holder) public onlyOwner{

        require(isShareholder[_holder], "not a holder");
        isShareholder[_holder] = false;

    }
    function enableHolder(address _holder) public onlyOwner{

        require(!isShareholder[_holder], "already a holder");
        isShareholder[_holder] = true;

    }
    // Emergency withdrawal by owner
    function emergencyWithdraw() public onlyOwner returns(bool) {
        uint256 balance = address(this).balance;
        (bool withdrawSuccess,) = payable(owner).call{value: balance}("");
        return withdrawSuccess;
    }
    // Emergency withdrawal by owner
    function emergencyWithdrawTokens(address _token, uint256 _amount) public onlyOwner {

        IERC20(_token).transfer(owner,_amount);

    }
    // View the balance of the contract
    function getBalance() public view returns (uint256) {
        return address(this).balance;
    }

    function addWhitelist(address _addWhitelistAddress) public onlyOwner {

        require(!whitelisted[_addWhitelistAddress],"already whitelist addrs");
        whitelisted[_addWhitelistAddress] = true;


    }

    function removeWhitelist(address _removeWhitelistAddress) public onlyOwner {

        require(whitelisted[_removeWhitelistAddress],"not whitelist addrs");
        whitelisted[_removeWhitelistAddress] = false;


    }

    receive() external payable {
        totalAmount = totalAmount + msg.value;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeeDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"shareholder","type":"address"}],"name":"ShareholderAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"shareholder","type":"address"}],"name":"ShareholderRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"shareholder","type":"address"},{"indexed":false,"internalType":"uint256","name":"oldShares","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newShares","type":"uint256"}],"name":"SharesUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"_addWhitelistAddress","type":"address"}],"name":"addWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"disableHolder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"},{"internalType":"uint256","name":"newShare","type":"uint256"}],"name":"editShares","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emergencyWithdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"emergencyWithdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"}],"name":"enableHolder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isShareholder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_removeWhitelistAddress","type":"address"}],"name":"removeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_shareHolder","type":"address"},{"internalType":"uint256","name":"_share","type":"uint256"}],"name":"setShares","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"shareholders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"voter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50600080546001600160a01b031933818116919092161717905561118f806100396000396000f3fe6080604052600436106101235760003560e01c8063917bb998116100a0578063d936547e11610064578063d936547e14610341578063db2e21bc14610371578063f2fde38b14610386578063f7a87eb1146103a6578063f80f5dd5146103c657600080fd5b8063917bb9981461027f578063ab377daa1461029f578063b89a73cb146102bf578063bb57ad20146102ff578063ce7c2ac21461031457600080fd5b806349bbbc9f116100e757806349bbbc9f146101ea578063715018a61461020a57806378c8cda71461021f5780638bccbf621461023f5780638da5cb5b1461025f57600080fd5b806312065fe0146101425780631a39d8ef146101645780633a98ef391461017a5780634204c1231461019057806346c96aac146101b257600080fd5b3661013d5734600754610136919061100c565b6007819055005b600080fd5b34801561014e57600080fd5b50475b6040519081526020015b60405180910390f35b34801561017057600080fd5b5061015160075481565b34801561018657600080fd5b5061015160065481565b34801561019c57600080fd5b506101b06101ab366004611041565b6103e6565b005b3480156101be57600080fd5b506001546101d2906001600160a01b031681565b6040516001600160a01b03909116815260200161015b565b3480156101f657600080fd5b506101b0610205366004611041565b61047a565b34801561021657600080fd5b506101b0610511565b34801561022b57600080fd5b506101b061023a366004611041565b610570565b34801561024b57600080fd5b506101b061025a366004611063565b610606565b34801561026b57600080fd5b506000546101d2906001600160a01b031681565b34801561028b57600080fd5b506101b061029a366004611063565b610832565b3480156102ab57600080fd5b506101d26102ba36600461108d565b6108c5565b3480156102cb57600080fd5b506102ef6102da366004611041565b60046020526000908152604090205460ff1681565b604051901515815260200161015b565b34801561030b57600080fd5b506101b06108ef565b34801561032057600080fd5b5061015161032f366004611041565b60036020526000908152604090205481565b34801561034d57600080fd5b506102ef61035c366004611041565b60056020526000908152604090205460ff1681565b34801561037d57600080fd5b506102ef610a8d565b34801561039257600080fd5b506101b06103a1366004611041565b610b02565b3480156103b257600080fd5b506101b06103c1366004611063565b610b25565b3480156103d257600080fd5b506101b06103e1366004611041565b610cfa565b6000546001600160a01b031633146103fd57600080fd5b6001600160a01b03811660009081526004602052604090205460ff166104595760405162461bcd60e51b815260206004820152600c60248201526b3737ba1030903437b63232b960a11b60448201526064015b60405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b0316331461049157600080fd5b6001600160a01b03811660009081526004602052604090205460ff16156104ed5760405162461bcd60e51b815260206004820152601060248201526f30b63932b0b23c9030903437b63232b960811b6044820152606401610450565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b0316331461052857600080fd5b600080546040516001600160a01b03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a2600080546001600160a01b0319169055565b6000546001600160a01b0316331461058757600080fd5b6001600160a01b03811660009081526005602052604090205460ff166105e55760405162461bcd60e51b81526020600482015260136024820152726e6f742077686974656c69737420616464727360681b6044820152606401610450565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b0316331461061d57600080fd5b6001600160a01b0382166106655760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610450565b6127108111156106b25760405162461bcd60e51b8152602060048201526018602482015277496e76616c69642073686172652070657263656e7461676560401b6044820152606401610450565b6001600160a01b03821660009081526004602052604090205460ff1615610737576001600160a01b03821660009081526003602052604090205460065482916106fa916110a6565b610704919061100c565b6006556001600160a01b03821660009081526003602052604081208290558190036107325761073282610d9e565b6107db565b6000811161079f5760405162461bcd60e51b815260206004820152602f60248201527f5368617265206d7573742062652067726561746572207468616e203020746f2060448201526e30b2321039b430b932b437b63232b960891b6064820152608401610450565b6107a882610efc565b6001600160a01b0382166000908152600360205260408120829055600680548392906107d590849061100c565b90915550505b6001600160a01b0382166000818152600360209081526040918290205482519081529081018490527fca7b0799c2d5d6426b3acee9b38a5097d47bf400d836961c2d90472a85ab35fe910160405180910390a25050565b6000546001600160a01b0316331461084957600080fd5b60005460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af115801561089c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c091906110b9565b505050565b600281815481106108d557600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526005602052604090205460ff166109405760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081dda1a5d195b1a5cdd1959608a1b6044820152606401610450565b4760005b600254811015610a89576000600654600360006002858154811061096a5761096a6110db565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461099990856110f1565b6109a39190611108565b90506000600283815481106109ba576109ba6110db565b60009182526020822001546040516001600160a01b039091169184919081818185875af1925050503d8060008114610a0e576040519150601f19603f3d011682016040523d82523d6000602084013e610a13565b606091505b5050905060028381548110610a2a57610a2a6110db565b600091825260209182902001546040518481526001600160a01b03909116917f6c461460f28af1386f23dc4c0c7f4e2e54f0db320a8edc08803e4b787f6db325910160405180910390a250508080610a819061112a565b915050610944565b5050565b600080546001600160a01b03163314610aa557600080fd5b600080546040514792916001600160a01b03169083908381818185875af1925050503d8060008114610af3576040519150601f19603f3d011682016040523d82523d6000602084013e610af8565b606091505b5090935050505090565b6000546001600160a01b03163314610b1957600080fd5b610b2281610f88565b50565b6000546001600160a01b03163314610b3c57600080fd5b6001600160a01b038216610b845760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610450565b612710811115610bd15760405162461bcd60e51b8152602060048201526018602482015277496e76616c69642073686172652070657263656e7461676560401b6044820152606401610450565b6001600160a01b03821660009081526004602052604090205460ff16610c395760405162461bcd60e51b815260206004820152601c60248201527f41646472657373206973206e6f742061207368617265686f6c646572000000006044820152606401610450565b6001600160a01b03821660009081526003602052604081205490829003610c6857610c6383610d9e565b610c84565b80158015610c765750600082115b15610c8457610c8483610efc565b8181600654610c9391906110a6565b610c9d919061100c565b6006556001600160a01b03831660008181526003602090815260409182902085905581518481529081018590527fca7b0799c2d5d6426b3acee9b38a5097d47bf400d836961c2d90472a85ab35fe910160405180910390a2505050565b6000546001600160a01b03163314610d1157600080fd5b6001600160a01b03811660009081526005602052604090205460ff1615610d7a5760405162461bcd60e51b815260206004820152601760248201527f616c72656164792077686974656c6973742061646472730000000000000000006044820152606401610450565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6001600160a01b0381166000908152600460205260408120805460ff191690555b600254811015610ec457816001600160a01b031660028281548110610de657610de66110db565b6000918252602090912001546001600160a01b031603610eb25760028054610e10906001906110a6565b81548110610e2057610e206110db565b600091825260209091200154600280546001600160a01b039092169183908110610e4c57610e4c6110db565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610e8b57610e8b611143565b600082815260209020810160001990810180546001600160a01b0319169055019055610ec4565b80610ebc8161112a565b915050610dbf565b506040516001600160a01b038216907f7ba114ff3d9844510a088eea94cd35562e7c97a2d36a418b37b2e61e5c77affe90600090a250565b6001600160a01b038116600081815260046020526040808220805460ff1916600190811790915560028054918201815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b03191684179055517f3082c1c4977de80c4f67ee77b56b282610ec93a7ecbcc31b551e0ac2f7bd03959190a250565b6001600160a01b038116610f9b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052601160045260246000fd5b8082018082111561101f5761101f610ff6565b92915050565b80356001600160a01b038116811461103c57600080fd5b919050565b60006020828403121561105357600080fd5b61105c82611025565b9392505050565b6000806040838503121561107657600080fd5b61107f83611025565b946020939093013593505050565b60006020828403121561109f57600080fd5b5035919050565b8181038181111561101f5761101f610ff6565b6000602082840312156110cb57600080fd5b8151801515811461105c57600080fd5b634e487b7160e01b600052603260045260246000fd5b808202811582820484141761101f5761101f610ff6565b60008261112557634e487b7160e01b600052601260045260246000fd5b500490565b60006001820161113c5761113c610ff6565b5060010190565b634e487b7160e01b600052603160045260246000fdfea264697066735822122054b26225147e14966e0309ac14cfd7687ad2e0ae5b05d2c050b20945812863c664736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063917bb998116100a0578063d936547e11610064578063d936547e14610341578063db2e21bc14610371578063f2fde38b14610386578063f7a87eb1146103a6578063f80f5dd5146103c657600080fd5b8063917bb9981461027f578063ab377daa1461029f578063b89a73cb146102bf578063bb57ad20146102ff578063ce7c2ac21461031457600080fd5b806349bbbc9f116100e757806349bbbc9f146101ea578063715018a61461020a57806378c8cda71461021f5780638bccbf621461023f5780638da5cb5b1461025f57600080fd5b806312065fe0146101425780631a39d8ef146101645780633a98ef391461017a5780634204c1231461019057806346c96aac146101b257600080fd5b3661013d5734600754610136919061100c565b6007819055005b600080fd5b34801561014e57600080fd5b50475b6040519081526020015b60405180910390f35b34801561017057600080fd5b5061015160075481565b34801561018657600080fd5b5061015160065481565b34801561019c57600080fd5b506101b06101ab366004611041565b6103e6565b005b3480156101be57600080fd5b506001546101d2906001600160a01b031681565b6040516001600160a01b03909116815260200161015b565b3480156101f657600080fd5b506101b0610205366004611041565b61047a565b34801561021657600080fd5b506101b0610511565b34801561022b57600080fd5b506101b061023a366004611041565b610570565b34801561024b57600080fd5b506101b061025a366004611063565b610606565b34801561026b57600080fd5b506000546101d2906001600160a01b031681565b34801561028b57600080fd5b506101b061029a366004611063565b610832565b3480156102ab57600080fd5b506101d26102ba36600461108d565b6108c5565b3480156102cb57600080fd5b506102ef6102da366004611041565b60046020526000908152604090205460ff1681565b604051901515815260200161015b565b34801561030b57600080fd5b506101b06108ef565b34801561032057600080fd5b5061015161032f366004611041565b60036020526000908152604090205481565b34801561034d57600080fd5b506102ef61035c366004611041565b60056020526000908152604090205460ff1681565b34801561037d57600080fd5b506102ef610a8d565b34801561039257600080fd5b506101b06103a1366004611041565b610b02565b3480156103b257600080fd5b506101b06103c1366004611063565b610b25565b3480156103d257600080fd5b506101b06103e1366004611041565b610cfa565b6000546001600160a01b031633146103fd57600080fd5b6001600160a01b03811660009081526004602052604090205460ff166104595760405162461bcd60e51b815260206004820152600c60248201526b3737ba1030903437b63232b960a11b60448201526064015b60405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b0316331461049157600080fd5b6001600160a01b03811660009081526004602052604090205460ff16156104ed5760405162461bcd60e51b815260206004820152601060248201526f30b63932b0b23c9030903437b63232b960811b6044820152606401610450565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b0316331461052857600080fd5b600080546040516001600160a01b03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a2600080546001600160a01b0319169055565b6000546001600160a01b0316331461058757600080fd5b6001600160a01b03811660009081526005602052604090205460ff166105e55760405162461bcd60e51b81526020600482015260136024820152726e6f742077686974656c69737420616464727360681b6044820152606401610450565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b0316331461061d57600080fd5b6001600160a01b0382166106655760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610450565b6127108111156106b25760405162461bcd60e51b8152602060048201526018602482015277496e76616c69642073686172652070657263656e7461676560401b6044820152606401610450565b6001600160a01b03821660009081526004602052604090205460ff1615610737576001600160a01b03821660009081526003602052604090205460065482916106fa916110a6565b610704919061100c565b6006556001600160a01b03821660009081526003602052604081208290558190036107325761073282610d9e565b6107db565b6000811161079f5760405162461bcd60e51b815260206004820152602f60248201527f5368617265206d7573742062652067726561746572207468616e203020746f2060448201526e30b2321039b430b932b437b63232b960891b6064820152608401610450565b6107a882610efc565b6001600160a01b0382166000908152600360205260408120829055600680548392906107d590849061100c565b90915550505b6001600160a01b0382166000818152600360209081526040918290205482519081529081018490527fca7b0799c2d5d6426b3acee9b38a5097d47bf400d836961c2d90472a85ab35fe910160405180910390a25050565b6000546001600160a01b0316331461084957600080fd5b60005460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af115801561089c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c091906110b9565b505050565b600281815481106108d557600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526005602052604090205460ff166109405760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081dda1a5d195b1a5cdd1959608a1b6044820152606401610450565b4760005b600254811015610a89576000600654600360006002858154811061096a5761096a6110db565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461099990856110f1565b6109a39190611108565b90506000600283815481106109ba576109ba6110db565b60009182526020822001546040516001600160a01b039091169184919081818185875af1925050503d8060008114610a0e576040519150601f19603f3d011682016040523d82523d6000602084013e610a13565b606091505b5050905060028381548110610a2a57610a2a6110db565b600091825260209182902001546040518481526001600160a01b03909116917f6c461460f28af1386f23dc4c0c7f4e2e54f0db320a8edc08803e4b787f6db325910160405180910390a250508080610a819061112a565b915050610944565b5050565b600080546001600160a01b03163314610aa557600080fd5b600080546040514792916001600160a01b03169083908381818185875af1925050503d8060008114610af3576040519150601f19603f3d011682016040523d82523d6000602084013e610af8565b606091505b5090935050505090565b6000546001600160a01b03163314610b1957600080fd5b610b2281610f88565b50565b6000546001600160a01b03163314610b3c57600080fd5b6001600160a01b038216610b845760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610450565b612710811115610bd15760405162461bcd60e51b8152602060048201526018602482015277496e76616c69642073686172652070657263656e7461676560401b6044820152606401610450565b6001600160a01b03821660009081526004602052604090205460ff16610c395760405162461bcd60e51b815260206004820152601c60248201527f41646472657373206973206e6f742061207368617265686f6c646572000000006044820152606401610450565b6001600160a01b03821660009081526003602052604081205490829003610c6857610c6383610d9e565b610c84565b80158015610c765750600082115b15610c8457610c8483610efc565b8181600654610c9391906110a6565b610c9d919061100c565b6006556001600160a01b03831660008181526003602090815260409182902085905581518481529081018590527fca7b0799c2d5d6426b3acee9b38a5097d47bf400d836961c2d90472a85ab35fe910160405180910390a2505050565b6000546001600160a01b03163314610d1157600080fd5b6001600160a01b03811660009081526005602052604090205460ff1615610d7a5760405162461bcd60e51b815260206004820152601760248201527f616c72656164792077686974656c6973742061646472730000000000000000006044820152606401610450565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6001600160a01b0381166000908152600460205260408120805460ff191690555b600254811015610ec457816001600160a01b031660028281548110610de657610de66110db565b6000918252602090912001546001600160a01b031603610eb25760028054610e10906001906110a6565b81548110610e2057610e206110db565b600091825260209091200154600280546001600160a01b039092169183908110610e4c57610e4c6110db565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610e8b57610e8b611143565b600082815260209020810160001990810180546001600160a01b0319169055019055610ec4565b80610ebc8161112a565b915050610dbf565b506040516001600160a01b038216907f7ba114ff3d9844510a088eea94cd35562e7c97a2d36a418b37b2e61e5c77affe90600090a250565b6001600160a01b038116600081815260046020526040808220805460ff1916600190811790915560028054918201815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b03191684179055517f3082c1c4977de80c4f67ee77b56b282610ec93a7ecbcc31b551e0ac2f7bd03959190a250565b6001600160a01b038116610f9b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052601160045260246000fd5b8082018082111561101f5761101f610ff6565b92915050565b80356001600160a01b038116811461103c57600080fd5b919050565b60006020828403121561105357600080fd5b61105c82611025565b9392505050565b6000806040838503121561107657600080fd5b61107f83611025565b946020939093013593505050565b60006020828403121561109f57600080fd5b5035919050565b8181038181111561101f5761101f610ff6565b6000602082840312156110cb57600080fd5b8151801515811461105c57600080fd5b634e487b7160e01b600052603260045260246000fd5b808202811582820484141761101f5761101f610ff6565b60008261112557634e487b7160e01b600052601260045260246000fd5b500490565b60006001820161113c5761113c610ff6565b5060010190565b634e487b7160e01b600052603160045260246000fdfea264697066735822122054b26225147e14966e0309ac14cfd7687ad2e0ae5b05d2c050b20945812863c664736f6c63430008110033

Deployed Bytecode Sourcemap

2486:5251:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7715:9;7701:11;;:23;;;;:::i;:::-;7687:11;:37;;;;2486:5251;;;;7090:99;;;;;;;;;;-1:-1:-1;7160:21:0;7090:99;;;422:25:1;;;410:2;395:18;7090:99:0;;;;;;;;2780:26;;;;;;;;;;;;;;;;2747;;;;;;;;;;;;;;;;6241:167;;;;;;;;;;-1:-1:-1;6241:167:0;;;;;:::i;:::-;;:::i;:::-;;338:20;;;;;;;;;;-1:-1:-1;338:20:0;;;;-1:-1:-1;;;;;338:20:0;;;;;;-1:-1:-1;;;;;991:32:1;;;973:51;;961:2;946:18;338:20:0;827:203:1;6414:170:0;;;;;;;;;;-1:-1:-1;6414:170:0;;;;;:::i;:::-;;:::i;1089:124::-;;;;;;;;;;;;;:::i;7419:222::-;;;;;;;;;;-1:-1:-1;7419:222:0;;;;;:::i;:::-;;:::i;3206:796::-;;;;;;;;;;-1:-1:-1;3206:796:0;;;;;:::i;:::-;;:::i;311:20::-;;;;;;;;;;-1:-1:-1;311:20:0;;;;-1:-1:-1;;;;;311:20:0;;;6899:144;;;;;;;;;;-1:-1:-1;6899:144:0;;;;;:::i;:::-;;:::i;2529:29::-;;;;;;;;;;-1:-1:-1;2529:29:0;;;;;:::i;:::-;;:::i;2645:45::-;;;;;;;;;;-1:-1:-1;2645:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1644:14:1;;1637:22;1619:41;;1607:2;1592:18;2645:45:0;1479:187:1;5082:468:0;;;;;;;;;;;;;:::i;2565:41::-;;;;;;;;;;-1:-1:-1;2565:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;2697:43;;;;;;;;;;-1:-1:-1;2697:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6628:227;;;;;;;;;;;;;:::i;1391:111::-;;;;;;;;;;-1:-1:-1;1391:111:0;;;;;:::i;:::-;;:::i;4066:927::-;;;;;;;;;;-1:-1:-1;4066:927:0;;;;;:::i;:::-;;:::i;7197:214::-;;;;;;;;;;-1:-1:-1;7197:214:0;;;;;:::i;:::-;;:::i;6241:167::-;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;-1:-1:-1;;;;;6318:22:0;::::1;;::::0;;;:13:::1;:22;::::0;;;;;::::1;;6310:47;;;::::0;-1:-1:-1;;;6310:47:0;;1873:2:1;6310:47:0::1;::::0;::::1;1855:21:1::0;1912:2;1892:18;;;1885:30;-1:-1:-1;;;1931:18:1;;;1924:42;1983:18;;6310:47:0::1;;;;;;;;;-1:-1:-1::0;;;;;6368:22:0::1;6393:5;6368:22:::0;;;:13:::1;:22;::::0;;;;:30;;-1:-1:-1;;6368:30:0::1;::::0;;6241:167::o;6414:170::-;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;-1:-1:-1;;;;;6491:22:0;::::1;;::::0;;;:13:::1;:22;::::0;;;;;::::1;;6490:23;6482:52;;;::::0;-1:-1:-1;;;6482:52:0;;2214:2:1;6482:52:0::1;::::0;::::1;2196:21:1::0;2253:2;2233:18;;;2226:30;-1:-1:-1;;;2272:18:1;;;2265:46;2328:18;;6482:52:0::1;2012:340:1::0;6482:52:0::1;-1:-1:-1::0;;;;;6545:22:0::1;;::::0;;;:13:::1;:22;::::0;;;;:29;;-1:-1:-1;;6545:29:0::1;6570:4;6545:29;::::0;;6414:170::o;1089:124::-;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;1170:5:::1;::::0;;1151:25:::1;::::0;-1:-1:-1;;;;;1170:5:0;;::::1;::::0;1151:25:::1;::::0;::::1;1203:1;1187:18:::0;;-1:-1:-1;;;;;;1187:18:0::1;::::0;;1089:124::o;7419:222::-;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;-1:-1:-1;;;;;7515:36:0;::::1;;::::0;;;:11:::1;:36;::::0;;;;;::::1;;7507:67;;;::::0;-1:-1:-1;;;7507:67:0;;2559:2:1;7507:67:0::1;::::0;::::1;2541:21:1::0;2598:2;2578:18;;;2571:30;-1:-1:-1;;;2617:18:1;;;2610:49;2676:18;;7507:67:0::1;2357:343:1::0;7507:67:0::1;-1:-1:-1::0;;;;;7585:36:0::1;7624:5;7585:36:::0;;;:11:::1;:36;::::0;;;;:44;;-1:-1:-1;;7585:44:0::1;::::0;;7419:222::o;3206:796::-;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;-1:-1:-1;;;;;3299:26:0;::::1;3291:54;;;::::0;-1:-1:-1;;;3291:54:0;;2907:2:1;3291:54:0::1;::::0;::::1;2889:21:1::0;2946:2;2926:18;;;2919:30;-1:-1:-1;;;2965:18:1;;;2958:45;3020:18;;3291:54:0::1;2705:339:1::0;3291:54:0::1;3389:5;3379:6;:15;;3356:67;;;::::0;-1:-1:-1;;;3356:67:0;;3251:2:1;3356:67:0::1;::::0;::::1;3233:21:1::0;3290:2;3270:18;;;3263:30;-1:-1:-1;;;3309:18:1;;;3302:54;3373:18;;3356:67:0::1;3049:348:1::0;3356:67:0::1;-1:-1:-1::0;;;;;3440:27:0;::::1;;::::0;;;:13:::1;:27;::::0;;;;;::::1;;3436:484;;;-1:-1:-1::0;;;;;3512:20:0;::::1;;::::0;;;:6:::1;:20;::::0;;;;;3498:11:::1;::::0;3535:6;;3498:34:::1;::::0;::::1;:::i;:::-;:43;;;;:::i;:::-;3484:11;:57:::0;-1:-1:-1;;;;;3556:20:0;::::1;;::::0;;;:6:::1;:20;::::0;;;;:29;;;3604:11;;;3600:83:::1;;3636:31;3654:12;3636:17;:31::i;:::-;3436:484;;;3732:1;3723:6;:10;3715:70;;;::::0;-1:-1:-1;;;3715:70:0;;3737:2:1;3715:70:0::1;::::0;::::1;3719:21:1::0;3776:2;3756:18;;;3749:30;3815:34;3795:18;;;3788:62;-1:-1:-1;;;3866:18:1;;;3859:45;3921:19;;3715:70:0::1;3535:411:1::0;3715:70:0::1;3800:28;3815:12;3800:14;:28::i;:::-;-1:-1:-1::0;;;;;3843:20:0;::::1;;::::0;;;:6:::1;:20;::::0;;;;:29;;;3887:11:::1;:21:::0;;3866:6;;3843:20;3887:21:::1;::::0;3866:6;;3887:21:::1;:::i;:::-;::::0;;;-1:-1:-1;;3436:484:0::1;-1:-1:-1::0;;;;;3937:57:0;::::1;3965:20;::::0;;;:6:::1;:20;::::0;;;;;;;;;3937:57;;4125:25:1;;;4166:18;;;4159:34;;;3937:57:0::1;::::0;4098:18:1;3937:57:0::1;;;;;;;3206:796:::0;;:::o;6899:144::-;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;7019:5:::1;::::0;6995:38:::1;::::0;-1:-1:-1;;;6995:38:0;;-1:-1:-1;;;;;7019:5:0;;::::1;6995:38;::::0;::::1;4378:51:1::0;4445:18;;;4438:34;;;6995:23:0;;::::1;::::0;::::1;::::0;4351:18:1;;6995:38:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6899:144:::0;;:::o;2529:29::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2529:29:0;;-1:-1:-1;2529:29:0;:::o;5082:468::-;5146:10;5134:23;;;;:11;:23;;;;;;;;5126:50;;;;-1:-1:-1;;;5126:50:0;;4967:2:1;5126:50:0;;;4949:21:1;5006:2;4986:18;;;4979:30;-1:-1:-1;;;5025:18:1;;;5018:45;5080:18;;5126:50:0;4765:339:1;5126:50:0;5211:21;5187;5245:298;5266:12;:19;5262:23;;5245:298;;;5307:15;5367:11;;5341:6;:23;5348:12;5361:1;5348:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;5348:15:0;5341:23;;;;;;;;;;;;;5325:39;;:13;:39;:::i;:::-;:53;;;;:::i;:::-;5307:71;;5394:24;5431:12;5444:1;5431:15;;;;;;;;:::i;:::-;;;;;;;;;;5423:48;;-1:-1:-1;;;;;5431:15:0;;;;5459:7;;5423:48;;5431:15;5423:48;5459:7;5431:15;5423:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5393:78;;;5506:12;5519:1;5506:15;;;;;;;;:::i;:::-;;;;;;;;;;;;5491:40;;422:25:1;;;-1:-1:-1;;;;;5506:15:0;;;;5491:40;;395:18:1;5491:40:0;;;;;;;5292:251;;5287:3;;;;;:::i;:::-;;;;5245:298;;;;5115:435;5082:468::o;6628:227::-;6682:4;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;6699:15:::1;6783:5:::0;;6775:39:::1;::::0;6717:21:::1;::::0;6699:15;-1:-1:-1;;;;;6783:5:0::1;::::0;6717:21;;6699:15;6775:39;6699:15;6775:39;6717:21;6783:5;6775:39:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;6749:65:0;;-1:-1:-1;;;;6628:227:0;:::o;1391:111::-;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;1465:29:::1;1484:9;1465:18;:29::i;:::-;1391:111:::0;:::o;4066:927::-;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;-1:-1:-1;;;;;4161:25:0;::::1;4153:53;;;::::0;-1:-1:-1;;;4153:53:0;;2907:2:1;4153:53:0::1;::::0;::::1;2889:21:1::0;2946:2;2926:18;;;2919:30;-1:-1:-1;;;2965:18:1;;;2958:45;3020:18;;4153:53:0::1;2705:339:1::0;4153:53:0::1;4254:5;4242:8;:17;;4217:71;;;::::0;-1:-1:-1;;;4217:71:0;;3251:2:1;4217:71:0::1;::::0;::::1;3233:21:1::0;3290:2;3270:18;;;3263:30;-1:-1:-1;;;3309:18:1;;;3302:54;3373:18;;4217:71:0::1;3049:348:1::0;4217:71:0::1;-1:-1:-1::0;;;;;4307:26:0;::::1;;::::0;;;:13:::1;:26;::::0;;;;;::::1;;4299:67;;;::::0;-1:-1:-1;;;4299:67:0;;6188:2:1;4299:67:0::1;::::0;::::1;6170:21:1::0;6227:2;6207:18;;;6200:30;6266;6246:18;;;6239:58;6314:18;;4299:67:0::1;5986:352:1::0;4299:67:0::1;-1:-1:-1::0;;;;;4402:19:0;::::1;4379:20;4402:19:::0;;;:6:::1;:19;::::0;;;;;;4436:13;;;4432:324:::1;;4531:30;4549:11;4531:17;:30::i;:::-;4432:324;;;4583:17:::0;;:33;::::1;;;;4615:1;4604:8;:12;4583:33;4579:177;;;4717:27;4732:11;4717:14;:27::i;:::-;4868:8;4853:12;4839:11;;:26;;;;:::i;:::-;:37;;;;:::i;:::-;4825:11;:51:::0;-1:-1:-1;;;;;4887:19:0;::::1;;::::0;;;:6:::1;:19;::::0;;;;;;;;:30;;;4935:50;;4125:25:1;;;4166:18;;;4159:34;;;4935:50:0::1;::::0;4098:18:1;4935:50:0::1;;;;;;;4142:851;4066:927:::0;;:::o;7197:214::-;874:5;;-1:-1:-1;;;;;874:5:0;860:10;:19;852:28;;;;;;-1:-1:-1;;;;;7288:33:0;::::1;;::::0;;;:11:::1;:33;::::0;;;;;::::1;;7287:34;7279:69;;;::::0;-1:-1:-1;;;7279:69:0;;6545:2:1;7279:69:0::1;::::0;::::1;6527:21:1::0;6584:2;6564:18;;;6557:30;6623:25;6603:18;;;6596:53;6666:18;;7279:69:0::1;6343:347:1::0;7279:69:0::1;-1:-1:-1::0;;;;;7359:33:0::1;;::::0;;;:11:::1;:33;::::0;;;;:40;;-1:-1:-1;;7359:40:0::1;7395:4;7359:40;::::0;;7197:214::o;5806:427::-;-1:-1:-1;;;;;5874:26:0;;5903:5;5874:26;;;:13;:26;;;;;:34;;-1:-1:-1;;5874:34:0;;;5919:260;5940:12;:19;5936:23;;5919:260;;;6004:11;-1:-1:-1;;;;;5985:30:0;:12;5998:1;5985:15;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;5985:15:0;:30;5981:187;;6054:12;6067:19;;:23;;6089:1;;6067:23;:::i;:::-;6054:37;;;;;;;;:::i;:::-;;;;;;;;;;;6036:12;:15;;-1:-1:-1;;;;;6054:37:0;;;;6049:1;;6036:15;;;;;;:::i;:::-;;;;;;;;;:55;;;;;-1:-1:-1;;;;;6036:55:0;;;;;-1:-1:-1;;;;;6036:55:0;;;;;;6110:12;:18;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;6110:18:0;;;;;-1:-1:-1;;;;;;6110:18:0;;;;;;6147:5;;5981:187;5961:3;;;;:::i;:::-;;;;5919:260;;;-1:-1:-1;6194:31:0;;-1:-1:-1;;;;;6194:31:0;;;;;;;;5806:427;:::o;5606:192::-;-1:-1:-1;;;;;5671:26:0;;;;;;:13;:26;;;;;;:33;;-1:-1:-1;;5671:33:0;5700:4;5671:33;;;;;;5715:12;:30;;;;;;;;;;;;;-1:-1:-1;;;;;;5715:30:0;;;;;5761:29;;;5671:26;5761:29;5606:192;:::o;1653:189::-;-1:-1:-1;;;;;1728:23:0;;1720:32;;;;;;1789:5;;;1768:38;;-1:-1:-1;;;;;1768:38:0;;;;1789:5;;;1768:38;;;1817:5;:17;;-1:-1:-1;;;;;;1817:17:0;-1:-1:-1;;;;;1817:17:0;;;;;;;;;;1653:189::o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;211:9;;;232:10;;;229:36;;;245:18;;:::i;:::-;146:125;;;;:::o;458:173::-;526:20;;-1:-1:-1;;;;;575:31:1;;565:42;;555:70;;621:1;618;611:12;555:70;458:173;;;:::o;636:186::-;695:6;748:2;736:9;727:7;723:23;719:32;716:52;;;764:1;761;754:12;716:52;787:29;806:9;787:29;:::i;:::-;777:39;636:186;-1:-1:-1;;;636:186:1:o;1035:254::-;1103:6;1111;1164:2;1152:9;1143:7;1139:23;1135:32;1132:52;;;1180:1;1177;1170:12;1132:52;1203:29;1222:9;1203:29;:::i;:::-;1193:39;1279:2;1264:18;;;;1251:32;;-1:-1:-1;;;1035:254:1:o;1294:180::-;1353:6;1406:2;1394:9;1385:7;1381:23;1377:32;1374:52;;;1422:1;1419;1412:12;1374:52;-1:-1:-1;1445:23:1;;1294:180;-1:-1:-1;1294:180:1:o;3402:128::-;3469:9;;;3490:11;;;3487:37;;;3504:18;;:::i;4483:277::-;4550:6;4603:2;4591:9;4582:7;4578:23;4574:32;4571:52;;;4619:1;4616;4609:12;4571:52;4651:9;4645:16;4704:5;4697:13;4690:21;4683:5;4680:32;4670:60;;4726:1;4723;4716:12;5109:127;5170:10;5165:3;5161:20;5158:1;5151:31;5201:4;5198:1;5191:15;5225:4;5222:1;5215:15;5241:168;5314:9;;;5345;;5362:15;;;5356:22;;5342:37;5332:71;;5383:18;;:::i;5414:217::-;5454:1;5480;5470:132;;5524:10;5519:3;5515:20;5512:1;5505:31;5559:4;5556:1;5549:15;5587:4;5584:1;5577:15;5470:132;-1:-1:-1;5616:9:1;;5414:217::o;5846:135::-;5885:3;5906:17;;;5903:43;;5926:18;;:::i;:::-;-1:-1:-1;5973:1:1;5962:13;;5846:135::o;6695:127::-;6756:10;6751:3;6747:20;6744:1;6737:31;6787:4;6784:1;6777:15;6811:4;6808:1;6801:15

Swarm Source

ipfs://54b26225147e14966e0309ac14cfd7687ad2e0ae5b05d2c050b20945812863c6

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  ]
[ 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.