← Registry

Vesting Lock

vesting-lock@1.0.0 · by HOOKAWAY Labs

Locked balances unlock on a schedule; only unlocked tokens move.

VerifiedMock program
Identity
Name
Vesting Lock
Program ID
Vst2Chk8…cgj2ZN5i
Version
1.0.0
Source
hookaway-mock/vesting-lock@raxfccb
Upgrade authority
none (immutable)
Verification
source-verified
Audit status
none
CPI behaviour
none
Trust labels
  • VerifiedSource verified against the deployed program and manifest reviewed by HOOKAWAY.
Usage
Tokens using it
7
Transfers (30d, mock)
120.5K
Transaction success rate
83.8%

Success rate = HOOKAWAY-built transactions that confirmed ÷ submitted. Blocks by the hook's own rules are not failures.

Compatibility
  • Direct transfer●
  • Meridian AMM●
  • Orbit CLMM●
  • Relay AggregatorHook needs 4 extra accounts; Relay Aggregator forwards at most 3.×
  • Basin Legacy AMMBasin Legacy AMM cannot forward transfer-hook accounts.×
  • HOOKAWAY Launch Curve●
Config schema
  • cliffCliff timestampi64
  • durationDaysLinear unlock durationu32
Extra account schema
AccountDerivationWS
config
Per-mint hook configuration.
pda(hook, ["config", acct[1]:mint])··
vesting-record
vest record for the source owner.
pda(hook, ["vest", acct[1]:mint, acct[3]:source owner])✓·
Errors & restrictions
  • 6070Amount exceeds unlocked balance. {locked} tokens are still locked.
  • —Sender may transfer at most their unlocked balance.
Manifest
cross-check passed
  • ✓ Schema valid (manifest v0.1)
  • ✓ Program ID matches mint’s TransferHook extension
  • ✓ Upgrade authority matches declared authority
  • ✓ Declared accounts match on-chain ExtraAccountMetaList
  • ✓ All accounts derivable without off-chain input
{
  "$schema": "https://hookaway.dev/schema/manifest/v0.1.json",
  "manifestVersion": "0.1",
  "name": "vesting-lock",
  "version": "1.0.0",
  "program": "Vst2Chk8uQahgjhGek7DAKPjfuyB5f9RKMQvcgj2ZN5i",
  "programAuthority": null,
  "description": "Locked balances unlock on a schedule; only unlocked tokens move.",
  "source": {
    "repo": "https://github.com/hookaway-mock/vesting-lock",
    "commit": "raxfccb",
    "verifiedBuild": true
  },
  "config": {
    "fields": [
      {
        "key": "cliff",
        "type": "i64",
        "description": "Cliff timestamp"
      },
      {
        "key": "durationDays",
        "type": "u32",
        "description": "Linear unlock duration"
      }
    ]
  },
  "accounts": [
    {
      "name": "config",
      "derivation": {
        "kind": "pda",
        "programId": "hook",
        "seeds": [
          {
            "kind": "literal",
            "value": "config"
          },
          {
            "kind": "account",
            "index": 1,
            "label": "mint"
          }
        ]
      },
      "writable": false,
      "signer": false,
      "description": "Per-mint hook configuration."
    },
    {
      "name": "vesting-record",
      "derivation": {
        "kind": "pda",
        "programId": "hook",
        "seeds": [
          {
            "kind": "literal",
            "value": "vest"
          },
          {
            "kind": "account",
            "index": 1,
            "label": "mint"
          },
          {
            "kind": "account",
            "index": 3,
            "label": "source owner"
          }
        ]
      },
      "writable": true,
      "signer": false,
      "description": "vest record for the source owner."
    }
  ],
  "compatibility": {
    "transfer": true,
    "venues": "any-hook-aware",
    "maxExtraAccounts": 2
  },
  "transaction": {
    "computeUnits": 19000,
    "requiresLookupTable": false,
    "cpi": "none"
  },
  "simulation": {
    "adapter": "vesting"
  },
  "explain": {
    "6070": "Amount exceeds unlocked balance. {locked} tokens are still locked."
  },
  "restrictions": [
    "Sender may transfer at most their unlocked balance."
  ]
}
Tokens using it (7)