ETH Price: $3,385.72 (-2.74%)
Gas: 1 Gwei

Contract

0xE9e48031209BB49Ee67a343D7A065692DfC943F3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Rescue Funds184077282023-10-22 18:50:47250 days ago1698000647IN
0xE9e48031...2DfC943F3
0 ETH0.0003433411.13578351
Claim182313632023-09-28 2:47:23274 days ago1695869243IN
0xE9e48031...2DfC943F3
0 ETH0.000223496.19507616
Claim182303912023-09-27 23:32:11275 days ago1695857531IN
0xE9e48031...2DfC943F3
0 ETH0.000268457.44104231
Claim182300782023-09-27 22:29:23275 days ago1695853763IN
0xE9e48031...2DfC943F3
0 ETH0.000316298.76734586
Claim182291992023-09-27 19:32:23275 days ago1695843143IN
0xE9e48031...2DfC943F3
0 ETH0.0017649222.55032103
Claim182290572023-09-27 19:03:47275 days ago1695841427IN
0xE9e48031...2DfC943F3
0 ETH0.0004262511.81514166
Claim182290122023-09-27 18:54:35275 days ago1695840875IN
0xE9e48031...2DfC943F3
0 ETH0.0003810511.49673149
Claim182290082023-09-27 18:53:47275 days ago1695840827IN
0xE9e48031...2DfC943F3
0 ETH0.0009088911.6129055
Claim182287182023-09-27 17:55:47275 days ago1695837347IN
0xE9e48031...2DfC943F3
0 ETH0.0008136531.65108452
Claim182287162023-09-27 17:55:23275 days ago1695837323IN
0xE9e48031...2DfC943F3
0 ETH0.0010327331.15816685
Claim182287122023-09-27 17:54:35275 days ago1695837275IN
0xE9e48031...2DfC943F3
0 ETH0.0010198130.76827522
Claim182287102023-09-27 17:54:11275 days ago1695837251IN
0xE9e48031...2DfC943F3
0 ETH0.0013472430.96251151
Claim182286982023-09-27 17:51:47275 days ago1695837107IN
0xE9e48031...2DfC943F3
0 ETH0.0008864234.48170516
Claim182286952023-09-27 17:51:11275 days ago1695837071IN
0xE9e48031...2DfC943F3
0 ETH0.0026785934.2241894
Claim182284912023-09-27 17:09:47275 days ago1695834587IN
0xE9e48031...2DfC943F3
0 ETH0.0011124518.90893392
Claim182283892023-09-27 16:49:11275 days ago1695833351IN
0xE9e48031...2DfC943F3
0 ETH0.0016128227.41415726
Claim182283122023-09-27 16:33:35275 days ago1695832415IN
0xE9e48031...2DfC943F3
0 ETH0.0008522923.62426239
Claim182282872023-09-27 16:28:35275 days ago1695832115IN
0xE9e48031...2DfC943F3
0 ETH0.0005277315.9221443
Claim182282772023-09-27 16:26:35275 days ago1695831995IN
0xE9e48031...2DfC943F3
0 ETH0.0008359514.20920141
Claim182282672023-09-27 16:24:35275 days ago1695831875IN
0xE9e48031...2DfC943F3
0 ETH0.0005130714.22168187
Claim182282422023-09-27 16:19:35275 days ago1695831575IN
0xE9e48031...2DfC943F3
0 ETH0.0005439115.07641387
Set Token182273982023-09-27 13:29:23275 days ago1695821363IN
0xE9e48031...2DfC943F3
0 ETH0.000473710.27230262
0x60806040182273882023-09-27 13:27:23275 days ago1695821243IN
 Create: TokenDividend
