Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

VestingWalletCliffUpgradeable

Inherits: Initializable, VestingWalletUpgradeable

Extension of {VestingWallet} that adds a cliff to the vesting schedule. Available since v5.1.

State Variables

VestingWalletCliffStorageLocation

bytes32 private constant VestingWalletCliffStorageLocation =
    0x0a0ceb66c7c9aef32c0bfc43d3108868a39e95e96162520745e462557492f100;

Functions

_getVestingWalletCliffStorage

function _getVestingWalletCliffStorage() private pure returns (VestingWalletCliffStorage storage $);

__VestingWalletCliff_init

Set the duration of the cliff, in seconds. The cliff starts vesting schedule (see {VestingWallet}'s constructor) and ends cliffSeconds later.

function __VestingWalletCliff_init(uint64 cliffSeconds) internal onlyInitializing;

__VestingWalletCliff_init_unchained

function __VestingWalletCliff_init_unchained(uint64 cliffSeconds) internal onlyInitializing;

cliff

Getter for the cliff timestamp.

function cliff() public view virtual returns (uint256);

_vestingSchedule

Virtual implementation of the vesting formula. This returns the amount vested, as a function of time, for an asset given its total historical allocation. Returns 0 if the cliff timestamp is not met. IMPORTANT: The cliff not only makes the schedule return 0, but it also ignores every possible side effect from calling the inherited implementation (i.e. super._vestingSchedule). Carefully consider this caveat if the overridden implementation of this function has any (e.g. writing to memory or reverting).

function _vestingSchedule(uint256 totalAllocation, uint64 timestamp) internal view virtual override returns (uint256);

Errors

InvalidCliffDuration

The specified cliff duration is larger than the vesting duration.

error InvalidCliffDuration(uint64 cliffSeconds, uint64 durationSeconds);

Structs

VestingWalletCliffStorage

Note: storage-location: erc7201:openzeppelin.storage.VestingWalletCliff

struct VestingWalletCliffStorage {
    uint64 _cliff;
}