ETH Price: $2,059.03 (-0.69%)

Contract

0xD00F9CABBD2a29C18c1e85bbA8dE42daDCF43568
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim154572072022-09-02 4:56:241287 days ago1662094584IN
0xD00F9CAB...aDCF43568
0 ETH0.000485479.83301784
Claim154571862022-09-02 4:50:291287 days ago1662094229IN
0xD00F9CAB...aDCF43568
0 ETH0.000555878.36255

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer234424062025-09-25 20:22:11168 days ago1758831731
0xD00F9CAB...aDCF43568
0 ETH
Balance Of234424062025-09-25 20:22:11168 days ago1758831731
0xD00F9CAB...aDCF43568
0 ETH
Claim234424062025-09-25 20:22:11168 days ago1758831731
0xD00F9CAB...aDCF43568
0 ETH
Transfer154572072022-09-02 4:56:241287 days ago1662094584
0xD00F9CAB...aDCF43568
0 ETH
Transfer154571862022-09-02 4:50:291287 days ago1662094229
0xD00F9CAB...aDCF43568
0 ETH
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:
Vester

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-05-14
*/

pragma solidity ^0.6.7;

contract Vester {
    address public immutable token;
    address public recipient;

    uint public immutable vestingAmount;
    uint public immutable vestingBegin;
    uint public immutable vestingCliff;
    uint public immutable vestingEnd;

    uint public lastUpdate;

    constructor(
        address token_,
        address recipient_,    
        uint vestingAmount_,
        uint vestingBegin_,
        uint vestingCliff_,
        uint vestingEnd_
    ) public {
        require(vestingBegin_ >= block.timestamp, 'Vester::constructor: vesting begin too early');
        require(vestingCliff_ >= vestingBegin_, 'Vester::constructor: cliff is too early');
        require(vestingEnd_ > vestingCliff_, 'Vester::constructor: end is too early');

        token = token_;
        recipient = recipient_;

        vestingAmount = vestingAmount_;
        vestingBegin = vestingBegin_;
        vestingCliff = vestingCliff_;
        vestingEnd = vestingEnd_;

        lastUpdate = vestingBegin_;
    }

    function setRecipient(address recipient_) public {
        require(msg.sender == recipient, 'Vester::setRecipient: unauthorized');
        recipient = recipient_;
    }

    function claim() public {
        require(block.timestamp >= vestingCliff, 'Vester::claim: not time yet');
        uint amount;
        if (block.timestamp >= vestingEnd) {
            amount = IERC20(token).balanceOf(address(this));
        } else {
            amount = mul(vestingAmount, (block.timestamp - lastUpdate)) / (vestingEnd - vestingBegin);
            lastUpdate = block.timestamp;
        }
        IERC20(token).transfer(recipient, amount);
    }

    function mul(uint a, uint b) internal pure returns (uint c) {
        require(b == 0 || (c = a * b) / b == a, 'Vester::mul: multiplication overflow');
    }    
}

interface IERC20 {
    function balanceOf(address account) external view returns (uint);
    function transfer(address dst, uint rawAmount) external returns (bool);
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"vestingAmount_","type":"uint256"},{"internalType":"uint256","name":"vestingBegin_","type":"uint256"},{"internalType":"uint256","name":"vestingCliff_","type":"uint256"},{"internalType":"uint256","name":"vestingEnd_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastUpdate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient_","type":"address"}],"name":"setRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingBegin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingCliff","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