0 ETH0.0078380810.59516029

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
184077282023-10-22 18:50:47250 days ago1698000647
0xE9e48031...2DfC943F3
0.4083283 ETH
182313632023-09-28 2:47:23274 days ago1695869243
0xE9e48031...2DfC943F3
0.00144204 ETH
182303912023-09-27 23:32:11275 days ago1695857531
0xE9e48031...2DfC943F3
0.00889646 ETH
182300802023-09-27 22:29:47275 days ago1695853787
0xE9e48031...2DfC943F3
0.00242523 ETH
182300782023-09-27 22:29:23275 days ago1695853763
0xE9e48031...2DfC943F3
0.00230575 ETH
182300382023-09-27 22:21:23275 days ago1695853283
0xE9e48031...2DfC943F3
0.00247953 ETH
182298522023-09-27 21:44:11275 days ago1695851051
0xE9e48031...2DfC943F3
0.00270893 ETH
182296412023-09-27 21:01:11275 days ago1695848471
0xE9e48031...2DfC943F3
0.00275987 ETH
182296412023-09-27 21:01:11275 days ago1695848471
0xE9e48031...2DfC943F3
0.0028792 ETH
182294162023-09-27 20:16:11275 days ago1695845771
0xE9e48031...2DfC943F3
0.00308852 ETH
182293492023-09-27 20:02:35275 days ago1695844955
0xE9e48031...2DfC943F3
0.00320614 ETH
182292032023-09-27 19:33:11275 days ago1695843191
0xE9e48031...2DfC943F3
0.00325442 ETH
182291992023-09-27 19:32:23275 days ago1695843143
0xE9e48031...2DfC943F3
0.00587964 ETH
182291142023-09-27 19:15:11275 days ago1695842111
0xE9e48031...2DfC943F3
0.00358237 ETH
182290682023-09-27 19:05:59275 days ago1695841559
0xE9e48031...2DfC943F3
0.0040427 ETH
182290572023-09-27 19:03:47275 days ago1695841427
0xE9e48031...2DfC943F3
0.0068638 ETH
182290082023-09-27 18:53:47275 days ago1695840827
0xE9e48031...2DfC943F3
0.01410066 ETH
182287782023-09-27 18:07:47275 days ago1695838067
0xE9e48031...2DfC943F3
0.00381844 ETH
182287742023-09-27 18:06:59275 days ago1695838019
0xE9e48031...2DfC943F3
0.00417091 ETH
182287742023-09-27 18:06:59275 days ago1695838019
0xE9e48031...2DfC943F3
0.00426637 ETH
182287582023-09-27 18:03:47275 days ago1695837827
0xE9e48031...2DfC943F3
0.00438519 ETH
182287102023-09-27 17:54:11275 days ago1695837251
0xE9e48031...2DfC943F3
0.01061366 ETH
182287072023-09-27 17:53:35275 days ago1695837215
0xE9e48031...2DfC943F3
0.00475269 ETH
182287022023-09-27 17:52:35275 days ago1695837155
0xE9e48031...2DfC943F3
0.0051045 ETH
182286952023-09-27 17:51:11275 days ago1695837071
0xE9e48031...2DfC943F3
0.00858836 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TokenDividend

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.7;

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

}

interface IREWARD {
    function setShare(address shareholder, uint256 amount) external;
    function deposit() external payable;
}

