@circle-fin/usdckit 0.21.1 → 0.23.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/abis/EIP2612.d.ts +197 -0
- package/dist/cjs/abis/EIP2612.js +78 -0
- 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 +75 -1
- package/dist/cjs/actions/index.js +19 -9
- package/dist/cjs/actions/index.test.js +6 -0
- package/dist/cjs/actions/permit.d.ts +19 -0
- package/dist/cjs/actions/permit.js +50 -0
- package/dist/cjs/actions/permit.test.js +652 -0
- package/dist/cjs/actions/signEIP2612Permit.d.ts +130 -0
- package/dist/cjs/actions/signEIP2612Permit.js +128 -0
- package/dist/cjs/actions/signEIP2612Permit.test.js +434 -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/ARC_TESTNET.d.ts +180 -0
- package/dist/cjs/chains/ARC_TESTNET.js +57 -0
- package/dist/cjs/chains/index.d.ts +1 -0
- package/dist/cjs/chains/index.js +3 -1
- package/dist/cjs/chains/index.test.js +1 -0
- 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 +288 -109
- package/dist/cjs/extractChain.test.js +1 -0
- 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 +181 -1
- package/dist/cjs/providers/circle-wallets/actions/createAccount.js +3 -0
- 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 +7 -1
- package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.d.ts +8 -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 +181 -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 +4906 -67
- package/dist/cjs/providers/circle-wallets/index.js +42 -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 +114 -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.d.ts +1 -0
- 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.d.ts +1 -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/abis/EIP2612.d.ts +197 -0
- package/dist/esm/abis/EIP2612.js +76 -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 +75 -1
- package/dist/esm/actions/index.js +19 -9
- package/dist/esm/actions/index.test.js +6 -0
- package/dist/esm/actions/permit.d.ts +19 -0
- package/dist/esm/actions/permit.js +44 -0
- package/dist/esm/actions/permit.test.d.ts +1 -0
- package/dist/esm/actions/permit.test.js +650 -0
- package/dist/esm/actions/signEIP2612Permit.d.ts +130 -0
- package/dist/esm/actions/signEIP2612Permit.js +122 -0
- package/dist/esm/actions/signEIP2612Permit.test.d.ts +1 -0
- package/dist/esm/actions/signEIP2612Permit.test.js +432 -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/ARC_TESTNET.d.ts +180 -0
- package/dist/esm/chains/ARC_TESTNET.js +54 -0
- package/dist/esm/chains/index.d.ts +1 -0
- package/dist/esm/chains/index.js +1 -0
- package/dist/esm/chains/index.test.js +1 -0
- 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 +288 -109
- package/dist/esm/extractChain.test.js +2 -1
- 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 +181 -1
- package/dist/esm/providers/circle-wallets/actions/createAccount.js +3 -0
- 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 +7 -1
- package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.d.ts +8 -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 +181 -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 +4906 -67
- package/dist/esm/providers/circle-wallets/index.js +38 -1
- 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 +114 -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 +13 -4
- 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 → actions/permit.test.d.ts} +0 -0
- /package/dist/{esm/providers/circle-wallets/actions/signTypedData.test.d.ts → cjs/actions/signEIP2612Permit.test.d.ts} +0 -0
- /package/dist/{esm/providers/circle-wallets/actions/waitForTransactionHash.test.d.ts → cjs/providers/circle-wallets/utils/toSolanaSigner.test.d.ts} +0 -0
|
@@ -0,0 +1,106 @@
|
|
|
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 { expect, describe, it } from 'vitest';
|
|
12
|
+
import { toBase64EncodedWireTransaction } from './toBase64EncodedWireTransaction.js';
|
|
13
|
+
describe.concurrent('toBase64EncodedWireTransaction', () => {
|
|
14
|
+
it('should convert Buffer to base64 string', () => {
|
|
15
|
+
const txBytes = new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]); // "Hello World"
|
|
16
|
+
const buffer = Buffer.from(txBytes);
|
|
17
|
+
const expected = 'SGVsbG8gV29ybGQ=';
|
|
18
|
+
const result = toBase64EncodedWireTransaction(buffer);
|
|
19
|
+
expect(result).toBe(expected);
|
|
20
|
+
expect(typeof result).toBe('string');
|
|
21
|
+
});
|
|
22
|
+
it('should convert Buffer with transaction-like data to base64', () => {
|
|
23
|
+
// Simulate a more realistic transaction buffer with binary data
|
|
24
|
+
const txBytes = new Uint8Array([
|
|
25
|
+
0x01, 0x00, 0x01, 0x03, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1,
|
|
26
|
+
0xf0, 0xef, 0xee, 0xed, 0xec,
|
|
27
|
+
]);
|
|
28
|
+
const buffer = Buffer.from(txBytes);
|
|
29
|
+
const expected = buffer.toString('base64');
|
|
30
|
+
const result = toBase64EncodedWireTransaction(buffer);
|
|
31
|
+
expect(result).toBe(expected);
|
|
32
|
+
expect(typeof result).toBe('string');
|
|
33
|
+
});
|
|
34
|
+
it('should pass through string input unchanged', () => {
|
|
35
|
+
const base64String = 'SGVsbG8gV29ybGQ=';
|
|
36
|
+
const result = toBase64EncodedWireTransaction(base64String);
|
|
37
|
+
expect(result).toBe(base64String);
|
|
38
|
+
expect(typeof result).toBe('string');
|
|
39
|
+
});
|
|
40
|
+
it('should pass through already encoded transaction string', () => {
|
|
41
|
+
const encodedTx = 'AQABAxYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYW';
|
|
42
|
+
const result = toBase64EncodedWireTransaction(encodedTx);
|
|
43
|
+
expect(result).toBe(encodedTx);
|
|
44
|
+
expect(typeof result).toBe('string');
|
|
45
|
+
});
|
|
46
|
+
it('should pass through Base64EncodedWireTransaction type unchanged', () => {
|
|
47
|
+
const encodedTx = 'SGVsbG8gV29ybGQ=';
|
|
48
|
+
const result = toBase64EncodedWireTransaction(encodedTx);
|
|
49
|
+
expect(result).toBe(encodedTx);
|
|
50
|
+
expect(typeof result).toBe('string');
|
|
51
|
+
});
|
|
52
|
+
it('should handle empty Buffer', () => {
|
|
53
|
+
const buffer = Buffer.from([]);
|
|
54
|
+
const expected = '';
|
|
55
|
+
const result = toBase64EncodedWireTransaction(buffer);
|
|
56
|
+
expect(result).toBe(expected);
|
|
57
|
+
expect(typeof result).toBe('string');
|
|
58
|
+
});
|
|
59
|
+
it('should handle empty string', () => {
|
|
60
|
+
const emptyString = '';
|
|
61
|
+
const result = toBase64EncodedWireTransaction(emptyString);
|
|
62
|
+
expect(result).toBe(emptyString);
|
|
63
|
+
expect(typeof result).toBe('string');
|
|
64
|
+
});
|
|
65
|
+
it('should handle single byte Buffer', () => {
|
|
66
|
+
const buffer = Buffer.from([65]); // 'A' in ASCII
|
|
67
|
+
const expected = 'QQ==';
|
|
68
|
+
const result = toBase64EncodedWireTransaction(buffer);
|
|
69
|
+
expect(result).toBe(expected);
|
|
70
|
+
expect(typeof result).toBe('string');
|
|
71
|
+
});
|
|
72
|
+
it('should handle large Buffer data', () => {
|
|
73
|
+
// Create a larger buffer to test with more realistic transaction sizes
|
|
74
|
+
const largeArray = new Array(1000).fill(0).map((_, i) => i % 256);
|
|
75
|
+
const buffer = Buffer.from(largeArray);
|
|
76
|
+
const expected = buffer.toString('base64');
|
|
77
|
+
const result = toBase64EncodedWireTransaction(buffer);
|
|
78
|
+
expect(result).toBe(expected);
|
|
79
|
+
expect(typeof result).toBe('string');
|
|
80
|
+
expect(result.length).toBeGreaterThan(0);
|
|
81
|
+
});
|
|
82
|
+
it('should maintain type safety with Base64EncodedWireTransaction return type', () => {
|
|
83
|
+
const buffer = Buffer.from('test');
|
|
84
|
+
const stringInput = 'dGVzdA==';
|
|
85
|
+
const typedInput = 'dGVzdA==';
|
|
86
|
+
// All should return the same type
|
|
87
|
+
const result1 = toBase64EncodedWireTransaction(buffer);
|
|
88
|
+
const result2 = toBase64EncodedWireTransaction(stringInput);
|
|
89
|
+
const result3 = toBase64EncodedWireTransaction(typedInput);
|
|
90
|
+
expect(typeof result1).toBe('string');
|
|
91
|
+
expect(typeof result2).toBe('string');
|
|
92
|
+
expect(typeof result3).toBe('string');
|
|
93
|
+
});
|
|
94
|
+
it('should produce consistent results for equivalent inputs', () => {
|
|
95
|
+
const originalData = 'Hello, Solana!';
|
|
96
|
+
const buffer = Buffer.from(originalData, 'utf8');
|
|
97
|
+
const expectedBase64 = buffer.toString('base64');
|
|
98
|
+
// Test that buffer conversion produces the same result as manual base64 encoding
|
|
99
|
+
const result = toBase64EncodedWireTransaction(buffer);
|
|
100
|
+
expect(result).toBe(expectedBase64);
|
|
101
|
+
// Test that passing the base64 string returns the same value
|
|
102
|
+
const stringResult = toBase64EncodedWireTransaction(expectedBase64);
|
|
103
|
+
expect(stringResult).toBe(expectedBase64);
|
|
104
|
+
expect(stringResult).toBe(result);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Address, Account, ControlFlowOptions,
|
|
1
|
+
import type { Address, Account, ControlFlowOptions, BaseUnits } from '../../../types.js';
|
|
2
2
|
import type { Chain } from '../index.js';
|
|
3
|
-
import type { Abi, FeeValuesEIP1559 } from 'viem';
|
|
3
|
+
import type { Abi, Client, FeeValuesEIP1559 } from 'viem';
|
|
4
4
|
/**
|
|
5
5
|
* Parameters for the {@link exactInputSingle} function.
|
|
6
6
|
*/
|
|
@@ -53,4 +53,4 @@ export type ExactInputSingleParams = {
|
|
|
53
53
|
* // => '0xTransactionHash'
|
|
54
54
|
* ```
|
|
55
55
|
*/
|
|
56
|
-
export declare function exactInputSingle(client:
|
|
56
|
+
export declare function exactInputSingle(client: Client, params: ExactInputSingleParams & ControlFlowOptions): Promise<`0x${string}`>;
|
|
@@ -8,10 +8,11 @@
|
|
|
8
8
|
// evidence any actual or intended publication of such source code. Disclosure
|
|
9
9
|
// of this source code or any related proprietary information is strictly
|
|
10
10
|
// prohibited without the express written permission of Circle Internet Group, Inc.
|
|
11
|
-
import {
|
|
11
|
+
import { erc20Abi } from 'viem';
|
|
12
12
|
import { simulateContract as _simulateContract, waitForTransactionReceipt as _waitForTransactionReceipt, } from 'viem/actions';
|
|
13
13
|
import { getAction } from 'viem/utils';
|
|
14
14
|
import { UnsupportedChainError } from '../../../errors/UnsupportedChainError.js';
|
|
15
|
+
import { getClient } from '../../../utils/getClient.js';
|
|
15
16
|
import { getContract } from '../../../utils/getContract.js';
|
|
16
17
|
import { parseAccount } from '../../../utils/parseAccount.js';
|
|
17
18
|
import { parseAddress } from '../../../utils/parseAddress.js';
|
|
@@ -41,15 +42,14 @@ export async function exactInputSingle(client, params) {
|
|
|
41
42
|
// REF: https://docs.uniswap.org/contracts/v3/reference/periphery/lens/QuoterV2#quoteexactinputsingle
|
|
42
43
|
const { tokenIn: _tokenIn, tokenOut: _tokenOut, amountIn, amountOutMinimum = 0n, fee = 3000, sqrtPriceLimitX96 = 0n, withApprove = true, chain: _chain = client.chain, gas, fees, account: _account, } = params;
|
|
43
44
|
const chain = extractChain(_chain) ?? raise(new UnsupportedChainError());
|
|
44
|
-
const
|
|
45
|
+
const _client = getClient(client, chain);
|
|
45
46
|
const writeContract = getAction(client, _writeContract, 'writeContract');
|
|
46
47
|
const waitForTransactionReceipt = getAction(client, _waitForTransactionReceipt, 'waitForTransactionReceipt');
|
|
47
|
-
|
|
48
|
-
const simulateContract = getAction(publicClient, _simulateContract, 'simulateContract');
|
|
48
|
+
const simulateContract = getAction(_client, _simulateContract, 'simulateContract');
|
|
49
49
|
const router = getContract({
|
|
50
50
|
address: chain.contracts.SwapRouter02.address,
|
|
51
51
|
abi: chain.contracts.SwapRouter02.abi,
|
|
52
|
-
client:
|
|
52
|
+
client: _client,
|
|
53
53
|
});
|
|
54
54
|
const tokenIn = parseAddress(_tokenIn);
|
|
55
55
|
const tokenOut = parseAddress(_tokenOut);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Address, ChainContract
|
|
1
|
+
import type { Address, ChainContract } from '../../../types.js';
|
|
2
2
|
import type { Chain } from '../index.js';
|
|
3
|
+
import type { Client } from 'viem';
|
|
3
4
|
/**
|
|
4
5
|
* Parameters for the {@link getPool} function.
|
|
5
6
|
*/
|
|
@@ -36,7 +37,7 @@ export type GetPoolParams = {
|
|
|
36
37
|
* // }
|
|
37
38
|
* ```
|
|
38
39
|
*/
|
|
39
|
-
export declare function getPool(client:
|
|
40
|
+
export declare function getPool(client: Client, params: GetPoolParams): Promise<{
|
|
40
41
|
address: `0x${string}`;
|
|
41
42
|
tokenIn: Address;
|
|
42
43
|
tokenOut: Address;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Address, ChainContract,
|
|
1
|
+
import type { Address, ChainContract, NativeUnits, BaseUnits } from '../../../types.js';
|
|
2
2
|
import type { Chain } from '../index.js';
|
|
3
|
+
import type { Client } from 'viem';
|
|
3
4
|
/**
|
|
4
5
|
* Parameters for the {@link quoteExactInputSingle} function.
|
|
5
6
|
*/
|
|
@@ -40,7 +41,7 @@ export type QuoteExactInputSingleParams = {
|
|
|
40
41
|
* // }
|
|
41
42
|
* ```
|
|
42
43
|
*/
|
|
43
|
-
export declare function quoteExactInputSingle(client:
|
|
44
|
+
export declare function quoteExactInputSingle(client: Client, params: QuoteExactInputSingleParams): Promise<{
|
|
44
45
|
tokenOutAmount: bigint;
|
|
45
46
|
sqrtPriceX96After: bigint;
|
|
46
47
|
initializedTicksCrossed: bigint;
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
|
-
import type { Actions as CoreActions } from './actions/index.js';
|
|
2
|
-
import type * as chains from './chains/index.js';
|
|
3
|
-
import type { Actions as CircleWalletsActions } from './providers/circle-wallets/actions/index.js';
|
|
4
|
-
import type { EIP1474Methods as CircleWalletsMethods } from './providers/circle-wallets/transports/index.js';
|
|
5
|
-
import type { Actions as CrossChainTransferProtocolActions } from './providers/cross-chain-transfer-protocol/actions/index.js';
|
|
6
|
-
import type { EIP1474Methods as CrossChainTransferMethods } from './providers/cross-chain-transfer-protocol/transports/index.js';
|
|
7
|
-
import type { Actions as UniswapActions } from './providers/uniswap/actions/index.js';
|
|
8
|
-
import type { Logger } from 'pino';
|
|
9
|
-
import type { Account, Client, EIP1474Methods, PublicActions, Transport, WalletActions } from 'viem';
|
|
10
1
|
export type { Account, Address, ChainContract, GetContractReturnType as Contract, FeeValuesEIP1559, Assign as Merge, } from 'viem';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Utility type that returns a tuple type with the first element removed.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* type Args = [string, number, boolean];
|
|
7
|
+
* type Rest = DropFirst<Args>; // [number, boolean]
|
|
8
|
+
*/
|
|
9
|
+
export type DropFirst<T extends unknown[]> = T extends [unknown, ...infer R] ? R : never;
|
|
18
10
|
/**
|
|
19
11
|
* The primary denomination of a blockchain’s currency
|
|
20
12
|
*
|
package/dist/esm/types.js
CHANGED
|
@@ -1,11 +1 @@
|
|
|
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
1
|
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Chain } from '../chains.js';
|
|
2
|
+
import type { Transport } from 'viem';
|
|
3
|
+
export interface TransportFactoryParams {
|
|
4
|
+
/** Required chain ID for the transport */
|
|
5
|
+
chainId: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Configuration parameters for creating a wagmi config with transport factory.
|
|
9
|
+
*/
|
|
10
|
+
type CreateConfigParams = {
|
|
11
|
+
/** Array of blockchain chains to support. Must contain at least one chain. */
|
|
12
|
+
chains: Chain[];
|
|
13
|
+
/** Factory function that creates a transport for a given chain ID. */
|
|
14
|
+
transportFactory: (params: TransportFactoryParams) => Transport;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Creates a wagmi configuration with fallback transport support for multiple chains.
|
|
18
|
+
*
|
|
19
|
+
* @param params - Configuration parameters including chains and transport factory
|
|
20
|
+
* @returns Wagmi configuration object ready for use with clients
|
|
21
|
+
* @throws Will throw an error when chains array is empty
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const config = createConfig({
|
|
26
|
+
* chains: [chains.ETH_SEPOLIA, chains.MATIC_AMOY],
|
|
27
|
+
* transportFactory: ({ chainId }) => circleWalletsTransport({
|
|
28
|
+
* apiKey: 'your-api-key',
|
|
29
|
+
* entitySecret: 'your-entity-secret',
|
|
30
|
+
* chainId
|
|
31
|
+
* })
|
|
32
|
+
* })
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function createConfig(params: CreateConfigParams): import("@wagmi/core").Config<[Chain, ...Chain[]], Record<number, Transport>, readonly import("@wagmi/core").CreateConnectorFn[]>;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
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 { createConfig as createWagmiConfig } from '@wagmi/core';
|
|
12
|
+
import { fallback } from 'viem';
|
|
13
|
+
import { http as cctpTransport } from '../providers/cross-chain-transfer-protocol/index.js';
|
|
14
|
+
import { http as solanaTransport } from '../providers/solana/index.js';
|
|
15
|
+
/**
|
|
16
|
+
* Creates a wagmi configuration with fallback transport support for multiple chains.
|
|
17
|
+
*
|
|
18
|
+
* @param params - Configuration parameters including chains and transport factory
|
|
19
|
+
* @returns Wagmi configuration object ready for use with clients
|
|
20
|
+
* @throws Will throw an error when chains array is empty
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const config = createConfig({
|
|
25
|
+
* chains: [chains.ETH_SEPOLIA, chains.MATIC_AMOY],
|
|
26
|
+
* transportFactory: ({ chainId }) => circleWalletsTransport({
|
|
27
|
+
* apiKey: 'your-api-key',
|
|
28
|
+
* entitySecret: 'your-entity-secret',
|
|
29
|
+
* chainId
|
|
30
|
+
* })
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function createConfig(params) {
|
|
35
|
+
const { chains, transportFactory } = params;
|
|
36
|
+
if (chains.length === 0) {
|
|
37
|
+
throw new Error('At least one chain must be provided');
|
|
38
|
+
}
|
|
39
|
+
const transports = chains.reduce((acc, chain) => {
|
|
40
|
+
const transportProviders = [cctpTransport({}), solanaTransport({}), transportFactory({ chainId: chain.id })];
|
|
41
|
+
acc[chain.id] = fallback(transportProviders);
|
|
42
|
+
return acc;
|
|
43
|
+
}, {});
|
|
44
|
+
return createWagmiConfig({
|
|
45
|
+
chains: chains,
|
|
46
|
+
transports,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
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 { http } from 'viem';
|
|
12
|
+
import { describe, test, expect, vi } from 'vitest';
|
|
13
|
+
import { ETH_SEPOLIA, MATIC_AMOY } from '../chains/index.js';
|
|
14
|
+
import { createConfig } from './createConfig.js';
|
|
15
|
+
// Mock transport providers
|
|
16
|
+
vi.mock('../providers/circle-wallets/index.js', () => ({
|
|
17
|
+
http: vi.fn(() => ({ type: 'circle-wallets' })),
|
|
18
|
+
}));
|
|
19
|
+
vi.mock('../providers/cross-chain-transfer-protocol/index.js', () => ({
|
|
20
|
+
http: vi.fn(() => ({ type: 'cctp' })),
|
|
21
|
+
}));
|
|
22
|
+
vi.mock('../providers/solana/index.js', () => ({
|
|
23
|
+
http: vi.fn(() => ({ type: 'solana' })),
|
|
24
|
+
}));
|
|
25
|
+
describe('createConfig', () => {
|
|
26
|
+
test('should create config with provided chains', () => {
|
|
27
|
+
const config = createConfig({
|
|
28
|
+
chains: [ETH_SEPOLIA, MATIC_AMOY],
|
|
29
|
+
transportFactory: ({ chainId }) => http(`https://rpc-${chainId}.example.com`),
|
|
30
|
+
});
|
|
31
|
+
expect(config).toBeDefined();
|
|
32
|
+
expect(config.chains).toEqual([ETH_SEPOLIA, MATIC_AMOY]);
|
|
33
|
+
});
|
|
34
|
+
test('should throw error for empty chains array', () => {
|
|
35
|
+
expect(() => createConfig({
|
|
36
|
+
chains: [],
|
|
37
|
+
transportFactory: ({ chainId }) => http(`https://rpc-${chainId}.example.com`),
|
|
38
|
+
})).toThrow('At least one chain must be provided');
|
|
39
|
+
});
|
|
40
|
+
test('should handle single chain', () => {
|
|
41
|
+
const config = createConfig({
|
|
42
|
+
chains: [ETH_SEPOLIA],
|
|
43
|
+
transportFactory: ({ chainId }) => http(`https://rpc-${chainId}.example.com`),
|
|
44
|
+
});
|
|
45
|
+
expect(config).toBeDefined();
|
|
46
|
+
expect(config.chains).toEqual([ETH_SEPOLIA]);
|
|
47
|
+
});
|
|
48
|
+
test('should work with Circle Wallets transport factory', () => {
|
|
49
|
+
const config = createConfig({
|
|
50
|
+
chains: [ETH_SEPOLIA, MATIC_AMOY],
|
|
51
|
+
transportFactory: ({ chainId }) => http(`https://circle-wallets-${chainId}.example.com`),
|
|
52
|
+
});
|
|
53
|
+
expect(config).toBeDefined();
|
|
54
|
+
expect(config.chains).toEqual([ETH_SEPOLIA, MATIC_AMOY]);
|
|
55
|
+
});
|
|
56
|
+
test('should work with custom transport factory', () => {
|
|
57
|
+
const config = createConfig({
|
|
58
|
+
chains: [ETH_SEPOLIA],
|
|
59
|
+
transportFactory: ({ chainId }) => http(`https://custom-rpc-${chainId}.example.com`),
|
|
60
|
+
});
|
|
61
|
+
expect(config).toBeDefined();
|
|
62
|
+
expect(config.chains).toEqual([ETH_SEPOLIA]);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Chain } from '../chains.js';
|
|
2
|
+
import type { CustomWalletClient } from '../client.js';
|
|
3
|
+
import type { TransportFactoryParams } from './createConfig.js';
|
|
4
|
+
import type { Transport } from 'viem';
|
|
5
|
+
export type CreateCustomWalletClientParams = {
|
|
6
|
+
/** Default chain for operations when no chain is specified, defaults to {@link ETH_SEPOLIA} */
|
|
7
|
+
defaultChain?: Chain;
|
|
8
|
+
/** Chains this client will work with */
|
|
9
|
+
chains?: Chain[];
|
|
10
|
+
/** Factory function that creates transport for a given chain */
|
|
11
|
+
customTransportFactory: (params: TransportFactoryParams) => Transport;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Creates a client with a custom wallet provider transport.
|
|
15
|
+
*
|
|
16
|
+
* @param params - The parameters for creating the client
|
|
17
|
+
* @returns A configured Circle client instance with custom wallet support
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* Initialize a client with Fireblocks provider
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { createCustomWalletClient } from '@circle-fin/usdckit/utils'
|
|
23
|
+
* import { custom } from 'viem'
|
|
24
|
+
* import { FireblocksWeb3Provider } from '@fireblocks/fireblocks-web3-provider'
|
|
25
|
+
*
|
|
26
|
+
* const config = {
|
|
27
|
+
* apiKey: process.env.FIREBLOCKS_API_KEY || '',
|
|
28
|
+
* privateKey: process.env.FIREBLOCKS_API_PRIVATE_KEY_PATH || '',
|
|
29
|
+
* vaultAccountIds: ['2'],
|
|
30
|
+
* apiBaseUrl: ApiBaseUrl.Sandbox,
|
|
31
|
+
* };
|
|
32
|
+
*
|
|
33
|
+
* const client = createCustomWalletClient({
|
|
34
|
+
* defaultChain: chains.ETH_SEPOLIA,
|
|
35
|
+
* chains: [chains.ETH_SEPOLIA, chains.MATIC_AMOY],
|
|
36
|
+
* customTransportFactory: ({ chainId }) =>
|
|
37
|
+
* custom(
|
|
38
|
+
* new FireblocksWeb3Provider({
|
|
39
|
+
* ...config,
|
|
40
|
+
* chainId,
|
|
41
|
+
* }),
|
|
42
|
+
* ),
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function createCustomWalletClient(params: CreateCustomWalletClientParams): CustomWalletClient;
|
|
@@ -0,0 +1,78 @@
|
|
|
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 { createClient as createViemClient, fallback, publicActions, walletActions } from 'viem';
|
|
12
|
+
import { actions as coreActions } from '../actions/index.js';
|
|
13
|
+
import * as chains from '../chains/index.js';
|
|
14
|
+
import { actions as crossChainTransferProtocolActions, http as crossChainTransferProtocolTransport, } from '../providers/cross-chain-transfer-protocol/index.js';
|
|
15
|
+
import { actions as solanaActions, http as solanaTransport } from '../providers/solana/index.js';
|
|
16
|
+
import { actions as uniswapActions } from '../providers/uniswap/index.js';
|
|
17
|
+
import { createConfig } from './createConfig.js';
|
|
18
|
+
/**
|
|
19
|
+
* Creates a client with a custom wallet provider transport.
|
|
20
|
+
*
|
|
21
|
+
* @param params - The parameters for creating the client
|
|
22
|
+
* @returns A configured Circle client instance with custom wallet support
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* Initialize a client with Fireblocks provider
|
|
26
|
+
* ```typescript
|
|
27
|
+
* import { createCustomWalletClient } from '@circle-fin/usdckit/utils'
|
|
28
|
+
* import { custom } from 'viem'
|
|
29
|
+
* import { FireblocksWeb3Provider } from '@fireblocks/fireblocks-web3-provider'
|
|
30
|
+
*
|
|
31
|
+
* const config = {
|
|
32
|
+
* apiKey: process.env.FIREBLOCKS_API_KEY || '',
|
|
33
|
+
* privateKey: process.env.FIREBLOCKS_API_PRIVATE_KEY_PATH || '',
|
|
34
|
+
* vaultAccountIds: ['2'],
|
|
35
|
+
* apiBaseUrl: ApiBaseUrl.Sandbox,
|
|
36
|
+
* };
|
|
37
|
+
*
|
|
38
|
+
* const client = createCustomWalletClient({
|
|
39
|
+
* defaultChain: chains.ETH_SEPOLIA,
|
|
40
|
+
* chains: [chains.ETH_SEPOLIA, chains.MATIC_AMOY],
|
|
41
|
+
* customTransportFactory: ({ chainId }) =>
|
|
42
|
+
* custom(
|
|
43
|
+
* new FireblocksWeb3Provider({
|
|
44
|
+
* ...config,
|
|
45
|
+
* chainId,
|
|
46
|
+
* }),
|
|
47
|
+
* ),
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export function createCustomWalletClient(params) {
|
|
52
|
+
const { defaultChain = chains.ETH_SEPOLIA, chains: userChains = Object.values(chains), customTransportFactory, } = params;
|
|
53
|
+
const configuredChains = userChains.some((chain) => chain.id === defaultChain.id)
|
|
54
|
+
? userChains
|
|
55
|
+
: [defaultChain, ...userChains];
|
|
56
|
+
const transportProviders = [
|
|
57
|
+
crossChainTransferProtocolTransport({}),
|
|
58
|
+
solanaTransport({}),
|
|
59
|
+
customTransportFactory({ chainId: defaultChain.id }),
|
|
60
|
+
];
|
|
61
|
+
const transport = fallback(transportProviders);
|
|
62
|
+
const _client = createViemClient({ chain: defaultChain, transport });
|
|
63
|
+
// Create a config and bind it onto the client.
|
|
64
|
+
// Note: By default, we build config with configured chains only.
|
|
65
|
+
// Note: this step must occur before extending actions, otherwise the config won't be closured into each action calls.
|
|
66
|
+
_client.config = createConfig({
|
|
67
|
+
chains: configuredChains,
|
|
68
|
+
transportFactory: customTransportFactory,
|
|
69
|
+
});
|
|
70
|
+
const client = _client
|
|
71
|
+
.extend(publicActions)
|
|
72
|
+
.extend(walletActions)
|
|
73
|
+
.extend(solanaActions)
|
|
74
|
+
.extend(crossChainTransferProtocolActions)
|
|
75
|
+
.extend(uniswapActions)
|
|
76
|
+
.extend(coreActions);
|
|
77
|
+
return client;
|
|
78
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
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 { http } from 'viem';
|
|
12
|
+
import { describe, it, expect } from 'vitest';
|
|
13
|
+
import { ETH_SEPOLIA, MATIC_AMOY } from '../chains/index.js';
|
|
14
|
+
import { createCustomWalletClient } from './createCustomWalletClient.js';
|
|
15
|
+
describe('createCustomWalletClient', () => {
|
|
16
|
+
it('should create successfully with basic configuration', () => {
|
|
17
|
+
const client = createCustomWalletClient({
|
|
18
|
+
customTransportFactory: ({ chainId }) => http(`https://rpc-${chainId}.example.com`),
|
|
19
|
+
});
|
|
20
|
+
expect(client).toBeDefined();
|
|
21
|
+
expect(client.config).toBeDefined();
|
|
22
|
+
expect(client.chain).toBe(ETH_SEPOLIA); // Default chain
|
|
23
|
+
});
|
|
24
|
+
it('should create successfully with specified default chain', () => {
|
|
25
|
+
const client = createCustomWalletClient({
|
|
26
|
+
defaultChain: MATIC_AMOY,
|
|
27
|
+
customTransportFactory: ({ chainId }) => http(`https://rpc-${chainId}.example.com`),
|
|
28
|
+
});
|
|
29
|
+
expect(client).toBeDefined();
|
|
30
|
+
expect(client.config).toBeDefined();
|
|
31
|
+
expect(client.chain).toBe(MATIC_AMOY);
|
|
32
|
+
});
|
|
33
|
+
it('should create successfully with custom chains', () => {
|
|
34
|
+
const customChains = [ETH_SEPOLIA, MATIC_AMOY];
|
|
35
|
+
const client = createCustomWalletClient({
|
|
36
|
+
chains: customChains,
|
|
37
|
+
customTransportFactory: ({ chainId }) => http(`https://rpc-${chainId}.example.com`),
|
|
38
|
+
});
|
|
39
|
+
expect(client).toBeDefined();
|
|
40
|
+
expect(client.config).toBeDefined();
|
|
41
|
+
expect(client.chain).toBe(ETH_SEPOLIA); // Default chain
|
|
42
|
+
});
|
|
43
|
+
it('should handle Fireblocks configuration using closures', () => {
|
|
44
|
+
// Configuration is now handled in the closure
|
|
45
|
+
const config = {
|
|
46
|
+
apiKey: 'fireblocks-api-key',
|
|
47
|
+
privateKey: 'fireblocks-private-key',
|
|
48
|
+
vaultAccountIds: 'fireblocks-vault-ids',
|
|
49
|
+
};
|
|
50
|
+
const client = createCustomWalletClient({
|
|
51
|
+
customTransportFactory: ({ chainId }) => http(`https://fireblocks-${chainId}.example.com?apiKey=${config.apiKey}`),
|
|
52
|
+
});
|
|
53
|
+
expect(client).toBeDefined();
|
|
54
|
+
expect(client.config).toBeDefined();
|
|
55
|
+
expect(client.chain).toBe(ETH_SEPOLIA);
|
|
56
|
+
});
|
|
57
|
+
it('should have required client properties and methods', () => {
|
|
58
|
+
const client = createCustomWalletClient({
|
|
59
|
+
customTransportFactory: ({ chainId }) => http(`https://rpc-${chainId}.example.com`),
|
|
60
|
+
});
|
|
61
|
+
// Check that the client has the expected properties
|
|
62
|
+
expect(client.chain).toBeDefined();
|
|
63
|
+
expect(client.config).toBeDefined();
|
|
64
|
+
// Check that common viem methods exist
|
|
65
|
+
expect(typeof client.getBlock).toBe('function');
|
|
66
|
+
expect(typeof client.getBalance).toBe('function');
|
|
67
|
+
expect(typeof client.sendTransaction).toBe('function');
|
|
68
|
+
});
|
|
69
|
+
it('should automatically include defaultChain in chains when not present', () => {
|
|
70
|
+
const client = createCustomWalletClient({
|
|
71
|
+
defaultChain: ETH_SEPOLIA,
|
|
72
|
+
chains: [MATIC_AMOY], // ETH_SEPOLIA not included - should be added automatically
|
|
73
|
+
customTransportFactory: ({ chainId }) => http(`https://rpc-${chainId}.example.com`),
|
|
74
|
+
});
|
|
75
|
+
expect(client).toBeDefined();
|
|
76
|
+
expect(client.config).toBeDefined();
|
|
77
|
+
expect(client.chain).toBe(ETH_SEPOLIA); // Should be the default chain
|
|
78
|
+
const configChains = client.config.chains;
|
|
79
|
+
expect(configChains).toContainEqual(ETH_SEPOLIA);
|
|
80
|
+
expect(configChains).toContainEqual(MATIC_AMOY);
|
|
81
|
+
expect(configChains).toHaveLength(2);
|
|
82
|
+
});
|
|
83
|
+
it('should not duplicate defaultChain when it is already in chains', () => {
|
|
84
|
+
const client = createCustomWalletClient({
|
|
85
|
+
defaultChain: ETH_SEPOLIA,
|
|
86
|
+
chains: [ETH_SEPOLIA, MATIC_AMOY], // ETH_SEPOLIA already included
|
|
87
|
+
customTransportFactory: ({ chainId }) => http(`https://rpc-${chainId}.example.com`),
|
|
88
|
+
});
|
|
89
|
+
expect(client).toBeDefined();
|
|
90
|
+
expect(client.config).toBeDefined();
|
|
91
|
+
expect(client.chain).toBe(ETH_SEPOLIA);
|
|
92
|
+
// Verify that ETH_SEPOLIA is not duplicated
|
|
93
|
+
const configChains = client.config.chains;
|
|
94
|
+
expect(configChains).toContainEqual(ETH_SEPOLIA);
|
|
95
|
+
expect(configChains).toContainEqual(MATIC_AMOY);
|
|
96
|
+
expect(configChains).toHaveLength(2); // Should still be only 2 chains, not 3
|
|
97
|
+
});
|
|
98
|
+
});
|