diff --git a/.changeset/five-phones-enjoy.md b/.changeset/five-phones-enjoy.md new file mode 100644 index 000000000..393904632 --- /dev/null +++ b/.changeset/five-phones-enjoy.md @@ -0,0 +1,5 @@ +--- +"@solana/rpc-api": patch +--- + +Expanded the type of several RPC inputs to accept readonly arrays of values diff --git a/packages/rpc-api/src/getBlockCommitment.ts b/packages/rpc-api/src/getBlockCommitment.ts index 61c51aa7f..e636f0f19 100644 --- a/packages/rpc-api/src/getBlockCommitment.ts +++ b/packages/rpc-api/src/getBlockCommitment.ts @@ -5,7 +5,7 @@ type GetBlockCommitmentApiResponse = Readonly<{ * An array that represents the amount of cluster stake, denominated in {@link Lamports}, that * has voted on the block at each depth from `0` to `MAX_LOCKOUT_HISTORY`. */ - commitment: Lamports[] | null; + commitment: readonly Lamports[] | null; /** The total active stake, in {@link Lamports}, of the current epoch. */ totalStake: Lamports; }>; diff --git a/packages/rpc-api/src/getInflationReward.ts b/packages/rpc-api/src/getInflationReward.ts index 56b45ec2f..ed4ed6fd2 100644 --- a/packages/rpc-api/src/getInflationReward.ts +++ b/packages/rpc-api/src/getInflationReward.ts @@ -46,5 +46,8 @@ export type GetInflationRewardApi = { * * @see https://solana.com/docs/rpc/http/getinflationreward */ - getInflationReward(addresses: Address[], config?: GetInflationRewardApiConfig): GetInflationRewardApiResponse; + getInflationReward( + addresses: readonly Address[], + config?: GetInflationRewardApiConfig, + ): GetInflationRewardApiResponse; }; diff --git a/packages/rpc-api/src/getMultipleAccounts.ts b/packages/rpc-api/src/getMultipleAccounts.ts index 94c0991f8..357b00e36 100644 --- a/packages/rpc-api/src/getMultipleAccounts.ts +++ b/packages/rpc-api/src/getMultipleAccounts.ts @@ -69,7 +69,7 @@ export type GetMultipleAccountsApi = { * @see https://solana.com/docs/rpc/http/getmultipleaccounts */ getMultipleAccounts( - addresses: Address[], + addresses: readonly Address[], config: GetMultipleAccountsApiCommonConfig & GetMultipleAccountsApiSliceableCommonConfig & Readonly<{ @@ -89,7 +89,7 @@ export type GetMultipleAccountsApi = { * @see https://solana.com/docs/rpc/http/getmultipleaccounts */ getMultipleAccounts( - addresses: Address[], + addresses: readonly Address[], config: GetMultipleAccountsApiCommonConfig & GetMultipleAccountsApiSliceableCommonConfig & Readonly<{ @@ -112,7 +112,7 @@ export type GetMultipleAccountsApi = { * @see https://solana.com/docs/rpc/http/getmultipleaccounts */ getMultipleAccounts( - addresses: Address[], + addresses: readonly Address[], config: GetMultipleAccountsApiCommonConfig & Readonly<{ encoding: 'jsonParsed'; @@ -131,7 +131,7 @@ export type GetMultipleAccountsApi = { * @see https://solana.com/docs/rpc/http/getmultipleaccounts */ getMultipleAccounts( - addresses: Address[], + addresses: readonly Address[], config: GetMultipleAccountsApiCommonConfig & GetMultipleAccountsApiSliceableCommonConfig & Readonly<{ @@ -150,7 +150,7 @@ export type GetMultipleAccountsApi = { * @see https://solana.com/docs/rpc/http/getmultipleaccounts */ getMultipleAccounts( - addresses: Address[], + addresses: readonly Address[], config?: GetMultipleAccountsApiCommonConfig, ): SolanaRpcResponse<(GetMultipleAccountsApiResponseBase & (AccountInfoWithBase64EncodedData | null))[]>; }; diff --git a/packages/rpc-api/src/getProgramAccounts.ts b/packages/rpc-api/src/getProgramAccounts.ts index 47a8fd3ee..583a514a7 100644 --- a/packages/rpc-api/src/getProgramAccounts.ts +++ b/packages/rpc-api/src/getProgramAccounts.ts @@ -51,7 +51,7 @@ type GetProgramAccountsApiCommonConfig = Readonly<{ * * @defaultValue When omitted, no filters are applied. */ - filters?: (GetProgramAccountsDatasizeFilter | GetProgramAccountsMemcmpFilter)[]; + filters?: readonly (GetProgramAccountsDatasizeFilter | GetProgramAccountsMemcmpFilter)[]; /** * Prevents accessing stale data by enforcing that the RPC node has processed transactions up to * this slot diff --git a/packages/rpc-api/src/getRecentPrioritizationFees.ts b/packages/rpc-api/src/getRecentPrioritizationFees.ts index 56bf1fcfb..69dc21b1e 100644 --- a/packages/rpc-api/src/getRecentPrioritizationFees.ts +++ b/packages/rpc-api/src/getRecentPrioritizationFees.ts @@ -24,5 +24,5 @@ export type GetRecentPrioritizationFeesApi = { * * @see https://solana.com/docs/rpc/http/getrecentprioritizationfees */ - getRecentPrioritizationFees(addresses?: Address[]): GetRecentPrioritizationFeesApiResponse; + getRecentPrioritizationFees(addresses?: readonly Address[]): GetRecentPrioritizationFeesApiResponse; }; diff --git a/packages/rpc-api/src/getSignatureStatuses.ts b/packages/rpc-api/src/getSignatureStatuses.ts index 802641076..adf75511c 100644 --- a/packages/rpc-api/src/getSignatureStatuses.ts +++ b/packages/rpc-api/src/getSignatureStatuses.ts @@ -46,7 +46,7 @@ export type GetSignatureStatusesApi = { * An array of transaction signatures to confirm, as base-58 encoded strings (up to a * maximum of 256) */ - signatures: Signature[], + signatures: readonly Signature[], config?: Readonly<{ /** * Determines whether the search for a transaction with a given signature will consider diff --git a/packages/rpc-api/src/simulateTransaction.ts b/packages/rpc-api/src/simulateTransaction.ts index 439a6a5e2..9ebf591cd 100644 --- a/packages/rpc-api/src/simulateTransaction.ts +++ b/packages/rpc-api/src/simulateTransaction.ts @@ -64,7 +64,7 @@ type SigVerifyAndReplaceRecentBlockhashConfig