Contract 0x311f58e4f08821e4b930a47aadb6a369cb438359

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x001b51593f04fb70e30cd4d8f415fa13d599646ae59b90254e5e903c453b0589Withdraw110592962021-09-19 20:02:591 day 17 hrs ago0x57757953a0b7c7f875bb85fcd89c1bae2de7cbee IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000209745
0x9886d0d54c027f49809333f42114607b6224e6969112bd729a4d66a892aa59d3Unstake110590872021-09-19 19:52:321 day 17 hrs ago0x57757953a0b7c7f875bb85fcd89c1bae2de7cbee IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000473405
0xc527d62ea23957544011242e1e752f0ae59b4ee951f50b70e8b9a3883325dab4Unstake110344422021-09-18 23:05:342 days 14 hrs ago0x9342cd55703bf73e85b0beb3d52ecb77598fb696 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548345
0xd8e0d91ccbe56bf498b1a59fd28329df4c7ccdf72a9ef1b21bb1ddb0f2eb13bfUnstake109388302021-09-15 15:16:045 days 22 hrs ago0xb70fa1f48efb8c3a3a3a44781915539f4d94e6b4 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000473345
0x8a68bd50f2b5c111b0b138b54c7afd59261faa1eddcc109b048bfe950bb2eaffUnstake109387992021-09-15 15:14:315 days 22 hrs ago0xb70fa1f48efb8c3a3a3a44781915539f4d94e6b4 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000121215
0xbeac587c1007cb22c0a1a42b66343661a93ea12e0a52c03fe17ced02a04a6810Unstake108983232021-09-14 5:21:147 days 8 hrs ago0x4c3b9decc02d02c7a9e437cc7ea5284743391d6b IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000356895
0x43715b0f91ab165cf688240c37d8d9885542578079e639650a2740c75b05b147Unstake108873472021-09-13 20:12:017 days 17 hrs ago0xa1d46c53595cc5b4c7aa0a9f54d48778b9f8fe90 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548345
0x3cd3583fec5da6d18c9425be4369cceb0e8f250124d520934639730881c355f4Unstake107852822021-09-10 6:33:5711 days 7 hrs ago0x0043abfeb94df8693c1d439f508e12172cf3dc65 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000439905
0x48055f2854689c1b97aebf2a4d9497acba63125b8cb8678dd19018528445ec8fUnstake107852442021-09-10 6:32:0311 days 7 hrs ago0x0043abfeb94df8693c1d439f508e12172cf3dc65 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548345
0xca4be95f72a96e58674dc666798d737109f6d3abae11e458771bae51a9e8cfe2Unstake107597592021-09-09 9:04:4712 days 4 hrs ago0x2eb364e15b036c8eb3f7e0b9d451e1dff18b6e3b IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548405
0x8477a3bfc166e19a9da29038a3c0fa23119fb7a2eee63fa6fabf62b84d127785Unstake107379562021-09-08 14:44:2112 days 23 hrs ago0x60aad233b0bfe91cf4028c08340163d334f6c2ce IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000432015
0x03e0ce991748614bd46e2759a7aaba0f67dca028c16d6ccf4eaea510a828810cUnstake107307312021-09-08 8:40:0913 days 5 hrs ago0xaf49fe23820df5185814d8de06306c14e9eff97a IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000431895
0xd008d4383e2f5d7901767fb26a3ac726eaea89e09994b37f624348d57e40b0c4Unstake107058872021-09-07 11:30:0114 days 2 hrs ago0x683d7ac1c9f07f55933b27b42144d7462970434e IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548405
0xda58dc9cab88548d0fdad9bebb2fd6f114aab39911f8214327aae1794ff9d37eUnstake106610612021-09-05 21:50:4315 days 15 hrs ago0x8232936ce4f89c81c274819666ba09606ed0e900 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548405
0xf1fae1a0a422de9db593aee7f7262458eba1346eee4f7f021b2797deaf298ff0Unstake106517862021-09-05 14:05:5015 days 23 hrs ago0x744aad2dfadeaabfa07035eedbbc7428d43124c8 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000439965
0xe7248492e1c2f99151a0cc89e1f5b70002741ed627efb2acfde87a734359dbaeUnstake106516192021-09-05 13:57:2915 days 23 hrs ago0x744aad2dfadeaabfa07035eedbbc7428d43124c8 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000439845
0xb5f194b01891b67cf9bcd19e1d3d703833ee91f0bbe9839ff50cac08a848a44aUnstake106515722021-09-05 13:55:0815 days 23 hrs ago0x744aad2dfadeaabfa07035eedbbc7428d43124c8 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000439845
0x98def42bff7099e09978dce4200c27ee25c99143fc791c06837d6de3058235caUnstake106515122021-09-05 13:52:0815 days 23 hrs ago0x744aad2dfadeaabfa07035eedbbc7428d43124c8 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000439845
0x6738ea9f594e9f3d4b4af8fcc002e704a4d62bc7b1846fd9b873279ad1fd33bbUnstake106513882021-09-05 13:45:5616 days 4 mins ago0x744aad2dfadeaabfa07035eedbbc7428d43124c8 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000439905
0x6531e23638ec636ee3fd7f2bad12bc9d0f7f057fa61b01d759db77abdfdaa191Unstake106513302021-09-05 13:43:0216 days 7 mins ago0x744aad2dfadeaabfa07035eedbbc7428d43124c8 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548345
0x4942f16d01fdb3d65997d38c42faa6e2512eea610fb6f5804ba3093a1ee3539aUnstake106498112021-09-05 12:27:0416 days 1 hr ago0x5ff2d49b7db92c061645e97e2f77295cdf179b06 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548405
0xf2a9dcc9736a8baafe669f013748ad213ad01690ead498aa49d02dd190ff4a2cUnstake106161402021-09-04 8:15:4117 days 5 hrs ago0xf423d1652022b626cc6aa911c42ca5bcc21f34f7 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548345
0xb4e76652ea92076538823663e2ad0d19674072b7d521d65e387f98cf6609df9aUnstake105661142021-09-02 14:07:1318 days 23 hrs ago0xc21d896ee56ec6e8566fe9ce73e5d71a87557837 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000432015
0xc1a16bd7c158ee78d01bdd9d835d1bef2989b99a281c4234588c3027e5a99e7cUnstake105420582021-09-01 17:53:5519 days 19 hrs ago0x891800a404a5b5230626a7b3752a5d2f3b1599d8 IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000548405
0x503db367daeb04892a11b546eb03d5cecb8a7376341e602418c8148a2de91f57Unstake105372102021-09-01 13:49:0120 days 1 min ago0xfeb8e59e1a07b8e4526fbc1213db1b74b78fdd3b IN  0x311f58e4f08821e4b930a47aadb6a369cb4383590 BNB0.000323515
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xde63641fca82b99413dc25f8d48300535e7646fa68a61bd7abac435c1f25238f110936172021-09-21 0:43:3513 hrs 6 mins ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000564825978911396 BNB
0xde63641fca82b99413dc25f8d48300535e7646fa68a61bd7abac435c1f25238f110936172021-09-21 0:43:3513 hrs 6 mins ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.005648259789113965 BNB
0x110850466355dfdf5889d6ec17a8a339f3a6bf8c04407615810d7b6831296f7d110847672021-09-20 17:19:0220 hrs 31 mins ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.00056480233497865 BNB
0x110850466355dfdf5889d6ec17a8a339f3a6bf8c04407615810d7b6831296f7d110847672021-09-20 17:19:0220 hrs 31 mins ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.005648023349786504 BNB
0x5e3db2eaf45e6cee1a65c182a11d3092db3e071a38857827250955485c1b23ed110826392021-09-20 15:32:3522 hrs 17 mins ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000564822351193314 BNB
0x5e3db2eaf45e6cee1a65c182a11d3092db3e071a38857827250955485c1b23ed110826392021-09-20 15:32:3522 hrs 17 mins ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.00564822351193314 BNB
0x001b51593f04fb70e30cd4d8f415fa13d599646ae59b90254e5e903c453b0589110592962021-09-19 20:02:591 day 17 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x57757953a0b7c7f875bb85fcd89c1bae2de7cbee0.000000033914545361 BNB
0xc908c3737320da11745863d05728fdc086a7ddb21611c086255906ed488a4a42110591522021-09-19 19:55:471 day 17 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000564762743424762 BNB
0xc908c3737320da11745863d05728fdc086a7ddb21611c086255906ed488a4a42110591522021-09-19 19:55:471 day 17 hrs ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.005647627434247628 BNB
0x9886d0d54c027f49809333f42114607b6224e6969112bd729a4d66a892aa59d3110590872021-09-19 19:52:321 day 17 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x57757953a0b7c7f875bb85fcd89c1bae2de7cbee0.001827687203119766 BNB
0xa71090a74fb97445fac14a8fcfdb90bce39fb4942c7de7a34ca4832ac114fe9a110535802021-09-19 15:17:061 day 22 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000564759671519575 BNB
0xa71090a74fb97445fac14a8fcfdb90bce39fb4942c7de7a34ca4832ac114fe9a110535802021-09-19 15:17:061 day 22 hrs ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.005647596715195752 BNB
0xba80eabca6ea496de8e55dc993fcd5df9591857a86088daac97e53c69dbacd6d110483372021-09-19 10:52:092 days 2 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000564773535859178 BNB
0xba80eabca6ea496de8e55dc993fcd5df9591857a86088daac97e53c69dbacd6d110483372021-09-19 10:52:092 days 2 hrs ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.005647735358591784 BNB
0x6b70e25b98ea1b234972d9fe3bb709b01f96640b245c85514d8d6dbe88658b94110461522021-09-19 8:52:072 days 4 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000564970440675648 BNB
0x6b70e25b98ea1b234972d9fe3bb709b01f96640b245c85514d8d6dbe88658b94110461522021-09-19 8:52:072 days 4 hrs ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.00564970440675648 BNB
0xad1e3d84ab0fbb3102cc5cfd76c453ab782ec470a1715b43a6da1d1dd33c5a76110447772021-09-19 7:43:202 days 6 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000565001657128928 BNB
0xad1e3d84ab0fbb3102cc5cfd76c453ab782ec470a1715b43a6da1d1dd33c5a76110447772021-09-19 7:43:202 days 6 hrs ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.005650016571289283 BNB
0x0678391ee77de680981dba42b21be66013b8acc3e3602060b4683ab600792eb0110439172021-09-19 7:00:202 days 6 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000565069318499472 BNB
0x0678391ee77de680981dba42b21be66013b8acc3e3602060b4683ab600792eb0110439172021-09-19 7:00:202 days 6 hrs ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.005650693184994729 BNB
0xc527d62ea23957544011242e1e752f0ae59b4ee951f50b70e8b9a3883325dab4110344422021-09-18 23:05:342 days 14 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x9342cd55703bf73e85b0beb3d52ecb77598fb6960.000339827822204937 BNB
0x944339508b7ca6cccbae0f1182ec55666cd4106019787559428f998cf0acf3a7110283332021-09-18 17:59:482 days 19 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000565076153012205 BNB
0x944339508b7ca6cccbae0f1182ec55666cd4106019787559428f998cf0acf3a7110283332021-09-18 17:59:482 days 19 hrs ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.005650761530122052 BNB
0xff4f41de1dbdd289f4ab6cf904ab81d80d0d2d9fb4f99044c070c207c8ab0c9e110271192021-09-18 16:58:312 days 20 hrs ago 0x311f58e4f08821e4b930a47aadb6a369cb4383590x8e9407c817ba4ed79d1b68f55aada6b08abe2b2a0.000565111729818767 BNB
0xff4f41de1dbdd289f4ab6cf904ab81d80d0d2d9fb4f99044c070c207c8ab0c9e110271192021-09-18 16:58:312 days 20 hrs ago 0x32089eaffaf278c82cda2c8d37e7b6b6fabbaaf2 0x311f58e4f08821e4b930a47aadb6a369cb4383590.005651117298187674 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x968e919Fd9baeDFb4C6fb9b5487e7D7bE1670A8A

