@circle-fin/usdckit 0.21.1 → 0.22.0
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/cjs/actions/generateTransferLink.d.ts +3 -3
- package/dist/cjs/actions/generateTransferLink.js +3 -0
- package/dist/cjs/actions/generateTransferLink.test.js +17 -0
- package/dist/cjs/actions/getSwapExactInQuote.d.ts +3 -3
- package/dist/cjs/actions/getTokenBalance.d.ts +30 -0
- package/dist/cjs/actions/getTokenBalance.js +51 -0
- package/dist/cjs/actions/getTokenBalance.test.js +165 -0
- package/dist/cjs/actions/index.d.ts +9 -1
- package/dist/cjs/actions/index.js +12 -9
- package/dist/cjs/actions/index.test.js +2 -0
- package/dist/cjs/actions/swapExactIn.d.ts +3 -3
- package/dist/cjs/actions/sweep.d.ts +3 -2
- package/dist/cjs/actions/sweep.js +5 -5
- package/dist/cjs/actions/sweep.test.js +13 -10
- package/dist/cjs/actions/transfer.d.ts +2 -2
- package/dist/cjs/actions/transfer.js +58 -30
- package/dist/cjs/actions/transfer.test.js +334 -135
- package/dist/cjs/chains.d.ts +2 -0
- package/dist/cjs/chains.js +12 -0
- package/dist/cjs/client.d.ts +35 -0
- package/dist/cjs/client.js +12 -0
- package/dist/cjs/extractChain.d.ts +109 -109
- package/dist/cjs/index.d.ts +4 -1
- package/dist/cjs/index.js +56 -10
- package/dist/cjs/index.test.js +1 -0
- package/dist/cjs/metadata.js +1 -1
- package/dist/cjs/onResponse.d.ts +1 -1
- package/dist/cjs/onResponse.js +3 -0
- package/dist/cjs/providers/circle-wallets/actions/createAccount.d.ts +2 -1
- package/dist/cjs/providers/circle-wallets/actions/createContractExecutionTransaction.d.ts +9 -1
- package/dist/cjs/providers/circle-wallets/actions/createContractExecutionTransaction.js +8 -0
- package/dist/cjs/providers/circle-wallets/actions/createTransaction.d.ts +4 -1
- package/dist/cjs/providers/circle-wallets/actions/createTransaction.js +3 -0
- package/dist/cjs/providers/circle-wallets/actions/createWalletSet.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/createWallets.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/deriveWallet.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/drip.d.ts +2 -1
- package/dist/cjs/providers/circle-wallets/actions/estimateContractExecutionFee.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.d.ts +2 -1
- package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.js +2 -3
- package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.test.js +1 -20
- package/dist/cjs/providers/circle-wallets/actions/getAccounts.d.ts +2 -1
- package/dist/cjs/providers/circle-wallets/actions/getNotificationSignature.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/getTokenBalances.d.ts +4 -15
- package/dist/cjs/providers/circle-wallets/actions/getTransactionById.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/getWallet.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/getWalletTokenBalance.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/getWalletsWithBalances.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/importContract.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/index.d.ts +0 -8
- package/dist/cjs/providers/circle-wallets/actions/index.js +0 -8
- package/dist/cjs/providers/circle-wallets/actions/index.test.js +0 -4
- package/dist/cjs/providers/circle-wallets/actions/listTransactions.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/listWallets.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/requestTestnetTokens.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/signTransaction.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/verifyNotification.d.ts +1 -1
- package/dist/cjs/providers/circle-wallets/actions/writeContract.d.ts +2 -1
- package/dist/cjs/providers/circle-wallets/actions/writeContract.js +2 -5
- package/dist/cjs/providers/circle-wallets/actions/writeContract.test.js +9 -18
- package/dist/cjs/providers/circle-wallets/index.d.ts +4481 -0
- package/dist/cjs/providers/circle-wallets/index.js +40 -3
- package/dist/cjs/providers/circle-wallets/index.test.js +52 -3
- package/dist/cjs/providers/circle-wallets/transports/http.d.ts +19 -1
- package/dist/cjs/providers/circle-wallets/transports/http.js +2 -2
- package/dist/cjs/providers/circle-wallets/transports/http.test.js +24 -4
- package/dist/cjs/providers/circle-wallets/transports/index.d.ts +102 -22
- package/dist/cjs/providers/circle-wallets/transports/index.js +255 -1
- package/dist/cjs/providers/circle-wallets/transports/index.test.js +1623 -183
- package/dist/cjs/providers/circle-wallets/utils/index.d.ts +1 -0
- package/dist/cjs/providers/circle-wallets/utils/index.js +27 -0
- package/dist/cjs/providers/circle-wallets/utils/toSolanaSigner.d.ts +4 -0
- package/dist/cjs/providers/circle-wallets/utils/toSolanaSigner.js +33 -0
- package/dist/cjs/providers/circle-wallets/utils/toSolanaSigner.test.js +129 -0
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.d.ts +3 -3
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.js +5 -8
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/bridge.d.ts +3 -3
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/bridge.js +0 -3
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.d.ts +3 -3
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.js +5 -9
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/index.js +6 -7
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/listMessages.d.ts +3 -3
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.d.ts +3 -3
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.js +5 -9
- package/dist/cjs/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.d.ts +3 -2
- package/dist/cjs/providers/cross-chain-transfer-protocol/transports/http.d.ts +0 -1
- package/dist/cjs/providers/cross-chain-transfer-protocol/transports/index.d.ts +1 -1
- package/dist/cjs/providers/cross-chain-transfer-protocol/transports/index.test.js +2 -2
- package/dist/cjs/providers/solana/actions/getAccountInfo.d.ts +23 -0
- package/dist/cjs/providers/{circle-wallets/actions/signTypedData.js → solana/actions/getAccountInfo.js} +7 -5
- package/dist/cjs/providers/solana/actions/getAccountInfo.test.js +39 -0
- package/dist/cjs/providers/solana/actions/getBalance.d.ts +15 -0
- package/dist/cjs/providers/solana/actions/getBalance.js +23 -0
- package/dist/cjs/providers/solana/actions/getBalance.test.js +35 -0
- package/dist/cjs/providers/solana/actions/getBlock.d.ts +60 -0
- package/dist/{esm/providers/circle-wallets/actions/signTypedData.js → cjs/providers/solana/actions/getBlock.js} +9 -4
- package/dist/cjs/providers/solana/actions/getBlock.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getBlock.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getBlockCommitment.d.ts +13 -0
- package/dist/cjs/providers/solana/actions/getBlockCommitment.js +23 -0
- package/dist/cjs/providers/solana/actions/getBlockCommitment.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getBlockCommitment.test.js +36 -0
- package/dist/cjs/providers/solana/actions/getBlockHeight.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getBlockHeight.js +23 -0
- package/dist/cjs/providers/solana/actions/getBlockHeight.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getBlockHeight.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getBlockProduction.d.ts +23 -0
- package/dist/cjs/providers/solana/actions/getBlockProduction.js +23 -0
- package/dist/cjs/providers/solana/actions/getBlockProduction.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getBlockProduction.test.js +40 -0
- package/dist/cjs/providers/solana/actions/getBlockTime.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getBlockTime.js +23 -0
- package/dist/cjs/providers/solana/actions/getBlockTime.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getBlockTime.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getBlocks.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getBlocks.js +23 -0
- package/dist/cjs/providers/solana/actions/getBlocks.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getBlocks.test.js +35 -0
- package/dist/cjs/providers/solana/actions/getBlocksWithLimit.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getBlocksWithLimit.js +23 -0
- package/dist/cjs/providers/solana/actions/getBlocksWithLimit.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getBlocksWithLimit.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getClusterName.d.ts +8 -0
- package/dist/cjs/providers/solana/actions/getClusterName.js +25 -0
- package/dist/cjs/providers/solana/actions/getClusterName.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getClusterName.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getClusterNodes.d.ts +25 -0
- package/dist/cjs/providers/solana/actions/getClusterNodes.js +23 -0
- package/dist/cjs/providers/solana/actions/getClusterNodes.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getClusterNodes.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getEpochInfo.d.ts +17 -0
- package/dist/cjs/providers/solana/actions/getEpochInfo.js +23 -0
- package/dist/cjs/providers/solana/actions/getEpochInfo.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getEpochInfo.test.js +39 -0
- package/dist/cjs/providers/solana/actions/getEpochSchedule.d.ts +16 -0
- package/dist/cjs/providers/solana/actions/getEpochSchedule.js +23 -0
- package/dist/cjs/providers/solana/actions/getEpochSchedule.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getEpochSchedule.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getFeeForMessage.d.ts +15 -0
- package/dist/cjs/providers/solana/actions/getFeeForMessage.js +23 -0
- package/dist/cjs/providers/solana/actions/getFeeForMessage.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getFeeForMessage.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getFirstAvailableBlock.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getFirstAvailableBlock.js +23 -0
- package/dist/cjs/providers/solana/actions/getFirstAvailableBlock.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getFirstAvailableBlock.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getGenesisHash.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getGenesisHash.js +23 -0
- package/dist/cjs/providers/solana/actions/getGenesisHash.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getGenesisHash.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getHealth.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getHealth.js +23 -0
- package/dist/cjs/providers/solana/actions/getHealth.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getHealth.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getHighestSnapshotSlot.d.ts +13 -0
- package/dist/cjs/providers/solana/actions/getHighestSnapshotSlot.js +23 -0
- package/dist/cjs/providers/solana/actions/getHighestSnapshotSlot.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getHighestSnapshotSlot.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getIdentity.d.ts +12 -0
- package/dist/cjs/providers/solana/actions/getIdentity.js +23 -0
- package/dist/cjs/providers/solana/actions/getIdentity.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getIdentity.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getInflationGovernor.d.ts +16 -0
- package/dist/cjs/providers/solana/actions/getInflationGovernor.js +23 -0
- package/dist/cjs/providers/solana/actions/getInflationGovernor.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getInflationGovernor.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getInflationRate.d.ts +15 -0
- package/dist/cjs/providers/solana/actions/getInflationRate.js +23 -0
- package/dist/cjs/providers/solana/actions/getInflationRate.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getInflationRate.test.js +39 -0
- package/dist/cjs/providers/solana/actions/getInflationReward.d.ts +16 -0
- package/dist/cjs/providers/solana/actions/getInflationReward.js +23 -0
- package/dist/cjs/providers/solana/actions/getInflationReward.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getInflationReward.test.js +35 -0
- package/dist/cjs/providers/solana/actions/getLargestAccounts.d.ts +18 -0
- package/dist/cjs/providers/solana/actions/getLargestAccounts.js +23 -0
- package/dist/cjs/providers/solana/actions/getLargestAccounts.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getLargestAccounts.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getLatestBlockhash.d.ts +18 -0
- package/dist/cjs/providers/solana/actions/getLatestBlockhash.js +23 -0
- package/dist/cjs/providers/solana/actions/getLatestBlockhash.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getLatestBlockhash.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getLeaderSchedule.d.ts +12 -0
- package/dist/cjs/providers/solana/actions/getLeaderSchedule.js +23 -0
- package/dist/cjs/providers/solana/actions/getLeaderSchedule.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getLeaderSchedule.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getMaxRetransmitSlot.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getMaxRetransmitSlot.js +23 -0
- package/dist/cjs/providers/solana/actions/getMaxRetransmitSlot.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getMaxRetransmitSlot.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getMaxShredInsertSlot.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getMaxShredInsertSlot.js +23 -0
- package/dist/cjs/providers/solana/actions/getMaxShredInsertSlot.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getMaxShredInsertSlot.test.js +32 -0
- package/dist/cjs/providers/solana/actions/getMinimumBalanceForRentExemption.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getMinimumBalanceForRentExemption.js +23 -0
- package/dist/cjs/providers/solana/actions/getMinimumBalanceForRentExemption.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getMinimumBalanceForRentExemption.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getMultipleAccounts.d.ts +23 -0
- package/dist/cjs/providers/solana/actions/getMultipleAccounts.js +23 -0
- package/dist/cjs/providers/solana/actions/getMultipleAccounts.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getMultipleAccounts.test.js +43 -0
- package/dist/cjs/providers/solana/actions/getProgramAccounts.d.ts +21 -0
- package/dist/cjs/providers/solana/actions/getProgramAccounts.js +23 -0
- package/dist/cjs/providers/solana/actions/getProgramAccounts.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getProgramAccounts.test.js +39 -0
- package/dist/cjs/providers/solana/actions/getRecentPerformanceSamples.d.ts +16 -0
- package/dist/cjs/providers/solana/actions/getRecentPerformanceSamples.js +23 -0
- package/dist/cjs/providers/solana/actions/getRecentPerformanceSamples.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getRecentPerformanceSamples.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getRecentPrioritizationFees.d.ts +13 -0
- package/dist/cjs/providers/solana/actions/getRecentPrioritizationFees.js +23 -0
- package/dist/cjs/providers/solana/actions/getRecentPrioritizationFees.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getRecentPrioritizationFees.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getSignatureStatuses.d.ts +25 -0
- package/dist/cjs/providers/solana/actions/getSignatureStatuses.js +23 -0
- package/dist/cjs/providers/solana/actions/getSignatureStatuses.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getSignatureStatuses.test.js +35 -0
- package/dist/cjs/providers/solana/actions/getSignaturesForAddress.d.ts +17 -0
- package/dist/cjs/providers/solana/actions/getSignaturesForAddress.js +23 -0
- package/dist/cjs/providers/solana/actions/getSignaturesForAddress.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getSignaturesForAddress.test.js +46 -0
- package/dist/cjs/providers/solana/actions/getSlot.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getSlot.js +23 -0
- package/dist/cjs/providers/solana/actions/getSlot.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getSlot.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getSlotLeader.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getSlotLeader.js +23 -0
- package/dist/cjs/providers/solana/actions/getSlotLeader.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getSlotLeader.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getSlotLeaders.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getSlotLeaders.js +23 -0
- package/dist/cjs/providers/solana/actions/getSlotLeaders.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getSlotLeaders.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getSupply.d.ts +21 -0
- package/dist/cjs/providers/solana/actions/getSupply.js +23 -0
- package/dist/cjs/providers/solana/actions/getSupply.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getSupply.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountBalance.d.ts +20 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountBalance.js +23 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountBalance.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountBalance.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountsByDelegate.d.ts +26 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountsByDelegate.js +23 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountsByDelegate.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountsByDelegate.test.js +35 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountsByOwner.d.ts +26 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountsByOwner.js +23 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountsByOwner.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getTokenAccountsByOwner.test.js +39 -0
- package/dist/cjs/providers/solana/actions/getTokenLargestAccounts.d.ts +22 -0
- package/dist/cjs/providers/solana/actions/getTokenLargestAccounts.js +23 -0
- package/dist/cjs/providers/solana/actions/getTokenLargestAccounts.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getTokenLargestAccounts.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getTokenSupply.d.ts +20 -0
- package/dist/cjs/providers/solana/actions/getTokenSupply.js +23 -0
- package/dist/cjs/providers/solana/actions/getTokenSupply.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getTokenSupply.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getTransaction.d.ts +80 -0
- package/dist/cjs/providers/solana/actions/getTransaction.js +23 -0
- package/dist/cjs/providers/solana/actions/getTransaction.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getTransaction.test.js +34 -0
- package/dist/cjs/providers/solana/actions/getTransactionCount.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/getTransactionCount.js +23 -0
- package/dist/cjs/providers/solana/actions/getTransactionCount.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getTransactionCount.test.js +33 -0
- package/dist/cjs/providers/solana/actions/getVersion.d.ts +13 -0
- package/dist/cjs/providers/solana/actions/getVersion.js +23 -0
- package/dist/cjs/providers/solana/actions/getVersion.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getVersion.test.js +35 -0
- package/dist/cjs/providers/solana/actions/getVoteAccounts.d.ts +31 -0
- package/dist/cjs/providers/solana/actions/getVoteAccounts.js +23 -0
- package/dist/cjs/providers/solana/actions/getVoteAccounts.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/getVoteAccounts.test.js +33 -0
- package/dist/cjs/providers/solana/actions/index.d.ts +216 -0
- package/dist/cjs/providers/solana/actions/index.js +190 -0
- package/dist/cjs/providers/solana/actions/index.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/index.test.js +78 -0
- package/dist/cjs/providers/solana/actions/isBlockhashValid.d.ts +15 -0
- package/dist/cjs/providers/solana/actions/isBlockhashValid.js +23 -0
- package/dist/cjs/providers/solana/actions/isBlockhashValid.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/isBlockhashValid.test.js +34 -0
- package/dist/cjs/providers/solana/actions/minimumLedgerSlot.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/minimumLedgerSlot.js +23 -0
- package/dist/cjs/providers/solana/actions/minimumLedgerSlot.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/minimumLedgerSlot.test.js +32 -0
- package/dist/cjs/providers/solana/actions/sendTransaction.d.ts +13 -0
- package/dist/cjs/providers/solana/actions/sendTransaction.js +30 -0
- package/dist/cjs/providers/solana/actions/sendTransaction.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/sendTransaction.test.js +82 -0
- package/dist/cjs/providers/solana/actions/simulateTransaction.d.ts +28 -0
- package/dist/cjs/providers/solana/actions/simulateTransaction.js +30 -0
- package/dist/cjs/providers/solana/actions/simulateTransaction.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/simulateTransaction.test.js +82 -0
- package/dist/cjs/providers/solana/actions/switchCluster.d.ts +10 -0
- package/dist/cjs/providers/solana/actions/switchCluster.js +26 -0
- package/dist/cjs/providers/solana/actions/switchCluster.test.d.ts +1 -0
- package/dist/cjs/providers/solana/actions/switchCluster.test.js +33 -0
- package/dist/cjs/providers/solana/constants.d.ts +6 -0
- package/dist/cjs/providers/solana/constants.js +23 -0
- package/dist/cjs/providers/solana/index.d.ts +101 -0
- package/dist/cjs/providers/solana/index.js +39 -0
- package/dist/cjs/providers/solana/index.test.d.ts +1 -0
- package/dist/cjs/providers/solana/index.test.js +201 -0
- package/dist/cjs/providers/solana/transports/http.d.ts +8 -0
- package/dist/cjs/providers/solana/transports/http.js +20 -0
- package/dist/cjs/providers/solana/transports/http.test.d.ts +1 -0
- package/dist/cjs/providers/solana/transports/http.test.js +88 -0
- package/dist/cjs/providers/solana/transports/index.d.ts +734 -0
- package/dist/cjs/providers/solana/transports/index.js +205 -0
- package/dist/cjs/providers/solana/transports/index.test.d.ts +1 -0
- package/dist/cjs/providers/solana/transports/index.test.js +307 -0
- package/dist/cjs/providers/solana/utils/codecs.d.ts +4 -0
- package/dist/cjs/providers/solana/utils/codecs.js +20 -0
- package/dist/cjs/providers/solana/utils/index.d.ts +2 -0
- package/dist/cjs/providers/solana/utils/index.js +30 -0
- package/dist/cjs/providers/solana/utils/index.test.d.ts +1 -0
- package/dist/cjs/providers/solana/utils/index.test.js +53 -0
- package/dist/cjs/providers/solana/utils/toBase64EncodedWireTransaction.d.ts +26 -0
- package/dist/cjs/providers/solana/utils/toBase64EncodedWireTransaction.js +42 -0
- package/dist/cjs/providers/solana/utils/toBase64EncodedWireTransaction.test.d.ts +1 -0
- package/dist/cjs/providers/solana/utils/toBase64EncodedWireTransaction.test.js +108 -0
- package/dist/cjs/providers/uniswap/actions/exactInputSingle.d.ts +3 -3
- package/dist/cjs/providers/uniswap/actions/exactInputSingle.js +4 -4
- package/dist/cjs/providers/uniswap/actions/getPool.d.ts +3 -2
- package/dist/cjs/providers/uniswap/actions/quoteExactInputSingle.d.ts +3 -2
- package/dist/cjs/types.d.ts +8 -16
- package/dist/cjs/types.js +0 -10
- package/dist/cjs/utils/createConfig.d.ts +36 -0
- package/dist/cjs/utils/createConfig.js +51 -0
- package/dist/cjs/utils/createConfig.test.d.ts +1 -0
- package/dist/cjs/utils/createConfig.test.js +66 -0
- package/dist/cjs/utils/createCustomWalletClient.d.ts +46 -0
- package/dist/cjs/utils/createCustomWalletClient.js +114 -0
- package/dist/cjs/utils/createCustomWalletClient.test.d.ts +1 -0
- package/dist/cjs/utils/createCustomWalletClient.test.js +100 -0
- package/dist/cjs/utils/getChainContractByAddress.d.ts +2 -1
- package/dist/cjs/utils/getClient.d.ts +458 -0
- package/dist/cjs/utils/getClient.js +25 -0
- package/dist/cjs/utils/getClient.test.d.ts +1 -0
- package/dist/cjs/utils/getClient.test.js +46 -0
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.test.js +2 -0
- package/dist/esm/actions/generateTransferLink.d.ts +3 -3
- package/dist/esm/actions/generateTransferLink.js +3 -0
- package/dist/esm/actions/generateTransferLink.test.js +17 -0
- package/dist/esm/actions/getSwapExactInQuote.d.ts +3 -3
- package/dist/esm/actions/getTokenBalance.d.ts +30 -0
- package/dist/esm/actions/getTokenBalance.js +48 -0
- package/dist/esm/actions/getTokenBalance.test.d.ts +1 -0
- package/dist/esm/actions/getTokenBalance.test.js +163 -0
- package/dist/esm/actions/index.d.ts +9 -1
- package/dist/esm/actions/index.js +12 -9
- package/dist/esm/actions/index.test.js +2 -0
- package/dist/esm/actions/swapExactIn.d.ts +3 -3
- package/dist/esm/actions/sweep.d.ts +3 -2
- package/dist/esm/actions/sweep.js +5 -5
- package/dist/esm/actions/sweep.test.js +13 -10
- package/dist/esm/actions/transfer.d.ts +2 -2
- package/dist/esm/actions/transfer.js +60 -32
- package/dist/esm/actions/transfer.test.js +334 -135
- package/dist/esm/chains.d.ts +2 -0
- package/dist/esm/chains.js +11 -0
- package/dist/esm/client.d.ts +35 -0
- package/dist/esm/client.js +11 -0
- package/dist/esm/extractChain.d.ts +109 -109
- package/dist/esm/index.d.ts +4 -1
- package/dist/esm/index.js +31 -7
- package/dist/esm/index.test.js +1 -0
- package/dist/esm/metadata.js +1 -1
- package/dist/esm/onResponse.d.ts +1 -1
- package/dist/esm/onResponse.js +3 -0
- package/dist/esm/providers/circle-wallets/actions/createAccount.d.ts +2 -1
- package/dist/esm/providers/circle-wallets/actions/createContractExecutionTransaction.d.ts +9 -1
- package/dist/esm/providers/circle-wallets/actions/createContractExecutionTransaction.js +8 -0
- package/dist/esm/providers/circle-wallets/actions/createTransaction.d.ts +4 -1
- package/dist/esm/providers/circle-wallets/actions/createTransaction.js +3 -0
- package/dist/esm/providers/circle-wallets/actions/createWalletSet.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/createWallets.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/deriveWallet.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/drip.d.ts +2 -1
- package/dist/esm/providers/circle-wallets/actions/estimateContractExecutionFee.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.d.ts +2 -1
- package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.js +2 -3
- package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.test.js +1 -20
- package/dist/esm/providers/circle-wallets/actions/getAccounts.d.ts +2 -1
- package/dist/esm/providers/circle-wallets/actions/getNotificationSignature.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/getTokenBalances.d.ts +4 -15
- package/dist/esm/providers/circle-wallets/actions/getTransactionById.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/getWallet.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/getWalletTokenBalance.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/getWalletsWithBalances.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/importContract.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/index.d.ts +0 -8
- package/dist/esm/providers/circle-wallets/actions/index.js +0 -8
- package/dist/esm/providers/circle-wallets/actions/index.test.js +0 -4
- package/dist/esm/providers/circle-wallets/actions/listTransactions.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/listWallets.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/requestTestnetTokens.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/signTransaction.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/verifyNotification.d.ts +1 -1
- package/dist/esm/providers/circle-wallets/actions/writeContract.d.ts +2 -1
- package/dist/esm/providers/circle-wallets/actions/writeContract.js +2 -5
- package/dist/esm/providers/circle-wallets/actions/writeContract.test.js +9 -18
- package/dist/esm/providers/circle-wallets/index.d.ts +4481 -0
- package/dist/esm/providers/circle-wallets/index.js +35 -0
- package/dist/esm/providers/circle-wallets/index.test.js +51 -2
- package/dist/esm/providers/circle-wallets/transports/http.d.ts +19 -1
- package/dist/esm/providers/circle-wallets/transports/http.js +3 -3
- package/dist/esm/providers/circle-wallets/transports/http.test.js +24 -4
- package/dist/esm/providers/circle-wallets/transports/index.d.ts +102 -22
- package/dist/esm/providers/circle-wallets/transports/index.js +257 -3
- package/dist/esm/providers/circle-wallets/transports/index.test.js +1617 -177
- package/dist/esm/providers/circle-wallets/utils/index.d.ts +1 -0
- package/dist/esm/providers/circle-wallets/utils/index.js +11 -0
- package/dist/esm/providers/circle-wallets/utils/toSolanaSigner.d.ts +4 -0
- package/dist/esm/providers/circle-wallets/utils/toSolanaSigner.js +30 -0
- package/dist/esm/providers/circle-wallets/utils/toSolanaSigner.test.d.ts +1 -0
- package/dist/esm/providers/circle-wallets/utils/toSolanaSigner.test.js +127 -0
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.d.ts +3 -3
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.js +7 -10
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/bridge.d.ts +3 -3
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/bridge.js +0 -3
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.d.ts +3 -3
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.js +6 -10
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/index.js +6 -7
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/listMessages.d.ts +3 -3
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.d.ts +3 -3
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.js +6 -10
- package/dist/esm/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.d.ts +3 -2
- package/dist/esm/providers/cross-chain-transfer-protocol/transports/http.d.ts +0 -1
- package/dist/esm/providers/cross-chain-transfer-protocol/transports/index.d.ts +1 -1
- package/dist/esm/providers/cross-chain-transfer-protocol/transports/index.test.js +2 -2
- package/dist/esm/providers/solana/actions/getAccountInfo.d.ts +23 -0
- package/dist/esm/providers/solana/actions/getAccountInfo.js +20 -0
- package/dist/esm/providers/solana/actions/getAccountInfo.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getAccountInfo.test.js +37 -0
- package/dist/esm/providers/solana/actions/getBalance.d.ts +15 -0
- package/dist/esm/providers/solana/actions/getBalance.js +20 -0
- package/dist/esm/providers/solana/actions/getBalance.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getBalance.test.js +33 -0
- package/dist/esm/providers/solana/actions/getBlock.d.ts +60 -0
- package/dist/esm/providers/solana/actions/getBlock.js +20 -0
- package/dist/esm/providers/solana/actions/getBlock.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getBlock.test.js +32 -0
- package/dist/esm/providers/solana/actions/getBlockCommitment.d.ts +13 -0
- package/dist/esm/providers/solana/actions/getBlockCommitment.js +20 -0
- package/dist/esm/providers/solana/actions/getBlockCommitment.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getBlockCommitment.test.js +34 -0
- package/dist/esm/providers/solana/actions/getBlockHeight.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getBlockHeight.js +20 -0
- package/dist/esm/providers/solana/actions/getBlockHeight.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getBlockHeight.test.js +31 -0
- package/dist/esm/providers/solana/actions/getBlockProduction.d.ts +23 -0
- package/dist/esm/providers/solana/actions/getBlockProduction.js +20 -0
- package/dist/esm/providers/solana/actions/getBlockProduction.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getBlockProduction.test.js +38 -0
- package/dist/esm/providers/solana/actions/getBlockTime.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getBlockTime.js +20 -0
- package/dist/esm/providers/solana/actions/getBlockTime.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getBlockTime.test.js +31 -0
- package/dist/esm/providers/solana/actions/getBlocks.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getBlocks.js +20 -0
- package/dist/esm/providers/solana/actions/getBlocks.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getBlocks.test.js +33 -0
- package/dist/esm/providers/solana/actions/getBlocksWithLimit.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getBlocksWithLimit.js +20 -0
- package/dist/esm/providers/solana/actions/getBlocksWithLimit.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getBlocksWithLimit.test.js +32 -0
- package/dist/esm/providers/solana/actions/getClusterName.d.ts +8 -0
- package/dist/esm/providers/solana/actions/getClusterName.js +22 -0
- package/dist/esm/providers/solana/actions/getClusterName.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getClusterName.test.js +30 -0
- package/dist/esm/providers/solana/actions/getClusterNodes.d.ts +25 -0
- package/dist/esm/providers/solana/actions/getClusterNodes.js +20 -0
- package/dist/esm/providers/solana/actions/getClusterNodes.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getClusterNodes.test.js +30 -0
- package/dist/esm/providers/solana/actions/getEpochInfo.d.ts +17 -0
- package/dist/esm/providers/solana/actions/getEpochInfo.js +20 -0
- package/dist/esm/providers/solana/actions/getEpochInfo.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getEpochInfo.test.js +37 -0
- package/dist/esm/providers/solana/actions/getEpochSchedule.d.ts +16 -0
- package/dist/esm/providers/solana/actions/getEpochSchedule.js +20 -0
- package/dist/esm/providers/solana/actions/getEpochSchedule.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getEpochSchedule.test.js +30 -0
- package/dist/esm/providers/solana/actions/getFeeForMessage.d.ts +15 -0
- package/dist/esm/providers/solana/actions/getFeeForMessage.js +20 -0
- package/dist/esm/providers/solana/actions/getFeeForMessage.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getFeeForMessage.test.js +31 -0
- package/dist/esm/providers/solana/actions/getFirstAvailableBlock.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getFirstAvailableBlock.js +20 -0
- package/dist/esm/providers/solana/actions/getFirstAvailableBlock.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getFirstAvailableBlock.test.js +30 -0
- package/dist/esm/providers/solana/actions/getGenesisHash.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getGenesisHash.js +20 -0
- package/dist/esm/providers/solana/actions/getGenesisHash.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getGenesisHash.test.js +30 -0
- package/dist/esm/providers/solana/actions/getHealth.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getHealth.js +20 -0
- package/dist/esm/providers/solana/actions/getHealth.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getHealth.test.js +30 -0
- package/dist/esm/providers/solana/actions/getHighestSnapshotSlot.d.ts +13 -0
- package/dist/esm/providers/solana/actions/getHighestSnapshotSlot.js +20 -0
- package/dist/esm/providers/solana/actions/getHighestSnapshotSlot.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getHighestSnapshotSlot.test.js +30 -0
- package/dist/esm/providers/solana/actions/getIdentity.d.ts +12 -0
- package/dist/esm/providers/solana/actions/getIdentity.js +20 -0
- package/dist/esm/providers/solana/actions/getIdentity.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getIdentity.test.js +30 -0
- package/dist/esm/providers/solana/actions/getInflationGovernor.d.ts +16 -0
- package/dist/esm/providers/solana/actions/getInflationGovernor.js +20 -0
- package/dist/esm/providers/solana/actions/getInflationGovernor.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getInflationGovernor.test.js +31 -0
- package/dist/esm/providers/solana/actions/getInflationRate.d.ts +15 -0
- package/dist/esm/providers/solana/actions/getInflationRate.js +20 -0
- package/dist/esm/providers/solana/actions/getInflationRate.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getInflationRate.test.js +37 -0
- package/dist/esm/providers/solana/actions/getInflationReward.d.ts +16 -0
- package/dist/esm/providers/solana/actions/getInflationReward.js +20 -0
- package/dist/esm/providers/solana/actions/getInflationReward.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getInflationReward.test.js +33 -0
- package/dist/esm/providers/solana/actions/getLargestAccounts.d.ts +18 -0
- package/dist/esm/providers/solana/actions/getLargestAccounts.js +20 -0
- package/dist/esm/providers/solana/actions/getLargestAccounts.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getLargestAccounts.test.js +31 -0
- package/dist/esm/providers/solana/actions/getLatestBlockhash.d.ts +18 -0
- package/dist/esm/providers/solana/actions/getLatestBlockhash.js +20 -0
- package/dist/esm/providers/solana/actions/getLatestBlockhash.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getLatestBlockhash.test.js +31 -0
- package/dist/esm/providers/solana/actions/getLeaderSchedule.d.ts +12 -0
- package/dist/esm/providers/solana/actions/getLeaderSchedule.js +20 -0
- package/dist/esm/providers/solana/actions/getLeaderSchedule.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getLeaderSchedule.test.js +32 -0
- package/dist/esm/providers/solana/actions/getMaxRetransmitSlot.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getMaxRetransmitSlot.js +20 -0
- package/dist/esm/providers/solana/actions/getMaxRetransmitSlot.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getMaxRetransmitSlot.test.js +30 -0
- package/dist/esm/providers/solana/actions/getMaxShredInsertSlot.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getMaxShredInsertSlot.js +20 -0
- package/dist/esm/providers/solana/actions/getMaxShredInsertSlot.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getMaxShredInsertSlot.test.js +30 -0
- package/dist/esm/providers/solana/actions/getMinimumBalanceForRentExemption.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getMinimumBalanceForRentExemption.js +20 -0
- package/dist/esm/providers/solana/actions/getMinimumBalanceForRentExemption.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getMinimumBalanceForRentExemption.test.js +32 -0
- package/dist/esm/providers/solana/actions/getMultipleAccounts.d.ts +23 -0
- package/dist/esm/providers/solana/actions/getMultipleAccounts.js +20 -0
- package/dist/esm/providers/solana/actions/getMultipleAccounts.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getMultipleAccounts.test.js +41 -0
- package/dist/esm/providers/solana/actions/getProgramAccounts.d.ts +21 -0
- package/dist/esm/providers/solana/actions/getProgramAccounts.js +20 -0
- package/dist/esm/providers/solana/actions/getProgramAccounts.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getProgramAccounts.test.js +37 -0
- package/dist/esm/providers/solana/actions/getRecentPerformanceSamples.d.ts +16 -0
- package/dist/esm/providers/solana/actions/getRecentPerformanceSamples.js +20 -0
- package/dist/esm/providers/solana/actions/getRecentPerformanceSamples.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getRecentPerformanceSamples.test.js +31 -0
- package/dist/esm/providers/solana/actions/getRecentPrioritizationFees.d.ts +13 -0
- package/dist/esm/providers/solana/actions/getRecentPrioritizationFees.js +20 -0
- package/dist/esm/providers/solana/actions/getRecentPrioritizationFees.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getRecentPrioritizationFees.test.js +32 -0
- package/dist/esm/providers/solana/actions/getSignatureStatuses.d.ts +25 -0
- package/dist/esm/providers/solana/actions/getSignatureStatuses.js +20 -0
- package/dist/esm/providers/solana/actions/getSignatureStatuses.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getSignatureStatuses.test.js +33 -0
- package/dist/esm/providers/solana/actions/getSignaturesForAddress.d.ts +17 -0
- package/dist/esm/providers/solana/actions/getSignaturesForAddress.js +20 -0
- package/dist/esm/providers/solana/actions/getSignaturesForAddress.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getSignaturesForAddress.test.js +44 -0
- package/dist/esm/providers/solana/actions/getSlot.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getSlot.js +20 -0
- package/dist/esm/providers/solana/actions/getSlot.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getSlot.test.js +31 -0
- package/dist/esm/providers/solana/actions/getSlotLeader.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getSlotLeader.js +20 -0
- package/dist/esm/providers/solana/actions/getSlotLeader.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getSlotLeader.test.js +31 -0
- package/dist/esm/providers/solana/actions/getSlotLeaders.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getSlotLeaders.js +20 -0
- package/dist/esm/providers/solana/actions/getSlotLeaders.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getSlotLeaders.test.js +32 -0
- package/dist/esm/providers/solana/actions/getSupply.d.ts +21 -0
- package/dist/esm/providers/solana/actions/getSupply.js +20 -0
- package/dist/esm/providers/solana/actions/getSupply.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getSupply.test.js +31 -0
- package/dist/esm/providers/solana/actions/getTokenAccountBalance.d.ts +20 -0
- package/dist/esm/providers/solana/actions/getTokenAccountBalance.js +20 -0
- package/dist/esm/providers/solana/actions/getTokenAccountBalance.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getTokenAccountBalance.test.js +32 -0
- package/dist/esm/providers/solana/actions/getTokenAccountsByDelegate.d.ts +26 -0
- package/dist/esm/providers/solana/actions/getTokenAccountsByDelegate.js +20 -0
- package/dist/esm/providers/solana/actions/getTokenAccountsByDelegate.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getTokenAccountsByDelegate.test.js +33 -0
- package/dist/esm/providers/solana/actions/getTokenAccountsByOwner.d.ts +26 -0
- package/dist/esm/providers/solana/actions/getTokenAccountsByOwner.js +20 -0
- package/dist/esm/providers/solana/actions/getTokenAccountsByOwner.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getTokenAccountsByOwner.test.js +37 -0
- package/dist/esm/providers/solana/actions/getTokenLargestAccounts.d.ts +22 -0
- package/dist/esm/providers/solana/actions/getTokenLargestAccounts.js +20 -0
- package/dist/esm/providers/solana/actions/getTokenLargestAccounts.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getTokenLargestAccounts.test.js +32 -0
- package/dist/esm/providers/solana/actions/getTokenSupply.d.ts +20 -0
- package/dist/esm/providers/solana/actions/getTokenSupply.js +20 -0
- package/dist/esm/providers/solana/actions/getTokenSupply.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getTokenSupply.test.js +32 -0
- package/dist/esm/providers/solana/actions/getTransaction.d.ts +80 -0
- package/dist/esm/providers/solana/actions/getTransaction.js +20 -0
- package/dist/esm/providers/solana/actions/getTransaction.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getTransaction.test.js +32 -0
- package/dist/esm/providers/solana/actions/getTransactionCount.d.ts +10 -0
- package/dist/esm/providers/solana/actions/getTransactionCount.js +20 -0
- package/dist/esm/providers/solana/actions/getTransactionCount.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getTransactionCount.test.js +31 -0
- package/dist/esm/providers/solana/actions/getVersion.d.ts +13 -0
- package/dist/esm/providers/solana/actions/getVersion.js +20 -0
- package/dist/esm/providers/solana/actions/getVersion.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getVersion.test.js +33 -0
- package/dist/esm/providers/solana/actions/getVoteAccounts.d.ts +31 -0
- package/dist/esm/providers/solana/actions/getVoteAccounts.js +20 -0
- package/dist/esm/providers/solana/actions/getVoteAccounts.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/getVoteAccounts.test.js +31 -0
- package/dist/esm/providers/solana/actions/index.d.ts +216 -0
- package/dist/esm/providers/solana/actions/index.js +173 -0
- package/dist/esm/providers/solana/actions/index.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/index.test.js +76 -0
- package/dist/esm/providers/solana/actions/isBlockhashValid.d.ts +15 -0
- package/dist/esm/providers/solana/actions/isBlockhashValid.js +20 -0
- package/dist/esm/providers/solana/actions/isBlockhashValid.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/isBlockhashValid.test.js +32 -0
- package/dist/esm/providers/solana/actions/minimumLedgerSlot.d.ts +10 -0
- package/dist/esm/providers/solana/actions/minimumLedgerSlot.js +20 -0
- package/dist/esm/providers/solana/actions/minimumLedgerSlot.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/minimumLedgerSlot.test.js +30 -0
- package/dist/esm/providers/solana/actions/sendTransaction.d.ts +13 -0
- package/dist/esm/providers/solana/actions/sendTransaction.js +27 -0
- package/dist/esm/providers/solana/actions/sendTransaction.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/sendTransaction.test.js +80 -0
- package/dist/esm/providers/solana/actions/simulateTransaction.d.ts +28 -0
- package/dist/esm/providers/solana/actions/simulateTransaction.js +27 -0
- package/dist/esm/providers/solana/actions/simulateTransaction.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/simulateTransaction.test.js +80 -0
- package/dist/esm/providers/solana/actions/switchCluster.d.ts +10 -0
- package/dist/esm/providers/solana/actions/switchCluster.js +23 -0
- package/dist/esm/providers/solana/actions/switchCluster.test.d.ts +1 -0
- package/dist/esm/providers/solana/actions/switchCluster.test.js +31 -0
- package/dist/esm/providers/solana/constants.d.ts +6 -0
- package/dist/esm/providers/solana/constants.js +17 -0
- package/dist/esm/providers/solana/index.d.ts +101 -0
- package/dist/esm/providers/solana/index.js +21 -0
- package/dist/esm/providers/solana/index.test.d.ts +1 -0
- package/dist/esm/providers/solana/index.test.js +166 -0
- package/dist/esm/providers/solana/transports/http.d.ts +8 -0
- package/dist/esm/providers/solana/transports/http.js +17 -0
- package/dist/esm/providers/solana/transports/http.test.d.ts +1 -0
- package/dist/esm/providers/solana/transports/http.test.js +86 -0
- package/dist/esm/providers/solana/transports/index.d.ts +734 -0
- package/dist/esm/providers/solana/transports/index.js +200 -0
- package/dist/esm/providers/solana/transports/index.test.d.ts +1 -0
- package/dist/esm/providers/solana/transports/index.test.js +272 -0
- package/dist/esm/providers/solana/utils/codecs.d.ts +4 -0
- package/dist/esm/providers/solana/utils/codecs.js +17 -0
- package/dist/esm/providers/solana/utils/index.d.ts +2 -0
- package/dist/esm/providers/solana/utils/index.js +12 -0
- package/dist/esm/providers/solana/utils/index.test.d.ts +1 -0
- package/dist/esm/providers/solana/utils/index.test.js +18 -0
- package/dist/esm/providers/solana/utils/toBase64EncodedWireTransaction.d.ts +26 -0
- package/dist/esm/providers/solana/utils/toBase64EncodedWireTransaction.js +39 -0
- package/dist/esm/providers/solana/utils/toBase64EncodedWireTransaction.test.d.ts +1 -0
- package/dist/esm/providers/solana/utils/toBase64EncodedWireTransaction.test.js +106 -0
- package/dist/esm/providers/uniswap/actions/exactInputSingle.d.ts +3 -3
- package/dist/esm/providers/uniswap/actions/exactInputSingle.js +5 -5
- package/dist/esm/providers/uniswap/actions/getPool.d.ts +3 -2
- package/dist/esm/providers/uniswap/actions/quoteExactInputSingle.d.ts +3 -2
- package/dist/esm/types.d.ts +8 -16
- package/dist/esm/types.js +0 -10
- package/dist/esm/utils/createConfig.d.ts +36 -0
- package/dist/esm/utils/createConfig.js +48 -0
- package/dist/esm/utils/createConfig.test.d.ts +1 -0
- package/dist/esm/utils/createConfig.test.js +64 -0
- package/dist/esm/utils/createCustomWalletClient.d.ts +46 -0
- package/dist/esm/utils/createCustomWalletClient.js +78 -0
- package/dist/esm/utils/createCustomWalletClient.test.d.ts +1 -0
- package/dist/esm/utils/createCustomWalletClient.test.js +98 -0
- package/dist/esm/utils/getChainContractByAddress.d.ts +2 -1
- package/dist/esm/utils/getClient.d.ts +458 -0
- package/dist/esm/utils/getClient.js +22 -0
- package/dist/esm/utils/getClient.test.d.ts +1 -0
- package/dist/esm/utils/getClient.test.js +44 -0
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.test.js +2 -0
- package/package.json +9 -1
- package/dist/cjs/providers/circle-wallets/actions/signTypedData.d.ts +0 -8
- package/dist/cjs/providers/circle-wallets/actions/signTypedData.test.js +0 -51
- package/dist/cjs/providers/circle-wallets/actions/waitForTransactionHash.d.ts +0 -19
- package/dist/cjs/providers/circle-wallets/actions/waitForTransactionHash.js +0 -45
- package/dist/cjs/providers/circle-wallets/actions/waitForTransactionHash.test.js +0 -92
- package/dist/esm/providers/circle-wallets/actions/signTypedData.d.ts +0 -8
- package/dist/esm/providers/circle-wallets/actions/signTypedData.test.js +0 -49
- package/dist/esm/providers/circle-wallets/actions/waitForTransactionHash.d.ts +0 -19
- package/dist/esm/providers/circle-wallets/actions/waitForTransactionHash.js +0 -42
- package/dist/esm/providers/circle-wallets/actions/waitForTransactionHash.test.js +0 -90
- /package/dist/cjs/{providers/circle-wallets/actions/signTypedData.test.d.ts → actions/getTokenBalance.test.d.ts} +0 -0
- /package/dist/cjs/providers/circle-wallets/{actions/waitForTransactionHash.test.d.ts → utils/toSolanaSigner.test.d.ts} +0 -0
- /package/dist/{esm/providers/circle-wallets/actions/signTypedData.test.d.ts → cjs/providers/solana/actions/getAccountInfo.test.d.ts} +0 -0
- /package/dist/{esm/providers/circle-wallets/actions/waitForTransactionHash.test.d.ts → cjs/providers/solana/actions/getBalance.test.d.ts} +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// Copyright (c) 2025, Circle Internet Group, Inc.
|
|
2
|
+
// All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Circle Internet Group, Inc. CONFIDENTIAL
|
|
5
|
+
//
|
|
6
|
+
// This file includes unpublished proprietary source code of Circle Internet
|
|
7
|
+
// Group, Inc. The copyright notice above does not
|
|
8
|
+
// evidence any actual or intended publication of such source code. Disclosure
|
|
9
|
+
// of this source code or any related proprietary information is strictly
|
|
10
|
+
// prohibited without the express written permission of Circle Internet Group, Inc.
|
|
11
|
+
import { describe, expect, it, vi, beforeEach } from 'vitest';
|
|
12
|
+
import { simulateTransaction } from './simulateTransaction.js';
|
|
13
|
+
describe('simulateTransaction', () => {
|
|
14
|
+
const mockClient = {
|
|
15
|
+
request: vi.fn(),
|
|
16
|
+
};
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
vi.resetAllMocks();
|
|
19
|
+
});
|
|
20
|
+
it('should call client.request with base64 encoded transaction', async () => {
|
|
21
|
+
const txBase64 = 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEDArczbMIA1sNQiUQLoupO4LkRSz2nUOUt9sQ3PQ86KLuwmPCLOHSyXQhgbFxBjuDCfN6xAwGzw8tq7DjJHMLtLmIL1lOH8RBJb+HrcBl6aLNBKm6JY9LPK1pQ8RYNG6i8';
|
|
22
|
+
const config = { commitment: 'confirmed', replaceRecentBlockhash: true, encoding: 'base64' };
|
|
23
|
+
const mockResponse = { value: { err: null, logs: [], accounts: null } };
|
|
24
|
+
vi.mocked(mockClient.request).mockResolvedValue(mockResponse);
|
|
25
|
+
const result = await simulateTransaction(mockClient, txBase64, config);
|
|
26
|
+
expect(mockClient.request).toHaveBeenCalledWith({
|
|
27
|
+
method: 'sol_simulateTransaction',
|
|
28
|
+
params: [txBase64, { ...config, encoding: 'base64' }],
|
|
29
|
+
});
|
|
30
|
+
expect(result).toBe(mockResponse);
|
|
31
|
+
});
|
|
32
|
+
it('should handle Buffer input and convert to base64', async () => {
|
|
33
|
+
const txBuffer = Buffer.from('test transaction data', 'utf8');
|
|
34
|
+
const expectedBase64 = txBuffer.toString('base64');
|
|
35
|
+
const mockResponse = { value: { err: null, logs: [], accounts: null } };
|
|
36
|
+
vi.mocked(mockClient.request).mockResolvedValue(mockResponse);
|
|
37
|
+
await simulateTransaction(mockClient, txBuffer);
|
|
38
|
+
expect(mockClient.request).toHaveBeenCalledWith({
|
|
39
|
+
method: 'sol_simulateTransaction',
|
|
40
|
+
params: [expectedBase64, { encoding: 'base64' }],
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
it('should handle string input directly', async () => {
|
|
44
|
+
const txString = 'test-transaction-string';
|
|
45
|
+
const mockResponse = { value: { err: null, logs: [], accounts: null } };
|
|
46
|
+
vi.mocked(mockClient.request).mockResolvedValue(mockResponse);
|
|
47
|
+
await simulateTransaction(mockClient, txString);
|
|
48
|
+
expect(mockClient.request).toHaveBeenCalledWith({
|
|
49
|
+
method: 'sol_simulateTransaction',
|
|
50
|
+
params: [txString, { encoding: 'base64' }],
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
it('should override encoding to base64 even if provided in config', async () => {
|
|
54
|
+
const txBase64 = 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEDArczbMIA1sNQiUQLoupO4LkRSz2nUOUt9sQ3PQ86KLuwmPCLOHSyXQhgbFxBjuDCfN6xAwGzw8tq7DjJHMLtLmIL1lOH8RBJb+HrcBl6aLNBKm6JY9LPK1pQ8RYNG6i8';
|
|
55
|
+
// Create a config with a different encoding to test that it gets overridden
|
|
56
|
+
const config = { encoding: 'hex', commitment: 'confirmed', sigVerify: false };
|
|
57
|
+
vi.mocked(mockClient.request).mockResolvedValue({ value: { err: null } });
|
|
58
|
+
// Cast to bypass the type constraint since we're testing the override behavior
|
|
59
|
+
await simulateTransaction(mockClient, txBase64, config);
|
|
60
|
+
expect(mockClient.request).toHaveBeenCalledWith({
|
|
61
|
+
method: 'sol_simulateTransaction',
|
|
62
|
+
params: [txBase64, { ...config, encoding: 'base64' }],
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
it('should work without config parameter', async () => {
|
|
66
|
+
const txBase64 = 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEDArczbMIA1sNQiUQLoupO4LkRSz2nUOUt9sQ3PQ86KLuwmPCLOHSyXQhgbFxBjuDCfN6xAwGzw8tq7DjJHMLtLmIL1lOH8RBJb+HrcBl6aLNBKm6JY9LPK1pQ8RYNG6i8';
|
|
67
|
+
vi.mocked(mockClient.request).mockResolvedValue({ value: { err: null } });
|
|
68
|
+
await simulateTransaction(mockClient, txBase64);
|
|
69
|
+
expect(mockClient.request).toHaveBeenCalledWith({
|
|
70
|
+
method: 'sol_simulateTransaction',
|
|
71
|
+
params: [txBase64, { encoding: 'base64' }],
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
it('should handle request errors', async () => {
|
|
75
|
+
const txBase64 = 'invalid-transaction';
|
|
76
|
+
const error = new Error('RPC Error');
|
|
77
|
+
vi.mocked(mockClient.request).mockRejectedValue(error);
|
|
78
|
+
await expect(simulateTransaction(mockClient, txBase64)).rejects.toThrow('RPC Error');
|
|
79
|
+
});
|
|
80
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ExtendedViemClient } from '../../../client.js';
|
|
2
|
+
import type { Provider } from '../transports/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Switches the active cluster endpoint for Solana operations
|
|
5
|
+
*
|
|
6
|
+
* @param client - Extended Viem client
|
|
7
|
+
* @param clusterName - Cluster name to switch to
|
|
8
|
+
* @returns Promise resolving to the new RPC client
|
|
9
|
+
*/
|
|
10
|
+
export declare function switchCluster(client: ExtendedViemClient, clusterName: Parameters<Provider['sol_switchCluster']>[0]): Promise<import("@solana/rpc-spec").Rpc<import("@solana/rpc-api").GetAccountInfoApi & import("@solana/rpc-api").GetBalanceApi & import("@solana/rpc-api").GetBlockApi & import("@solana/rpc-api").GetBlockCommitmentApi & import("@solana/rpc-api").GetBlockHeightApi & import("@solana/rpc-api").GetBlockProductionApi & import("@solana/rpc-api").GetBlocksApi & import("@solana/rpc-api").GetBlocksWithLimitApi & import("@solana/rpc-api").GetBlockTimeApi & import("@solana/rpc-api").GetClusterNodesApi & import("@solana/rpc-api").GetEpochInfoApi & import("@solana/rpc-api").GetEpochScheduleApi & import("@solana/rpc-api").GetFeeForMessageApi & import("@solana/rpc-api").GetFirstAvailableBlockApi & import("@solana/rpc-api").GetGenesisHashApi & import("@solana/rpc-api").GetHealthApi & import("@solana/rpc-api").GetHighestSnapshotSlotApi & import("@solana/rpc-api").GetIdentityApi & import("@solana/rpc-api").GetInflationGovernorApi & import("@solana/rpc-api").GetInflationRateApi & import("@solana/rpc-api").GetInflationRewardApi & import("@solana/rpc-api").GetLargestAccountsApi & import("@solana/rpc-api").GetLatestBlockhashApi & import("@solana/rpc-api").GetLeaderScheduleApi & import("@solana/rpc-api").GetMaxRetransmitSlotApi & import("@solana/rpc-api").GetMaxShredInsertSlotApi & import("@solana/rpc-api").GetMinimumBalanceForRentExemptionApi & import("@solana/rpc-api").GetMultipleAccountsApi & import("@solana/rpc-api").GetProgramAccountsApi & import("@solana/rpc-api").GetRecentPerformanceSamplesApi & import("@solana/rpc-api").GetRecentPrioritizationFeesApi & import("@solana/rpc-api").GetSignaturesForAddressApi & import("@solana/rpc-api").GetSignatureStatusesApi & import("@solana/rpc-api").GetSlotApi & import("@solana/rpc-api").GetSlotLeaderApi & import("@solana/rpc-api").GetSlotLeadersApi & import("@solana/rpc-api").GetStakeMinimumDelegationApi & import("@solana/rpc-api").GetSupplyApi & import("@solana/rpc-api").GetTokenAccountBalanceApi & import("@solana/rpc-api").GetTokenAccountsByDelegateApi & import("@solana/rpc-api").GetTokenAccountsByOwnerApi & import("@solana/rpc-api").GetTokenLargestAccountsApi & import("@solana/rpc-api").GetTokenSupplyApi & import("@solana/rpc-api").GetTransactionApi & import("@solana/rpc-api").GetTransactionCountApi & import("@solana/rpc-api").GetVersionApi & import("@solana/rpc-api").GetVoteAccountsApi & import("@solana/rpc-api").IsBlockhashValidApi & import("@solana/rpc-api").MinimumLedgerSlotApi & import("@solana/rpc-api").SendTransactionApi & import("@solana/rpc-api").SimulateTransactionApi>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright (c) 2025, Circle Internet Group, Inc.
|
|
2
|
+
// All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Circle Internet Group, Inc. CONFIDENTIAL
|
|
5
|
+
//
|
|
6
|
+
// This file includes unpublished proprietary source code of Circle Internet
|
|
7
|
+
// Group, Inc. The copyright notice above does not
|
|
8
|
+
// evidence any actual or intended publication of such source code. Disclosure
|
|
9
|
+
// of this source code or any related proprietary information is strictly
|
|
10
|
+
// prohibited without the express written permission of Circle Internet Group, Inc.
|
|
11
|
+
/**
|
|
12
|
+
* Switches the active cluster endpoint for Solana operations
|
|
13
|
+
*
|
|
14
|
+
* @param client - Extended Viem client
|
|
15
|
+
* @param clusterName - Cluster name to switch to
|
|
16
|
+
* @returns Promise resolving to the new RPC client
|
|
17
|
+
*/
|
|
18
|
+
export async function switchCluster(client, clusterName) {
|
|
19
|
+
return await client.request({
|
|
20
|
+
method: 'sol_switchCluster',
|
|
21
|
+
params: [clusterName],
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Copyright (c) 2025, Circle Internet Group, Inc.
|
|
2
|
+
// All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Circle Internet Group, Inc. CONFIDENTIAL
|
|
5
|
+
//
|
|
6
|
+
// This file includes unpublished proprietary source code of Circle Internet
|
|
7
|
+
// Group, Inc. The copyright notice above does not
|
|
8
|
+
// evidence any actual or intended publication of such source code. Disclosure
|
|
9
|
+
// of this source code or any related proprietary information is strictly
|
|
10
|
+
// prohibited without the express written permission of Circle Internet Group, Inc.
|
|
11
|
+
import { describe, expect, it, vi, beforeEach } from 'vitest';
|
|
12
|
+
import { switchCluster } from './switchCluster.js';
|
|
13
|
+
describe('switchCluster', () => {
|
|
14
|
+
const mockClient = {
|
|
15
|
+
request: vi.fn(),
|
|
16
|
+
};
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
vi.resetAllMocks();
|
|
19
|
+
});
|
|
20
|
+
it('should forward all parameters to client.request', async () => {
|
|
21
|
+
const clusterName = 'mainnet-beta';
|
|
22
|
+
const mockResponse = {};
|
|
23
|
+
vi.mocked(mockClient.request).mockResolvedValue(mockResponse);
|
|
24
|
+
const result = await switchCluster(mockClient, clusterName);
|
|
25
|
+
expect(mockClient.request).toHaveBeenCalledWith({
|
|
26
|
+
method: 'sol_switchCluster',
|
|
27
|
+
params: [clusterName],
|
|
28
|
+
});
|
|
29
|
+
expect(result).toBe(mockResponse);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { TOKEN_PROGRAM_ADDRESS, ASSOCIATED_TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';
|
|
2
|
+
export { TOKEN_2022_PROGRAM_ADDRESS } from '@solana-program/token-2022';
|
|
3
|
+
/** Address of the special mint for wrapped native SOL in spl-token */
|
|
4
|
+
export declare const NATIVE_MINT_ADDRESS: import("@solana/kit").Address<"So11111111111111111111111111111111111111112">;
|
|
5
|
+
/** Address of the special mint for wrapped native SOL in spl-token-2022 */
|
|
6
|
+
export declare const NATIVE_MINT_2022_ADDRESS: import("@solana/kit").Address<"9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP">;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright (c) 2025, Circle Internet Group, Inc.
|
|
2
|
+
// All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Circle Internet Group, Inc. CONFIDENTIAL
|
|
5
|
+
//
|
|
6
|
+
// This file includes unpublished proprietary source code of Circle Internet
|
|
7
|
+
// Group, Inc. The copyright notice above does not
|
|
8
|
+
// evidence any actual or intended publication of such source code. Disclosure
|
|
9
|
+
// of this source code or any related proprietary information is strictly
|
|
10
|
+
// prohibited without the express written permission of Circle Internet Group, Inc.
|
|
11
|
+
import { address } from '@solana/kit';
|
|
12
|
+
export { TOKEN_PROGRAM_ADDRESS, ASSOCIATED_TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';
|
|
13
|
+
export { TOKEN_2022_PROGRAM_ADDRESS } from '@solana-program/token-2022';
|
|
14
|
+
/** Address of the special mint for wrapped native SOL in spl-token */
|
|
15
|
+
export const NATIVE_MINT_ADDRESS = address('So11111111111111111111111111111111111111112');
|
|
16
|
+
/** Address of the special mint for wrapped native SOL in spl-token-2022 */
|
|
17
|
+
export const NATIVE_MINT_2022_ADDRESS = address('9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP');
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export declare const NAME = "solana";
|
|
2
|
+
export declare const SUPPORTED_CHAINS: readonly [{
|
|
3
|
+
blockExplorers: {
|
|
4
|
+
readonly default: {
|
|
5
|
+
readonly name: "Solscan";
|
|
6
|
+
readonly url: "https://solscan.io/";
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
blockTime?: number | undefined | undefined;
|
|
10
|
+
contracts: {
|
|
11
|
+
readonly USDC: {
|
|
12
|
+
readonly address: import("abitype").Address;
|
|
13
|
+
readonly read: {
|
|
14
|
+
readonly decimals: () => 6;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
readonly EURC: {
|
|
18
|
+
readonly address: import("abitype").Address;
|
|
19
|
+
readonly read: {
|
|
20
|
+
readonly decimals: () => 6;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
ensTlds?: readonly string[] | undefined;
|
|
25
|
+
id: number;
|
|
26
|
+
name: "Solana Mainnet";
|
|
27
|
+
nativeCurrency: {
|
|
28
|
+
readonly decimals: 9;
|
|
29
|
+
readonly name: "Solana";
|
|
30
|
+
readonly symbol: "SOL";
|
|
31
|
+
};
|
|
32
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
33
|
+
rpcUrls: {
|
|
34
|
+
readonly default: {
|
|
35
|
+
readonly http: readonly ["https://api.mainnet-beta.solana.com"];
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
sourceId?: number | undefined | undefined;
|
|
39
|
+
testnet?: boolean | undefined | undefined;
|
|
40
|
+
custom?: Record<string, unknown> | undefined;
|
|
41
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
42
|
+
formatters?: undefined;
|
|
43
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
44
|
+
readonly blockchainId: "SOL";
|
|
45
|
+
readonly blockchainVm: "SVM";
|
|
46
|
+
}, {
|
|
47
|
+
blockExplorers: {
|
|
48
|
+
readonly default: {
|
|
49
|
+
readonly name: "Solscan";
|
|
50
|
+
readonly url: "https://solscan.io/?cluster=devnet";
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
blockTime?: number | undefined | undefined;
|
|
54
|
+
contracts: {
|
|
55
|
+
readonly USDC: {
|
|
56
|
+
readonly address: import("abitype").Address;
|
|
57
|
+
readonly abi: undefined;
|
|
58
|
+
readonly read: {
|
|
59
|
+
readonly decimals: () => 6;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
readonly EURC: {
|
|
63
|
+
readonly address: import("abitype").Address;
|
|
64
|
+
readonly read: {
|
|
65
|
+
readonly decimals: () => 6;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
ensTlds?: readonly string[] | undefined;
|
|
70
|
+
id: number;
|
|
71
|
+
name: "Solana Devnet";
|
|
72
|
+
nativeCurrency: {
|
|
73
|
+
readonly decimals: 9;
|
|
74
|
+
readonly name: "Solana";
|
|
75
|
+
readonly symbol: "SOL";
|
|
76
|
+
};
|
|
77
|
+
experimental_preconfirmationTime?: number | undefined | undefined;
|
|
78
|
+
rpcUrls: {
|
|
79
|
+
readonly default: {
|
|
80
|
+
readonly http: readonly ["https://api.devnet.solana.com"];
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
sourceId?: number | undefined | undefined;
|
|
84
|
+
testnet: true;
|
|
85
|
+
custom?: Record<string, unknown> | undefined;
|
|
86
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
87
|
+
formatters?: undefined;
|
|
88
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
89
|
+
readonly blockchainId: "SOL-DEVNET";
|
|
90
|
+
readonly blockchainVm: "SVM";
|
|
91
|
+
}];
|
|
92
|
+
export type Chain = (typeof SUPPORTED_CHAINS)[number];
|
|
93
|
+
export declare function extractChain<const chains extends Chain[], chain extends chains[number], chainId extends chain['id']>({ id, }: {
|
|
94
|
+
id: chainId;
|
|
95
|
+
}): Extract<chain, {
|
|
96
|
+
id: chainId;
|
|
97
|
+
}>;
|
|
98
|
+
export * from './actions/index.js';
|
|
99
|
+
export * from './constants.js';
|
|
100
|
+
export * from './transports/index.js';
|
|
101
|
+
export * from './utils/index.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright (c) 2025, Circle Internet Group, Inc.
|
|
2
|
+
// All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Circle Internet Group, Inc. CONFIDENTIAL
|
|
5
|
+
//
|
|
6
|
+
// This file includes unpublished proprietary source code of Circle Internet
|
|
7
|
+
// Group, Inc. The copyright notice above does not
|
|
8
|
+
// evidence any actual or intended publication of such source code. Disclosure
|
|
9
|
+
// of this source code or any related proprietary information is strictly
|
|
10
|
+
// prohibited without the express written permission of Circle Internet Group, Inc.
|
|
11
|
+
import { SOL, SOL_DEVNET } from '../../chains/index.js';
|
|
12
|
+
import { extractChain as _extractChain } from '../../extractChain.js';
|
|
13
|
+
export const NAME = 'solana';
|
|
14
|
+
export const SUPPORTED_CHAINS = [SOL, SOL_DEVNET];
|
|
15
|
+
export function extractChain({ id, }) {
|
|
16
|
+
return _extractChain({ id, chains: SUPPORTED_CHAINS });
|
|
17
|
+
}
|
|
18
|
+
export * from './actions/index.js';
|
|
19
|
+
export * from './constants.js';
|
|
20
|
+
export * from './transports/index.js';
|
|
21
|
+
export * from './utils/index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// Copyright (c) 2025, Circle Internet Group, Inc.
|
|
2
|
+
// All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Circle Internet Group, Inc. CONFIDENTIAL
|
|
5
|
+
//
|
|
6
|
+
// This file includes unpublished proprietary source code of Circle Internet
|
|
7
|
+
// Group, Inc. The copyright notice above does not
|
|
8
|
+
// evidence any actual or intended publication of such source code. Disclosure
|
|
9
|
+
// of this source code or any related proprietary information is strictly
|
|
10
|
+
// prohibited without the express written permission of Circle Internet Group, Inc.
|
|
11
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
12
|
+
import { SOL, SOL_DEVNET } from '../../chains/index.js';
|
|
13
|
+
import { extractChain as _extractChain } from '../../extractChain.js';
|
|
14
|
+
import * as solanaIndex from './index.js';
|
|
15
|
+
import { NAME, SUPPORTED_CHAINS, extractChain } from './index.js';
|
|
16
|
+
// Mock the extractChain dependency
|
|
17
|
+
vi.mock('../../extractChain.js', () => ({
|
|
18
|
+
extractChain: vi.fn(),
|
|
19
|
+
}));
|
|
20
|
+
const mockedExtractChain = vi.mocked(_extractChain);
|
|
21
|
+
describe('providers/solana/index', () => {
|
|
22
|
+
describe('constants', () => {
|
|
23
|
+
it('should export NAME as "solana"', () => {
|
|
24
|
+
expect(NAME).toBe('solana');
|
|
25
|
+
expect(NAME).toEqual(expect.any(String));
|
|
26
|
+
});
|
|
27
|
+
it('should export SUPPORTED_CHAINS with correct chains', () => {
|
|
28
|
+
expect(SUPPORTED_CHAINS).toEqual([SOL, SOL_DEVNET]);
|
|
29
|
+
expect(SUPPORTED_CHAINS).toHaveLength(2);
|
|
30
|
+
expect(SUPPORTED_CHAINS).toContain(SOL);
|
|
31
|
+
expect(SUPPORTED_CHAINS).toContain(SOL_DEVNET);
|
|
32
|
+
});
|
|
33
|
+
it('should have SUPPORTED_CHAINS as readonly array', () => {
|
|
34
|
+
expect(Array.isArray(SUPPORTED_CHAINS)).toBe(true);
|
|
35
|
+
// Test that it's a const assertion (readonly in TypeScript)
|
|
36
|
+
// Note: TypeScript readonly is compile-time only, runtime behavior is still mutable
|
|
37
|
+
expect(SUPPORTED_CHAINS).toBeInstanceOf(Array);
|
|
38
|
+
expect(Object.isFrozen(SUPPORTED_CHAINS)).toBe(false); // It's not frozen at runtime
|
|
39
|
+
// But we can verify it has the expected type structure
|
|
40
|
+
expect(SUPPORTED_CHAINS).toEqual(expect.arrayContaining([SOL, SOL_DEVNET]));
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
describe('Chain type', () => {
|
|
44
|
+
it('should have Chain type that matches SUPPORTED_CHAINS elements', () => {
|
|
45
|
+
// Type test - if this compiles, the type is correct
|
|
46
|
+
const testChain1 = SOL;
|
|
47
|
+
const testChain2 = SOL_DEVNET;
|
|
48
|
+
expect(testChain1).toBe(SOL);
|
|
49
|
+
expect(testChain2).toBe(SOL_DEVNET);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe('extractChain function', () => {
|
|
53
|
+
beforeEach(() => {
|
|
54
|
+
vi.clearAllMocks();
|
|
55
|
+
});
|
|
56
|
+
it('should call _extractChain with correct parameters', () => {
|
|
57
|
+
const mockResult = SOL;
|
|
58
|
+
mockedExtractChain.mockReturnValue(mockResult);
|
|
59
|
+
const result = extractChain({ id: SOL.id });
|
|
60
|
+
expect(mockedExtractChain).toHaveBeenCalledWith({
|
|
61
|
+
id: SOL.id,
|
|
62
|
+
chains: SUPPORTED_CHAINS,
|
|
63
|
+
});
|
|
64
|
+
expect(result).toBe(mockResult);
|
|
65
|
+
});
|
|
66
|
+
it('should work with SOL chain id', () => {
|
|
67
|
+
const mockResult = SOL;
|
|
68
|
+
mockedExtractChain.mockReturnValue(mockResult);
|
|
69
|
+
const result = extractChain({ id: SOL.id });
|
|
70
|
+
expect(mockedExtractChain).toHaveBeenCalledWith({
|
|
71
|
+
id: SOL.id,
|
|
72
|
+
chains: SUPPORTED_CHAINS,
|
|
73
|
+
});
|
|
74
|
+
expect(result).toBe(mockResult);
|
|
75
|
+
});
|
|
76
|
+
it('should work with SOL_DEVNET chain id', () => {
|
|
77
|
+
const mockResult = SOL_DEVNET;
|
|
78
|
+
mockedExtractChain.mockReturnValue(mockResult);
|
|
79
|
+
const result = extractChain({ id: SOL_DEVNET.id });
|
|
80
|
+
expect(mockedExtractChain).toHaveBeenCalledWith({
|
|
81
|
+
id: SOL_DEVNET.id,
|
|
82
|
+
chains: SUPPORTED_CHAINS,
|
|
83
|
+
});
|
|
84
|
+
expect(result).toBe(mockResult);
|
|
85
|
+
});
|
|
86
|
+
it('should preserve type information for chain extraction', () => {
|
|
87
|
+
const mockResult = SOL;
|
|
88
|
+
mockedExtractChain.mockReturnValue(mockResult);
|
|
89
|
+
// Type test - ensure the function maintains proper generic typing
|
|
90
|
+
const result = extractChain({ id: SOL.id });
|
|
91
|
+
// This should compile without issues if types are correct
|
|
92
|
+
expect(result).toBe(mockResult);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
describe('re-exports', () => {
|
|
96
|
+
it('should re-export actions', () => {
|
|
97
|
+
// Test that actions are exported (they come from ./actions/index.js)
|
|
98
|
+
// We can't test all individual actions easily, but we can test that exports exist
|
|
99
|
+
expect(typeof solanaIndex).toBe('object');
|
|
100
|
+
// Check for some known action exports that should be available
|
|
101
|
+
expect('getAccountInfo' in solanaIndex).toBe(true);
|
|
102
|
+
expect('getBalance' in solanaIndex).toBe(true);
|
|
103
|
+
expect('getBlock' in solanaIndex).toBe(true);
|
|
104
|
+
expect('sendTransaction' in solanaIndex).toBe(true);
|
|
105
|
+
});
|
|
106
|
+
it('should re-export transports', () => {
|
|
107
|
+
// Test that transports are exported (they come from ./transports/index.js)
|
|
108
|
+
expect('http' in solanaIndex).toBe(true);
|
|
109
|
+
expect('Provider' in solanaIndex).toBe(true);
|
|
110
|
+
});
|
|
111
|
+
it('should re-export utils', () => {
|
|
112
|
+
// Test that utils are exported (they come from ./utils/index.js)
|
|
113
|
+
expect('toBase64EncodedWireTransaction' in solanaIndex).toBe(true);
|
|
114
|
+
});
|
|
115
|
+
it('should have all expected top-level exports', () => {
|
|
116
|
+
const expectedExports = [
|
|
117
|
+
'NAME',
|
|
118
|
+
'SUPPORTED_CHAINS',
|
|
119
|
+
'extractChain',
|
|
120
|
+
// From actions
|
|
121
|
+
'getAccountInfo',
|
|
122
|
+
'getBalance',
|
|
123
|
+
'getBlock',
|
|
124
|
+
'sendTransaction',
|
|
125
|
+
'actions',
|
|
126
|
+
// From transports
|
|
127
|
+
'http',
|
|
128
|
+
'Provider',
|
|
129
|
+
// From utils
|
|
130
|
+
'toBase64EncodedWireTransaction',
|
|
131
|
+
];
|
|
132
|
+
expectedExports.forEach((exportName) => {
|
|
133
|
+
expect(exportName in solanaIndex).toBe(true);
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
describe('module structure', () => {
|
|
138
|
+
it('should export the correct number of items', () => {
|
|
139
|
+
const exports = Object.keys(solanaIndex);
|
|
140
|
+
// Should have our main exports plus all re-exports
|
|
141
|
+
expect(exports.length).toBeGreaterThan(50); // Many actions + transports + utils + main exports
|
|
142
|
+
expect(exports).toContain('NAME');
|
|
143
|
+
expect(exports).toContain('SUPPORTED_CHAINS');
|
|
144
|
+
expect(exports).toContain('extractChain');
|
|
145
|
+
});
|
|
146
|
+
it('should not export any undefined values', () => {
|
|
147
|
+
Object.values(solanaIndex).forEach((exportValue) => {
|
|
148
|
+
expect(exportValue).toBeDefined();
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
describe('integration', () => {
|
|
153
|
+
it('should work with the actual chain definitions', () => {
|
|
154
|
+
// Test with real chain objects to ensure integration works
|
|
155
|
+
expect(SOL.id).toBeDefined();
|
|
156
|
+
expect(SOL_DEVNET.id).toBeDefined();
|
|
157
|
+
expect(SOL.name).toBe('Solana Mainnet');
|
|
158
|
+
expect(SOL_DEVNET.name).toBe('Solana Devnet');
|
|
159
|
+
});
|
|
160
|
+
it('should maintain consistency between supported chains and imports', () => {
|
|
161
|
+
// Ensure SUPPORTED_CHAINS contains the exact same objects as imported
|
|
162
|
+
expect(SUPPORTED_CHAINS[0]).toBe(SOL);
|
|
163
|
+
expect(SUPPORTED_CHAINS[1]).toBe(SOL_DEVNET);
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright (c) 2025, Circle Internet Group, Inc.
|
|
2
|
+
// All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Circle Internet Group, Inc. CONFIDENTIAL
|
|
5
|
+
//
|
|
6
|
+
// This file includes unpublished proprietary source code of Circle Internet
|
|
7
|
+
// Group, Inc. The copyright notice above does not
|
|
8
|
+
// evidence any actual or intended publication of such source code. Disclosure
|
|
9
|
+
// of this source code or any related proprietary information is strictly
|
|
10
|
+
// prohibited without the express written permission of Circle Internet Group, Inc.
|
|
11
|
+
import { custom } from 'viem';
|
|
12
|
+
import { NAME, Provider } from '../index.js';
|
|
13
|
+
export function http({ clusters, name = NAME, }) {
|
|
14
|
+
const provider = new Provider({ clusters });
|
|
15
|
+
const config = { name, key: name };
|
|
16
|
+
return custom(provider, config);
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// Copyright (c) 2025, Circle Internet Group, Inc.
|
|
2
|
+
// All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Circle Internet Group, Inc. CONFIDENTIAL
|
|
5
|
+
//
|
|
6
|
+
// This file includes unpublished proprietary source code of Circle Internet
|
|
7
|
+
// Group, Inc. The copyright notice above does not
|
|
8
|
+
// evidence any actual or intended publication of such source code. Disclosure
|
|
9
|
+
// of this source code or any related proprietary information is strictly
|
|
10
|
+
// prohibited without the express written permission of Circle Internet Group, Inc.
|
|
11
|
+
import { createSolanaRpc } from '@solana/kit';
|
|
12
|
+
import { custom } from 'viem';
|
|
13
|
+
import { describe, expect, it, vi, beforeEach } from 'vitest';
|
|
14
|
+
import { Provider } from '../index.js';
|
|
15
|
+
import { http } from './http.js';
|
|
16
|
+
// Mock viem's custom function
|
|
17
|
+
vi.mock('viem', () => ({
|
|
18
|
+
custom: vi.fn((provider, config) => ({
|
|
19
|
+
provider,
|
|
20
|
+
config,
|
|
21
|
+
type: 'custom',
|
|
22
|
+
})),
|
|
23
|
+
}));
|
|
24
|
+
// Mock the Provider class
|
|
25
|
+
vi.mock('../index.js', () => ({
|
|
26
|
+
Provider: vi.fn((config) => ({
|
|
27
|
+
config,
|
|
28
|
+
mockProvider: true,
|
|
29
|
+
})),
|
|
30
|
+
NAME: 'solana',
|
|
31
|
+
}));
|
|
32
|
+
describe.concurrent('http transport', () => {
|
|
33
|
+
beforeEach(() => {
|
|
34
|
+
vi.resetAllMocks();
|
|
35
|
+
});
|
|
36
|
+
it('should be exported', () => {
|
|
37
|
+
expect(http).toBeDefined();
|
|
38
|
+
expect(http).toEqual(expect.any(Function));
|
|
39
|
+
});
|
|
40
|
+
it('should create Provider with correct parameters', () => {
|
|
41
|
+
const clusters = { 'mainnet-beta': createSolanaRpc('https://api.mainnet-beta.solana.com') };
|
|
42
|
+
http({ clusters });
|
|
43
|
+
expect(Provider).toHaveBeenCalledWith({ clusters });
|
|
44
|
+
});
|
|
45
|
+
it('should create Provider with undefined clusters when not provided', () => {
|
|
46
|
+
http({});
|
|
47
|
+
expect(Provider).toHaveBeenCalledWith({ clusters: undefined });
|
|
48
|
+
});
|
|
49
|
+
it('should call viem custom function with provider and config', () => {
|
|
50
|
+
const name = 'custom-solana';
|
|
51
|
+
http({ name });
|
|
52
|
+
expect(custom).toHaveBeenCalledWith(expect.any(Object), // The provider instance
|
|
53
|
+
{
|
|
54
|
+
name: 'custom-solana',
|
|
55
|
+
key: 'custom-solana',
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
it('should use default name when not provided', () => {
|
|
59
|
+
http({});
|
|
60
|
+
expect(custom).toHaveBeenCalledWith(expect.any(Object), {
|
|
61
|
+
name: 'solana',
|
|
62
|
+
key: 'solana',
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
it('should return the result of viem custom function', () => {
|
|
66
|
+
const mockResult = vi.fn().mockReturnValue({ provider: {}, config: {}, type: 'custom', request: vi.fn() });
|
|
67
|
+
vi.mocked(custom).mockReturnValue(mockResult);
|
|
68
|
+
const result = http({});
|
|
69
|
+
expect(result).toBe(mockResult);
|
|
70
|
+
});
|
|
71
|
+
it('should handle both clusters and name parameters', () => {
|
|
72
|
+
const clusters = { devnet: createSolanaRpc('https://api.testnet.solana.com') };
|
|
73
|
+
const name = 'testnet-solana';
|
|
74
|
+
http({ clusters, name });
|
|
75
|
+
expect(Provider).toHaveBeenCalledWith({ clusters });
|
|
76
|
+
expect(custom).toHaveBeenCalledWith(expect.any(Object), {
|
|
77
|
+
name: 'testnet-solana',
|
|
78
|
+
key: 'testnet-solana',
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
it('should handle multiple clusters', () => {
|
|
82
|
+
const clusters = { 'mainnet-beta': createSolanaRpc('https://api.devnet.solana.com') };
|
|
83
|
+
http({ clusters });
|
|
84
|
+
expect(Provider).toHaveBeenCalledWith({ clusters });
|
|
85
|
+
});
|
|
86
|
+
});
|