What actually ships
Choose your integration path
TypeScript via Codama
Copy
frontend/app/generated/<program>/ into your project. Only runtime dep
is @solana/kit.Regenerate from IDL
If you want the TS client in your own package, re-run Codama against the
IDLs under
target/idl/.On-chain CPI
Depend on the program crate by
path or git with
features = ["cpi"]. Reference: Programs/programs/delta-vault/src/instructions/deposit.rs.Keeper bot
Crank funding, liquidations, rewards, rebalancing — permissionlessly.
Source IDLs
After building the Anchor workspaces withanchor build:
codama.*.json in frontend/ pins one IDL to an output directory:
Typical wiring (inside this repo)
1
Build programs, regenerate clients
From the Perp-engine and Programs workspaces:
anchor build.
Then from frontend/: npm run codama:all.2
Import the generated builder
3
Resolve PDAs
Use the generated
find*Pda helpers; they encapsulate seed derivation.4
Prepend an oracle update
Use
@pythnetwork/pyth-solana-receiver to post a fresh Hermes update in the
same transaction.5
Sign and send
The reference sender lives at
frontend/app/lib/send-transaction.ts.Next
Generated client shape
What Codama output looks like.
Data formats & precision
Decimals, rounding, BigInt.
Error handling
Map program errors to user messages.

