@solana/rpc-api 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.browser.cjs +1 -0
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.mjs +1 -0
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.native.mjs +1 -0
- package/dist/index.native.mjs.map +1 -1
- package/dist/index.node.cjs +1 -0
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +1 -0
- package/dist/index.node.mjs.map +1 -1
- package/dist/types/simulateTransaction.d.ts +2 -0
- package/dist/types/simulateTransaction.d.ts.map +1 -1
- package/package.json +13 -13
package/dist/index.browser.cjs
CHANGED
|
@@ -102,6 +102,7 @@ function getAllowedNumericKeypaths() {
|
|
|
102
102
|
["delinquent", rpcTransformers.KEYPATH_WILDCARD, "commission"]
|
|
103
103
|
],
|
|
104
104
|
simulateTransaction: [
|
|
105
|
+
["value", "loadedAccountsDataSize"],
|
|
105
106
|
...rpcTransformers.jsonParsedAccountsConfigs.map((c) => ["value", "accounts", rpcTransformers.KEYPATH_WILDCARD, ...c]),
|
|
106
107
|
...rpcTransformers.innerInstructionsConfigs.map((c) => ["value", "innerInstructions", rpcTransformers.KEYPATH_WILDCARD, ...c])
|
|
107
108
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["createJsonRpcApi","getDefaultRequestTransformerForSolanaRpc","getDefaultResponseTransformerForSolanaRpc","jsonParsedAccountsConfigs","KEYPATH_WILDCARD","innerInstructionsConfigs","messageConfig","jsonParsedTokenAccountsConfigs"],"mappings":"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","file":"index.browser.cjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["createJsonRpcApi","getDefaultRequestTransformerForSolanaRpc","getDefaultResponseTransformerForSolanaRpc","jsonParsedAccountsConfigs","KEYPATH_WILDCARD","innerInstructionsConfigs","messageConfig","jsonParsedTokenAccountsConfigs"],"mappings":"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","file":"index.browser.cjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ['value', 'loadedAccountsDataSize'],\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
package/dist/index.browser.mjs
CHANGED
|
@@ -100,6 +100,7 @@ function getAllowedNumericKeypaths() {
|
|
|
100
100
|
["delinquent", KEYPATH_WILDCARD, "commission"]
|
|
101
101
|
],
|
|
102
102
|
simulateTransaction: [
|
|
103
|
+
["value", "loadedAccountsDataSize"],
|
|
103
104
|
...jsonParsedAccountsConfigs.map((c) => ["value", "accounts", KEYPATH_WILDCARD, ...c]),
|
|
104
105
|
...innerInstructionsConfigs.map((c) => ["value", "innerInstructions", KEYPATH_WILDCARD, ...c])
|
|
105
106
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.browser.mjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.browser.mjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ['value', 'loadedAccountsDataSize'],\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
package/dist/index.native.mjs
CHANGED
|
@@ -100,6 +100,7 @@ function getAllowedNumericKeypaths() {
|
|
|
100
100
|
["delinquent", KEYPATH_WILDCARD, "commission"]
|
|
101
101
|
],
|
|
102
102
|
simulateTransaction: [
|
|
103
|
+
["value", "loadedAccountsDataSize"],
|
|
103
104
|
...jsonParsedAccountsConfigs.map((c) => ["value", "accounts", KEYPATH_WILDCARD, ...c]),
|
|
104
105
|
...innerInstructionsConfigs.map((c) => ["value", "innerInstructions", KEYPATH_WILDCARD, ...c])
|
|
105
106
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.native.mjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.native.mjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ['value', 'loadedAccountsDataSize'],\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
package/dist/index.node.cjs
CHANGED
|
@@ -102,6 +102,7 @@ function getAllowedNumericKeypaths() {
|
|
|
102
102
|
["delinquent", rpcTransformers.KEYPATH_WILDCARD, "commission"]
|
|
103
103
|
],
|
|
104
104
|
simulateTransaction: [
|
|
105
|
+
["value", "loadedAccountsDataSize"],
|
|
105
106
|
...rpcTransformers.jsonParsedAccountsConfigs.map((c) => ["value", "accounts", rpcTransformers.KEYPATH_WILDCARD, ...c]),
|
|
106
107
|
...rpcTransformers.innerInstructionsConfigs.map((c) => ["value", "innerInstructions", rpcTransformers.KEYPATH_WILDCARD, ...c])
|
|
107
108
|
]
|
package/dist/index.node.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["createJsonRpcApi","getDefaultRequestTransformerForSolanaRpc","getDefaultResponseTransformerForSolanaRpc","jsonParsedAccountsConfigs","KEYPATH_WILDCARD","innerInstructionsConfigs","messageConfig","jsonParsedTokenAccountsConfigs"],"mappings":"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","file":"index.node.cjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["createJsonRpcApi","getDefaultRequestTransformerForSolanaRpc","getDefaultResponseTransformerForSolanaRpc","jsonParsedAccountsConfigs","KEYPATH_WILDCARD","innerInstructionsConfigs","messageConfig","jsonParsedTokenAccountsConfigs"],"mappings":"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","file":"index.node.cjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ['value', 'loadedAccountsDataSize'],\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
package/dist/index.node.mjs
CHANGED
|
@@ -100,6 +100,7 @@ function getAllowedNumericKeypaths() {
|
|
|
100
100
|
["delinquent", KEYPATH_WILDCARD, "commission"]
|
|
101
101
|
],
|
|
102
102
|
simulateTransaction: [
|
|
103
|
+
["value", "loadedAccountsDataSize"],
|
|
103
104
|
...jsonParsedAccountsConfigs.map((c) => ["value", "accounts", KEYPATH_WILDCARD, ...c]),
|
|
104
105
|
...innerInstructionsConfigs.map((c) => ["value", "innerInstructions", KEYPATH_WILDCARD, ...c])
|
|
105
106
|
]
|
package/dist/index.node.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.node.mjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;AA8OO,SAAS,mBAGd,MAAsC,EAAA;AACpC,EAAA,OAAO,gBAA8B,CAAA;AAAA,IACjC,kBAAA,EAAoB,yCAAyC,MAAM,CAAA;AAAA,IACnE,qBAAqB,yCAA0C,CAAA;AAAA,MAC3D,wBAAwB,yBAA0B;AAAA,KACrD;AAAA,GACJ,CAAA;AACL;AAEA,IAAI,gBAAA;AAMJ,SAAS,yBAA0E,GAAA;AAC/E,EAAA,IAAI,CAAC,gBAAkB,EAAA;AACnB,IAAmB,gBAAA,GAAA;AAAA,MACf,cAAA,EAAgB,0BAA0B,GAAI,CAAA,CAAA,CAAA,KAAK,CAAC,OAAS,EAAA,GAAG,CAAC,CAAC,CAAA;AAAA,MAClE,QAAU,EAAA;AAAA,QACN,CAAC,cAAgB,EAAA,gBAAA,EAAkB,MAAQ,EAAA,kBAAA,EAAoB,kBAAkB,cAAc,CAAA;AAAA,QAC/F;AAAA,UACI,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,kBAAA;AAAA,UACA,gBAAA;AAAA,UACA,eAAA;AAAA,UACA;AAAA,SACJ;AAAA,QACA,CAAC,cAAgB,EAAA,gBAAA,EAAkB,MAAQ,EAAA,mBAAA,EAAqB,kBAAkB,cAAc,CAAA;AAAA,QAChG;AAAA,UACI,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,mBAAA;AAAA,UACA,gBAAA;AAAA,UACA,eAAA;AAAA,UACA;AAAA,SACJ;AAAA,QACA,CAAC,cAAgB,EAAA,gBAAA,EAAkB,MAAQ,EAAA,SAAA,EAAW,kBAAkB,YAAY,CAAA;AAAA,QACpF,GAAG,wBAAyB,CAAA,GAAA,CAAI,CAAK,CAAA,KAAA;AAAA,UACjC,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,mBAAA;AAAA,UACA,gBAAA;AAAA,UACA,GAAG;AAAA,SACN,CAAA;AAAA,QACD,GAAG,aAAc,CAAA,GAAA,CAAI,CAAK,CAAA,KAAA,CAAC,cAAgB,EAAA,gBAAA,EAAkB,aAAe,EAAA,SAAA,EAAW,GAAG,CAAC,CAAU,CAAA;AAAA,QACrG,CAAC,SAAW,EAAA,gBAAA,EAAkB,YAAY;AAAA,OAC9C;AAAA,MACA,eAAiB,EAAA;AAAA,QACb,CAAC,kBAAkB,YAAY,CAAA;AAAA,QAC/B,CAAC,kBAAkB,cAAc;AAAA,OACrC;AAAA,MACA,sBAAsB,CAAC,CAAC,SAAS,CAAA,EAAG,CAAC,YAAY,CAAA,EAAG,CAAC,gBAAgB,GAAG,CAAC,OAAO,CAAG,EAAA,CAAC,UAAU,CAAC,CAAA;AAAA,MAC/F,gBAAA,EAAkB,CAAC,CAAC,YAAY,CAAA,EAAG,CAAC,OAAO,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAAA,MAC3D,kBAAoB,EAAA,CAAC,CAAC,gBAAA,EAAkB,YAAY,CAAC,CAAA;AAAA,MACrD,mBAAA,EAAqB,0BAA0B,GAAI,CAAA,CAAA,CAAA,KAAK,CAAC,OAAS,EAAA,gBAAA,EAAkB,GAAG,CAAC,CAAC,CAAA;AAAA,MACzF,kBAAA,EAAoB,yBAA0B,CAAA,OAAA,CAAQ,CAAK,CAAA,KAAA;AAAA,QACvD,CAAC,OAAA,EAAS,gBAAkB,EAAA,SAAA,EAAW,GAAG,CAAC,CAAA;AAAA,QAC3C,CAAC,gBAAA,EAAkB,SAAW,EAAA,GAAG,CAAC;AAAA,OACrC,CAAA;AAAA,MACD,2BAA6B,EAAA,CAAC,CAAC,gBAAA,EAAkB,kBAAkB,CAAC,CAAA;AAAA,MACpE,sBAAwB,EAAA;AAAA,QACpB,CAAC,SAAS,UAAU,CAAA;AAAA,QACpB,CAAC,SAAS,UAAU;AAAA,OACxB;AAAA,MACA,0BAAA,EAA4B,8BAA+B,CAAA,GAAA,CAAI,CAAK,CAAA,KAAA;AAAA,QAChE,OAAA;AAAA,QACA,gBAAA;AAAA,QACA,SAAA;AAAA,QACA,GAAG;AAAA,OACN,CAAA;AAAA,MACD,uBAAA,EAAyB,8BAA+B,CAAA,GAAA,CAAI,CAAK,CAAA,KAAA;AAAA,QAC7D,OAAA;AAAA,QACA,gBAAA;AAAA,QACA,SAAA;AAAA,QACA,GAAG;AAAA,OACN,CAAA;AAAA,MACD,uBAAyB,EAAA;AAAA,QACrB,CAAC,OAAS,EAAA,gBAAA,EAAkB,UAAU,CAAA;AAAA,QACtC,CAAC,OAAS,EAAA,gBAAA,EAAkB,UAAU;AAAA,OAC1C;AAAA,MACA,cAAgB,EAAA;AAAA,QACZ,CAAC,SAAS,UAAU,CAAA;AAAA,QACpB,CAAC,SAAS,UAAU;AAAA,OACxB;AAAA,MACA,cAAgB,EAAA;AAAA,QACZ,CAAC,MAAA,EAAQ,kBAAoB,EAAA,gBAAA,EAAkB,cAAc,CAAA;AAAA,QAC7D,CAAC,MAAA,EAAQ,kBAAoB,EAAA,gBAAA,EAAkB,iBAAiB,UAAU,CAAA;AAAA,QAC1E,CAAC,MAAA,EAAQ,mBAAqB,EAAA,gBAAA,EAAkB,cAAc,CAAA;AAAA,QAC9D,CAAC,MAAA,EAAQ,mBAAqB,EAAA,gBAAA,EAAkB,iBAAiB,UAAU,CAAA;AAAA,QAC3E,CAAC,MAAA,EAAQ,SAAW,EAAA,gBAAA,EAAkB,YAAY,CAAA;AAAA,QAClD,GAAG,wBAAyB,CAAA,GAAA,CAAI,CAAK,CAAA,KAAA,CAAC,QAAQ,mBAAqB,EAAA,gBAAA,EAAkB,GAAG,CAAC,CAAC,CAAA;AAAA,QAC1F,GAAG,cAAc,GAAI,CAAA,CAAA,CAAA,KAAK,CAAC,aAAe,EAAA,SAAA,EAAW,GAAG,CAAC,CAAU;AAAA,OACvE;AAAA,MACA,UAAY,EAAA,CAAC,CAAC,aAAa,CAAC,CAAA;AAAA,MAC5B,eAAiB,EAAA;AAAA,QACb,CAAC,SAAW,EAAA,gBAAA,EAAkB,YAAY,CAAA;AAAA,QAC1C,CAAC,YAAc,EAAA,gBAAA,EAAkB,YAAY;AAAA,OACjD;AAAA,MACA,mBAAqB,EAAA;AAAA,QACjB,CAAC,SAAS,wBAAwB,CAAA;AAAA,QAClC,GAAG,yBAA0B,CAAA,GAAA,CAAI,CAAK,CAAA,KAAA,CAAC,SAAS,UAAY,EAAA,gBAAA,EAAkB,GAAG,CAAC,CAAC,CAAA;AAAA,QACnF,GAAG,wBAAyB,CAAA,GAAA,CAAI,CAAK,CAAA,KAAA,CAAC,SAAS,mBAAqB,EAAA,gBAAA,EAAkB,GAAG,CAAC,CAAC;AAAA;AAC/F,KACJ;AAAA;AAEJ,EAAO,OAAA,gBAAA;AACX","file":"index.node.mjs","sourcesContent":["/**\n * This package contains types that describe the [methods](https://solana.com/docs/rpc/http) of the\n * Solana JSON RPC API, and utilities for creating a {@link RpcApi} implementation with sensible\n * defaults. It can be used standalone, but it is also exported as part of Kit\n * [`@solana/kit`](https://github.com/anza-xyz/kit/tree/main/packages/kit).\n *\n * @example\n * Each RPC method is described in terms of a TypeScript type of the following form:\n *\n * ```ts\n * type ExampleApi = {\n * getSomething(address: Address): Something;\n * };\n * ```\n *\n * A {@link RpcApi} that implements `ExampleApi` will ultimately expose its defined methods on any\n * {@link Rpc} that uses it.\n *\n * ```ts\n * const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... *\\/);\n * const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();\n * ```\n *\n * @packageDocumentation\n */\nimport { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\n/**\n * Represents the RPC methods available on test clusters.\n *\n * For instance, the test clusters support the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the devnet cluster.\n *\n * For instance, the devnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the testnet cluster.\n *\n * For instance, the testnet cluster supports the {@link RequestAirdropApi} while mainnet does not.\n */\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\n/**\n * Represents the RPC methods available on the mainnet cluster.\n *\n * For instance, the mainnet cluster does not support the {@link RequestAirdropApi} whereas test\n * clusters do.\n */\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\n/**\n * Creates a {@link RpcApi} implementation of the Solana JSON RPC API with some default behaviours.\n *\n * The default behaviours include:\n * - A transform that converts `bigint` inputs to `number` for compatibility with version 1.0 of the\n * Solana JSON RPC.\n * - A transform that calls the config's {@link Config.onIntegerOverflow | onIntegerOverflow}\n * handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See\n * [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more\n * information.\n * - A transform that applies a default commitment wherever not specified\n */\nexport function createSolanaRpcApi<\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ['value', 'loadedAccountsDataSize'],\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
@@ -69,6 +69,8 @@ type WithInnerInstructionsConfig = Readonly<{
|
|
|
69
69
|
type SimulateTransactionApiResponseBase = Readonly<{
|
|
70
70
|
/** If the transaction failed, this property will contain the error */
|
|
71
71
|
err: TransactionError | null;
|
|
72
|
+
/** The number of bytes of all accounts loaded by this transaction */
|
|
73
|
+
loadedAccountsDataSize?: number;
|
|
72
74
|
/**
|
|
73
75
|
* Array of log messages the transaction instructions output during execution, `null` if
|
|
74
76
|
* simulation failed before the transaction was able to execute (for example due to an invalid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulateTransaction.d.ts","sourceRoot":"","sources":["../../src/simulateTransaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simulateTransaction.d.ts","sourceRoot":"","sources":["../../src/simulateTransaction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana/rpc-api",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"description": "Defines all default Solana RPC methods as types",
|
|
5
5
|
"exports": {
|
|
6
6
|
"edge-light": {
|
|
@@ -54,17 +54,17 @@
|
|
|
54
54
|
"maintained node versions"
|
|
55
55
|
],
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@solana/addresses": "3.0.
|
|
58
|
-
"@solana/codecs-core": "3.0.
|
|
59
|
-
"@solana/codecs-strings": "3.0.
|
|
60
|
-
"@solana/errors": "3.0.
|
|
61
|
-
"@solana/keys": "3.0.
|
|
62
|
-
"@solana/rpc-parsed-types": "3.0.
|
|
63
|
-
"@solana/rpc-spec": "3.0.
|
|
64
|
-
"@solana/rpc-transformers": "3.0.
|
|
65
|
-
"@solana/
|
|
66
|
-
"@solana/transactions": "3.0.
|
|
67
|
-
"@solana/
|
|
57
|
+
"@solana/addresses": "3.0.2",
|
|
58
|
+
"@solana/codecs-core": "3.0.2",
|
|
59
|
+
"@solana/codecs-strings": "3.0.2",
|
|
60
|
+
"@solana/errors": "3.0.2",
|
|
61
|
+
"@solana/keys": "3.0.2",
|
|
62
|
+
"@solana/rpc-parsed-types": "3.0.2",
|
|
63
|
+
"@solana/rpc-spec": "3.0.2",
|
|
64
|
+
"@solana/rpc-transformers": "3.0.2",
|
|
65
|
+
"@solana/transaction-messages": "3.0.2",
|
|
66
|
+
"@solana/transactions": "3.0.2",
|
|
67
|
+
"@solana/rpc-types": "3.0.2"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"typescript": ">=5.3.3"
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"compile:js": "tsup --config build-scripts/tsup.config.package.ts",
|
|
78
78
|
"compile:typedefs": "tsc -p ./tsconfig.declarations.json",
|
|
79
79
|
"dev": "jest -c ../../node_modules/@solana/test-config/jest-dev.config.ts --globalSetup @solana/test-config/test-validator-setup.js --globalTeardown @solana/test-config/test-validator-teardown.js --rootDir . --watch",
|
|
80
|
-
"publish-impl": "npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || (pnpm publish --tag ${PUBLISH_TAG:-canary} --access public --no-git-checks && (([ \"$PUBLISH_TAG\" != \"canary\" ] &&
|
|
80
|
+
"publish-impl": "npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || (pnpm publish --tag ${PUBLISH_TAG:-canary} --access public --no-git-checks && (([ -n \"${GITHUB_OUTPUT:-}\" ] && echo 'published=true' >> \"$GITHUB_OUTPUT\") || true) && (([ \"$PUBLISH_TAG\" != \"canary\" ] && ../build-scripts/maybe-tag-latest.ts $npm_package_name@$npm_package_version) || true))",
|
|
81
81
|
"publish-packages": "pnpm prepublishOnly && pnpm publish-impl",
|
|
82
82
|
"style:fix": "pnpm eslint --fix src && pnpm prettier --log-level warn --ignore-unknown --write ./*",
|
|
83
83
|
"test:lint": "TERM_OVERRIDE=\"${TURBO_HASH:+dumb}\" TERM=${TERM_OVERRIDE:-$TERM} jest -c ../../node_modules/@solana/test-config/jest-lint.config.ts --rootDir . --silent",
|