contract TokenDividend is IREWARD {   
    
    using SafeMath for uint256;

    address public _owner;
    address public _token;

    struct Share {
        uint256 amount;
        uint256 totalExcluded;
        uint256 totalRealised;
        uint256 reserved;
    }
    mapping (address => Share) public shares;
    
    uint256 public totalShares;
    uint256 public totalDividends;
    uint256 public totalDistributed;
    uint256 public dividendsPerShare;
    uint256 public totalReserved;

    uint256 public dividendsPerShareAccuracyFactor = 10 ** 27;

    modifier onlyToken() {
        require(msg.sender == _token); 
        _;
    }

    modifier onlyOwner() {
        require(msg.sender == _owner);
        _;
    }

    constructor() {
        _owner = msg.sender;
    }

    function setShare(address shareholder, uint256 amount) external override onlyToken {
        if(shares[shareholder].amount > 0){
            distributeDividend(shareholder);
        }
        totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
        shares[shareholder].amount = amount;
        shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
    }

    function deposit() external payable override onlyToken {
        uint256 amount = msg.value;
        totalDividends = totalDividends.add(amount);
        dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
    }

    function distributeDividend(address shareholder) internal {
        if(shares[shareholder].amount == 0){ return; }
        uint256 amount = calEarning(shareholder);
        if(amount > 0){
            totalDistributed = totalDistributed.add(amount);
            shares[shareholder].reserved += amount;
            totalReserved += amount;
            shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
            shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
        }
    }

    function getUnpaidEarning(address shareholder) public view returns (uint256) {
        uint calReward = calEarning(shareholder);
        uint reservedReward = shares[shareholder].reserved;
        return calReward.add(reservedReward);
    }

    function rescueTokens(address adr,address recipient,uint amount) external onlyOwner {
        (bool os,) = address(adr).call(abi.encodeWithSignature("transfer(address,uint256)", recipient,amount));
        require(os,'Payment Failed');
    }

    function rescueFunds(address _receiver) external onlyOwner {
        payable(_receiver).transfer(address(this).balance);
    }

    function setToken(address _tk) external onlyOwner {
        _token = _tk;
    }

    function claim() external {
        address user = msg.sender;
        distributeDividend(user);
        uint subtotal = shares[user].reserved;
        if(subtotal > 0) {
            shares[user].reserved = 0;
            totalReserved = totalReserved.sub(subtotal);
            payable(user).transfer(subtotal);
        }
    }

    function calEarning(address shareholder) internal view returns (uint256) {
        if(shares[shareholder].amount == 0){ return 0; }
        uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
        uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;
        if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }
        return shareholderTotalDividends.sub(shareholderTotalExcluded);
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"dividendsPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendsPerShareAccuracyFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getUnpaidEarning","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tk","type":"address"}],"name":"setToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"totalExcluded","type":"uint256"},{"internalType":"uint256","name":"totalRealised","type":"uint256"},{"internalType":"uint256","name":"reserved","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReserved","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526b033b2e3c9fd0803ce800000060085534801561002057600080fd5b50600080546001600160a01b03191633179055610b9d806100426000396000f3fe6080604052600436106100f75760003560e01c8063c71b0e1c1161008a578063e2d2e21911610059578063e2d2e219146102a9578063e53b2017146102bf578063ecd0c0c3146102df578063efca2eed146102ff57600080fd5b8063c71b0e1c14610207578063ce7c2ac21461021d578063cea9d26f14610281578063d0e30db0146102a157600080fd5b80633a98ef39116100c65780633a98ef391461018e5780634e71d92d146101a4578063997664d7146101b9578063b2bdfa7b146101cf57600080fd5b80630650c7871461010357806311ce023d14610136578063144fa6d71461014c57806314b6ca961461016e57600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046109e5565b610315565b6040519081526020015b60405180910390f35b34801561014257600080fd5b5061012360085481565b34801561015857600080fd5b5061016c6101673660046109e5565b610352565b005b34801561017a57600080fd5b5061016c610189366004610a3c565b61038b565b34801561019a57600080fd5b5061012360035481565b3480156101b057600080fd5b5061016c610444565b3480156101c557600080fd5b5061012360045481565b3480156101db57600080fd5b506000546101ef906001600160a01b031681565b6040516001600160a01b03909116815260200161012d565b34801561021357600080fd5b5061012360075481565b34801561022957600080fd5b506102616102383660046109e5565b600260208190526000918252604090912080546001820154928201546003909201549092919084565b60408051948552602085019390935291830152606082015260800161012d565b34801561028d57600080fd5b5061016c61029c366004610a00565b6104d8565b61016c6105d7565b3480156102b557600080fd5b5061012360065481565b3480156102cb57600080fd5b5061016c6102da3660046109e5565b61062d565b3480156102eb57600080fd5b506001546101ef906001600160a01b031681565b34801561030b57600080fd5b5061012360055481565b60008061032183610679565b6001600160a01b03841660009081526002602052604090206003015490915061034a82826106fa565b949350505050565b6000546001600160a01b0316331461036957600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146103a257600080fd5b6001600160a01b038216600090815260026020526040902054156103c9576103c982610762565b6001600160a01b0382166000908152600260205260409020546003546103fa9183916103f491610841565b906106fa565b6003556001600160a01b038216600090815260026020526040902081905561042181610883565b6001600160a01b0390921660009081526002602052604090206001019190915550565b3361044e81610762565b6001600160a01b03811660009081526002602052604090206003015480156104d4576001600160a01b0382166000908152600260205260408120600301556007546104999082610841565b6007556040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156104d2573d6000803e3d6000fd5b505b5050565b6000546001600160a01b031633146104ef57600080fd5b6040516001600160a01b038381166024830152604482018390526000919085169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b179052516105489190610a66565b6000604051808303816000865af19150503d8060008114610585576040519150601f19603f3d011682016040523d82523d6000602084013e61058a565b606091505b50509050806105d15760405162461bcd60e51b815260206004820152600e60248201526d14185e5b595b9d0811985a5b195960921b60448201526064015b60405180910390fd5b50505050565b6001546001600160a01b031633146105ee57600080fd5b60045434906105fd90826106fa565b6004556003546008546106279161061e9161061890856108a0565b9061091f565b600654906106fa565b60065550565b6000546001600160a01b0316331461064457600080fd5b6040516001600160a01b038216904780156108fc02916000818181858888f193505050501580156104d4573d6000803e3d6000fd5b6001600160a01b03811660009081526002602052604081205461069e57506000919050565b6001600160a01b0382166000908152600260205260408120546106c090610883565b6001600160a01b0384166000908152600260205260409020600101549091508082116106f0575060009392505050565b61034a8282610841565b6000806107078385610ab5565b9050838110156107595760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105c8565b90505b92915050565b6001600160a01b0381166000908152600260205260409020546107825750565b600061078d82610679565b905080156104d4576005546107a290826106fa565b6005556001600160a01b038216600090815260026020526040812060030180548392906107d0908490610ab5565b9250508190555080600760008282546107e99190610ab5565b90915550506001600160a01b0382166000908152600260208190526040909120015461081590826106fa565b6001600160a01b0383166000908152600260208190526040909120908101919091555461042190610883565b600061075983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610961565b600061075c600854610618600654856108a090919063ffffffff16565b6000826108af5750600061075c565b60006108bb8385610aef565b9050826108c88583610acd565b146107595760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105c8565b600061075983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061099b565b600081848411156109855760405162461bcd60e51b81526004016105c89190610a82565b5060006109928486610b0e565b95945050505050565b600081836109bc5760405162461bcd60e51b81526004016105c89190610a82565b5060006109928486610acd565b80356001600160a01b03811681146109e057600080fd5b919050565b6000602082840312156109f757600080fd5b610759826109c9565b600080600060608486031215610a1557600080fd5b610a1e846109c9565b9250610a2c602085016109c9565b9150604084013590509250925092565b60008060408385031215610a4f57600080fd5b610a58836109c9565b946020939093013593505050565b60008251610a78818460208701610b25565b9190910192915050565b6020815260008251806020840152610aa1816040850160208701610b25565b601f01601f19169190910160400192915050565b60008219821115610ac857610ac8610b51565b500190565b600082610aea57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610b0957610b09610b51565b500290565b600082821015610b2057610b20610b51565b500390565b60005b83811015610b40578181015183820152602001610b28565b838111156105d15750506000910152565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220b2f2de18baef559938bbac2b022be2f51cd39c11fe821d6cc5528c0a8dc6e58764736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063c71b0e1c1161008a578063e2d2e21911610059578063e2d2e219146102a9578063e53b2017146102bf578063ecd0c0c3146102df578063efca2eed146102ff57600080fd5b8063c71b0e1c14610207578063ce7c2ac21461021d578063cea9d26f14610281578063d0e30db0146102a157600080fd5b80633a98ef39116100c65780633a98ef391461018e5780634e71d92d146101a4578063997664d7146101b9578063b2bdfa7b146101cf57600080fd5b80630650c7871461010357806311ce023d14610136578063144fa6d71461014c57806314b6ca961461016e57600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046109e5565b610315565b6040519081526020015b60405180910390f35b34801561014257600080fd5b5061012360085481565b34801561015857600080fd5b5061016c6101673660046109e5565b610352565b005b34801561017a57600080fd5b5061016c610189366004610a3c565b61038b565b34801561019a57600080fd5b5061012360035481565b3480156101b057600080fd5b5061016c610444565b3480156101c557600080fd5b5061012360045481565b3480156101db57600080fd5b506000546101ef906001600160a01b031681565b6040516001600160a01b03909116815260200161012d565b34801561021357600080fd5b5061012360075481565b34801561022957600080fd5b506102616102383660046109e5565b600260208190526000918252604090912080546001820154928201546003909201549092919084565b60408051948552602085019390935291830152606082015260800161012d565b34801561028d57600080fd5b5061016c61029c366004610a00565b6104d8565b61016c6105d7565b3480156102b557600080fd5b5061012360065481565b3480156102cb57600080fd5b5061016c6102da3660046109e5565b61062d565b3480156102eb57600080fd5b506001546101ef906001600160a01b031681565b34801561030b57600080fd5b5061012360055481565b60008061032183610679565b6001600160a01b03841660009081526002602052604090206003015490915061034a82826106fa565b949350505050565b6000546001600160a01b0316331461036957600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146103a257600080fd5b6001600160a01b038216600090815260026020526040902054156103c9576103c982610762565b6001600160a01b0382166000908152600260205260409020546003546103fa9183916103f491610841565b906106fa565b6003556001600160a01b038216600090815260026020526040902081905561042181610883565b6001600160a01b0390921660009081526002602052604090206001019190915550565b3361044e81610762565b6001600160a01b03811660009081526002602052604090206003015480156104d4576001600160a01b0382166000908152600260205260408120600301556007546104999082610841565b6007556040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156104d2573d6000803e3d6000fd5b505b5050565b6000546001600160a01b031633146104ef57600080fd5b6040516001600160a01b038381166024830152604482018390526000919085169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b179052516105489190610a66565b6000604051808303816000865af19150503d8060008114610585576040519150601f19603f3d011682016040523d82523d6000602084013e61058a565b606091505b50509050806105d15760405162461bcd60e51b815260206004820152600e60248201526d14185e5b595b9d0811985a5b195960921b60448201526064015b60405180910390fd5b50505050565b6001546001600160a01b031633146105ee57600080fd5b60045434906105fd90826106fa565b6004556003546008546106279161061e9161061890856108a0565b9061091f565b600654906106fa565b60065550565b6000546001600160a01b0316331461064457600080fd5b6040516001600160a01b038216904780156108fc02916000818181858888f193505050501580156104d4573d6000803e3d6000fd5b6001600160a01b03811660009081526002602052604081205461069e57506000919050565b6001600160a01b0382166000908152600260205260408120546106c090610883565b6001600160a01b0384166000908152600260205260409020600101549091508082116106f0575060009392505050565b61034a8282610841565b6000806107078385610ab5565b9050838110156107595760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105c8565b90505b92915050565b6001600160a01b0381166000908152600260205260409020546107825750565b600061078d82610679565b905080156104d4576005546107a290826106fa565b6005556001600160a01b038216600090815260026020526040812060030180548392906107d0908490610ab5565b9250508190555080600760008282546107e99190610ab5565b90915550506001600160a01b0382166000908152600260208190526040909120015461081590826106fa565b6001600160a01b0383166000908152600260208190526040909120908101919091555461042190610883565b600061075983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610961565b600061075c600854610618600654856108a090919063ffffffff16565b6000826108af5750600061075c565b60006108bb8385610aef565b9050826108c88583610acd565b146107595760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105c8565b600061075983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061099b565b600081848411156109855760405162461bcd60e51b81526004016105c89190610a82565b5060006109928486610b0e565b95945050505050565b600081836109bc5760405162461bcd60e51b81526004016105c89190610a82565b5060006109928486610acd565b80356001600160a01b03811681146109e057600080fd5b919050565b6000602082840312156109f757600080fd5b610759826109c9565b600080600060608486031215610a1557600080fd5b610a1e846109c9565b9250610a2c602085016109c9565b9150604084013590509250925092565b60008060408385031215610a4f57600080fd5b610a58836109c9565b946020939093013593505050565b60008251610a78818460208701610b25565b9190910192915050565b6020815260008251806020840152610aa1816040850160208701610b25565b601f01601f19169190910160400192915050565b60008219821115610ac857610ac8610b51565b500190565b600082610aea57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610b0957610b09610b51565b500290565b600082821015610b2057610b20610b51565b500390565b60005b83811015610b40578181015183820152602001610b28565b838111156105d15750506000910152565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220b2f2de18baef559938bbac2b022be2f51cd39c11fe821d6cc5528c0a8dc6e58764736f6c63430008070033

