@cfxlabsinc/b2b-services
    Preparing search index...

    Solana transaction builder and related helpers

    Index

    Constructors

    • Parameters

      • __namedParameters: {
            confirmationPollingInterval?: number;
            connection: Connection;
            nonceAuthority: PublicKey;
        }
        • OptionalconfirmationPollingInterval?: number

          How often is the chain is polled for transaction status, in milliseconds Defaults to DEFAULT_CONFIRMATION_POLLING_INTERVAL

        • connection: Connection
        • nonceAuthority: PublicKey

      Returns SolanaTransactionService

    Properties

    connection: Connection

    Methods

    • Confirm a previously-sent Solana transaction by websocket and fallback polling

      Parameters

      • __namedParameters: { commitment?: "confirmed" | "finalized"; signature: string; timeout?: number }
        • Optionalcommitment?: "confirmed" | "finalized"
        • signature: string
        • Optionaltimeout?: number

          In milliseconds

      Returns Promise<ConfirmStatus>

    • Parameters

      • __namedParameters: { nonceAccount: PublicKey }

      Returns Promise<{ instruction: TransactionInstruction; nonce: string }>

      Durable nonce with its instruction

    • Sends and confirms a Solana transaction

      This method does not retry expired transactions.

      Parameters

      • __namedParameters: { skipPreflight?: boolean; transaction: VersionedTransaction } & Omit<
            {
                commitment?: "confirmed"
                | "finalized";
                signature: string;
                timeout?: number;
            },
            "signature",
        >

      Returns Promise<ConfirmStatus & { signature: string }>

    • Simulate a Solana transaction by sending ti to the RPC

      Parameters

      • transaction: VersionedTransaction

      Returns Promise<{ response: SimulatedTransactionResponse; success: boolean }>

    • Remember to sign this transaction before sending it (at least payer)

      Parameters

      • __namedParameters: {
            cuLimit?: number;
            cuPrice?: number | bigint;
            instructions: TransactionInstruction[];
            payer: PublicKey;
        }

      Returns Promise<{ lastValidBlockHeight: number; transaction: VersionedTransaction }>

      Versioned transaction for the given instructions, with freshly-fetch blockhash

    • Remember to sign this transaction before sending it (at least payer and nonce authority)

      Parameters

      • __namedParameters: {
            cuLimit?: number | "UNSET";
            cuPrice?: number | bigint | "UNSET";
            instructions: TransactionInstruction[];
            nonceAccount: PublicKey;
            payer: PublicKey;
        }

      Returns Promise<VersionedTransaction>

      Versioned transaction for the given instructions, with a durable nonce for blockhash