Contract Name:
Staking

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity Multiple files format)

File 1 of 4: Staking.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.4;

import "./IERC20.sol";
import "./Ownable.sol";

contract Staking is Ownable {
    uint256 internal constant DISTRIBUTION_MULTIPLIER = 2**64;

    IERC20 public token;

    mapping(address => uint256) public stakeValue;
    mapping(address => uint256) public stakerPayouts;

    uint256 public totalDistributions;
    uint256 public totalStaked;
    uint256 public totalStakers;
    uint256 public profitPerShare;
    uint256 private emptyStakeTokens;

    uint256 public startTime;

    event OnStake(address sender, uint256 amount);
    event OnUnstake(address sender, uint256 amount);
    event OnWithdraw(address sender, uint256 amount);
    event OnDistribute(address sender, uint256 amount);
    event Received(address sender, uint256 amount);
    event UpdateStartTime(uint256 timestamp);

    constructor(IERC20 _token) {
        token = _token;
    }

    modifier whenStakingActive {
        require(
            startTime != 0 && block.timestamp > startTime,
            "Staking not yet started."
        );
        _;
    }

    function setStartTime(uint256 _startTime) external onlyOwner {
        require(startTime == 0 || block.timestamp < startTime, "Staking already active");
        startTime = _startTime;
        emit UpdateStartTime(_startTime);
    }

    function dividendsOf(address staker) public view returns (uint256) {
        uint256 divPayout = profitPerShare * stakeValue[staker];
        require(divPayout >= stakerPayouts[staker], "dividend calc overflow");

        return (divPayout - stakerPayouts[staker]) / DISTRIBUTION_MULTIPLIER;
    }

    function stake(uint256 amount) public whenStakingActive {
        require(
            token.balanceOf(msg.sender) >= amount,
            "Cannot stake more SLF than you hold unstaked."
        );
        if (stakeValue[msg.sender] == 0) totalStakers += 1;

        _addStake(amount);

        require(
            token.transferFrom(msg.sender, address(this), amount),
            "Stake failed due to failed transfer."
        );

        emit OnStake(msg.sender, amount);
    }

    function unstake(uint256 amount) external whenStakingActive {
        require(
            stakeValue[msg.sender] >= amount,
            "Cannot unstake more SLF than you have staked."
        );

        withdraw(dividendsOf(msg.sender));

        if (stakeValue[msg.sender] == amount) totalStakers = totalStakers -= 1;

        totalStaked = totalStaked -= amount;
        stakeValue[msg.sender] = stakeValue[msg.sender] -= amount;
        stakerPayouts[msg.sender] = profitPerShare * stakeValue[msg.sender];

        token.approve(address(this), amount);

        require(
            token.transferFrom(address(this), msg.sender, amount),
            "Unstake failed due to failed transfer."
        );

        emit OnUnstake(msg.sender, amount);
    }

    function withdraw(uint256 amount) public payable whenStakingActive {
        require(
            dividendsOf(msg.sender) >= amount,
            "Cannot withdraw more dividends than you have earned."
        );

        stakerPayouts[msg.sender] =
            stakerPayouts[msg.sender] +
            amount *
            DISTRIBUTION_MULTIPLIER;
        payable(msg.sender).transfer(amount);
        emit OnWithdraw(msg.sender, amount);
    }

    function distribute() external payable {
        // Forward 10% to dev wallet
        uint256 split = (msg.value * 10) / 100;
        uint256 amount = msg.value - split;

        payable(owner()).transfer(split);

        if (amount > 0) {
            totalDistributions += amount;
            _increaseProfitPerShare(amount);
            emit OnDistribute(msg.sender, amount);
        }
    }

    function _addStake(uint256 _amount) internal {
        totalStaked += _amount;
        stakeValue[msg.sender] += _amount;

        uint256 payout = profitPerShare * _amount;
        stakerPayouts[msg.sender] = stakerPayouts[msg.sender] + payout;
    }

    function _increaseProfitPerShare(uint256 amount) internal {
        if (totalStaked != 0) {
            if (emptyStakeTokens != 0) {
                amount += emptyStakeTokens;
                emptyStakeTokens = 0;
            }
            profitPerShare += ((amount * DISTRIBUTION_MULTIPLIER) / totalStaked);
        } else {
            emptyStakeTokens += amount;
        }
    }

    receive() external payable {
        emit Received(msg.sender, msg.value);
    }
}

