ETH Price: $1,949.25 (-1.68%)
Gas: 0.08 Gwei

Contract

0x609D6f40EeD97Ec8A96cb9bca78d73caa6225b8A
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Balance94562182020-02-10 16:30:092217 days ago1581352209IN
0x609D6f40...aa6225b8A
0 ETH0.0002274610
Add Balance94560572020-02-10 15:59:512217 days ago1581350391IN
0x609D6f40...aa6225b8A
0 ETH0.0002274610
Add Balance94556572020-02-10 14:30:202217 days ago1581345020IN
0x609D6f40...aa6225b8A
0 ETH0.0002274610
Add Balance94368142020-02-07 17:07:002220 days ago1581095220IN
0x609D6f40...aa6225b8A
0 ETH0.000394710
Add Balance94365242020-02-07 16:05:372220 days ago1581091537IN
0x609D6f40...aa6225b8A
0 ETH0.000394710
Add Balance94364692020-02-07 15:56:262220 days ago1581090986IN
0x609D6f40...aa6225b8A
0 ETH0.0005445810
Add Balance94361132020-02-07 14:33:052220 days ago1581085985IN
0x609D6f40...aa6225b8A
0 ETH0.0002272210
Add Balance94354392020-02-07 12:03:252221 days ago1581077005IN
0x609D6f40...aa6225b8A
0 ETH0.0002273410
Add Balance94354392020-02-07 12:03:252221 days ago1581077005IN
0x609D6f40...aa6225b8A
0 ETH0.0002273410
Withdraw80279892019-06-25 15:33:212447 days ago1561476801IN
0x609D6f40...aa6225b8A
0 ETH0.000182447
Withdraw80279892019-06-25 15:33:212447 days ago1561476801IN
0x609D6f40...aa6225b8A
0 ETH0.000182447
Withdraw80279722019-06-25 15:27:322447 days ago1561476452IN
0x609D6f40...aa6225b8A
0 ETH0.00057487
Add Balance80279372019-06-25 15:20:542447 days ago1561476054IN
0x609D6f40...aa6225b8A
0 ETH0.000476169.1
Add Balance80275372019-06-25 13:59:172447 days ago1561471157IN
0x609D6f40...aa6225b8A
0 ETH0.0007465220
Add Balance80272562019-06-25 13:03:042447 days ago1561467784IN
0x609D6f40...aa6225b8A
0 ETH0.0007465220
Add Balance80029902019-06-21 18:11:502451 days ago1561140710IN
0x609D6f40...aa6225b8A
0 ETH0.000037321
Add Balance80025442019-06-21 16:34:422451 days ago1561134882IN
0x609D6f40...aa6225b8A
0 ETH0.000037321
Add Balance80017812019-06-21 13:35:212451 days ago1561124121IN
0x609D6f40...aa6225b8A
0 ETH0.000062791.2
Add Balance79967202019-06-20 18:36:272452 days ago1561055787IN
0x609D6f40...aa6225b8A
0 ETH0.000052321
Withdraw79903422019-06-19 18:31:232453 days ago1560969083IN
0x609D6f40...aa6225b8A
0 ETH0.000327944
Add Balance79903152019-06-19 18:25:402453 days ago1560968740IN
0x609D6f40...aa6225b8A
0 ETH0.0005232610
Add Balance79902052019-06-19 18:03:452453 days ago1560967425IN
0x609D6f40...aa6225b8A
0 ETH0.0003732610
Add Balance79900102019-06-19 17:15:462453 days ago1560964546IN
0x609D6f40...aa6225b8A
0 ETH0.000052321
Withdraw79888462019-06-19 12:55:362453 days ago1560948936IN
0x609D6f40...aa6225b8A
0 ETH0.000082051
Add Balance79887102019-06-19 12:24:312454 days ago1560947071IN
0x609D6f40...aa6225b8A
0 ETH0.000037321
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Keeper

Compiler Version
v0.5.9+commit.e560f70d

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-06-06
*/

pragma solidity 0.5.9;