61012060405234801561001157600080fd5b506040516108cc3803806108cc833981810160405260c081101561003457600080fd5b508051602082015160408301516060840151608085015160a0909501519394929391929091428310156100985760405162461bcd60e51b815260040180806020018281038252602c815260200180610854602c913960400191505060405180910390fd5b828210156100d75760405162461bcd60e51b81526004018080602001828103825260278152602001806108806027913960400191505060405180910390fd5b8181116101155760405162461bcd60e51b81526004018080602001828103825260258152602001806108a76025913960400191505060405180910390fd5b606086901b6001600160601b031916608052600080546001600160a01b0319166001600160a01b0396871617815560a085905260c084905260e08390526101008290526001849055949095169492939192909161069a906101ba9039806102c552806103cc528061051452508061023452806105625250806103ab528061053e52508061015952806103f1525080610330528061047c5280610586525061069a6000f3fe608060405234801561001057600080fd5b50600436106100a25760003560e01c806384a1931f11610076578063e29bc68b1161005b578063e29bc68b1461013f578063f3640e7414610147578063fc0c546a1461014f576100a2565b806384a1931f1461012f578063c046371114610137576100a2565b8062728f76146100a75780633bbed4a0146100c15780634e71d92d146100f657806366d003ac146100fe575b600080fd5b6100af610157565b60408051918252519081900360200190f35b6100f4600480360360208110156100d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661017b565b005b6100f4610232565b6101066104f6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100af610512565b6100af610536565b6100af61053c565b6100af610560565b610106610584565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806106436022913960400191505060405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000004210156102c157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5665737465723a3a636c61696d3a206e6f742074696d65207965740000000000604482015290519081900360640190fd5b60007f000000000000000000000000000000000000000000000000000000000000000042106103a957604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d60208110156103a057600080fd5b50519050610429565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000000361041a7f000000000000000000000000000000000000000000000000000000000000000060015442036105a8565b8161042157fe5b426001550490505b60008054604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201526024810185905290517f00000000000000000000000000000000000000000000000000000000000000009092169263a9059cbb926044808401936020939083900390910190829087803b1580156104c757600080fd5b505af11580156104db573d6000803e3d6000fd5b505050506040513d60208110156104f157600080fd5b505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008115806105c3575050808202828282816105c057fe5b04145b610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061061f6024913960400191505060405180910390fd5b9291505056fe5665737465723a3a6d756c3a206d756c7469706c69636174696f6e206f766572666c6f775665737465723a3a736574526563697069656e743a20756e617574686f72697a6564a2646970667358221220c68838776eeaa0c45c3c7b656a322de60c111ab1766ce4e4ea5f35210c09f8ca64736f6c634300060c00335665737465723a3a636f6e7374727563746f723a2076657374696e6720626567696e20746f6f206561726c795665737465723a3a636f6e7374727563746f723a20636c69666620697320746f6f206561726c795665737465723a3a636f6e7374727563746f723a20656e6420697320746f6f206561726c79000000000000000000000000bebdab6da046bc49ffbb61fbd7b33157eb270d05000000000000000000000000d68f36eda870687bc3e901fda4fd55d803f1502400000000000000000000000000000000000000000024655cc78b38d7ac0000000000000000000000000000000000000000000000000000000000000060b578800000000000000000000000000000000000000000000000000000000060b5788000000000000000000000000000000000000000000000000000000000683b9800

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a25760003560e01c806384a1931f11610076578063e29bc68b1161005b578063e29bc68b1461013f578063f3640e7414610147578063fc0c546a1461014f576100a2565b806384a1931f1461012f578063c046371114610137576100a2565b8062728f76146100a75780633bbed4a0146100c15780634e71d92d146100f657806366d003ac146100fe575b600080fd5b6100af610157565b60408051918252519081900360200190f35b6100f4600480360360208110156100d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661017b565b005b6100f4610232565b6101066104f6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100af610512565b6100af610536565b6100af61053c565b6100af610560565b610106610584565b7f00000000000000000000000000000000000000000024655cc78b38d7ac00000081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806106436022913960400191505060405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b7f0000000000000000000000000000000000000000000000000000000060b578804210156102c157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5665737465723a3a636c61696d3a206e6f742074696d65207965740000000000604482015290519081900360640190fd5b60007f00000000000000000000000000000000000000000000000000000000683b980042106103a957604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000bebdab6da046bc49ffbb61fbd7b33157eb270d0516916370a08231916024808301926020929190829003018186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d60208110156103a057600080fd5b50519050610429565b7f0000000000000000000000000000000000000000000000000000000060b578807f00000000000000000000000000000000000000000000000000000000683b98000361041a7f00000000000000000000000000000000000000000024655cc78b38d7ac00000060015442036105a8565b8161042157fe5b426001550490505b60008054604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201526024810185905290517f000000000000000000000000bebdab6da046bc49ffbb61fbd7b33157eb270d059092169263a9059cbb926044808401936020939083900390910190829087803b1580156104c757600080fd5b505af11580156104db573d6000803e3d6000fd5b505050506040513d60208110156104f157600080fd5b505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b7f00000000000000000000000000000000000000000000000000000000683b980081565b60015481565b7f0000000000000000000000000000000000000000000000000000000060b5788081565b7f0000000000000000000000000000000000000000000000000000000060b5788081565b7f000000000000000000000000bebdab6da046bc49ffbb61fbd7b33157eb270d0581565b60008115806105c3575050808202828282816105c057fe5b04145b610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061061f6024913960400191505060405180910390fd5b9291505056fe5665737465723a3a6d756c3a206d756c7469706c69636174696f6e206f766572666c6f775665737465723a3a736574526563697069656e743a20756e617574686f72697a6564a2646970667358221220c68838776eeaa0c45c3c7b656a322de60c111ab1766ce4e4ea5f35210c09f8ca64736f6c634300060c0033

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

