Vesting Locker
This contract allows you to lock certain amount of jettons or tokens that is released based on vesting configuration
Features
Multiple receiving accounts based on 100% share allocation
Anyone can unlock tokens for any account during claim period for individual or airdrop mode
Basis type can be by duration (how many times to unlock) or by bps (how much percentage per unlock)
Locker Flags
Status 1bit
0 - Drafted 1 - Published (requires platform fee)
Unlock Mode 1bit
0 - Admin 1 - Individual (account list can unlock the tokens)
Unlock Cliff 32bit (timestamp)
The starting time to unlock the vesting
Next Unlock Time 32bit
The succeeding timestamp to unlock
Unlock Interval 32bit
Interval for next unlock time in seconds e.g Every Month is 86_400 * 30 = 2_592_00 seconds
Unlock Basis 1bit
0 - Duration 1 - Percentage
Unlock Basis Value 16bits
By unlock count or percentage with 100_00bps Duration: How many times it will be unlocked minus first tranche Percentage: 5% unlock every month is 5_00
Total Unlocked Coins
Total amount unlocked
Asset Supply
Total supply to be unlocked
Genesis Tranche 16bit
Always in percentage, can be called TGE percentage If set, initial tranche will computed using this value Default: 0 e.g 15% on TGE, 15_00 bps
Unlock Mode
Individual - accounts can unlock tokens by themselves
Airdrop - unlock tokens to all accounts
1
Vesting Non-Shard
Unlock Amount Percentage Account Share Percentage 15% TGE, 3 months cliff, 5% each month after, account share must total 100%
2
Vesting Shard + Percentage
3
Vesting Non-Shard
Individual Allocation
Variants
Non-Shard with Universal Unlock Time -> assets are unlocked based one configuration
Non-Shard with Individual Unlock Time -> assets are unlocked based on individual tracker
Shard -> creates a shard contract with individual vesting config and assets are transferred to it immediately, allows multiple shard contract per asset to be created
Limitations
Platform fee is max at 1%
Max of 4,080 receiving addresses for non-shard contract
Needs to consider depositing amount of TON to pay for storage fees
Features
Allowlist or Public
Draft to Publish Mode
Multiple Account Recipients
Configurable First-Release or TGE percentage allocation
Redeemable to configured wallet recipients
Operations
deposit -> 0x8
unlock -> 0x2
destroy -> 0xFF
add_accounts ->
add_account ->
change_config -> change the vesting configuration
change_token -> change the token address and wallet address of locker
change_owner ->
Getters
get_vesting_config -> contains vesting configuration of the contract
get_vesting_of (account) -> get the vesting info of an account
get_platform_config ->
get_unlockable_of (account) ->
get_available_balance ->
get_vesting_address(account, jetton) ->
Params
admin_address -> address of the owner
unlock_mode -> 0 (universal) | 1 (individual)
asset_address -> address of the jetton
asset_wallet_address -> wallet address of the vesting contract
asset_supply -> supply of the jetton
first_tranche_percentage -> amount of asset to be released on first unlock, if zero (0) - nothing
unlock_cliff -> starting cliff period in timestamp
unlock_duration -> in timestamp e.g every day (86_400) or monthly (2_592_000)
unlock_total duration -> in days, e.g 356 for 1 year
beneficiaries (universal) -> records both unlock amount and released amount
total_unlock_amount ->
released_amount ->
beneficiaries (individual) -> receiving addresses based on percentage shares
total_unlock_amount -> total allocated based on
released_amount ->
next_unlock -> first (tge) amount or next unlock amount
next_claim_time ->
Last updated