Disclaimer: The software isn't audited. No warranties provided.
This Rust crate provides SPL timelock functionalities that can be used "out of the box" and integrated in other Solana programs.
Functionalities are:
create
a vesting contract.withdraw
from a vesting contract.cancel
a vesting contract.transfer_recipient
of a vesting contract.
Check the docs to get familiar with the crate. Or check the Timelock program implementation where this crate is used.
Run python3 misc/make_idl.py > OUTPUT_FILE.js
to generate JS IDL to be used for easy (de)serialization of the program account data structs.
timelock-crate
is licensed AGPL-3.