000000000000000000000000bebdab6da046bc49ffbb61fbd7b33157eb270d05000000000000000000000000d68f36eda870687bc3e901fda4fd55d803f1502400000000000000000000000000000000000000000024655cc78b38d7ac0000000000000000000000000000000000000000000000000000000000000060b578800000000000000000000000000000000000000000000000000000000060b5788000000000000000000000000000000000000000000000000000000000683b9800

-----Decoded View---------------
Arg [0] : token_ (address): 0xBeBdab6DA046Bc49ffBb61fbD7b33157Eb270D05
Arg [1] : recipient_ (address): 0xD68F36EDA870687BC3E901FDA4FD55d803F15024
Arg [2] : vestingAmount_ (uint256): 44000000000000000000000000
Arg [3] : vestingBegin_ (uint256): 1622505600
Arg [4] : vestingCliff_ (uint256): 1622505600
Arg [5] : vestingEnd_ (uint256): 1748736000

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000bebdab6da046bc49ffbb61fbd7b33157eb270d05
Arg [1] : 000000000000000000000000d68f36eda870687bc3e901fda4fd55d803f15024
Arg [2] : 00000000000000000000000000000000000000000024655cc78b38d7ac000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000060b57880
Arg [4] : 0000000000000000000000000000000000000000000000000000000060b57880
Arg [5] : 00000000000000000000000000000000000000000000000000000000683b9800


Deployed Bytecode Sourcemap

27:1864:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;120:35;;;:::i;:::-;;;;;;;;;;;;;;;;1067:171;;;;;;;;;;;;;;;;-1:-1:-1;1067:171:0;;;;:::i;:::-;;1246:472;;;:::i;87:24::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;244:32;;;:::i;285:22::-;;;:::i;162:34::-;;;:::i;203:::-;;;:::i;50:30::-;;;:::i;120:35::-;;;:::o;1067:171::-;1149:9;;;;1135:10;:23;1127:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1208:9;:22;;;;;;;;;;;;;;;1067:171::o;1246:472::-;1308:12;1289:15;:31;;1281:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1363:11;1408:10;1389:15;:29;1385:274;;1444:38;;;;;;1476:4;1444:38;;;;;;:23;1451:5;1444:23;;;;:38;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1444:38:0;;-1:-1:-1;1385:274:0;;;1591:12;1578:10;:25;1524:50;1528:13;1562:10;;1544:15;:28;1524:3;:50::i;:::-;:80;;;;;1632:15;1619:10;:28;1524:80;;-1:-1:-1;1385:274:0;1692:9;;;1669:41;;;;;;:22;1692:9;;;1669:41;;;;;;;;;;;;1676:5;1669:22;;;;;;:41;;;;;;;;;;;;;;;;;:22;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1246:472:0:o;87:24::-;;;;;;:::o;244:32::-;;;:::o;285:22::-;;;;:::o;162:34::-;;;:::o;203:::-;;;:::o;50:30::-;;;:::o;1726:158::-;1778:6;1805;;;:30;;-1:-1:-1;;1820:5:0;;;1834:1;1829;1820:5;1829:1;1815:15;;;;;:20;1805:30;1797:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1726:158;;;;:::o

Swarm Source

ipfs://c68838776eeaa0c45c3c7b656a322de60c111ab1766ce4e4ea5f35210c09f8ca

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.