ETH Price: $3,336.34 (-0.38%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Withdraw129545802021-08-03 20:51:331246 days ago1628023893IN
0xF6c355BE...6eaFF92cb
0 ETH0.0012162833
Withdraw129543042021-08-03 19:53:001246 days ago1628020380IN
0xF6c355BE...6eaFF92cb
0 ETH0.0016726631
Withdraw128460672021-07-17 19:15:451263 days ago1626549345IN
0xF6c355BE...6eaFF92cb
0 ETH0.0006265617
Withdraw128055152021-07-11 10:35:501269 days ago1625999750IN
0xF6c355BE...6eaFF92cb
0 ETH0.0005395710
Withdraw125515442021-06-01 23:26:261309 days ago1622589986IN
0xF6c355BE...6eaFF92cb
0 ETH0.0006639718.015
Claim125514452021-06-01 23:02:301309 days ago1622588550IN
0xF6c355BE...6eaFF92cb
0 ETH0.0009844621.6
Withdraw125484272021-06-01 11:59:571309 days ago1622548797IN
0xF6c355BE...6eaFF92cb
0 ETH0.000462315
Withdraw125473462021-06-01 7:59:571309 days ago1622534397IN
0xF6c355BE...6eaFF92cb
0 ETH0.0007530
Claim125466902021-06-01 5:21:191310 days ago1622524879IN
0xF6c355BE...6eaFF92cb
0 ETH0.000457416
Withdraw125465742021-06-01 4:58:231310 days ago1622523503IN
0xF6c355BE...6eaFF92cb
0 ETH0.0005222416.945
Withdraw125464012021-06-01 4:16:511310 days ago1622521011IN
0xF6c355BE...6eaFF92cb
0 ETH0.0006102319.8
Claim125463292021-06-01 4:01:461310 days ago1622520106IN
0xF6c355BE...6eaFF92cb
0 ETH0.0005717620
Withdraw125462582021-06-01 3:45:031310 days ago1622519103IN
0xF6c355BE...6eaFF92cb
0 ETH0.0014077624
Withdraw125459892021-06-01 2:42:001310 days ago1622515320IN
0xF6c355BE...6eaFF92cb
0 ETH0.0005436619
Claim125459892021-06-01 2:42:001310 days ago1622515320IN
0xF6c355BE...6eaFF92cb
0 ETH0.0016317719
Withdraw125031772021-05-25 11:22:451316 days ago1621941765IN
0xF6c355BE...6eaFF92cb
0 ETH0.0026438949
Claim124508472021-05-17 8:34:581324 days ago1621240498IN
0xF6c355BE...6eaFF92cb
0 ETH0.0028257762
Withdraw124414112021-05-15 21:24:231326 days ago1621113863IN
0xF6c355BE...6eaFF92cb
0 ETH0.0039388673
Withdraw123937422021-05-08 12:45:181333 days ago1620477918IN
0xF6c355BE...6eaFF92cb
0 ETH0.0034645594
Withdraw123926452021-05-08 8:47:361333 days ago1620463656IN
0xF6c355BE...6eaFF92cb
0 ETH0.00329774107
Withdraw123926452021-05-08 8:47:361333 days ago1620463656IN
0xF6c355BE...6eaFF92cb
0 ETH0.00320528104
Withdraw123926452021-05-08 8:47:361333 days ago1620463656IN
0xF6c355BE...6eaFF92cb
0 ETH0.0029485680
Claim123798882021-05-06 9:22:101335 days ago1620292930IN
0xF6c355BE...6eaFF92cb
0 ETH0.0012864645.0000016
Withdraw123798882021-05-06 9:22:101335 days ago1620292930IN
0xF6c355BE...6eaFF92cb
0 ETH0.002374144
Withdraw123796822021-05-06 8:32:031335 days ago1620289923IN
0xF6c355BE...6eaFF92cb
0 ETH0.002751851
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Stake

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity Multiple files format)

File 1 of 4: stake.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity ^0.6.0;

import "SafeMath.sol";
import "ReentrancyGuard.sol";
import "TransferHelper.sol";