Deployed Bytecode Sourcemap

1425:3856:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3519:244;;;;;;;;;;-1:-1:-1;3519:244:0;;;;;:::i;:::-;;:::i;:::-;;;3376:25:1;;;3364:2;3349:18;3519:244:0;;;;;;;;1947:57;;;;;;;;;;;;;;;;4159:81;;;;;;;;;;-1:-1:-1;4159:81:0;;;;;:::i;:::-;;:::i;:::-;;2252:416;;;;;;;;;;-1:-1:-1;2252:416:0;;;;;:::i;:::-;;:::i;1764:26::-;;;;;;;;;;;;;;;;4248:337;;;;;;;;;;;;;:::i;1797:29::-;;;;;;;;;;;;;;;;1510:21;;;;;;;;;;-1:-1:-1;1510:21:0;;;;-1:-1:-1;;;;;1510:21:0;;;;;;-1:-1:-1;;;;;1418:32:1;;;1400:51;;1388:2;1373:18;1510:21:0;1254:203:1;1910:28:0;;;;;;;;;;;;;;;;1711:40;;;;;;;;;;-1:-1:-1;1711:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3643:25:1;;;3699:2;3684:18;;3677:34;;;;3727:18;;;3720:34;3785:2;3770:18;;3763:34;3630:3;3615:19;1711:40:0;3412:391:1;3771:244:0;;;;;;;;;;-1:-1:-1;3771:244:0;;;;;:::i;:::-;;:::i;2676:268::-;;;:::i;1871:32::-;;;;;;;;;;;;;;;;4023:128;;;;;;;;;;-1:-1:-1;4023:128:0;;;;;:::i;:::-;;:::i;1538:21::-;;;;;;;;;;-1:-1:-1;1538:21:0;;;;-1:-1:-1;;;;;1538:21:0;;;1833:31;;;;;;;;;;;;;;;;3519:244;3587:7;3607:14;3624:23;3635:11;3624:10;:23::i;:::-;-1:-1:-1;;;;;3680:19:0;;3658;3680;;;:6;:19;;;;;:28;;;3607:40;;-1:-1:-1;3726:29:0;3607:40;3680:28;3726:13;:29::i;:::-;3719:36;3519:244;-1:-1:-1;;;;3519:244:0:o;4159:81::-;2157:6;;-1:-1:-1;;;;;2157:6:0;2143:10;:20;2135:29;;;;;;4220:6:::1;:12:::0;;-1:-1:-1;;;;;;4220:12:0::1;-1:-1:-1::0;;;;;4220:12:0;;;::::1;::::0;;;::::1;::::0;;4159:81::o;2252:416::-;2067:6;;-1:-1:-1;;;;;2067:6:0;2053:10;:20;2045:29;;;;;;-1:-1:-1;;;;;2349:19:0;::::1;2378:1;2349:19:::0;;;:6:::1;:19;::::0;;;;:26;:30;2346:92:::1;;2395:31;2414:11;2395:18;:31::i;:::-;-1:-1:-1::0;;;;;2478:19:0;::::1;;::::0;;;:6:::1;:19;::::0;;;;:26;2462:11:::1;::::0;:55:::1;::::0;2510:6;;2462:43:::1;::::0;:15:::1;:43::i;:::-;:47:::0;::::1;:55::i;:::-;2448:11;:69:::0;-1:-1:-1;;;;;2528:19:0;::::1;;::::0;;;:6:::1;:19;::::0;;;;:35;;;2610:50:::1;2557:6:::0;2610:22:::1;:50::i;:::-;-1:-1:-1::0;;;;;2574:19:0;;::::1;;::::0;;;:6:::1;:19;::::0;;;;:33:::1;;:86:::0;;;;-1:-1:-1;2252:416:0:o;4248:337::-;4300:10;4321:24;4300:10;4321:18;:24::i;:::-;-1:-1:-1;;;;;4372:12:0;;4356:13;4372:12;;;:6;:12;;;;;:21;;;4407:12;;4404:174;;-1:-1:-1;;;;;4436:12:0;;4460:1;4436:12;;;:6;:12;;;;;:21;;:25;4492:13;;:27;;4510:8;4492:17;:27::i;:::-;4476:13;:43;4534:32;;-1:-1:-1;;;;;4534:22:0;;;:32;;;;;4557:8;;4534:32;;;;4557:8;4534:22;:32;;;;;;;;;;;;;;;;;;;;;4404:174;4274:311;;4248:337::o;3771:244::-;2157:6;;-1:-1:-1;;;;;2157:6:0;2143:10;:20;2135:29;;;;;;3897:70:::1;::::0;-1:-1:-1;;;;;1654:32:1;;;3897:70:0::1;::::0;::::1;1636:51:1::0;1703:18;;;1696:34;;;3867:7:0::1;::::0;3879:17;;::::1;::::0;1609:18:1;;3897:70:0::1;::::0;;-1:-1:-1;;3897:70:0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;3897:70:0::1;-1:-1:-1::0;;;3897:70:0::1;::::0;;3879:89;::::1;::::0;3897:70;3879:89:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3866:102;;;3987:2;3979:28;;;::::0;-1:-1:-1;;;3979:28:0;;2687:2:1;3979:28:0::1;::::0;::::1;2669:21:1::0;2726:2;2706:18;;;2699:30;-1:-1:-1;;;2745:18:1;;;2738:44;2799:18;;3979:28:0::1;;;;;;;;;3855:160;3771:244:::0;;;:::o;2676:268::-;2067:6;;-1:-1:-1;;;;;2067:6:0;2053:10;:20;2045:29;;;;;;2796:14:::1;::::0;2759:9:::1;::::0;2796:26:::1;::::0;2759:9;2796:18:::1;:26::i;:::-;2779:14;:43:::0;2923:11:::1;::::0;2875:31:::1;::::0;2853:83:::1;::::0;2875:60:::1;::::0;:43:::1;::::0;2911:6;2875:35:::1;:43::i;:::-;:47:::0;::::1;:60::i;:::-;2853:17;::::0;;:21:::1;:83::i;:::-;2833:17;:103:::0;-1:-1:-1;2676:268:0:o;4023:128::-;2157:6;;-1:-1:-1;;;;;2157:6:0;2143:10;:20;2135:29;;;;;;4093:50:::1;::::0;-1:-1:-1;;;;;4093:27:0;::::1;::::0;4121:21:::1;4093:50:::0;::::1;;;::::0;::::1;::::0;;;4121:21;4093:27;:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;4593:468:::0;-1:-1:-1;;;;;4680:19:0;;4657:7;4680:19;;;:6;:19;;;;;:26;4677:48;;-1:-1:-1;4721:1:0;;4593:468;-1:-1:-1;4593:468:0:o;4677:48::-;-1:-1:-1;;;;;4794:19:0;;4735:33;4794:19;;;:6;:19;;;;;:26;4771:50;;:22;:50::i;:::-;-1:-1:-1;;;;;4867:19:0;;4832:32;4867:19;;;:6;:19;;;;;:33;;;4735:86;;-1:-1:-1;4914:53:0;;;4911:70;;-1:-1:-1;4977:1:0;;4593:468;-1:-1:-1;;;4593:468:0:o;4911:70::-;4998:55;:25;5028:24;4998:29;:55::i;88:181::-;146:7;;178:5;182:1;178;:5;:::i;:::-;166:17;;207:1;202;:6;;194:46;;;;-1:-1:-1;;;194:46:0;;2331:2:1;194:46:0;;;2313:21:1;2370:2;2350:18;;;2343:30;2409:29;2389:18;;;2382:57;2456:18;;194:46:0;2129:351:1;194:46:0;260:1;-1:-1:-1;88:181:0;;;;;:::o;2952:559::-;-1:-1:-1;;;;;3024:19:0;;;;;;:6;:19;;;;;:26;3021:46;;2952:559;:::o;3021:46::-;3077:14;3094:23;3105:11;3094:10;:23::i;:::-;3077:40;-1:-1:-1;3131:10:0;;3128:376;;3176:16;;:28;;3197:6;3176:20;:28::i;:::-;3157:16;:47;-1:-1:-1;;;;;3219:19:0;;;;;;:6;:19;;;;;:28;;:38;;3251:6;;3219:19;:38;;3251:6;;3219:38;:::i;:::-;;;;;;;;3289:6;3272:13;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;3346:19:0;;;;;;:6;:19;;;;;;;;:33;;:45;;3384:6;3346:37;:45::i;:::-;-1:-1:-1;;;;;3310:19:0;;;;;;:6;:19;;;;;;;;:33;;;:81;;;;3465:26;3442:50;;:22;:50::i;277:136::-;335:7;362:43;366:1;369;362:43;;;;;;;;;;;;;;;;;:3;:43::i;5069:170::-;5139:7;5166:65;5199:31;;5166:28;5176:17;;5166:5;:9;;:28;;;;:::i;655:250::-;713:7;737:6;733:47;;-1:-1:-1;767:1:0;760:8;;733:47;792:9;804:5;808:1;804;:5;:::i;:::-;792:17;-1:-1:-1;837:1:0;828:5;832:1;792:17;828:5;:::i;:::-;:10;820:56;;;;-1:-1:-1;;;820:56:0;;3030:2:1;820:56:0;;;3012:21:1;3069:2;3049:18;;;3042:30;3108:34;3088:18;;;3081:62;-1:-1:-1;;;3159:18:1;;;3152:31;3200:19;;820:56:0;2828:397:1;913:132:0;971:7;998:39;1002:1;1005;998:39;;;;;;;;;;;;;;;;;:3;:39::i;421:226::-;541:7;577:12;569:6;;;;561:29;;;;-1:-1:-1;;;561:29:0;;;;;;;;:::i;:::-;-1:-1:-1;601:9:0;613:5;617:1;613;:5;:::i;:::-;601:17;421:226;-1:-1:-1;;;;;421:226:0:o;1053:225::-;1173:7;1208:12;1201:5;1193:28;;;;-1:-1:-1;;;1193:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1232:9:0;1244:5;1248:1;1244;:5;:::i;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:328::-;460:6;468;476;529:2;517:9;508:7;504:23;500:32;497:52;;;545:1;542;535:12;497:52;568:29;587:9;568:29;:::i;:::-;558:39;;616:38;650:2;639:9;635:18;616:38;:::i;:::-;606:48;;701:2;690:9;686:18;673:32;663:42;;383:328;;;;;:::o;716:254::-;784:6;792;845:2;833:9;824:7;820:23;816:32;813:52;;;861:1;858;851:12;813:52;884:29;903:9;884:29;:::i;:::-;874:39;960:2;945:18;;;;932:32;;-1:-1:-1;;;716:254:1:o;975:274::-;1104:3;1142:6;1136:13;1158:53;1204:6;1199:3;1192:4;1184:6;1180:17;1158:53;:::i;:::-;1227:16;;;;;975:274;-1:-1:-1;;975:274:1:o;1741:383::-;1890:2;1879:9;1872:21;1853:4;1922:6;1916:13;1965:6;1960:2;1949:9;1945:18;1938:34;1981:66;2040:6;2035:2;2024:9;2020:18;2015:2;2007:6;2003:15;1981:66;:::i;:::-;2108:2;2087:15;-1:-1:-1;;2083:29:1;2068:45;;;;2115:2;2064:54;;1741:383;-1:-1:-1;;1741:383:1:o;3808:128::-;3848:3;3879:1;3875:6;3872:1;3869:13;3866:39;;;3885:18;;:::i;:::-;-1:-1:-1;3921:9:1;;3808:128::o;3941:217::-;3981:1;4007;3997:132;;4051:10;4046:3;4042:20;4039:1;4032:31;4086:4;4083:1;4076:15;4114:4;4111:1;4104:15;3997:132;-1:-1:-1;4143:9:1;;3941:217::o;4163:168::-;4203:7;4269:1;4265;4261:6;4257:14;4254:1;4251:21;4246:1;4239:9;4232:17;4228:45;4225:71;;;4276:18;;:::i;:::-;-1:-1:-1;4316:9:1;;4163:168::o;4336:125::-;4376:4;4404:1;4401;4398:8;4395:34;;;4409:18;;:::i;:::-;-1:-1:-1;4446:9:1;;4336:125::o;4466:258::-;4538:1;4548:113;4562:6;4559:1;4556:13;4548:113;;;4638:11;;;4632:18;4619:11;;;4612:39;4584:2;4577:10;4548:113;;;4679:6;4676:1;4673:13;4670:48;;;-1:-1:-1;;4714:1:1;4696:16;;4689:27;4466:258::o;4729:127::-;4790:10;4785:3;4781:20;4778:1;4771:31;4821:4;4818:1;4811:15;4845:4;4842:1;4835:15

Swarm Source

ipfs://b2f2de18baef559938bbac2b022be2f51cd39c11fe821d6cc5528c0a8dc6e587

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.