@solana/kora v0.2.0
Features
- Kit plugin architecture (
#354) — NewcreateKitKoraClient()using Kit's plugin composition pattern (planner, executor, payer plugins). Enables composability with Kit program plugins liketokenProgram(). Includes:- Transaction planner with Kora blockhash, fee estimation, and payment instruction injection
- Transaction executor with sign-and-send via Kora RPC
- Token-2022 support via
tokenProgramIdconfig option - Compute budget instruction support (CU limit, CU price, simulation-based estimation)
- New peer dependencies:
@solana/kit-plugin-*,@solana-program/compute-budget,@solana-program/token @solana/kitpeer dep bumped to^6.1.0
Example:
import { createDefaultKoraClient } from '@solana/kora';
import { tokenProgram } from '@solana-program/token';
import { address } from '@solana/kit';
const defaultKoraClient = await createKitKoraClient({
endpoint: 'https://kora.example.com',
rpcUrl: 'https://api.mainnet-beta.solana.com',
feeToken: address('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'),
feePayerWallet: myWalletSigner,
});
// Compose with Kit program plugins
const client = defaultKoraClient.use(tokenProgram());
// Transfer USDC via the token plugin — Kora handles gas fees transparently
await client.token.instructions
.transferToATA({
authority: myWalletSigner,
recipient: address('...'),
mint: address('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'),
amount: 1_000_000,
decimals: 6,
})
.sendTransaction();Fixes
- SignAndSendTransaction response (
#353) — Add missingsignaturefield. ReturnNoopSignerfromgetPaymentInstructionfor Kit v6 signer deduplication. - Security vulnerabilities (
#348) — Patch js-yaml prototype pollution, brace-expansion ReDoS. - ESLint v9 (
#371) — Add flat config with@solana/eslint-config-solana.
Installation
pnpm add @solana/kora