contract Stake is ReentrancyGuard {
    using SafeMath for uint256;

    address token;
    address private owner;

    uint256 public stakePeriod;
    uint256 public totalStake;
    uint256 totalWeight;
    uint256 public totalTokenReceived;
    uint256 public startTime;
    
    mapping(address => uint256) public staked;
    mapping(address => uint256) public timelock;
    mapping(address => uint256) weighted;
    mapping(address => uint256) accumulated;

    event logStake(address indexed stakeHolder, uint256 amount);
    event logWithdraw(address indexed stakeHolder, uint256 amount, uint256 reward);
    event logDeposit(address indexed depositor, uint256 amount);

    constructor(address _token, uint256 periodInDays, uint256 start, address _owner) public {
        token = _token;
        stakePeriod = periodInDays.mul(86400);
        startTime = start;
        owner = _owner;
    }
    
    modifier onlyOwner() {
        require(owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        owner = newOwner;
    }
    
    function setStakePeriod(uint256 periodInDays) public onlyOwner {
        require(periodInDays > 0, "Period greater than 0");
        stakePeriod = periodInDays.mul(86400);
    }
    
    function getStakeData() public view returns(uint256, uint256, uint256, uint256) {
        return (startTime, stakePeriod, totalStake, totalTokenReceived);
    }
    
    function getStakeHolderData(address stakeHolderAddress) public view returns(uint256, uint256, uint256, uint256, uint256) {
        uint256 tokenOut = staked[msg.sender];
        uint256 reward = tokenOut.mul(totalWeight.sub(weighted[msg.sender])).div(10**18).add(accumulated[msg.sender]);
        return (staked[stakeHolderAddress], timelock[stakeHolderAddress], weighted[stakeHolderAddress], accumulated[stakeHolderAddress], reward);
    }

    function stake(uint256 amount) nonReentrant public {
        require(block.timestamp >= startTime, "Stake not begin");
        require(amount > 0, "Nothing to stake");

        _stake(amount);
        timelock[msg.sender] = block.timestamp.add(stakePeriod);

        TransferHelper.safeTransferFrom(token, msg.sender, address(this), amount);
    }

    function withdraw() nonReentrant public returns (uint256 amount, uint256 reward) {
        require(block.timestamp >= timelock[msg.sender], "Stake is locked");

        (amount, reward) = _applyReward();
        emit logWithdraw(msg.sender, amount, reward);

        timelock[msg.sender] = 0;

        TransferHelper.safeTransfer(token, msg.sender, amount);
        if (reward > 0) {
            TransferHelper.safeTransfer(token, msg.sender, reward);
        }
    }

    function claim() nonReentrant public returns (uint256 reward) {
        (uint256 amount, uint256 _reward) = _applyReward();
        emit logWithdraw(msg.sender, amount, _reward);
        reward = _reward;

        require(reward > 0, "Nothing to pay out");
        TransferHelper.safeTransfer(token, msg.sender, reward);

        // restake after withdrawal
        _stake(amount);
        timelock[msg.sender] = block.timestamp.add(stakePeriod);
    }

    function deposit(uint amount) nonReentrant external payable {
        require(amount > 0, "Nothing to deposit");
        require(totalStake > 0, "Nothing staked");
        
        TransferHelper.safeTransferFrom(token, msg.sender, address(this), amount);

        totalTokenReceived = totalTokenReceived.add(amount);

        emit logDeposit(msg.sender, amount);

        _distribute(amount, totalStake);
    }

    function _stake(uint256 tokenIn) private {
        uint256 addBack;
        if (staked[msg.sender] > 0) {
            (uint256 tokenOut, uint256 reward) = _applyReward();
            addBack = tokenOut;
            accumulated[msg.sender] = reward;
            staked[msg.sender] = tokenOut;
        }

        staked[msg.sender] = staked[msg.sender].add(tokenIn);
        weighted[msg.sender] = totalWeight;
        totalStake = totalStake.add(tokenIn);

        if (addBack > 0) {
            totalStake = totalStake.add(addBack);
        }

        emit logStake(msg.sender, tokenIn);
    }

    function _applyReward() private returns (uint256 tokenOut, uint256 reward) {
        require(staked[msg.sender] > 0, "Nothing staked");

        tokenOut = staked[msg.sender];
        reward = tokenOut
            .mul(totalWeight.sub(weighted[msg.sender]))
            .div(10**18)
            .add(accumulated[msg.sender]);
        totalStake = totalStake.sub(tokenOut);
        accumulated[msg.sender] = 0;
        staked[msg.sender] = 0;
    }

    function _distribute(uint256 _value, uint256 _totalStake) private {
        totalWeight = totalWeight.add(_value.mul(10**18).div(_totalStake));
    }
}

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

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor () internal {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

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

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b > a) return (false, 0);
        return (true, a - b);
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) return (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    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;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: modulo by zero");
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        return a - b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryDiv}.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        return a % b;
    }
}

File 4 of 4: TransferHelper.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity >=0.6.0;

// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false
library TransferHelper {
    function safeApprove(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('approve(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            'TransferHelper::safeApprove: approve failed'
        );
    }

    function safeTransfer(
        address token,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            'TransferHelper::safeTransfer: transfer failed'
        );
    }

    function safeTransferFrom(
        address token,
        address from,
        address to,
        uint256 value
    ) internal {
        // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            'TransferHelper::transferFrom: transferFrom failed'
        );
    }

    function safeTransferETH(address to, uint256 value) internal {
        (bool success, ) = to.call{value: value}(new bytes(0));
        require(success, 'TransferHelper::safeTransferETH: ETH transfer failed');
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"periodInDays","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"logDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakeHolder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"logStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakeHolder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"logWithdraw","type":"event"},{"inputs":[],"name":"claim","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getStakeData","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakeHolderAddress","type":"address"}],"name":"getStakeHolderData","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodInDays","type":"uint256"}],"name":"setStakePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"staked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timelock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokenReceived","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":"withdraw","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516112db3803806112db8339818101604052608081101561003357600080fd5b50805160208083015160408401516060909401516001600081905580546001600160a01b0319166001600160a01b03861617905592939092909161008590849062015180906100b5811b610a8e17901c565b600355600791909155600280546001600160a01b0319166001600160a01b03909216919091179055506101179050565b6000826100c457506000610111565b828202828482816100d157fe5b041461010e5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ba6021913960400191505060405180910390fd5b90505b92915050565b611194806101266000396000f3fe6080604052600436106100dd5760003560e01c80638b3101801161007f578063a694fc3a11610059578063a694fc3a146102a1578063b6b55f25146102cb578063c1699a99146102e8578063f2fde38b146102fd576100dd565b80638b3101801461021e57806398807d8414610233578063a16a09af14610266576100dd565b80634e71d92d116100bb5780634e71d92d1461019a5780636b143bb8146101c157806378e97925146101f45780638b0e9f3f14610209576100dd565b80631e6b4c6f146100e2578063349c6d621461010e5780633ccfd60b1461016c575b600080fd5b3480156100ee57600080fd5b5061010c6004803603602081101561010557600080fd5b5035610330565b005b34801561011a57600080fd5b506101416004803603602081101561013157600080fd5b50356001600160a01b03166103ef565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561017857600080fd5b5061018161049f565b6040805192835260208301919091528051918290030190f35b3480156101a657600080fd5b506101af6105db565b60408051918252519081900360200190f35b3480156101cd57600080fd5b506101af600480360360208110156101e457600080fd5b50356001600160a01b031661070e565b34801561020057600080fd5b506101af610720565b34801561021557600080fd5b506101af610726565b34801561022a57600080fd5b506101af61072c565b34801561023f57600080fd5b506101af6004803603602081101561025657600080fd5b50356001600160a01b0316610732565b34801561027257600080fd5b5061027b610744565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156102ad57600080fd5b5061010c600480360360208110156102c457600080fd5b5035610756565b61010c600480360360208110156102e157600080fd5b503561087e565b3480156102f457600080fd5b506101af6109c2565b34801561030957600080fd5b5061010c6004803603602081101561032057600080fd5b50356001600160a01b03166109c8565b6002546001600160a01b0316331461038f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600081116103dc576040805162461bcd60e51b81526020600482015260156024820152740506572696f642067726561746572207468616e203605c1b604482015290519081900360640190fd5b6103e98162015180610a8e565b60035550565b33600090815260086020908152604080832054600b835281842054600a909352908320546005548493849384938493919284926104549261044e91670de0b6b3a7640000916104489161044191610af0565b8790610a8e565b90610b4d565b90610bb4565b6001600160a01b03989098166000908152600860209081526040808320546009835281842054600a845282852054600b9094529190932054929b909a91995091975095509350505050565b600080600260005414156104e8576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b6002600090815533815260096020526040902054421015610542576040805162461bcd60e51b815260206004820152600f60248201526e14dd185ad9481a5cc81b1bd8dad959608a1b604482015290519081900360640190fd5b61054a610c0e565b6040805183815260208101839052815193955091935033927fff68bac75290440ad4e2e04952d4eb6b308d5a3dc9e284319beca871101ce9f29281900390910190a2336000818152600960205260408120556001546105b5916001600160a01b039091169084610cdf565b80156105d2576001546105d2906001600160a01b03163383610cdf565b60016000559091565b600060026000541415610623576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b6002600090815580610633610c0e565b6040805183815260208101839052815193955091935033927fff68bac75290440ad4e2e04952d4eb6b308d5a3dc9e284319beca871101ce9f29281900390910190a2809250600083116106c2576040805162461bcd60e51b8152602060048201526012602482015271139bdd1a1a5b99c81d1bc81c185e481bdd5d60721b604482015290519081900360640190fd5b6001546106d9906001600160a01b03163385610cdf565b6106e282610e33565b6003546106f0904290610bb4565b33600090815260096020526040812091909155600190555090919050565b60096020526000908152604090205481565b60075481565b60045481565b60065481565b60086020526000908152604090205481565b60075460035460045460065490919293565b6002600054141561079c576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b60026000556007544210156107ea576040805162461bcd60e51b815260206004820152600f60248201526e29ba30b5b2903737ba103132b3b4b760891b604482015290519081900360640190fd5b60008111610832576040805162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f207374616b6560801b604482015290519081900360640190fd5b61083b81610e33565b600354610849904290610bb4565b33600081815260096020526040902091909155600154610876916001600160a01b03909116903084610f13565b506001600055565b600260005414156108c4576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b600260005580610910576040805162461bcd60e51b8152602060048201526012602482015271139bdd1a1a5b99c81d1bc819195c1bdcda5d60721b604482015290519081900360640190fd5b600060045411610958576040805162461bcd60e51b815260206004820152600e60248201526d139bdd1a1a5b99c81cdd185ad95960921b604482015290519081900360640190fd5b600154610970906001600160a01b0316333084610f13565b60065461097d9082610bb4565b60065560408051828152905133917f23009393721a27d6803b599bf9f0747edfd97c6fe82522bedeb95c05150c9b40919081900360200190a261087681600454611070565b60035481565b6002546001600160a01b03163314610a27576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610a6c5760405162461bcd60e51b81526004018080602001828103825260268152602001806110ba6026913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600082610a9d57506000610aea565b82820282848281610aaa57fe5b0414610ae75760405162461bcd60e51b81526004018080602001828103825260218152602001806111116021913960400191505060405180910390fd5b90505b92915050565b600082821115610b47576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211610ba3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610bac57fe5b049392505050565b600082820183811015610ae7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b336000908152600860205260408120548190610c62576040805162461bcd60e51b815260206004820152600e60248201526d139bdd1a1a5b99c81cdd185ad95960921b604482015290519081900360640190fd5b33600090815260086020908152604080832054600b835281842054600a909352922054600554929450610cab9261044e91670de0b6b3a764000091610448916104419190610af0565b600454909150610cbb9083610af0565b600455336000908152600b6020908152604080832083905560089091528120559091565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310610d5c5780518252601f199092019160209182019101610d3d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610dbe576040519150601f19603f3d011682016040523d82523d6000602084013e610dc3565b606091505b5091509150818015610df1575080511580610df15750808060200190516020811015610dee57600080fd5b50515b610e2c5760405162461bcd60e51b815260040180806020018281038252602d815260200180611132602d913960400191505060405180910390fd5b5050505050565b3360009081526008602052604081205415610e7657600080610e53610c0e565b336000908152600b60209081526040808320939093556008905220819055925050505b33600090815260086020526040902054610e909083610bb4565b33600090815260086020908152604080832093909355600554600a90915291902055600454610ebf9083610bb4565b6004558015610ed957600454610ed59082610bb4565b6004555b60408051838152905133917f834f98a15649c4cbfdb3226d70adcf647023e59f7ca69899e5ba13ec6e354403919081900360200190a25050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b60208310610f985780518252601f199092019160209182019101610f79565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ffa576040519150601f19603f3d011682016040523d82523d6000602084013e610fff565b606091505b509150915081801561102d57508051158061102d575080806020019051602081101561102a57600080fd5b50515b6110685760405162461bcd60e51b81526004018080602001828103825260318152602001806110e06031913960400191505060405180910390fd5b505050505050565b6110926110898261044885670de0b6b3a7640000610a8e565b60055490610bb4565b600555505056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c004f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a26469706673582212208ba29462f0e45998f25b47c9f6a0edacdb6cb7e8d5c934f9581af487f2021f6d64736f6c634300060c0033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77000000000000000000000000361887c1d1b73557018c47c8001711168128cf69000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000603e4be8000000000000000000000000286d6e8a28e71acc62f25cefe23e118ab3ec4726

Deployed Bytecode

0x6080604052600436106100dd5760003560e01c80638b3101801161007f578063a694fc3a11610059578063a694fc3a146102a1578063b6b55f25146102cb578063c1699a99146102e8578063f2fde38b146102fd576100dd565b80638b3101801461021e57806398807d8414610233578063a16a09af14610266576100dd565b80634e71d92d116100bb5780634e71d92d1461019a5780636b143bb8146101c157806378e97925146101f45780638b0e9f3f14610209576100dd565b80631e6b4c6f146100e2578063349c6d621461010e5780633ccfd60b1461016c575b600080fd5b3480156100ee57600080fd5b5061010c6004803603602081101561010557600080fd5b5035610330565b005b34801561011a57600080fd5b506101416004803603602081101561013157600080fd5b50356001600160a01b03166103ef565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561017857600080fd5b5061018161049f565b6040805192835260208301919091528051918290030190f35b3480156101a657600080fd5b506101af6105db565b60408051918252519081900360200190f35b3480156101cd57600080fd5b506101af600480360360208110156101e457600080fd5b50356001600160a01b031661070e565b34801561020057600080fd5b506101af610720565b34801561021557600080fd5b506101af610726565b34801561022a57600080fd5b506101af61072c565b34801561023f57600080fd5b506101af6004803603602081101561025657600080fd5b50356001600160a01b0316610732565b34801561027257600080fd5b5061027b610744565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156102ad57600080fd5b5061010c600480360360208110156102c457600080fd5b5035610756565b61010c600480360360208110156102e157600080fd5b503561087e565b3480156102f457600080fd5b506101af6109c2565b34801561030957600080fd5b5061010c6004803603602081101561032057600080fd5b50356001600160a01b03166109c8565b6002546001600160a01b0316331461038f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600081116103dc576040805162461bcd60e51b81526020600482015260156024820152740506572696f642067726561746572207468616e203605c1b604482015290519081900360640190fd5b6103e98162015180610a8e565b60035550565b33600090815260086020908152604080832054600b835281842054600a909352908320546005548493849384938493919284926104549261044e91670de0b6b3a7640000916104489161044191610af0565b8790610a8e565b90610b4d565b90610bb4565b6001600160a01b03989098166000908152600860209081526040808320546009835281842054600a845282852054600b9094529190932054929b909a91995091975095509350505050565b600080600260005414156104e8576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b6002600090815533815260096020526040902054421015610542576040805162461bcd60e51b815260206004820152600f60248201526e14dd185ad9481a5cc81b1bd8dad959608a1b604482015290519081900360640190fd5b61054a610c0e565b6040805183815260208101839052815193955091935033927fff68bac75290440ad4e2e04952d4eb6b308d5a3dc9e284319beca871101ce9f29281900390910190a2336000818152600960205260408120556001546105b5916001600160a01b039091169084610cdf565b80156105d2576001546105d2906001600160a01b03163383610cdf565b60016000559091565b600060026000541415610623576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b6002600090815580610633610c0e565b6040805183815260208101839052815193955091935033927fff68bac75290440ad4e2e04952d4eb6b308d5a3dc9e284319beca871101ce9f29281900390910190a2809250600083116106c2576040805162461bcd60e51b8152602060048201526012602482015271139bdd1a1a5b99c81d1bc81c185e481bdd5d60721b604482015290519081900360640190fd5b6001546106d9906001600160a01b03163385610cdf565b6106e282610e33565b6003546106f0904290610bb4565b33600090815260096020526040812091909155600190555090919050565b60096020526000908152604090205481565b60075481565b60045481565b60065481565b60086020526000908152604090205481565b60075460035460045460065490919293565b6002600054141561079c576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b60026000556007544210156107ea576040805162461bcd60e51b815260206004820152600f60248201526e29ba30b5b2903737ba103132b3b4b760891b604482015290519081900360640190fd5b60008111610832576040805162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f207374616b6560801b604482015290519081900360640190fd5b61083b81610e33565b600354610849904290610bb4565b33600081815260096020526040902091909155600154610876916001600160a01b03909116903084610f13565b506001600055565b600260005414156108c4576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b600260005580610910576040805162461bcd60e51b8152602060048201526012602482015271139bdd1a1a5b99c81d1bc819195c1bdcda5d60721b604482015290519081900360640190fd5b600060045411610958576040805162461bcd60e51b815260206004820152600e60248201526d139bdd1a1a5b99c81cdd185ad95960921b604482015290519081900360640190fd5b600154610970906001600160a01b0316333084610f13565b60065461097d9082610bb4565b60065560408051828152905133917f23009393721a27d6803b599bf9f0747edfd97c6fe82522bedeb95c05150c9b40919081900360200190a261087681600454611070565b60035481565b6002546001600160a01b03163314610a27576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610a6c5760405162461bcd60e51b81526004018080602001828103825260268152602001806110ba6026913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600082610a9d57506000610aea565b82820282848281610aaa57fe5b0414610ae75760405162461bcd60e51b81526004018080602001828103825260218152602001806111116021913960400191505060405180910390fd5b90505b92915050565b600082821115610b47576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211610ba3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610bac57fe5b049392505050565b600082820183811015610ae7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b336000908152600860205260408120548190610c62576040805162461bcd60e51b815260206004820152600e60248201526d139bdd1a1a5b99c81cdd185ad95960921b604482015290519081900360640190fd5b33600090815260086020908152604080832054600b835281842054600a909352922054600554929450610cab9261044e91670de0b6b3a764000091610448916104419190610af0565b600454909150610cbb9083610af0565b600455336000908152600b6020908152604080832083905560089091528120559091565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310610d5c5780518252601f199092019160209182019101610d3d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610dbe576040519150601f19603f3d011682016040523d82523d6000602084013e610dc3565b606091505b5091509150818015610df1575080511580610df15750808060200190516020811015610dee57600080fd5b50515b610e2c5760405162461bcd60e51b815260040180806020018281038252602d815260200180611132602d913960400191505060405180910390fd5b5050505050565b3360009081526008602052604081205415610e7657600080610e53610c0e565b336000908152600b60209081526040808320939093556008905220819055925050505b33600090815260086020526040902054610e909083610bb4565b33600090815260086020908152604080832093909355600554600a90915291902055600454610ebf9083610bb4565b6004558015610ed957600454610ed59082610bb4565b6004555b60408051838152905133917f834f98a15649c4cbfdb3226d70adcf647023e59f7ca69899e5ba13ec6e354403919081900360200190a25050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b60208310610f985780518252601f199092019160209182019101610f79565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ffa576040519150601f19603f3d011682016040523d82523d6000602084013e610fff565b606091505b509150915081801561102d57508051158061102d575080806020019051602081101561102a57600080fd5b50515b6110685760405162461bcd60e51b81526004018080602001828103825260318152602001806110e06031913960400191505060405180910390fd5b505050505050565b6110926110898261044885670de0b6b3a7640000610a8e565b60055490610bb4565b600555505056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c004f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a26469706673582212208ba29462f0e45998f25b47c9f6a0edacdb6cb7e8d5c934f9581af487f2021f6d64736f6c634300060c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000361887c1d1b73557018c47c8001711168128cf69000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000603e4be8000000000000000000000000286d6e8a28e71acc62f25cefe23e118ab3ec4726

-----Decoded View---------------
Arg [0] : _token (address): 0x361887C1D1B73557018c47c8001711168128cf69
Arg [1] : periodInDays (uint256): 30
Arg [2] : start (uint256): 1614695400
Arg [3] : _owner (address): 0x286d6e8a28E71AcC62F25ceFe23e118Ab3ec4726

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000361887c1d1b73557018c47c8001711168128cf69
Arg [1] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [2] : 00000000000000000000000000000000000000000000000000000000603e4be8
Arg [3] : 000000000000000000000000286d6e8a28e71acc62f25cefe23e118ab3ec4726


Deployed Bytecode Sourcemap

162:5065:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1419:180;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1419:180:3;;:::i;:::-;;1785:444;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1785:444:3;-1:-1:-1;;;;;1785:444:3;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:479;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3087:463;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;504:43;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;504:43:3;-1:-1:-1;;;;;504:43:3;;:::i;419:24::-;;;;;;;;;;;;;:::i;321:25::-;;;;;;;;;;;;;:::i;379:33::-;;;;;;;;;;;;;:::i;456:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;456:41:3;-1:-1:-1;;;;;456:41:3;;:::i;1611:162::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2237:355;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2237:355:3;;:::i;3558:422::-;;;;;;;;;;;;;;;;-1:-1:-1;3558:422:3;;:::i;288:26::-;;;;;;;;;;;;;:::i;1226:181::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1226:181:3;-1:-1:-1;;;;;1226:181:3;;:::i;1419:180::-;1138:5;;-1:-1:-1;;;;;1138:5:3;1147:10;1138:19;1130:64;;;;;-1:-1:-1;;;1130:64:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1516:1:::1;1501:12;:16;1493:50;;;::::0;;-1:-1:-1;;;1493:50:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1493:50:3;;;;;;;;;;;;;::::1;;1568:23;:12:::0;1585:5:::1;1568:16;:23::i;:::-;1554:11;:37:::0;-1:-1:-1;1419:180:3:o;1785:444::-;1943:10;1861:7;1936:18;;;:6;:18;;;;;;;;;2050:11;:23;;;;;;2011:8;:20;;;;;;;1995:11;;1861:7;;;;;;;;1936:18;;1861:7;;1982:92;;:63;;2038:6;;1982:51;;1995:37;;:15;:37::i;:::-;1982:8;;:12;:51::i;:::-;:55;;:63::i;:::-;:67;;:92::i;:::-;-1:-1:-1;;;;;2093:26:3;;;;;;;;:6;:26;;;;;;;;;2121:8;:28;;;;;;2151:8;:28;;;;;;2181:11;:31;;;;;;;;2093:26;;2121:28;;2151;;-1:-1:-1;2181:31:3;;-1:-1:-1;1965:109:3;-1:-1:-1;1785:444:3;-1:-1:-1;;;;1785:444:3:o;2600:479::-;2649:14;2665;1721:1:0;2327:7;;:19;;2319:63;;;;;-1:-1:-1;;;2319:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2319:63:0;;;;;;;;;;;;;;;1721:1;2460:7;:18;;;2728:10:3::1;2719:20:::0;;:8:::1;:20;::::0;;;;;2700:15:::1;:39;;2692:67;;;::::0;;-1:-1:-1;;;2692:67:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;2692:67:3;;;;;;;;;;;;;::::1;;2791:14;:12;:14::i;:::-;2821:39;::::0;;;;;::::1;::::0;::::1;::::0;;;;;2772:33;;-1:-1:-1;2772:33:3;;-1:-1:-1;2833:10:3::1;::::0;2821:39:::1;::::0;;;;;;;;::::1;2882:10;2896:1;2873:20:::0;;;:8:::1;:20;::::0;;;;:24;2938:5:::1;::::0;2910:54:::1;::::0;-1:-1:-1;;;;;2938:5:3;;::::1;::::0;2957:6;2910:27:::1;:54::i;:::-;2979:10:::0;;2975:97:::1;;3034:5;::::0;3006:54:::1;::::0;-1:-1:-1;;;;;3034:5:3::1;3041:10;3053:6:::0;3006:27:::1;:54::i;:::-;1677:1:0::0;2639:7;:22;2600:479:3;;:::o;3087:463::-;3133:14;1721:1:0;2327:7;;:19;;2319:63;;;;;-1:-1:-1;;;2319:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2319:63:0;;;;;;;;;;;;;;;1721:1;2460:7;:18;;;:7;3196:14:3::1;:12;:14::i;:::-;3226:40;::::0;;;;;::::1;::::0;::::1;::::0;;;;;3160:50;;-1:-1:-1;3160:50:3;;-1:-1:-1;3238:10:3::1;::::0;3226:40:::1;::::0;;;;;;;;::::1;3286:7;3277:16;;3323:1;3314:6;:10;3306:41;;;::::0;;-1:-1:-1;;;3306:41:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3306:41:3;;;;;;;;;;;;;::::1;;3386:5;::::0;3358:54:::1;::::0;-1:-1:-1;;;;;3386:5:3::1;3393:10;3405:6:::0;3358:27:::1;:54::i;:::-;3462:14;3469:6;3462;:14::i;:::-;3530:11;::::0;3510:32:::1;::::0;:15:::1;::::0;:19:::1;:32::i;:::-;3496:10;3487:20;::::0;;;:8:::1;:20;::::0;;;;:55;;;;1677:1:0;2639:22;;-1:-1:-1;3087:463:3;;;-1:-1:-1;3087:463:3:o;504:43::-;;;;;;;;;;;;;:::o;419:24::-;;;;:::o;321:25::-;;;;:::o;379:33::-;;;;:::o;456:41::-;;;;;;;;;;;;;:::o;1611:162::-;1710:9;;1721:11;;1734:10;;1746:18;;1611:162;;;;:::o;2237:355::-;1721:1:0;2327:7;;:19;;2319:63;;;;;-1:-1:-1;;;2319:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2319:63:0;;;;;;;;;;;;;;;1721:1;2460:7;:18;2326:9:3::1;::::0;2307:15:::1;:28;;2299:56;;;::::0;;-1:-1:-1;;;2299:56:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;2299:56:3;;;;;;;;;;;;;::::1;;2383:1;2374:6;:10;2366:39;;;::::0;;-1:-1:-1;;;2366:39:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;2366:39:3;;;;;;;;;;;;;::::1;;2418:14;2425:6;2418;:14::i;:::-;2486:11;::::0;2466:32:::1;::::0;:15:::1;::::0;:19:::1;:32::i;:::-;2452:10;2443:20;::::0;;;:8:::1;:20;::::0;;;;:55;;;;2543:5:::1;::::0;2511:73:::1;::::0;-1:-1:-1;;;;;2543:5:3;;::::1;::::0;2570:4:::1;2577:6:::0;2511:31:::1;:73::i;:::-;-1:-1:-1::0;1677:1:0;2639:7;:22;2237:355:3:o;3558:422::-;1721:1:0;2327:7;;:19;;2319:63;;;;;-1:-1:-1;;;2319:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2319:63:0;;;;;;;;;;;;;;;1721:1;2460:7;:18;3637:10:3;3629:41:::1;;;::::0;;-1:-1:-1;;;3629:41:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3629:41:3;;;;;;;;;;;;;::::1;;3702:1;3689:10;;:14;3681:41;;;::::0;;-1:-1:-1;;;3681:41:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3681:41:3;;;;;;;;;;;;;::::1;;3775:5;::::0;3743:73:::1;::::0;-1:-1:-1;;;;;3775:5:3::1;3782:10;3802:4;3809:6:::0;3743:31:::1;:73::i;:::-;3850:18;::::0;:30:::1;::::0;3873:6;3850:22:::1;:30::i;:::-;3829:18;:51:::0;3898:30:::1;::::0;;;;;;;3909:10:::1;::::0;3898:30:::1;::::0;;;;;::::1;::::0;;::::1;3941:31;3953:6;3961:10;;3941:11;:31::i;288:26::-:0;;;;:::o;1226:181::-;1138:5;;-1:-1:-1;;;;;1138:5:3;1147:10;1138:19;1130:64;;;;;-1:-1:-1;;;1130:64:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1307:22:3;::::1;1299:73;;;;-1:-1:-1::0;;;1299:73:3::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1383:5;:16:::0;;-1:-1:-1;;;;;;1383:16:3::1;-1:-1:-1::0;;;;;1383:16:3;;;::::1;::::0;;;::::1;::::0;;1226:181::o;3453:220:1:-;3511:7;3535:6;3531:20;;-1:-1:-1;3550:1:1;3543:8;;3531:20;3574:5;;;3578:1;3574;:5;:1;3598:5;;;;;:10;3590:56;;;;-1:-1:-1;;;3590:56:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3664:1;-1:-1:-1;3453:220:1;;;;;:::o;3036:158::-;3094:7;3127:1;3122;:6;;3114:49;;;;;-1:-1:-1;;;3114:49:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3181:5:1;;;3036:158::o;4151:153::-;4209:7;4241:1;4237;:5;4229:44;;;;;-1:-1:-1;;;4229:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;4295:1;4291;:5;;;;;;;4151:153;-1:-1:-1;;;4151:153:1:o;2574:179::-;2632:7;2664:5;;;2688:6;;;;2680:46;;;;;-1:-1:-1;;;2680:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;4607:458:3;4708:10;4648:16;4701:18;;;:6;:18;;;;;;4648:16;;4693:49;;;;;-1:-1:-1;;;4693:49:3;;;;;;;;;;;;-1:-1:-1;;;4693:49:3;;;;;;;;;;;;;;;4773:10;4766:18;;;;:6;:18;;;;;;;;;4914:11;:23;;;;;;4847:8;:20;;;;;;4831:11;;4766:18;;-1:-1:-1;4804:134:3;;:91;;4888:6;;4804:65;;4831:37;;:11;:15;:37::i;4804:134::-;4962:10;;4795:143;;-1:-1:-1;4962:24:3;;4977:8;4962:14;:24::i;:::-;4949:10;:37;5009:10;5023:1;4997:23;;;:11;:23;;;;;;;;:27;;;5035:6;:18;;;;;:22;4607:458;;:::o;671:449:2:-;903:45;;;-1:-1:-1;;;;;903:45:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;903:45:2;-1:-1:-1;;;903:45:2;;;892:57;;;;857:12;;871:17;;892:10;;;;903:45;892:57;;;903:45;892:57;;903:45;892:57;;;;;;;;;;-1:-1:-1;;892:57:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;856:93;;;;982:7;:57;;;;-1:-1:-1;994:11:2;;:16;;:44;;;1025:4;1014:24;;;;;;;;;;;;;;;-1:-1:-1;1014:24:2;994:44;960:152;;;;-1:-1:-1;;;960:152:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:449;;;;;:::o;3988:611:3:-;4077:10;4040:15;4070:18;;;:6;:18;;;;;;:22;4066:230;;4110:16;4128:14;4146;:12;:14::i;:::-;4220:10;4208:23;;;;:11;:23;;;;;;;;:32;;;;4255:6;:18;;;:29;;;4109:51;-1:-1:-1;;;4066:230:3;4336:10;4329:18;;;;:6;:18;;;;;;:31;;4352:7;4329:22;:31::i;:::-;4315:10;4308:18;;;;:6;:18;;;;;;;;:52;;;;4394:11;;4371:8;:20;;;;;;:34;4429:10;;:23;;4444:7;4429:14;:23::i;:::-;4416:10;:36;4469:11;;4465:80;;4510:10;;:23;;4525:7;4510:14;:23::i;:::-;4497:10;:36;4465:80;4562:29;;;;;;;;4571:10;;4562:29;;;;;;;;;;3988:611;;:::o;1128:498:2:-;1399:51;;;-1:-1:-1;;;;;1399:51:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1399:51:2;-1:-1:-1;;;1399:51:2;;;1388:63;;;;1353:12;;1367:17;;1388:10;;;;1399:51;1388:63;;;1399:51;1388:63;;1399:51;1388:63;;;;;;;;;;-1:-1:-1;;1388:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1352:99;;;;1484:7;:57;;;;-1:-1:-1;1496:11:2;;:16;;:44;;;1527:4;1516:24;;;;;;;;;;;;;;;-1:-1:-1;1516:24:2;1496:44;1462:156;;;;-1:-1:-1;;;1462:156:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:498;;;;;;:::o;5073:151:3:-;5164:52;5180:35;5203:11;5180:18;:6;5191;5180:10;:18::i;:35::-;5164:11;;;:15;:52::i;:::-;5150:11;:66;-1:-1:-1;;5073:151:3:o

Swarm Source

ipfs://8ba29462f0e45998f25b47c9f6a0edacdb6cb7e8d5c934f9581af487f2021f6d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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