X
Docs
SDK Reference
RLockClient

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.

Edit on GitHub