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
Name | Description |
---|---|
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
Type | Name | Description |
---|---|---|
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