Contract 0xc598d81c62f6391b2412d02a78fa3f3affe58b52

 

Contract Overview

Lendefi: Token Vesting
Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xbd965d981648fbd46cb88f7a622b8edef386e986ed013c51c038d14a5f016c1cTransfer Ownersh...103737032021-08-26 19:12:5351 days 17 hrs agoLendefi: Deployer IN  Lendefi: Token Vesting0 BNB0.000154845
0xbf9c9698fbf6825f673ee3c3c7e66e3031131367601d28ce88f11c8931537ca20x60806040103630182021-08-26 10:17:2852 days 2 hrs agoLendefi: Deployer IN  Contract Creation0 BNB0.013255265
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LendefiTokenVesting

Compiler Version
v0.5.2+commit.1df8f40c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at BscScan.com on 2021-08-26
*/

/** 
 * Copyright @Lendefi 2021
 */

pragma solidity 0.5.2;

// File: openzeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address private _owner;

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

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    /**
     * @return true if `msg.sender` is the owner of the contract.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Allows the current owner to relinquish control of the contract.
     * @notice Renouncing to ownership will leave the contract without an owner.
     * It will not be possible to call the functions with the `onlyOwner`
     * modifier anymore.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

    /**
     * @dev Transfers control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @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;
    }
}

// File: openzeppelin-solidity/contracts/token/ERC20/IERC20.sol

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/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);
}

// File: openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol

/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
    using SafeMath for uint256;

    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        require(token.transfer(to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
        require(token.transferFrom(from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint256 value) internal {
        // safeApprove should only be called when setting an initial allowance,
        // or when resetting it to zero. To increase and decrease it, use
        // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
        require((value == 0) || (token.allowance(msg.sender, spender) == 0));
        require(token.approve(spender, value));
    }

    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        require(token.approve(spender, newAllowance));
    }

    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).sub(value);
        require(token.approve(spender, newAllowance));
    }
}

contract LendefiTokenVesting is Ownable {
    using SafeMath for uint256;
    using SafeERC20 for IERC20;

    IERC20 private LDFIToken;
    uint256 private tokensToVest = 0;
    uint256 private vestingId = 0;

    string private constant INSUFFICIENT_BALANCE = "Insufficient balance";
    string private constant INVALID_VESTING_ID = "Invalid vesting id";
    string private constant VESTING_ALREADY_RELEASED = "Vesting already released";
    string private constant INVALID_BENEFICIARY = "Invalid beneficiary address";
    string private constant NOT_VESTED = "Tokens have not vested yet";

    struct Vesting {
        uint256 releaseTime;
        uint256 amount;
        address beneficiary;
        bool released;
    }
    mapping(uint256 => Vesting) public vestings;

    event TokenVestingReleased(uint256 indexed vestingId, address indexed beneficiary, uint256 amount);
    event TokenVestingAdded(uint256 indexed vestingId, address indexed beneficiary, uint256 amount);
    event TokenVestingRemoved(uint256 indexed vestingId, address indexed beneficiary, uint256 amount);

    constructor(IERC20 _token) public {
        require(address(_token) != address(0x0), "BSC token address is not valid");
        LDFIToken = _token;
       
       
        uint256 SCALING_FACTOR = 10 ** 18;
        uint256 day = 1 days;
        
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 30 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 60 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 90 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 120 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 150 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 180 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 210 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 240 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 270 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 300 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 330 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 360 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 390 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 420 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 450 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 480 * day, 190318764*SCALING_FACTOR);
        addVesting(0x30DD781D2143fE32C36E894a049898f268b82092, now + 510 * day, 190318776*SCALING_FACTOR);
        
    }

    function token() public view returns (IERC20) {
        return LDFIToken;
    }

    function beneficiary(uint256 _vestingId) public view returns (address) {
        return vestings[_vestingId].beneficiary;
    }

    function releaseTime(uint256 _vestingId) public view returns (uint256) {
        return vestings[_vestingId].releaseTime;
    }

    function vestingAmount(uint256 _vestingId) public view returns (uint256) {
        return vestings[_vestingId].amount;
    }

    function removeVesting(uint256 _vestingId) public onlyOwner {
        Vesting storage vesting = vestings[_vestingId];
        require(vesting.beneficiary != address(0x0), INVALID_VESTING_ID);
        require(!vesting.released , VESTING_ALREADY_RELEASED);
        vesting.released = true;
        tokensToVest = tokensToVest.sub(vesting.amount);
        emit TokenVestingRemoved(_vestingId, vesting.beneficiary, vesting.amount);
    }

    function addVesting(address _beneficiary, uint256 _releaseTime, uint256 _amount) public onlyOwner {
        require(_beneficiary != address(0x0), INVALID_BENEFICIARY);
        tokensToVest = tokensToVest.add(_amount);
        vestingId = vestingId.add(1);
        vestings[vestingId] = Vesting({
            beneficiary: _beneficiary,
            releaseTime: _releaseTime,
            amount: _amount,
            released: false
        });
        emit TokenVestingAdded(vestingId, _beneficiary, _amount);
    }

    function release(uint256 _vestingId) public {
        Vesting storage vesting = vestings[_vestingId];
        require(vesting.beneficiary != address(0x0), INVALID_VESTING_ID);
        require(!vesting.released , VESTING_ALREADY_RELEASED);
        // solhint-disable-next-line not-rely-on-time
        require(block.timestamp >= vesting.releaseTime, NOT_VESTED);

        require(LDFIToken.balanceOf(address(this)) >= vesting.amount, INSUFFICIENT_BALANCE);
        vesting.released = true;
        tokensToVest = tokensToVest.sub(vesting.amount);
        LDFIToken.safeTransfer(vesting.beneficiary, vesting.amount);
        emit TokenVestingReleased(_vestingId, vesting.beneficiary, vesting.amount);
    }

    function retrieveExcessTokens(uint256 _amount) public onlyOwner {
        require(_amount <= LDFIToken.balanceOf(address(this)).sub(tokensToVest), INSUFFICIENT_BALANCE);
        LDFIToken.safeTransfer(owner(), _amount);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_vestingId","type":"uint256"}],"name":"vestingAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_vestingId","type":"uint256"}],"name":"releaseTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_vestingId","type":"uint256"}],"name":"removeVesting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_vestingId","type":"uint256"}],"name":"release","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_releaseTime","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"addVesting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_vestingId","type":"uint256"}],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"retrieveExcessTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"vestings","outputs":[{"name":"releaseTime","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"beneficiary","type":"address"},{"name":"released","type":"bool"}],"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":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"vestingId","type":"uint256"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenVestingReleased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"vestingId","type":"uint256"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenVestingAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"vestingId","type":"uint256"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenVestingRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

6080604052600060025560006003553480156200001b57600080fd5b5060405160208062002066833981018060405260208110156200003d57600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515620001b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f42534320746f6b656e2061646472657373206973206e6f742076616c6964000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000670de0b6b3a764000090506000620151809050620002417330dd781d2143fe32c36e894a049898f268b8209282601e02420184630b5808ac0262000603640100000000026401000000009004565b6200027c7330dd781d2143fe32c36e894a049898f268b8209282603c02420184630b5808ac0262000603640100000000026401000000009004565b620002b77330dd781d2143fe32c36e894a049898f268b8209282605a02420184630b5808ac0262000603640100000000026401000000009004565b620002f27330dd781d2143fe32c36e894a049898f268b8209282607802420184630b5808ac0262000603640100000000026401000000009004565b6200032d7330dd781d2143fe32c36e894a049898f268b8209282609602420184630b5808ac0262000603640100000000026401000000009004565b620003687330dd781d2143fe32c36e894a049898f268b820928260b402420184630b5808ac0262000603640100000000026401000000009004565b620003a37330dd781d2143fe32c36e894a049898f268b820928260d202420184630b5808ac0262000603640100000000026401000000009004565b620003de7330dd781d2143fe32c36e894a049898f268b820928260f002420184630b5808ac0262000603640100000000026401000000009004565b6200041a7330dd781d2143fe32c36e894a049898f268b820928261010e02420184630b5808ac0262000603640100000000026401000000009004565b620004567330dd781d2143fe32c36e894a049898f268b820928261012c02420184630b5808ac0262000603640100000000026401000000009004565b620004927330dd781d2143fe32c36e894a049898f268b820928261014a02420184630b5808ac0262000603640100000000026401000000009004565b620004ce7330dd781d2143fe32c36e894a049898f268b820928261016802420184630b5808ac0262000603640100000000026401000000009004565b6200050a7330dd781d2143fe32c36e894a049898f268b820928261018602420184630b5808ac0262000603640100000000026401000000009004565b620005467330dd781d2143fe32c36e894a049898f268b82092826101a402420184630b5808ac0262000603640100000000026401000000009004565b620005827330dd781d2143fe32c36e894a049898f268b82092826101c202420184630b5808ac0262000603640100000000026401000000009004565b620005be7330dd781d2143fe32c36e894a049898f268b82092826101e002420184630b5808ac0262000603640100000000026401000000009004565b620005fa7330dd781d2143fe32c36e894a049898f268b82092826101fe02420184630b5808b80262000603640100000000026401000000009004565b50505062000930565b6200061c620008b7640100000000026401000000009004565b15156200062857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156040805190810160405280601b81526020017f496e76616c69642062656e6566696369617279206164647265737300000000008152509015156200073b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620006ff578082015181840152602081019050620006e2565b50505050905090810190601f1680156200072d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5062000761816002546200090e64010000000002620015df179091906401000000009004565b6002819055506200078d60016003546200090e64010000000002620015df179091906401000000009004565b6003819055506080604051908101604052808381526020018281526020018473ffffffffffffffffffffffffffffffffffffffff16815260200160001515815250600460006003548152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160146101000a81548160ff0219169083151502179055509050508273ffffffffffffffffffffffffffffffffffffffff166003547ffbd41c6118c5ed14f196c270a1793d95e8517e43031d9bb61aa71cb2a38bf557836040518082815260200191505060405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60008082840190508381101515156200092657600080fd5b8091505092915050565b61172680620009406000396000f3fe608060405234801561001057600080fd5b50600436106100ec576000357c0100000000000000000000000000000000000000000000000000000000900480636eb48096116100a95780638da5cb5b116100835780638da5cb5b146103565780638f32d59b146103a0578063f2fde38b146103c2578063fc0c546a14610406576100ec565b80636eb4809614610297578063715018a6146102c5578063821bee73146102cf576100ec565b806307ad23ef146100f157806309c4bb2b146101335780631bcde4ec1461017557806337bdc99b146101a35780634691a998146101d15780635daa316014610229575b600080fd5b61011d6004803603602081101561010757600080fd5b8101908080359060200190929190505050610450565b6040518082815260200191505060405180910390f35b61015f6004803603602081101561014957600080fd5b8101908080359060200190929190505050610470565b6040518082815260200191505060405180910390f35b6101a16004803603602081101561018b57600080fd5b8101908080359060200190929190505050610490565b005b6101cf600480360360208110156101b957600080fd5b8101908080359060200190929190505050610797565b005b610227600480360360608110156101e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610dc3565b005b6102556004803603602081101561023f57600080fd5b8101908080359060200190929190505050611041565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102c3600480360360208110156102ad57600080fd5b8101908080359060200190929190505050611081565b005b6102cd6112d7565b005b6102fb600480360360208110156102e557600080fd5b81019080803590602001909291905050506113a9565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200194505050505060405180910390f35b61035e611406565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103a861142f565b604051808215151515815260200191505060405180910390f35b610404600480360360208110156103d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611486565b005b61040e6114a5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060046000838152602001908152602001600020600101549050919050565b600060046000838152602001908152602001600020600001549050919050565b61049861142f565b15156104a357600080fd5b6000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156040805190810160405280601281526020017f496e76616c69642076657374696e6720696400000000000000000000000000008152509015156105ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105b2578082015181840152602081019050610597565b50505050905090810190601f1680156105df5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508060020160149054906101000a900460ff16156040805190810160405280601881526020017f56657374696e6720616c72656164792072656c656173656400000000000000008152509015156106df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156106a4578082015181840152602081019050610689565b50505050905090810190601f1680156106d15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060018160020160146101000a81548160ff02191690831515021790555061071681600101546002546114cf90919063ffffffff16565b6002819055508060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16827fdc8b9c8cc0c8d05e10824e69ee88995716a539af94a1c60fb9898367f613477c83600101546040518082815260200191505060405180910390a35050565b6000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156040805190810160405280601281526020017f496e76616c69642076657374696e6720696400000000000000000000000000008152509015156108e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108a657808201518184015260208101905061088b565b50505050905090810190601f1680156108d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508060020160149054906101000a900460ff16156040805190810160405280601881526020017f56657374696e6720616c72656164792072656c656173656400000000000000008152509015156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561099857808201518184015260208101905061097d565b50505050905090810190601f1680156109c55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5080600001544210156040805190810160405280601a81526020017f546f6b656e732068617665206e6f742076657374656420796574000000000000815250901515610aba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a7f578082015181840152602081019050610a64565b50505050905090810190601f168015610aac5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508060010154600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b7b57600080fd5b505afa158015610b8f573d6000803e3d6000fd5b505050506040513d6020811015610ba557600080fd5b810190808051906020019092919050505010156040805190810160405280601481526020017f496e73756666696369656e742062616c616e6365000000000000000000000000815250901515610c96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c5b578082015181840152602081019050610c40565b50505050905090810190601f168015610c885780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060018160020160146101000a81548160ff021916908315150217905550610ccd81600101546002546114cf90919063ffffffff16565b600281905550610d488160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114f19092919063ffffffff16565b8060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16827f295ac83a3c5cf518a125ba974be97dca6a668bae6dd90b6902b2618cdff1fcc683600101546040518082815260200191505060405180910390a35050565b610dcb61142f565b1515610dd657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156040805190810160405280601b81526020017f496e76616c69642062656e656669636961727920616464726573730000000000815250901515610ee5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610eaa578082015181840152602081019050610e8f565b50505050905090810190601f168015610ed75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610efb816002546115df90919063ffffffff16565b600281905550610f1760016003546115df90919063ffffffff16565b6003819055506080604051908101604052808381526020018281526020018473ffffffffffffffffffffffffffffffffffffffff16815260200160001515815250600460006003548152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160146101000a81548160ff0219169083151502179055509050508273ffffffffffffffffffffffffffffffffffffffff166003547ffbd41c6118c5ed14f196c270a1793d95e8517e43031d9bb61aa71cb2a38bf557836040518082815260200191505060405180910390a3505050565b60006004600083815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61108961142f565b151561109457600080fd5b61119e600254600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d602081101561117f57600080fd5b81019080805190602001909291905050506114cf90919063ffffffff16565b8111156040805190810160405280601481526020017f496e73756666696369656e742062616c616e636500000000000000000000000081525090151561127f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611244578082015181840152602081019050611229565b50505050905090810190601f1680156112715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506112d461128b611406565b82600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114f19092919063ffffffff16565b50565b6112df61142f565b15156112ea57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60046020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160149054906101000a900460ff16905084565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b61148e61142f565b151561149957600080fd5b6114a281611600565b50565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008282111515156114e057600080fd5b600082840390508091505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561159457600080fd5b505af11580156115a8573d6000803e3d6000fd5b505050506040513d60208110156115be57600080fd5b810190808051906020019092919050505015156115da57600080fd5b505050565b60008082840190508381101515156115f657600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561163c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fea165627a7a723058207994192a0ecec0dba5b0f0bd5c59bd5e6302e628fe264cb077c49fa4431281f300290000000000000000000000008f1e60d84182db487ac235acc65825e50b5477a1

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

0000000000000000000000008f1e60d84182db487ac235acc65825e50b5477a1

-----Decoded View---------------
Arg [0] : _token (address): 0x8f1e60d84182db487ac235acc65825e50b5477a1

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008f1e60d84182db487ac235acc65825e50b5477a1


Deployed ByteCode Sourcemap

6676:5657:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6676:5657:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10263:126;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10263:126:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10126:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10126:129:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10397:440;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10397:440:0;;;;;;;;;;;;;;;;;:::i;:::-;;11378:716;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11378:716:0;;;;;;;;;;;;;;;;;:::i;:::-;;10845:525;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10845:525:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9989:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9989:129:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12102:228;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12102:228:0;;;;;;;;;;;;;;;;;:::i;:::-;;1502:140;;;:::i;:::-;;7425:43;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7425:43:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;789:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1124:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1819:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1819:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9900:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10263:126;10327:7;10354:8;:20;10363:10;10354:20;;;;;;;;;;;:27;;;10347:34;;10263:126;;;:::o;10126:129::-;10188:7;10215:8;:20;10224:10;10215:20;;;;;;;;;;;:32;;;10208:39;;10126:129;;;:::o;10397:440::-;1001:9;:7;:9::i;:::-;993:18;;;;;;;;10468:23;10494:8;:20;10503:10;10494:20;;;;;;;;;;;10468:46;;10564:3;10533:35;;:7;:19;;;;;;;;;;;;:35;;;;10570:18;;;;;;;;;;;;;;;;;;10525:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10525:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10609:7;:16;;;;;;;;;;;;10608:17;10628:24;;;;;;;;;;;;;;;;;;10600:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10600:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10683:4;10664:7;:16;;;:23;;;;;;;;;;;;;;;;;;10713:32;10730:7;:14;;;10713:12;;:16;;:32;;;;:::i;:::-;10698:12;:47;;;;10793:7;:19;;;;;;;;;;;;10761:68;;10781:10;10761:68;10814:7;:14;;;10761:68;;;;;;;;;;;;;;;;;;1022:1;10397:440;:::o;11378:716::-;11433:23;11459:8;:20;11468:10;11459:20;;;;;;;;;;;11433:46;;11529:3;11498:35;;:7;:19;;;;;;;;;;;;:35;;;;11535:18;;;;;;;;;;;;;;;;;;11490:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11490:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11574:7;:16;;;;;;;;;;;;11573:17;11593:24;;;;;;;;;;;;;;;;;;11565:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11565:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11711:7;:19;;;11692:15;:38;;11732:10;;;;;;;;;;;;;;;;;;11684:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11684:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11802:7;:14;;;11764:9;;;;;;;;;;;:19;;;11792:4;11764:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11764:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11764:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11764:34:0;;;;;;;;;;;;;;;;:52;;11818:20;;;;;;;;;;;;;;;;;;11756:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11756:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11869:4;11850:7;:16;;;:23;;;;;;;;;;;;;;;;;;11899:32;11916:7;:14;;;11899:12;;:16;;:32;;;;:::i;:::-;11884:12;:47;;;;11942:59;11965:7;:19;;;;;;;;;;;;11986:7;:14;;;11942:9;;;;;;;;;;;:22;;;;:59;;;;;:::i;:::-;12050:7;:19;;;;;;;;;;;;12017:69;;12038:10;12017:69;12071:7;:14;;;12017:69;;;;;;;;;;;;;;;;;;11378:716;;:::o;10845:525::-;1001:9;:7;:9::i;:::-;993:18;;;;;;;;10986:3;10962:28;;:12;:28;;;;10992:19;;;;;;;;;;;;;;;;;;10954:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10954:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11038:25;11055:7;11038:12;;:16;;:25;;;;:::i;:::-;11023:12;:40;;;;11086:16;11100:1;11086:9;;:13;;:16;;;;:::i;:::-;11074:9;:28;;;;11135:160;;;;;;;;;11211:12;11135:160;;;;11246:7;11135:160;;;;11171:12;11135:160;;;;;;11278:5;11135:160;;;;;11113:8;:19;11122:9;;11113:19;;;;;;;;;;;:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11340:12;11311:51;;11329:9;;11311:51;11354:7;11311:51;;;;;;;;;;;;;;;;;;10845:525;;;:::o;9989:129::-;10051:7;10078:8;:20;10087:10;10078:20;;;;;;;;;;;:32;;;;;;;;;;;;10071:39;;9989:129;;;:::o;12102:228::-;1001:9;:7;:9::i;:::-;993:18;;;;;;;;12196:52;12235:12;;12196:9;;;;;;;;;;;:19;;;12224:4;12196:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12196:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12196:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12196:34:0;;;;;;;;;;;;;;;;:38;;:52;;;;:::i;:::-;12185:7;:63;;12250:20;;;;;;;;;;;;;;;;;;12177:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12177:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12282:40;12305:7;:5;:7::i;:::-;12314;12282:9;;;;;;;;;;;:22;;;;:40;;;;;:::i;:::-;12102:228;:::o;1502:140::-;1001:9;:7;:9::i;:::-;993:18;;;;;;;;1601:1;1564:40;;1585:6;;;;;;;;;;;1564:40;;;;;;;;;;;;1632:1;1615:6;;:19;;;;;;;;;;;;;;;;;;1502:140::o;7425:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;789:79::-;827:7;854:6;;;;;;;;;;;847:13;;789:79;:::o;1124:92::-;1164:4;1202:6;;;;;;;;;;;1188:20;;:10;:20;;;1181:27;;1124:92;:::o;1819:109::-;1001:9;:7;:9::i;:::-;993:18;;;;;;;;1892:28;1911:8;1892:18;:28::i;:::-;1819:109;:::o;9900:81::-;9938:6;9964:9;;;;;;;;;;;9957:16;;9900:81;:::o;3551:150::-;3609:7;3642:1;3637;:6;;3629:15;;;;;;;;3655:9;3671:1;3667;:5;3655:17;;3692:1;3685:8;;;3551:150;;;;:::o;5459:125::-;5550:5;:14;;;5565:2;5569:5;5550:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5550:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5550:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5550:25:0;;;;;;;;;;;;;;;;5542:34;;;;;;;;5459:125;;;:::o;3787:150::-;3845:7;3865:9;3881:1;3877;:5;3865:17;;3906:1;3901;:6;;3893:15;;;;;;;;3928:1;3921:8;;;3787:150;;;;:::o;2078:187::-;2172:1;2152:22;;:8;:22;;;;2144:31;;;;;;;;2220:8;2191:38;;2212:6;;;;;;;;;;;2191:38;;;;;;;;;;;;2249:8;2240:6;;:17;;;;;;;;;;;;;;;;;;2078:187;:::o

Swarm Source

bzzr://7994192a0ecec0dba5b0f0bd5c59bd5e6302e628fe264cb077c49fa4431281f3
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.