Latest 25 from a total of 65 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Claim | 169137769 | 763 days ago | IN | 0 ETH | 0.0000801 | ||||
| Claim | 165656006 | 773 days ago | IN | 0 ETH | 0.00002739 | ||||
| Claim | 162079050 | 784 days ago | IN | 0 ETH | 0.00006683 | ||||
| Claim | 143531296 | 841 days ago | IN | 0 ETH | 0.00003449 | ||||
| Claim | 135505127 | 867 days ago | IN | 0 ETH | 0.00004158 | ||||
| Claim | 135493257 | 867 days ago | IN | 0 ETH | 0.00005037 | ||||
| Claim | 130162278 | 884 days ago | IN | 0 ETH | 0.0000489 | ||||
| Claim | 123890350 | 904 days ago | IN | 0 ETH | 0.00012337 | ||||
| Claim | 122196084 | 909 days ago | IN | 0 ETH | 0.00002498 | ||||
| Claim | 121026110 | 913 days ago | IN | 0 ETH | 0.00003392 | ||||
| Claim | 120354816 | 915 days ago | IN | 0 ETH | 0.00003252 | ||||
| Claim | 119506452 | 918 days ago | IN | 0 ETH | 0.00002792 | ||||
| Claim | 119407337 | 918 days ago | IN | 0 ETH | 0.00003852 | ||||
| Claim | 117175809 | 925 days ago | IN | 0 ETH | 0.00003517 | ||||
| Claim | 117175759 | 925 days ago | IN | 0 ETH | 0.00003688 | ||||
| Claim | 115709305 | 929 days ago | IN | 0 ETH | 0.00004596 | ||||
| Claim | 115241147 | 931 days ago | IN | 0 ETH | 0.00004194 | ||||
| Claim | 114862825 | 932 days ago | IN | 0 ETH | 0.00005334 | ||||
| Claim | 113931734 | 935 days ago | IN | 0 ETH | 0.00002456 | ||||
| Claim | 112742784 | 938 days ago | IN | 0 ETH | 0.00002783 | ||||
| Claim | 112202902 | 940 days ago | IN | 0 ETH | 0.00003649 | ||||
| Claim | 112131416 | 940 days ago | IN | 0 ETH | 0.00003101 | ||||
| Claim | 111384964 | 942 days ago | IN | 0 ETH | 0.00002119 | ||||
| Claim | 110921898 | 944 days ago | IN | 0 ETH | 0.00004543 | ||||
| Claim | 110817929 | 944 days ago | IN | 0 ETH | 0.00003442 |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Vesting
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
contract Vesting {
IERC20 public immutable token;
uint256 public constant vestingPeriod = 180 days;
mapping(address => uint256) public allocation;
mapping(address => uint256) public claimed;
uint256 public start;
bool public started;
constructor() {
token = IERC20(0x3A33473d7990a605a88ac72A78aD4EFC40a54ADB);
allocation[0x8c807CDdB6fAADF96956353f70ea60D63fAb69D5] = 72766666666666666666666;
allocation[0xa77fEaE6752429a7ef263B40479Df84971F7d230] = 72766666666666666666666;
allocation[0xE46DBa60D38AAEc41CdF19f2c0779E48cf51D939] = 72766666666666666666666;
}
function begin() external {
require(!started, "Started");
started = true;
start = block.timestamp;
}
function claim() external {
require(started, "!Started");
uint256 _claimable = pending(msg.sender);
require(_claimable > 0, "Nothing to claim");
claimed[msg.sender] += _claimable;
token.transfer(msg.sender, _claimable);
}
function pending(address _user) public view returns (uint256) {
if (!started) return 0;
if (block.timestamp - start > vestingPeriod)
return allocation[_user] - claimed[_user];
return (allocation[_user] * (block.timestamp - start)) / vestingPeriod - claimed[_user];
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `from` to `to` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool);
}{
"optimizer": {
"enabled": true,
"runs": 1000000
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allocation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"begin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"pending","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"start","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"started","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60a060405234801561001057600080fd5b50733a33473d7990a605a88ac72a78ad4efc40a54adb60805260006020819052690f68b05c0702947aaaaa7f7b4d07f4cdf8e8c6759c92591b67931c787913eef224e63150bdd140a68fbde48190557f41e8e2f39e3a3a4f79707fdc6dab60a06b63022146575bfb61b914948913317c81905573e46dba60d38aaec41cdf19f2c0779e48cf51d9399091527f629c819867e3d7f3a922a3a8eeef9421cf882d960b9a91be27fea7921dac5780556080516106276100df60003960008181610155015261037b01526106276000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80637313ee5a11610076578063be9a65551161005b578063be9a655514610127578063c884ef8314610130578063fc0c546a1461015057600080fd5b80637313ee5a146100fd578063b81b86301461010757600080fd5b80631bce6ff3146100a85780631f2698ab146100b25780634e71d92d146100d45780635eebea20146100dc575b600080fd5b6100b061019c565b005b6003546100bf9060ff1681565b60405190151581526020015b60405180910390f35b6100b061023f565b6100ef6100ea3660046104eb565b610401565b6040519081526020016100cb565b6100ef62ed4e0081565b6100ef6101153660046104eb565b60006020819052908152604090205481565b6100ef60025481565b6100ef61013e3660046104eb565b60016020526000908152604090205481565b6101777f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100cb565b60035460ff161561020e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f537461727465640000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905542600255565b60035460ff166102ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21537461727465640000000000000000000000000000000000000000000000006044820152606401610205565b60006102b633610401565b905060008111610322576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f7468696e6720746f20636c61696d000000000000000000000000000000006044820152606401610205565b3360009081526001602052604081208054839290610341908490610557565b90915550506040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af11580156103d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fd919061056a565b5050565b60035460009060ff1661041657506000919050565b62ed4e0060025442610428919061058c565b111561046f5773ffffffffffffffffffffffffffffffffffffffff82166000908152600160209081526040808320549183905290912054610469919061058c565b92915050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460025462ed4e00906104a7904261058c565b73ffffffffffffffffffffffffffffffffffffffff85166000908152602081905260409020546104d7919061059f565b6104e191906105b6565b610469919061058c565b6000602082840312156104fd57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461052157600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561046957610469610528565b60006020828403121561057c57600080fd5b8151801515811461052157600080fd5b8181038181111561046957610469610528565b808202811582820484141761046957610469610528565b6000826105ec577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220c40fb761b0cca8ece97bdf59fb8fa9dca32dccbccde6b949e6fb1a6a8e13256964736f6c63430008130033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80637313ee5a11610076578063be9a65551161005b578063be9a655514610127578063c884ef8314610130578063fc0c546a1461015057600080fd5b80637313ee5a146100fd578063b81b86301461010757600080fd5b80631bce6ff3146100a85780631f2698ab146100b25780634e71d92d146100d45780635eebea20146100dc575b600080fd5b6100b061019c565b005b6003546100bf9060ff1681565b60405190151581526020015b60405180910390f35b6100b061023f565b6100ef6100ea3660046104eb565b610401565b6040519081526020016100cb565b6100ef62ed4e0081565b6100ef6101153660046104eb565b60006020819052908152604090205481565b6100ef60025481565b6100ef61013e3660046104eb565b60016020526000908152604090205481565b6101777f0000000000000000000000003a33473d7990a605a88ac72a78ad4efc40a54adb81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100cb565b60035460ff161561020e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f537461727465640000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905542600255565b60035460ff166102ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f21537461727465640000000000000000000000000000000000000000000000006044820152606401610205565b60006102b633610401565b905060008111610322576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f7468696e6720746f20636c61696d000000000000000000000000000000006044820152606401610205565b3360009081526001602052604081208054839290610341908490610557565b90915550506040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f0000000000000000000000003a33473d7990a605a88ac72a78ad4efc40a54adb73ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af11580156103d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fd919061056a565b5050565b60035460009060ff1661041657506000919050565b62ed4e0060025442610428919061058c565b111561046f5773ffffffffffffffffffffffffffffffffffffffff82166000908152600160209081526040808320549183905290912054610469919061058c565b92915050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460025462ed4e00906104a7904261058c565b73ffffffffffffffffffffffffffffffffffffffff85166000908152602081905260409020546104d7919061059f565b6104e191906105b6565b610469919061058c565b6000602082840312156104fd57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461052157600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561046957610469610528565b60006020828403121561057c57600080fd5b8151801515811461052157600080fd5b8181038181111561046957610469610528565b808202811582820484141761046957610469610528565b6000826105ec577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220c40fb761b0cca8ece97bdf59fb8fa9dca32dccbccde6b949e6fb1a6a8e13256964736f6c63430008130033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.