frontend/app/generated/<program>/. If you want to use these
clients from another project, copy the folder — the only runtime dependency is
@solana/kit.
Every generated client has the same shape.
Client layout
Fetching an account
{ exists, address, data, executable, lamports, ... }
shape. fetchMaybeMarket is the non-throwing variant.
Resolving PDAs
Building an instruction
TransactionSigner, Address, and primitive types. The
return is an IInstruction that fits directly into @solana/kit’s
appendTransactionMessageInstruction.
Decoding events
Onlykimia-perp and intent-router emit Anchor #[event] structs today —
see the events reference. For those programs, Codama
generates decoders under types/:
delta-vault, split-engine, yield-amm, kusd-mint)
log via msg! rather than emitting events. To observe them, read
tx.meta.logMessages after confirmation.
Sending a transaction
The repo’sfrontend/app/lib/send-transaction.ts is the reference helper:
- Recent blockhash fetching
- Wallet-standard signing via
frontend/app/lib/wallet preflightsimulation + surfacing program logs- Typed error parsing via
frontend/app/lib/errors.ts
Regenerating after a program change
app/generated/<program>/. Never hand-edit
files inside that directory.
