RLockClient
This page covers symbols exported from @rlock/cpsr-sdk (via src/index.ts).
Client
CpsrClient
Build & submit with reasonable defaults.
CpsrClient.withRecentFees({ connection, payer, percentile?, useEma? }) is a handy factory.
Example
import { CpsrClient, SubmitLane, transferIntent } from '@rlock/cpsr-sdk';
import { Connection, Keypair, LAMPORTS_PER_SOL } from '@solana/web3.js';
const connection = new Connection('https://api.devnet.solana.com');
const payer = Keypair.generate();
const airdrop = await connection.requestAirdrop(payer.publicKey, 2 * LAMPORTS_PER_SOL);
await connection.confirmTransaction(airdrop, 'confirmed');
const client = CpsrClient.withRecentFees({ connection, payer, percentile: 0.75, useEma: true });
const result = await client.buildAndSubmit({
intents: [transferIntent({ from: payer.publicKey, to: Keypair.generate().publicKey, lamports: 100_000 })],
cuLimit: 300_000,
tighten: true,
submitOptions: { lane: SubmitLane.L1, skipPreflight: false },
});
console.log(result.signature);Intents
Types and builders:
buildIntent, transferIntent, memoIntent, customIntent
Types: AccessKind, AccountAccess, AccountVersion, UserIntent, IntentOptions
Fees
FeePlan, FeePolicy, BasicPolicy, RecentFeesPolicy, RecentFeesPolicyOptions
ALTs
AddressLookupSource, NoAltSource, StaticAltSource
AltStats, AltResolution, computeAltStats
Builder
BuildTransactionOptions, buildTransaction, buildAndTighten, estimateComputeUnits
Submit
SubmitLane, SubmitOptions, SubmitResult
L1Submitter, RouterSubmitter
Errors
CpsrError, BlockhashStaleError, PreflightFailedError, RpcRetriableError, TransactionTooLargeError, RouterJsonRpcError, NetworkError, InvalidIntentError
Logger/LogLevel exist but are internal and not a stable surface.