/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
     * @dev Multiplies two unsigned integers, reverts on overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (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-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
     * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Adds two unsigned integers, reverts on overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
     * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
     * reverts when dividing by zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

/**
 * @title ERC20 interface
 * @dev see https://eips.ethereum.org/EIPS/eip-20
 */
interface IERC20 {
    function transfer(address to, uint256 value) external returns (bool);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(address from, address to, uint256 value) external returns (bool);

    function totalSupply() external view returns (uint256);

    function balanceOf(address who) external view returns (uint256);

    function allowance(address owner, address spender) external view returns (uint256);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}



/**
 * @title Claimable
 * @dev Claimable contract, where the ownership needs to be claimed.
 * This allows the new owner to accept the transfer.
 */
contract Claimable {
    address public owner;
    address public pendingOwner;

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

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

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

    /**
    * @dev Modifier throws if called by any account other than the pendingOwner.
    */
    modifier onlyPendingOwner() {
        require(msg.sender == pendingOwner);
        _;
    }

    /**
    * @dev Allows the current owner to set the pendingOwner address.
    * @param newOwner The address to transfer ownership to.
    */
    function transferOwnership(address newOwner) public onlyOwner {
        pendingOwner = newOwner;
    }

    /**
    * @dev Allows the pendingOwner address to finalize the transfer.
    */
    function claimOwnership() public onlyPendingOwner {
        emit OwnershipTransferred(owner, pendingOwner);
        owner = pendingOwner;
        pendingOwner = address(0);
    }
}

/**
* @title Keeper
*
* @dev Implements the early investors' SWG tokens locking mechanism.
* To avoid momentary dumping SWG token, the Keeper holds the early
* investor's funds frozen until unFreezeStartDate. Between unFreezeStartDate
* and totalUnFreezeDate, the contract allows holder to withdraw amount
* proportional to time passed. After totalUnFreezeDate the funds get totally
* unlocked and the early investor can spend the entire amount at any moment.
*/
contract Keeper is Claimable {
    using SafeMath for uint256;
    IERC20 public token;
    // the date when withdrawals become possible
    uint256 public unFreezeStartDate;
    // the date when all funds get unfrozen
    uint256 public totalUnFreezeDate;
    // the records about individual balances
    mapping(address => uint256) public balances;
    // the records about already withdrawn amounts
    mapping(address => uint256) public withdrawnBalances;
    // the sum of registered balance
    uint256 public totalBalance;

    constructor(
        IERC20 _token,
        uint256 _unFreezeStartDate,
        uint256 _totalUnFreezeDate
    ) public {
        // solhint-disable-next-line not-rely-on-time
        require(_unFreezeStartDate >= block.timestamp);
        require(_totalUnFreezeDate > _unFreezeStartDate);
        token = _token;
        unFreezeStartDate = _unFreezeStartDate;
        totalUnFreezeDate = _totalUnFreezeDate;
    }

    /**
     * @dev Adds the individual holder's balance
     *
     * Called by the backend of payout engine per holder (after token got transferred on the Keeper)
     */
    function addBalance(address _to, uint256 _value) public onlyOwner {
        require(_to != address(0));
        require(_value > 0);
        require(totalBalance.add(_value)
                <= token.balanceOf(address(this)), "not enough tokens");
        balances[_to] = balances[_to].add(_value);
        totalBalance = totalBalance.add(_value);
    }

    /**
     * @dev Withdraws the allowed amount of tokens
     *
     * Called by the investor through Keeper Dapp or Etherscan write interface
     */
    function withdraw(address _to, uint256 _value) public {
        require(_to != address(0));
        require(_value > 0);
        require(unFreezeStartDate < now, "not unfrozen yet");
        require(
            (getUnfrozenAmount(msg.sender).sub(withdrawnBalances[msg.sender]))
            >= _value
        );
        withdrawnBalances[msg.sender] = withdrawnBalances[msg.sender].add(_value);
        totalBalance = totalBalance.sub(_value);
        token.transfer(_to, _value);
    }

    /**
     * @dev Shows the amount of tokens allowed to withdraw
     *
     * Called by the investor through Keeper Dapp or Etherscan write interface
     */
    function getUnfrozenAmount(address _holder) public view returns (uint256) {
        if (now > unFreezeStartDate) {
            if (now > totalUnFreezeDate) {
                // tokens are totally unfrozen
                return balances[_holder];
            }
            // tokens are partially unfrozen
            uint256 partialFreezePeriodLen =
                totalUnFreezeDate.sub(unFreezeStartDate);
            uint256 secondsSincePeriodStart = now.sub(unFreezeStartDate);
            uint256 amount = balances[_holder]
                .mul(secondsSincePeriodStart)
                .div(partialFreezePeriodLen);
            return amount;
        }
        // tokens are totally frozen
        return 0;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"addBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unFreezeStartDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"getUnfrozenAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"withdrawnBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalUnFreezeDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_token","type":"address"},{"name":"_unFreezeStartDate","type":"uint256"},{"name":"_totalUnFreezeDate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

608060405234801561001057600080fd5b50604051610f53380380610f538339818101604052606081101561003357600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428210156100a557600080fd5b8181116100b157600080fd5b82600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160038190555080600481905550505050610e41806101126000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063ad7a672f1161008c578063f2fde38b11610066578063f2fde38b14610304578063f3fef3a314610348578063f8dd54cd14610396578063fc0c546a146103b4576100cf565b8063ad7a672f14610244578063e30c397814610262578063ea957156146102ac576100cf565b806321e5383a146100d457806327e235e3146101225780634e71e0c81461017a5780635e502d2e146101845780638da5cb5b146101a257806393611eab146101ec575b600080fd5b610120600480360360408110156100ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103fe565b005b6101646004803603602081101561013857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106b5565b6040518082815260200191505060405180910390f35b6101826106cd565b005b61018c61086a565b6040518082815260200191505060405180910390f35b6101aa610870565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61022e6004803603602081101561020257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610895565b6040518082815260200191505060405180910390f35b61024c6109a3565b6040518082815260200191505060405180910390f35b61026a6109a9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ee600480360360208110156102c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109cf565b6040518082815260200191505060405180910390f35b6103466004803603602081101561031a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109e7565b005b6103946004803603604081101561035e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a84565b005b61039e610d41565b6040518082815260200191505060405180910390f35b6103bc610d47565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461045757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561049157600080fd5b6000811161049e57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561053d57600080fd5b505afa158015610551573d6000803e3d6000fd5b505050506040513d602081101561056757600080fd5b810190808051906020019092919050505061058d82600754610d6d90919063ffffffff16565b1115610601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b61065381600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d6d90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106ab81600754610d6d90919063ffffffff16565b6007819055505050565b60056020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461072757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600354421115610999576004544211156108f257600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061099e565b600061090b600354600454610d8c90919063ffffffff16565b9050600061092460035442610d8c90919063ffffffff16565b9050600061098c8361097e84600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dac90919063ffffffff16565b610de690919063ffffffff16565b905080935050505061099e565b600090505b919050565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60066020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4057600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610abe57600080fd5b60008111610acb57600080fd5b4260035410610b42576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420756e66726f7a656e207965740000000000000000000000000000000081525060200191505060405180910390fd5b80610b9d600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b8f33610895565b610d8c90919063ffffffff16565b1015610ba857600080fd5b610bfa81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d6d90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5281600754610d8c90919063ffffffff16565b600781905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d0157600080fd5b505af1158015610d15573d6000803e3d6000fd5b505050506040513d6020811015610d2b57600080fd5b8101908080519060200190929190505050505050565b60045481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015610d8257600080fd5b8091505092915050565b600082821115610d9b57600080fd5b600082840390508091505092915050565b600080831415610dbf5760009050610de0565b6000828402905082848281610dd057fe5b0414610ddb57600080fd5b809150505b92915050565b6000808211610df457600080fd5b6000828481610dff57fe5b049050809150509291505056fea265627a7a72305820848e2e0f0daab2bd4e9fb3db6738387024882e004f07e3d9657691f0e55bcd9764736f6c63430005090032000000000000000000000000f71d36e9ffaa54394015c718c75b5cc323f55ec1000000000000000000000000000000000000000000000000000000005cfa2790000000000000000000000000000000000000000000000000000000005edcac90

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063ad7a672f1161008c578063f2fde38b11610066578063f2fde38b14610304578063f3fef3a314610348578063f8dd54cd14610396578063fc0c546a146103b4576100cf565b8063ad7a672f14610244578063e30c397814610262578063ea957156146102ac576100cf565b806321e5383a146100d457806327e235e3146101225780634e71e0c81461017a5780635e502d2e146101845780638da5cb5b146101a257806393611eab146101ec575b600080fd5b610120600480360360408110156100ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103fe565b005b6101646004803603602081101561013857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106b5565b6040518082815260200191505060405180910390f35b6101826106cd565b005b61018c61086a565b6040518082815260200191505060405180910390f35b6101aa610870565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61022e6004803603602081101561020257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610895565b6040518082815260200191505060405180910390f35b61024c6109a3565b6040518082815260200191505060405180910390f35b61026a6109a9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ee600480360360208110156102c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109cf565b6040518082815260200191505060405180910390f35b6103466004803603602081101561031a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109e7565b005b6103946004803603604081101561035e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a84565b005b61039e610d41565b6040518082815260200191505060405180910390f35b6103bc610d47565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461045757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561049157600080fd5b6000811161049e57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561053d57600080fd5b505afa158015610551573d6000803e3d6000fd5b505050506040513d602081101561056757600080fd5b810190808051906020019092919050505061058d82600754610d6d90919063ffffffff16565b1115610601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b61065381600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d6d90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106ab81600754610d6d90919063ffffffff16565b6007819055505050565b60056020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461072757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600354421115610999576004544211156108f257600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061099e565b600061090b600354600454610d8c90919063ffffffff16565b9050600061092460035442610d8c90919063ffffffff16565b9050600061098c8361097e84600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dac90919063ffffffff16565b610de690919063ffffffff16565b905080935050505061099e565b600090505b919050565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60066020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4057600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610abe57600080fd5b60008111610acb57600080fd5b4260035410610b42576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420756e66726f7a656e207965740000000000000000000000000000000081525060200191505060405180910390fd5b80610b9d600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b8f33610895565b610d8c90919063ffffffff16565b1015610ba857600080fd5b610bfa81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d6d90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5281600754610d8c90919063ffffffff16565b600781905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d0157600080fd5b505af1158015610d15573d6000803e3d6000fd5b505050506040513d6020811015610d2b57600080fd5b8101908080519060200190929190505050505050565b60045481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015610d8257600080fd5b8091505092915050565b600082821115610d9b57600080fd5b600082840390508091505092915050565b600080831415610dbf5760009050610de0565b6000828402905082848281610dd057fe5b0414610ddb57600080fd5b809150505b92915050565b6000808211610df457600080fd5b6000828481610dff57fe5b049050809150509291505056fea265627a7a72305820848e2e0f0daab2bd4e9fb3db6738387024882e004f07e3d9657691f0e55bcd9764736f6c63430005090032

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

000000000000000000000000f71d36e9ffaa54394015c718c75b5cc323f55ec1000000000000000000000000000000000000000000000000000000005cfa2790000000000000000000000000000000000000000000000000000000005edcac90

-----Decoded View---------------
Arg [0] : _token (address): 0xF71d36E9Ffaa54394015c718C75B5CC323F55EC1
Arg [1] : _unFreezeStartDate (uint256): 1559898000
Arg [2] : _totalUnFreezeDate (uint256): 1591520400

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000f71d36e9ffaa54394015c718c75b5cc323f55ec1
Arg [1] : 000000000000000000000000000000000000000000000000000000005cfa2790
Arg [2] : 000000000000000000000000000000000000000000000000000000005edcac90


Deployed Bytecode Sourcemap

4626:3096:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4626:3096:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5787:359;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5787:359:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4940:43;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4940:43:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3964:182;;;:::i;:::-;;4771:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2872:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6983:736;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6983:736:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5139:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2899;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5042:52;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5042:52:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3765:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3765:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6312:497;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6312:497:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4855:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4695:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5787:359;3382:5;;;;;;;;;;;3368:19;;:10;:19;;;3360:28;;;;;;5887:1;5872:17;;:3;:17;;;;5864:26;;;;;;5918:1;5909:6;:10;5901:19;;;;;;5984:5;;;;;;;;;;;:15;;;6008:4;5984:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5984:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5984:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5984:30:0;;;;;;;;;;;;;;;;5939:24;5956:6;5939:12;;:16;;:24;;;;:::i;:::-;:75;;5931:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6063:25;6081:6;6063:8;:13;6072:3;6063:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6047:8;:13;6056:3;6047:13;;;;;;;;;;;;;;;:41;;;;6114:24;6131:6;6114:12;;:16;;:24;;;;:::i;:::-;6099:12;:39;;;;5787:359;;:::o;4940:43::-;;;;;;;;;;;;;;;;;:::o;3964:182::-;3576:12;;;;;;;;;;;3562:26;;:10;:26;;;3554:35;;;;;;4058:12;;;;;;;;;;;4030:41;;4051:5;;;;;;;;;;;4030:41;;;;;;;;;;;;4090:12;;;;;;;;;;;4082:5;;:20;;;;;;;;;;;;;;;;;;4136:1;4113:12;;:25;;;;;;;;;;;;;;;;;;3964:182::o;4771:32::-;;;;:::o;2872:20::-;;;;;;;;;;;;;:::o;6983:736::-;7048:7;7078:17;;7072:3;:23;7068:587;;;7122:17;;7116:3;:23;7112:136;;;7215:8;:17;7224:7;7215:17;;;;;;;;;;;;;;;;7208:24;;;;7112:136;7308:30;7358:40;7380:17;;7358;;:21;;:40;;;;:::i;:::-;7308:90;;7413:31;7447:26;7455:17;;7447:3;:7;;:26;;;;:::i;:::-;7413:60;;7488:14;7505:110;7592:22;7505:64;7545:23;7505:8;:17;7514:7;7505:17;;;;;;;;;;;;;;;;:39;;:64;;;;:::i;:::-;:86;;:110;;;;:::i;:::-;7488:127;;7637:6;7630:13;;;;;;;7068:587;7710:1;7703:8;;6983:736;;;;:::o;5139:27::-;;;;:::o;2899:::-;;;;;;;;;;;;;:::o;5042:52::-;;;;;;;;;;;;;;;;;:::o;3765:104::-;3382:5;;;;;;;;;;;3368:19;;:10;:19;;;3360:28;;;;;;3853:8;3838:12;;:23;;;;;;;;;;;;;;;;;;3765:104;:::o;6312:497::-;6400:1;6385:17;;:3;:17;;;;6377:26;;;;;;6431:1;6422:6;:10;6414:19;;;;;;6472:3;6452:17;;:23;6444:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6612:6;6530:64;6564:17;:29;6582:10;6564:29;;;;;;;;;;;;;;;;6530;6548:10;6530:17;:29::i;:::-;:33;;:64;;;;:::i;:::-;6529:89;;6507:122;;;;;;6672:41;6706:6;6672:17;:29;6690:10;6672:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;6640:17;:29;6658:10;6640:29;;;;;;;;;;;;;;;:73;;;;6739:24;6756:6;6739:12;;:16;;:24;;;;:::i;:::-;6724:12;:39;;;;6774:5;;;;;;;;;;;:14;;;6789:3;6794:6;6774:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6774:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6774:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6774:27:0;;;;;;;;;;;;;;;;;6312:497;;:::o;4855:32::-;;;;:::o;4695:19::-;;;;;;;;;;;;;:::o;1489:150::-;1547:7;1567:9;1583:1;1579;:5;1567:17;;1608:1;1603;:6;;1595:15;;;;;;1630:1;1623:8;;;1489:150;;;;:::o;1251:::-;1309:7;1342:1;1337;:6;;1329:15;;;;;;1355:9;1371:1;1367;:5;1355:17;;1392:1;1385:8;;;1251:150;;;;:::o;242:433::-;300:7;549:1;544;:6;540:47;;;574:1;567:8;;;;540:47;599:9;615:1;611;:5;599:17;;644:1;639;635;:5;;;;;;:10;627:19;;;;;;666:1;659:8;;;242:433;;;;;:::o;810:303::-;868:7;967:1;963;:5;955:14;;;;;;980:9;996:1;992;:5;;;;;;980:17;;1104:1;1097:8;;;810:303;;;;:::o

Swarm Source

bzzr://848e2e0f0daab2bd4e9fb3db6738387024882e004f07e3d9657691f0e55bcd97

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.