Vesting Mechanism for Class A KLIKcoins
solidityCopy code// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract KLIKVesting is Ownable {
ERC20 public klikToken;
struct VestingSchedule {
uint256 totalAmount;
uint256 releasedAmount;
uint256 startTime;
uint256 duration;
bool cliffCompleted;
}
mapping(address => VestingSchedule) public vestingSchedules;
constructor(ERC20 _klikToken) {
klikToken = _klikToken;
}
function createVesting(address beneficiary, uint256 amount, uint256 startTime, ​:contentReference[oaicite:0]{index=0}​Last updated