@solana/rpc-api
Version:
Defines all default Solana RPC methods as types
427 lines • 31.4 kB
TypeScript
import type { Address } from '@solana/addresses';
import type { AccountInfoBase, AccountInfoWithBase64EncodedData, AccountInfoWithBase64EncodedZStdCompressedData, AccountInfoWithJsonData, Base58EncodedBytes, Base64EncodedDataResponse, Commitment, Slot, SolanaRpcResponse, TransactionError, TransactionForFullMetaInnerInstructionsParsed, TransactionForFullMetaInnerInstructionsUnparsed } from '@solana/rpc-types';
import type { Base64EncodedWireTransaction, TransactionBlockhashLifetime } from '@solana/transactions';
type SimulateTransactionConfigBase = Readonly<{
/**
* Simulate the transaction as of the highest slot that has reached this level of commitment.
*
* @defaultValue Whichever default is applied by the underlying {@link RpcApi} in use. For
* example, when using an API created by a `createSolanaRpc*()` helper, the default commitment
* is `"confirmed"` unless configured otherwise. Unmitigated by an API layer on the client, the
* default commitment applied by the server is `"finalized"`.
*/
commitment?: Commitment;
/**
* If `true` the response will include inner instructions. These inner instructions will be
* `jsonParsed` where possible, otherwise `json`.
* @defaultValue false
*/
innerInstructions?: boolean;
/**
* Prevents accessing stale data by enforcing that the RPC node has processed transactions up to
* this slot
*/
minContextSlot?: Slot;
}>;
type SigVerifyAndReplaceRecentBlockhashConfig<TReplaceBlockhash extends boolean | undefined = false | undefined> = TReplaceBlockhash extends true ? Readonly<{
/** if `true` the transaction recent blockhash will be replaced with the most recent blockhash. (conflicts with `sigVerify`) */
replaceRecentBlockhash: true;
/** if `true` the transaction signatures will be verified (conflicts with `replaceRecentBlockhash`) */
sigVerify?: false;
}> : Readonly<{
/** if `true` the transaction recent blockhash will be replaced with the most recent blockhash. (conflicts with `sigVerify`) */
replaceRecentBlockhash?: boolean;
/** if `true` the transaction signatures will be verified (conflicts with `replaceRecentBlockhash`) */
sigVerify?: false;
}> | Readonly<{
/** if `true` the transaction recent blockhash will be replaced with the most recent blockhash. (conflicts with `sigVerify`) */
replaceRecentBlockhash?: false;
/** if `true` the transaction signatures will be verified (conflicts with `replaceRecentBlockhash`) */
sigVerify: true;
}>;
type AccountsConfigWithBase64EncodingZstdCompression = Readonly<{
accounts: {
/** An `array` of accounts to return */
addresses: Address[];
/** Encoding for returned Account data */
encoding: 'base64+zstd';
};
}>;
type AccountsConfigWithJsonParsedEncoding = Readonly<{
accounts: {
/** An `array` of accounts to return */
addresses: Address[];
/** Encoding for returned Account data */
encoding: 'jsonParsed';
};
}>;
type AccountsConfigWithBase64Encoding = Readonly<{
accounts: {
/** An `array` of accounts to return */
addresses: Address[];
/** Encoding for returned Account data */
encoding?: 'base64';
};
}>;
type WithInnerInstructionsConfig = Readonly<{
innerInstructions: true;
}>;
type SimulateTransactionApiResponseBase = Readonly<{
/** If the transaction failed, this property will contain the error */
err: TransactionError | null;
/**
* Array of log messages the transaction instructions output during execution, `null` if
* simulation failed before the transaction was able to execute (for example due to an invalid
* blockhash or signature verification failure)
*/
logs: string[] | null;
/** The most-recent return data generated by an instruction in the transaction */
returnData: Readonly<{
/** The return data itself, as base-64 encoded binary data */
data: Base64EncodedDataResponse;
/** The program that generated the return data */
programId: Address;
}> | null;
/** The number of compute budget units consumed during the processing of this transaction */
unitsConsumed?: bigint;
}>;
type SimulateTransactionApiResponseWithAccounts<T extends AccountInfoBase> = Readonly<{
/** Array of accounts with the same length as the `accounts.addresses` array in the request */
accounts: (T | null)[];
}>;
type SimulateTransactionApiResponseWithInnerInstructions = Readonly<TransactionForFullMetaInnerInstructionsParsed | TransactionForFullMetaInnerInstructionsUnparsed>;
type SimulateTransactionApiResponseWithReplacementBlockhash = Readonly<{
/**
* The blockhash that was used to simulate the transaction when `replaceRecentBlockhash` is
* `true`
*/
replacementBlockhash: TransactionBlockhashLifetime;
}>;
export type SimulateTransactionApi = {
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithBase64Encoding & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & WithInnerInstructionsConfig): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedData> & SimulateTransactionApiResponseWithInnerInstructions & SimulateTransactionApiResponseWithReplacementBlockhash>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithBase64Encoding & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedData> & SimulateTransactionApiResponseWithReplacementBlockhash>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithBase64EncodingZstdCompression & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & WithInnerInstructionsConfig): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData> & SimulateTransactionApiResponseWithInnerInstructions & SimulateTransactionApiResponseWithReplacementBlockhash>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithBase64EncodingZstdCompression & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData> & SimulateTransactionApiResponseWithReplacementBlockhash>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithJsonParsedEncoding & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithJsonData> & SimulateTransactionApiResponseWithReplacementBlockhash>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config?: SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & WithInnerInstructionsConfig): SolanaRpcResponse<Readonly<{
readonly accounts: null;
}> & SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithInnerInstructions & SimulateTransactionApiResponseWithReplacementBlockhash>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config?: SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase): SolanaRpcResponse<Readonly<{
readonly accounts: null;
}> & SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithReplacementBlockhash>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state,
* obtain the list of inner instructions run, if any, and replace the transaction's blockhash
* with the most recent one.
*
* If the listed accounts have data, it will be returned in the response as a tuple whose first
* element is a base64-encoded string.
*
* The replacement blockhash and the blockheight until which it is valid will be returned in the
* response.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-base64--with-inner-instructions--with-replacement-blockhash}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithBase64Encoding & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & WithInnerInstructionsConfig & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedData> & SimulateTransactionApiResponseWithInnerInstructions & SimulateTransactionApiResponseWithReplacementBlockhash>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state, and
* replace the transaction's blockhash with the most recent one.
*
* If the listed accounts have data, it will be returned in the response as a tuple whose first
* element is a base64-encoded string.
*
* The replacement blockhash and the blockheight until which it is valid will be returned in the
* response.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-base64--no-inner-instructions--with-replacement-blockhash}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithBase64Encoding & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedData> & SimulateTransactionApiResponseWithReplacementBlockhash>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state,
* obtain the list of inner instructions run, if any, and replace the transaction's blockhash
* with the most recent one.
*
* If the listed accounts have data, it will first be compressed using
* [ZStandard](https://facebook.github.io/zstd/) and the result will be returned in the response
* as a tuple whose first element is a base64-encoded string.
*
* The replacement blockhash and the blockheight until which it is valid will be returned in the
* response.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-base64-zstd-compressed--with-inner-instructions--with-replacement-blockhash}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithBase64EncodingZstdCompression & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & WithInnerInstructionsConfig & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData> & SimulateTransactionApiResponseWithInnerInstructions & SimulateTransactionApiResponseWithReplacementBlockhash>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state, and
* replace the transaction's blockhash with the most recent one.
*
* If the listed accounts have data, it will first be compressed using
* [ZStandard](https://facebook.github.io/zstd/) and the result will be returned in the response
* as a tuple whose first element is a base64-encoded string.
*
* The replacement blockhash and the blockheight until which it is valid will be returned in the
* response.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-base64-zstd-compressed--no-inner-instructions--with-replacement-blockhash}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithBase64EncodingZstdCompression & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData> & SimulateTransactionApiResponseWithReplacementBlockhash>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state,
* obtain the list of inner instructions run, if any, and replace the transaction's blockhash
* with the most recent one.
*
* If the listed accounts have data, the server will attempt to process it using a parser
* specific to each account's owning program. If successful, the parsed data will be returned in
* the response as JSON. Otherwise, the raw account data will be returned in the response as a
* tuple whose first element is a base64-encoded string.
*
* The replacement blockhash and the blockheight until which it is valid will be returned in the
* response.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-parsed--with-inner-instructions--with-replacement-blockhash}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithJsonParsedEncoding & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & WithInnerInstructionsConfig & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithJsonData> & SimulateTransactionApiResponseWithInnerInstructions & SimulateTransactionApiResponseWithReplacementBlockhash>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state, and
* replace the transaction's blockhash with the most recent one.
*
* If the listed accounts have data, the server will attempt to process it using a parser
* specific to each account's owning program. If successful, the parsed data will be returned in
* the response as JSON. Otherwise, the raw account data will be returned in the response as a
* tuple whose first element is a base64-encoded string.
*
* The replacement blockhash and the blockheight until which it is valid will be returned in the
* response.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-parsed--no-inner-instructions--with-replacement-blockhash}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithJsonParsedEncoding & SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithJsonData> & SimulateTransactionApiResponseWithReplacementBlockhash>;
/**
* Simulate sending a transaction, obtain the list of inner instructions run, if any, and
* replace the transaction's blockhash with the most recent one.
*
* The replacement blockhash and the blockheight until which it is valid will be returned in the
* response.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label no-accounts--with-inner-instructions--with-replacement-blockhash}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & WithInnerInstructionsConfig & {
encoding: 'base64';
}): SolanaRpcResponse<Readonly<{
readonly accounts: null;
}> & SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithInnerInstructions & SimulateTransactionApiResponseWithReplacementBlockhash>;
/**
* Simulate sending a transaction, and replace the transaction's blockhash with the most recent
* one.
*
* The replacement blockhash and the blockheight until which it is valid will be returned in the
* response.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label no-accounts--no-inner-instructions--with-replacement-blockhash}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: SigVerifyAndReplaceRecentBlockhashConfig<true> & SimulateTransactionConfigBase & {
encoding: 'base64';
}): SolanaRpcResponse<Readonly<{
readonly accounts: null;
}> & SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithReplacementBlockhash>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithBase64Encoding & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & WithInnerInstructionsConfig): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedData> & SimulateTransactionApiResponseWithInnerInstructions>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithBase64Encoding & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedData>>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithBase64EncodingZstdCompression & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & WithInnerInstructionsConfig): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData> & SimulateTransactionApiResponseWithInnerInstructions>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithBase64EncodingZstdCompression & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData>>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithJsonParsedEncoding & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & WithInnerInstructionsConfig): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithJsonData> & SimulateTransactionApiResponseWithInnerInstructions>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config: AccountsConfigWithJsonParsedEncoding & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithJsonData>>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config?: SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & WithInnerInstructionsConfig): SolanaRpcResponse<Readonly<{
readonly accounts: null;
}> & SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithInnerInstructions>;
/** @deprecated Set `encoding` to `'base64'` when calling this method */
simulateTransaction(base58EncodedWireTransaction: Base58EncodedBytes, config?: SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase): SolanaRpcResponse<Readonly<{
readonly accounts: null;
}> & SimulateTransactionApiResponseBase>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state, and
* obtain the list of inner instructions run, if any.
*
* If the listed accounts have data, it will be returned in the response as a tuple whose first
* element is a base64-encoded string.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-base64--with-inner-instructions}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithBase64Encoding & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & WithInnerInstructionsConfig & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedData> & SimulateTransactionApiResponseWithInnerInstructions>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state.
*
* If the listed accounts have data, it will be returned in the response as a tuple whose first
* element is a base64-encoded string.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-base64--no-inner-instructions}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithBase64Encoding & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedData>>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state, and
* obtain the list of inner instructions run, if any.
*
* If the listed accounts have data, it will first be compressed using
* [ZStandard](https://facebook.github.io/zstd/) and the result will be returned in the response
* as a tuple whose first element is a base64-encoded string.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-base64-zstd-compressed--with-inner-instructions}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithBase64EncodingZstdCompression & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & WithInnerInstructionsConfig & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData> & SimulateTransactionApiResponseWithInnerInstructions>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state.
*
* If the listed accounts have data, it will first be compressed using
* [ZStandard](https://facebook.github.io/zstd/) and the result will be returned in the response
* as a tuple whose first element is a base64-encoded string.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-base64-zstd-compressed--no-inner-instructions}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithBase64EncodingZstdCompression & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData>>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state, and
* obtain the list of inner instructions run, if any.
*
* If the listed accounts have data, the server will attempt to process it using a parser
* specific to each account's owning program. If successful, the parsed data will be returned in
* the response as JSON. Otherwise, the raw account data will be returned in the response as a
* tuple whose first element is a base64-encoded string.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-parsed--with-inner-instructions}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithJsonParsedEncoding & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & WithInnerInstructionsConfig & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithJsonData> & SimulateTransactionApiResponseWithInnerInstructions>;
/**
* Simulate sending a transaction, fetch a list of accounts in their post-simulation state.
*
* If the listed accounts have data, the server will attempt to process it using a parser
* specific to each account's owning program. If successful, the parsed data will be returned in
* the response as JSON. Otherwise, the raw account data will be returned in the response as a
* tuple whose first element is a base64-encoded string.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label accounts-parsed--no-inner-instructions}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: AccountsConfigWithJsonParsedEncoding & SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & {
encoding: 'base64';
}): SolanaRpcResponse<SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithAccounts<AccountInfoBase & AccountInfoWithJsonData>>;
/**
* Simulate sending a transaction, and obtain the list of inner instructions run, if any.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label no-accounts--with-inner-instructions}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & WithInnerInstructionsConfig & {
encoding: 'base64';
}): SolanaRpcResponse<Readonly<{
readonly accounts: null;
}> & SimulateTransactionApiResponseBase & SimulateTransactionApiResponseWithInnerInstructions>;
/**
* Simulate sending a transaction.
*
* @param base64EncodedWireTransaction A fully signed transaction in wire format, as a base-64
* encoded string. Use {@link getBase64EncodedWireTransaction} to obtain this.
*
* {@label no-accounts--no-inner-instructions}
* @see https://solana.com/docs/rpc/http/simulatetransaction
*/
simulateTransaction(base64EncodedWireTransaction: Base64EncodedWireTransaction, config: SigVerifyAndReplaceRecentBlockhashConfig & SimulateTransactionConfigBase & {
encoding: 'base64';
}): SolanaRpcResponse<Readonly<{
readonly accounts: null;
}> & SimulateTransactionApiResponseBase>;
};
export {};
//# sourceMappingURL=simulateTransaction.d.ts.map