File 2 of 4: Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

File 3 of 4: IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 4 of 4: Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"OnDistribute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"OnStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"OnUnstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"OnWithdraw","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":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateStartTime","type":"event"},{"inputs":[],"name":"distribute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"profitPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_startTime","type":"uint256"}],"name":"setStartTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakerPayouts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDistributions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakers","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b506040516110f43803806110f483398101604081905261002f91610095565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b0319166001600160a01b03929092169190911790556100c3565b6000602082840312156100a6578081fd5b81516001600160a01b03811681146100bc578182fd5b9392505050565b611022806100d26000396000f3fe6080604052600436106101015760003560e01c80638650e92a11610095578063d7a88e3c11610064578063d7a88e3c146102a2578063e4fc6b6d146102cf578063f2fde38b146102d7578063fc0c546a146102f7578063fc8690a21461031757600080fd5b80638650e92a14610224578063869890381461023a5780638da5cb5b14610250578063a694fc3a1461028257600080fd5b80633e0a322d116100d15780633e0a322d146101c3578063715018a6146101e357806378e97925146101f8578063817b1cd21461020e57600080fd5b806265318b14610145578063163db71b146101785780632e17de781461018e5780632e1a7d4d146101b057600080fd5b3661014057604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080fd5b34801561015157600080fd5b50610165610160366004610e85565b610344565b6040519081526020015b60405180910390f35b34801561018457600080fd5b5061016560045481565b34801561019a57600080fd5b506101ae6101a9366004610ecc565b61040e565b005b6101ae6101be366004610ecc565b61070a565b3480156101cf57600080fd5b506101ae6101de366004610ecc565b61084a565b3480156101ef57600080fd5b506101ae6108fe565b34801561020457600080fd5b5061016560095481565b34801561021a57600080fd5b5061016560055481565b34801561023057600080fd5b5061016560075481565b34801561024657600080fd5b5061016560065481565b34801561025c57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161016f565b34801561028e57600080fd5b506101ae61029d366004610ecc565b610972565b3480156102ae57600080fd5b506101656102bd366004610e85565b60026020526000908152604090205481565b6101ae610bcd565b3480156102e357600080fd5b506101ae6102f2366004610e85565b610ca6565b34801561030357600080fd5b5060015461026a906001600160a01b031681565b34801561032357600080fd5b50610165610332366004610e85565b60036020526000908152604090205481565b6001600160a01b038116600090815260026020526040812054600754829161036b91610fa0565b6001600160a01b0384166000908152600360205260409020549091508110156103d45760405162461bcd60e51b81526020600482015260166024820152756469766964656e642063616c63206f766572666c6f7760501b60448201526064015b60405180910390fd5b6001600160a01b038316600090815260036020526040902054600160401b906103fd9083610fbf565b6104079190610f80565b9392505050565b60095415801590610420575060095442115b61043c5760405162461bcd60e51b81526004016103cb90610efc565b336000908152600260205260409020548111156104b15760405162461bcd60e51b815260206004820152602d60248201527f43616e6e6f7420756e7374616b65206d6f726520534c46207468616e20796f7560448201526c103430bb329039ba30b5b2b21760991b60648201526084016103cb565b6104bd6101be33610344565b336000908152600260205260409020548114156104f1576001600660008282546104e79190610fbf565b9182905550600655505b80600560008282546105039190610fbf565b918290555060055550336000908152600260205260408120805483929061052b908490610fbf565b918290555033600090815260026020526040902081905560075461054f9250610fa0565b336000908152600360205260409081902091909155600154905163095ea7b360e01b8152306004820152602481018390526001600160a01b039091169063095ea7b390604401602060405180830381600087803b1580156105af57600080fd5b505af11580156105c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e79190610eac565b506001546040516323b872dd60e01b8152306004820152336024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561063a57600080fd5b505af115801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106729190610eac565b6106cd5760405162461bcd60e51b815260206004820152602660248201527f556e7374616b65206661696c65642064756520746f206661696c6564207472616044820152653739b332b91760d11b60648201526084016103cb565b60408051338152602081018390527fb9d33f227f3fa1826b0e39a934bcee3835b3332a74d0b2c2589ec8fc94c2b11f91015b60405180910390a150565b6009541580159061071c575060095442115b6107385760405162461bcd60e51b81526004016103cb90610efc565b8061074233610344565b10156107ad5760405162461bcd60e51b815260206004820152603460248201527f43616e6e6f74207769746864726177206d6f7265206469766964656e647320746044820152733430b7103cb7ba903430bb329032b0b93732b21760611b60648201526084016103cb565b6107bb600160401b82610fa0565b336000908152600360205260409020546107d59190610f68565b33600081815260036020526040808220939093559151909183156108fc02918491818181858888f19350505050158015610813573d6000803e3d6000fd5b5060408051338152602081018390527fbace9fd79d5ea02ed8b43fa96af07e4e8f859a2f71ff878c748f5c22c578028491016106ff565b6000546001600160a01b031633146108745760405162461bcd60e51b81526004016103cb90610f33565b6009541580610884575060095442105b6108c95760405162461bcd60e51b81526020600482015260166024820152755374616b696e6720616c72656164792061637469766560501b60448201526064016103cb565b60098190556040518181527fa09018266c541576eb124551c9c57c82a8129add3ba6777a5974b1d0e6252e99906020016106ff565b6000546001600160a01b031633146109285760405162461bcd60e51b81526004016103cb90610f33565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60095415801590610984575060095442115b6109a05760405162461bcd60e51b81526004016103cb90610efc565b6001546040516370a0823160e01b815233600482015282916001600160a01b0316906370a082319060240160206040518083038186803b1580156109e357600080fd5b505afa1580156109f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1b9190610ee4565b1015610a7f5760405162461bcd60e51b815260206004820152602d60248201527f43616e6e6f74207374616b65206d6f726520534c46207468616e20796f75206860448201526c37b632103ab739ba30b5b2b21760991b60648201526084016103cb565b33600090815260026020526040902054610aac57600160066000828254610aa69190610f68565b90915550505b610ab581610d90565b6001546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b158015610b0757600080fd5b505af1158015610b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3f9190610eac565b610b975760405162461bcd60e51b8152602060048201526024808201527f5374616b65206661696c65642064756520746f206661696c6564207472616e736044820152633332b91760e11b60648201526084016103cb565b60408051338152602081018390527fba7a4fcc259e92765d167230b14c7e70479648b69f2a5adcc2b15c372806ec2091016106ff565b60006064610bdc34600a610fa0565b610be69190610f80565b90506000610bf48234610fbf565b9050610c086000546001600160a01b031690565b6001600160a01b03166108fc839081150290604051600060405180830381858888f19350505050158015610c40573d6000803e3d6000fd5b508015610ca2578060046000828254610c599190610f68565b90915550610c68905081610e0e565b60408051338152602081018390527f3b5b764958bcf10eae6e214b635b729c52c8a4962688629cf597c3167cca2022910160405180910390a15b5050565b6000546001600160a01b03163314610cd05760405162461bcd60e51b81526004016103cb90610f33565b6001600160a01b038116610d355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103cb565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b8060056000828254610da29190610f68565b90915550503360009081526002602052604081208054839290610dc6908490610f68565b9091555050600754600090610ddc908390610fa0565b33600090815260036020526040902054909150610dfa908290610f68565b336000908152600360205260409020555050565b60055415610e6a5760085415610e3357600854610e2b9082610f68565b600060085590505b600554610e44600160401b83610fa0565b610e4e9190610f80565b60076000828254610e5f9190610f68565b90915550610e829050565b8060086000828254610e7c9190610f68565b90915550505b50565b600060208284031215610e96578081fd5b81356001600160a01b0381168114610407578182fd5b600060208284031215610ebd578081fd5b81518015158114610407578182fd5b600060208284031215610edd578081fd5b5035919050565b600060208284031215610ef5578081fd5b5051919050565b60208082526018908201527f5374616b696e67206e6f742079657420737461727465642e0000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610f7b57610f7b610fd6565b500190565b600082610f9b57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610fba57610fba610fd6565b500290565b600082821015610fd157610fd1610fd6565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212201fcc3e0d478b3ef59936ab638e31459526f2e4831c6938b15b46efbb04957fce64736f6c634300080400330000000000000000000000004d223e0b176a546b69ec5bb8d93a4ae22c345c5b

Deployed ByteCode Sourcemap

118:4498:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4574:31;;;4583:10;1783:51:4;;4595:9:3;1865:2:4;1850:18;;1843:34;4574:31:3;;1756:18:4;4574:31:3;;;;;;;118:4498;;;;;1390:302;;;;;;;;;;-1:-1:-1;1390:302:3;;;;;:::i;:::-;;:::i;:::-;;;6140:25:4;;;6128:2;6113:18;1390:302:3;;;;;;;;356:33;;;;;;;;;;;;;;;;2203:779;;;;;;;;;;-1:-1:-1;2203:779:3;;;;;:::i;:::-;;:::i;:::-;;2990:454;;;;;;:::i;:::-;;:::i;1146:236::-;;;;;;;;;;-1:-1:-1;1146:236:3;;;;;:::i;:::-;;:::i;1694:145:2:-;;;;;;;;;;;;;:::i;540:24:3:-;;;;;;;;;;;;;;;;396:26;;;;;;;;;;;;;;;;463:29;;;;;;;;;;;;;;;;429:27;;;;;;;;;;;;;;;;1062:85:2;;;;;;;;;;-1:-1:-1;1108:7:2;1134:6;-1:-1:-1;;;;;1134:6:2;1062:85;;;-1:-1:-1;;;;;1185:32:4;;;1167:51;;1155:2;1140:18;1062:85:2;1122:102:4;1700:495:3;;;;;;;;;;-1:-1:-1;1700:495:3;;;;;:::i;:::-;;:::i;247:45::-;;;;;;;;;;-1:-1:-1;247:45:3;;;;;:::i;:::-;;;;;;;;;;;;;;3452:405;;;:::i;1988:240:2:-;;;;;;;;;;-1:-1:-1;1988:240:2;;;;;:::i;:::-;;:::i;219:19:3:-;;;;;;;;;;-1:-1:-1;219:19:3;;;;-1:-1:-1;;;;;219:19:3;;;299:48;;;;;;;;;;-1:-1:-1;299:48:3;;;;;:::i;:::-;;;;;;;;;;;;;;1390:302;-1:-1:-1;;;;;1505:18:3;;1448:7;1505:18;;;:10;:18;;;;;;1488:14;;1448:7;;1488:35;;;:::i;:::-;-1:-1:-1;;;;;1555:21:3;;;;;;:13;:21;;;;;;1468:55;;-1:-1:-1;1542:34:3;;;1534:69;;;;-1:-1:-1;;;1534:69:3;;4719:2:4;1534:69:3;;;4701:21:4;4758:2;4738:18;;;4731:30;-1:-1:-1;;;4777:18:4;;;4770:52;4839:18;;1534:69:3;;;;;;;;;-1:-1:-1;;;;;1636:21:3;;;;;;:13;:21;;;;;;-1:-1:-1;;;205:5:3;1624:33;;:9;:33;:::i;:::-;1623:61;;;;:::i;:::-;1616:68;1390:302;-1:-1:-1;;;1390:302:3:o;2203:779::-;1021:9;;:14;;;;:45;;;1057:9;;1039:15;:27;1021:45;999:119;;;;-1:-1:-1;;;999:119:3;;;;;;;:::i;:::-;2307:10:::1;2296:22;::::0;;;:10:::1;:22;::::0;;;;;:32;-1:-1:-1;2296:32:3::1;2274:127;;;::::0;-1:-1:-1;;;2274:127:3;;5070:2:4;2274:127:3::1;::::0;::::1;5052:21:4::0;5109:2;5089:18;;;5082:30;5148:34;5128:18;;;5121:62;-1:-1:-1;;;5199:18:4;;;5192:43;5252:19;;2274:127:3::1;5042:235:4::0;2274:127:3::1;2414:33;2423:23;2435:10;2423:11;:23::i;2414:33::-;2475:10;2464:22;::::0;;;:10:::1;:22;::::0;;;;;:32;::::1;2460:70;;;2529:1;2513:12;;:17;;;;;;;:::i;:::-;::::0;;;;-1:-1:-1;2498:12:3::1;:32:::0;-1:-1:-1;2460:70:3::1;2572:6;2557:11;;:21;;;;;;;:::i;:::-;::::0;;;;-1:-1:-1;2543:11:3::1;:35:::0;-1:-1:-1;2625:10:3::1;2614:22;::::0;;;:10:::1;:22;::::0;;;;:32;;2640:6;;2614:22;:32:::1;::::0;2640:6;;2614:32:::1;:::i;:::-;::::0;;;;-1:-1:-1;2600:10:3::1;2589:22;::::0;;;:10:::1;:22;::::0;;;;:57;;;2685:14:::1;::::0;:39:::1;::::0;-1:-1:-1;2685:39:3::1;:::i;:::-;2671:10;2657:25;::::0;;;:13:::1;:25;::::0;;;;;;:67;;;;2737:5:::1;::::0;:36;;-1:-1:-1;;;2737:36:3;;2759:4:::1;2737:36;::::0;::::1;1783:51:4::0;1850:18;;;1843:34;;;-1:-1:-1;;;;;2737:5:3;;::::1;::::0;:13:::1;::::0;1756:18:4;;2737:36:3::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;2808:5:3::1;::::0;:53:::1;::::0;-1:-1:-1;;;2808:53:3;;2835:4:::1;2808:53;::::0;::::1;1469:34:4::0;2842:10:3::1;1519:18:4::0;;;1512:43;1571:18;;;1564:34;;;-1:-1:-1;;;;;2808:5:3;;::::1;::::0;:18:::1;::::0;1404::4;;2808:53:3::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2786:141;;;::::0;-1:-1:-1;;;2786:141:3;;4312:2:4;2786:141:3::1;::::0;::::1;4294:21:4::0;4351:2;4331:18;;;4324:30;4390:34;4370:18;;;4363:62;-1:-1:-1;;;4441:18:4;;;4434:36;4487:19;;2786:141:3::1;4284:228:4::0;2786:141:3::1;2945:29;::::0;;2955:10:::1;1783:51:4::0;;1865:2;1850:18;;1843:34;;;2945:29:3::1;::::0;1756:18:4;2945:29:3::1;;;;;;;;2203:779:::0;:::o;2990:454::-;1021:9;;:14;;;;:45;;;1057:9;;1039:15;:27;1021:45;999:119;;;;-1:-1:-1;;;999:119:3;;;;;;;:::i;:::-;3117:6:::1;3090:23;3102:10;3090:11;:23::i;:::-;:33;;3068:135;;;::::0;-1:-1:-1;;;3068:135:3;;2717:2:4;3068:135:3::1;::::0;::::1;2699:21:4::0;2756:2;2736:18;;;2729:30;2795:34;2775:18;;;2768:62;-1:-1:-1;;;2846:18:4;;;2839:50;2906:19;;3068:135:3::1;2689:242:4::0;3068:135:3::1;3298:45;-1:-1:-1::0;;;3298:6:3;:45:::1;:::i;:::-;3271:10;3257:25;::::0;;;:13:::1;:25;::::0;;;;;:86:::1;::::0;;::::1;:::i;:::-;3230:10;3216:25;::::0;;;:13:::1;:25;::::0;;;;;:127;;;;3354:36;;3230:10;;3354:36;::::1;;;::::0;3383:6;;3354:36;3216:25;3354:36;3383:6;3230:10;3354:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;3406:30:3::1;::::0;;3417:10:::1;1783:51:4::0;;1865:2;1850:18;;1843:34;;;3406:30:3::1;::::0;1756:18:4;3406:30:3::1;1738:145:4::0;1146:236:3;1108:7:2;1134:6;-1:-1:-1;;;;;1134:6:2;665:10:0;1274:23:2;1266:68;;;;-1:-1:-1;;;1266:68:2;;;;;;;:::i;:::-;1226:9:3::1;::::0;:14;;:45:::1;;;1262:9;;1244:15;:27;1226:45;1218:80;;;::::0;-1:-1:-1;;;1218:80:3;;5484:2:4;1218:80:3::1;::::0;::::1;5466:21:4::0;5523:2;5503:18;;;5496:30;-1:-1:-1;;;5542:18:4;;;5535:52;5604:18;;1218:80:3::1;5456:172:4::0;1218:80:3::1;1309:9;:22:::0;;;1347:27:::1;::::0;6140:25:4;;;1347:27:3::1;::::0;6128:2:4;6113:18;1347:27:3::1;6095:76:4::0;1694:145:2;1108:7;1134:6;-1:-1:-1;;;;;1134:6:2;665:10:0;1274:23:2;1266:68;;;;-1:-1:-1;;;1266:68:2;;;;;;;:::i;:::-;1800:1:::1;1784:6:::0;;1763:40:::1;::::0;-1:-1:-1;;;;;1784:6:2;;::::1;::::0;1763:40:::1;::::0;1800:1;;1763:40:::1;1830:1;1813:19:::0;;-1:-1:-1;;;;;;1813:19:2::1;::::0;;1694:145::o;1700:495:3:-;1021:9;;:14;;;;:45;;;1057:9;;1039:15;:27;1021:45;999:119;;;;-1:-1:-1;;;999:119:3;;;;;;;:::i;:::-;1789:5:::1;::::0;:27:::1;::::0;-1:-1:-1;;;1789:27:3;;1805:10:::1;1789:27;::::0;::::1;1167:51:4::0;1820:6:3;;-1:-1:-1;;;;;1789:5:3::1;::::0;:15:::1;::::0;1140:18:4;;1789:27:3::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:37;;1767:132;;;::::0;-1:-1:-1;;;1767:132:3;;3898:2:4;1767:132:3::1;::::0;::::1;3880:21:4::0;3937:2;3917:18;;;3910:30;3976:34;3956:18;;;3949:62;-1:-1:-1;;;4027:18:4;;;4020:43;4080:19;;1767:132:3::1;3870:235:4::0;1767:132:3::1;1925:10;1914:22;::::0;;;:10:::1;:22;::::0;;;;;1910:50:::1;;1959:1;1943:12;;:17;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;1910:50:3::1;1973:17;1983:6;1973:9;:17::i;:::-;2025:5;::::0;:53:::1;::::0;-1:-1:-1;;;2025:53:3;;2044:10:::1;2025:53;::::0;::::1;1469:34:4::0;2064:4:3::1;1519:18:4::0;;;1512:43;1571:18;;;1564:34;;;-1:-1:-1;;;;;2025:5:3;;::::1;::::0;:18:::1;::::0;1404::4;;2025:53:3::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2003:139;;;::::0;-1:-1:-1;;;2003:139:3;;2312:2:4;2003:139:3::1;::::0;::::1;2294:21:4::0;2351:2;2331:18;;;2324:30;2390:34;2370:18;;;2363:62;-1:-1:-1;;;2441:18:4;;;2434:34;2485:19;;2003:139:3::1;2284:226:4::0;2003:139:3::1;2160:27;::::0;;2168:10:::1;1783:51:4::0;;1865:2;1850:18;;1843:34;;;2160:27:3::1;::::0;1756:18:4;2160:27:3::1;1738:145:4::0;3452:405:3;3540:13;3575:3;3557:14;:9;3569:2;3557:14;:::i;:::-;3556:22;;;;:::i;:::-;3540:38;-1:-1:-1;3589:14:3;3606:17;3540:38;3606:9;:17;:::i;:::-;3589:34;;3644:7;1108::2;1134:6;-1:-1:-1;;;;;1134:6:2;;1062:85;3644:7:3;-1:-1:-1;;;;;3636:25:3;:32;3662:5;3636:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3685:10:3;;3681:169;;3734:6;3712:18;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;3755:31:3;;-1:-1:-1;3779:6:3;3755:23;:31::i;:::-;3806:32;;;3819:10;1783:51:4;;1865:2;1850:18;;1843:34;;;3806:32:3;;1756:18:4;3806:32:3;;;;;;;3681:169;3452:405;;:::o;1988:240:2:-;1108:7;1134:6;-1:-1:-1;;;;;1134:6:2;665:10:0;1274:23:2;1266:68;;;;-1:-1:-1;;;1266:68:2;;;;;;;:::i;:::-;-1:-1:-1;;;;;2076:22:2;::::1;2068:73;;;::::0;-1:-1:-1;;;2068:73:2;;3491:2:4;2068:73:2::1;::::0;::::1;3473:21:4::0;3530:2;3510:18;;;3503:30;3569:34;3549:18;;;3542:62;-1:-1:-1;;;3620:18:4;;;3613:36;3666:19;;2068:73:2::1;3463:228:4::0;2068:73:2::1;2177:6;::::0;;2156:38:::1;::::0;-1:-1:-1;;;;;2156:38:2;;::::1;::::0;2177:6;::::1;::::0;2156:38:::1;::::0;::::1;2204:6;:17:::0;;-1:-1:-1;;;;;;2204:17:2::1;-1:-1:-1::0;;;;;2204:17:2;;;::::1;::::0;;;::::1;::::0;;1988:240::o;3865:257:3:-;3936:7;3921:11;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;3965:10:3;3954:22;;;;:10;:22;;;;;:33;;3980:7;;3954:22;:33;;3980:7;;3954:33;:::i;:::-;;;;-1:-1:-1;;4017:14:3;;4000;;4017:24;;4034:7;;4017:24;:::i;:::-;4094:10;4080:25;;;;:13;:25;;;;;;4000:41;;-1:-1:-1;4080:34:3;;4000:41;;4080:34;:::i;:::-;4066:10;4052:25;;;;:13;:25;;;;;:62;-1:-1:-1;;3865:257:3:o;4130:393::-;4203:11;;:16;4199:317;;4240:16;;:21;4236:127;;4292:16;;4282:26;;;;:::i;:::-;4346:1;4327:16;:20;4282:26;-1:-1:-1;4236:127:3;4433:11;;4397:32;-1:-1:-1;;;4397:6:3;:32;:::i;:::-;4396:48;;;;:::i;:::-;4377:14;;:68;;;;;;;:::i;:::-;;;;-1:-1:-1;4199:317:3;;-1:-1:-1;4199:317:3;;4498:6;4478:16;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;4199:317:3;4130:393;:::o;14:306:4:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;178:23;;-1:-1:-1;;;;;230:31:4;;220:42;;210:2;;281:6;273;266:22;325:297;392:6;445:2;433:9;424:7;420:23;416:32;413:2;;;466:6;458;451:22;413:2;503:9;497:16;556:5;549:13;542:21;535:5;532:32;522:2;;583:6;575;568:22;627:190;686:6;739:2;727:9;718:7;714:23;710:32;707:2;;;760:6;752;745:22;707:2;-1:-1:-1;788:23:4;;697:120;-1:-1:-1;697:120:4:o;822:194::-;892:6;945:2;933:9;924:7;920:23;916:32;913:2;;;966:6;958;951:22;913:2;-1:-1:-1;994:16:4;;903:113;-1:-1:-1;903:113:4:o;2936:348::-;3138:2;3120:21;;;3177:2;3157:18;;;3150:30;3216:26;3211:2;3196:18;;3189:54;3275:2;3260:18;;3110:174::o;5633:356::-;5835:2;5817:21;;;5854:18;;;5847:30;5913:34;5908:2;5893:18;;5886:62;5980:2;5965:18;;5807:182::o;6176:128::-;6216:3;6247:1;6243:6;6240:1;6237:13;6234:2;;;6253:18;;:::i;:::-;-1:-1:-1;6289:9:4;;6224:80::o;6309:217::-;6349:1;6375;6365:2;;-1:-1:-1;;;6400:31:4;;6454:4;6451:1;6444:15;6482:4;6407:1;6472:15;6365:2;-1:-1:-1;6511:9:4;;6355:171::o;6531:168::-;6571:7;6637:1;6633;6629:6;6625:14;6622:1;6619:21;6614:1;6607:9;6600:17;6596:45;6593:2;;;6644:18;;:::i;:::-;-1:-1:-1;6684:9:4;;6583:116::o;6704:125::-;6744:4;6772:1;6769;6766:8;6763:2;;;6777:18;;:::i;:::-;-1:-1:-1;6814:9:4;;6753:76::o;6834:127::-;6895:10;6890:3;6886:20;6883:1;6876:31;6926:4;6923:1;6916:15;6950:4;6947:1;6940:15

Swarm Source

ipfs://1fcc3e0d478b3ef59936ab638e31459526f2e4831c6938b15b46efbb04957fce
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.