@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.
Files changed (707) hide show
  1. package/dist/cjs/actions/generateTransferLink.d.ts +3 -3
  2. package/dist/cjs/actions/generateTransferLink.js +3 -0
  3. package/dist/cjs/actions/generateTransferLink.test.js +17 -0
  4. package/dist/cjs/actions/getSwapExactInQuote.d.ts +3 -3
  5. package/dist/cjs/actions/getTokenBalance.d.ts +30 -0
  6. package/dist/cjs/actions/getTokenBalance.js +51 -0
  7. package/dist/cjs/actions/getTokenBalance.test.js +165 -0
  8. package/dist/cjs/actions/index.d.ts +9 -1
  9. package/dist/cjs/actions/index.js +12 -9
  10. package/dist/cjs/actions/index.test.js +2 -0
  11. package/dist/cjs/actions/swapExactIn.d.ts +3 -3
  12. package/dist/cjs/actions/sweep.d.ts +3 -2
  13. package/dist/cjs/actions/sweep.js +5 -5
  14. package/dist/cjs/actions/sweep.test.js +13 -10
  15. package/dist/cjs/actions/transfer.d.ts +2 -2
  16. package/dist/cjs/actions/transfer.js +58 -30
  17. package/dist/cjs/actions/transfer.test.js +334 -135
  18. package/dist/cjs/chains.d.ts +2 -0
  19. package/dist/cjs/chains.js +12 -0
  20. package/dist/cjs/client.d.ts +35 -0
  21. package/dist/cjs/client.js +12 -0
  22. package/dist/cjs/extractChain.d.ts +109 -109
  23. package/dist/cjs/index.d.ts +4 -1
  24. package/dist/cjs/index.js +56 -10
  25. package/dist/cjs/index.test.js +1 -0
  26. package/dist/cjs/metadata.js +1 -1
  27. package/dist/cjs/onResponse.d.ts +1 -1
  28. package/dist/cjs/onResponse.js +3 -0
  29. package/dist/cjs/providers/circle-wallets/actions/createAccount.d.ts +2 -1
  30. package/dist/cjs/providers/circle-wallets/actions/createContractExecutionTransaction.d.ts +9 -1
  31. package/dist/cjs/providers/circle-wallets/actions/createContractExecutionTransaction.js +8 -0
  32. package/dist/cjs/providers/circle-wallets/actions/createTransaction.d.ts +4 -1
  33. package/dist/cjs/providers/circle-wallets/actions/createTransaction.js +3 -0
  34. package/dist/cjs/providers/circle-wallets/actions/createWalletSet.d.ts +1 -1
  35. package/dist/cjs/providers/circle-wallets/actions/createWallets.d.ts +1 -1
  36. package/dist/cjs/providers/circle-wallets/actions/deriveWallet.d.ts +1 -1
  37. package/dist/cjs/providers/circle-wallets/actions/drip.d.ts +2 -1
  38. package/dist/cjs/providers/circle-wallets/actions/estimateContractExecutionFee.d.ts +1 -1
  39. package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.d.ts +2 -1
  40. package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.js +2 -3
  41. package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.test.js +1 -20
  42. package/dist/cjs/providers/circle-wallets/actions/getAccounts.d.ts +2 -1
  43. package/dist/cjs/providers/circle-wallets/actions/getNotificationSignature.d.ts +1 -1
  44. package/dist/cjs/providers/circle-wallets/actions/getTokenBalances.d.ts +4 -15
  45. package/dist/cjs/providers/circle-wallets/actions/getTransactionById.d.ts +1 -1
  46. package/dist/cjs/providers/circle-wallets/actions/getWallet.d.ts +1 -1
  47. package/dist/cjs/providers/circle-wallets/actions/getWalletTokenBalance.d.ts +1 -1
  48. package/dist/cjs/providers/circle-wallets/actions/getWalletsWithBalances.d.ts +1 -1
  49. package/dist/cjs/providers/circle-wallets/actions/importContract.d.ts +1 -1
  50. package/dist/cjs/providers/circle-wallets/actions/index.d.ts +0 -8
  51. package/dist/cjs/providers/circle-wallets/actions/index.js +0 -8
  52. package/dist/cjs/providers/circle-wallets/actions/index.test.js +0 -4
  53. package/dist/cjs/providers/circle-wallets/actions/listTransactions.d.ts +1 -1
  54. package/dist/cjs/providers/circle-wallets/actions/listWallets.d.ts +1 -1
  55. package/dist/cjs/providers/circle-wallets/actions/requestTestnetTokens.d.ts +1 -1
  56. package/dist/cjs/providers/circle-wallets/actions/signTransaction.d.ts +1 -1
  57. package/dist/cjs/providers/circle-wallets/actions/verifyNotification.d.ts +1 -1
  58. package/dist/cjs/providers/circle-wallets/actions/writeContract.d.ts +2 -1
  59. package/dist/cjs/providers/circle-wallets/actions/writeContract.js +2 -5
  60. package/dist/cjs/providers/circle-wallets/actions/writeContract.test.js +9 -18
  61. package/dist/cjs/providers/circle-wallets/index.d.ts +4481 -0
  62. package/dist/cjs/providers/circle-wallets/index.js +40 -3
  63. package/dist/cjs/providers/circle-wallets/index.test.js +52 -3
  64. package/dist/cjs/providers/circle-wallets/transports/http.d.ts +19 -1
  65. package/dist/cjs/providers/circle-wallets/transports/http.js +2 -2
  66. package/dist/cjs/providers/circle-wallets/transports/http.test.js +24 -4
  67. package/dist/cjs/providers/circle-wallets/transports/index.d.ts +102 -22
  68. package/dist/cjs/providers/circle-wallets/transports/index.js +255 -1
  69. package/dist/cjs/providers/circle-wallets/transports/index.test.js +1623 -183
  70. package/dist/cjs/providers/circle-wallets/utils/index.d.ts +1 -0
  71. package/dist/cjs/providers/circle-wallets/utils/index.js +27 -0
  72. package/dist/cjs/providers/circle-wallets/utils/toSolanaSigner.d.ts +4 -0
  73. package/dist/cjs/providers/circle-wallets/utils/toSolanaSigner.js +33 -0
  74. package/dist/cjs/providers/circle-wallets/utils/toSolanaSigner.test.js +129 -0
  75. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.d.ts +3 -3
  76. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.js +5 -8
  77. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/bridge.d.ts +3 -3
  78. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/bridge.js +0 -3
  79. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.d.ts +3 -3
  80. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.js +5 -9
  81. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/index.js +6 -7
  82. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/listMessages.d.ts +3 -3
  83. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.d.ts +3 -3
  84. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.js +5 -9
  85. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.d.ts +3 -2
  86. package/dist/cjs/providers/cross-chain-transfer-protocol/transports/http.d.ts +0 -1
  87. package/dist/cjs/providers/cross-chain-transfer-protocol/transports/index.d.ts +1 -1
  88. package/dist/cjs/providers/cross-chain-transfer-protocol/transports/index.test.js +2 -2
  89. package/dist/cjs/providers/solana/actions/getAccountInfo.d.ts +23 -0
  90. package/dist/cjs/providers/{circle-wallets/actions/signTypedData.js → solana/actions/getAccountInfo.js} +7 -5
  91. package/dist/cjs/providers/solana/actions/getAccountInfo.test.js +39 -0
  92. package/dist/cjs/providers/solana/actions/getBalance.d.ts +15 -0
  93. package/dist/cjs/providers/solana/actions/getBalance.js +23 -0
  94. package/dist/cjs/providers/solana/actions/getBalance.test.js +35 -0
  95. package/dist/cjs/providers/solana/actions/getBlock.d.ts +60 -0
  96. package/dist/{esm/providers/circle-wallets/actions/signTypedData.js → cjs/providers/solana/actions/getBlock.js} +9 -4
  97. package/dist/cjs/providers/solana/actions/getBlock.test.d.ts +1 -0
  98. package/dist/cjs/providers/solana/actions/getBlock.test.js +34 -0
  99. package/dist/cjs/providers/solana/actions/getBlockCommitment.d.ts +13 -0
  100. package/dist/cjs/providers/solana/actions/getBlockCommitment.js +23 -0
  101. package/dist/cjs/providers/solana/actions/getBlockCommitment.test.d.ts +1 -0
  102. package/dist/cjs/providers/solana/actions/getBlockCommitment.test.js +36 -0
  103. package/dist/cjs/providers/solana/actions/getBlockHeight.d.ts +10 -0
  104. package/dist/cjs/providers/solana/actions/getBlockHeight.js +23 -0
  105. package/dist/cjs/providers/solana/actions/getBlockHeight.test.d.ts +1 -0
  106. package/dist/cjs/providers/solana/actions/getBlockHeight.test.js +33 -0
  107. package/dist/cjs/providers/solana/actions/getBlockProduction.d.ts +23 -0
  108. package/dist/cjs/providers/solana/actions/getBlockProduction.js +23 -0
  109. package/dist/cjs/providers/solana/actions/getBlockProduction.test.d.ts +1 -0
  110. package/dist/cjs/providers/solana/actions/getBlockProduction.test.js +40 -0
  111. package/dist/cjs/providers/solana/actions/getBlockTime.d.ts +10 -0
  112. package/dist/cjs/providers/solana/actions/getBlockTime.js +23 -0
  113. package/dist/cjs/providers/solana/actions/getBlockTime.test.d.ts +1 -0
  114. package/dist/cjs/providers/solana/actions/getBlockTime.test.js +33 -0
  115. package/dist/cjs/providers/solana/actions/getBlocks.d.ts +10 -0
  116. package/dist/cjs/providers/solana/actions/getBlocks.js +23 -0
  117. package/dist/cjs/providers/solana/actions/getBlocks.test.d.ts +1 -0
  118. package/dist/cjs/providers/solana/actions/getBlocks.test.js +35 -0
  119. package/dist/cjs/providers/solana/actions/getBlocksWithLimit.d.ts +10 -0
  120. package/dist/cjs/providers/solana/actions/getBlocksWithLimit.js +23 -0
  121. package/dist/cjs/providers/solana/actions/getBlocksWithLimit.test.d.ts +1 -0
  122. package/dist/cjs/providers/solana/actions/getBlocksWithLimit.test.js +34 -0
  123. package/dist/cjs/providers/solana/actions/getClusterName.d.ts +8 -0
  124. package/dist/cjs/providers/solana/actions/getClusterName.js +25 -0
  125. package/dist/cjs/providers/solana/actions/getClusterName.test.d.ts +1 -0
  126. package/dist/cjs/providers/solana/actions/getClusterName.test.js +32 -0
  127. package/dist/cjs/providers/solana/actions/getClusterNodes.d.ts +25 -0
  128. package/dist/cjs/providers/solana/actions/getClusterNodes.js +23 -0
  129. package/dist/cjs/providers/solana/actions/getClusterNodes.test.d.ts +1 -0
  130. package/dist/cjs/providers/solana/actions/getClusterNodes.test.js +32 -0
  131. package/dist/cjs/providers/solana/actions/getEpochInfo.d.ts +17 -0
  132. package/dist/cjs/providers/solana/actions/getEpochInfo.js +23 -0
  133. package/dist/cjs/providers/solana/actions/getEpochInfo.test.d.ts +1 -0
  134. package/dist/cjs/providers/solana/actions/getEpochInfo.test.js +39 -0
  135. package/dist/cjs/providers/solana/actions/getEpochSchedule.d.ts +16 -0
  136. package/dist/cjs/providers/solana/actions/getEpochSchedule.js +23 -0
  137. package/dist/cjs/providers/solana/actions/getEpochSchedule.test.d.ts +1 -0
  138. package/dist/cjs/providers/solana/actions/getEpochSchedule.test.js +32 -0
  139. package/dist/cjs/providers/solana/actions/getFeeForMessage.d.ts +15 -0
  140. package/dist/cjs/providers/solana/actions/getFeeForMessage.js +23 -0
  141. package/dist/cjs/providers/solana/actions/getFeeForMessage.test.d.ts +1 -0
  142. package/dist/cjs/providers/solana/actions/getFeeForMessage.test.js +33 -0
  143. package/dist/cjs/providers/solana/actions/getFirstAvailableBlock.d.ts +10 -0
  144. package/dist/cjs/providers/solana/actions/getFirstAvailableBlock.js +23 -0
  145. package/dist/cjs/providers/solana/actions/getFirstAvailableBlock.test.d.ts +1 -0
  146. package/dist/cjs/providers/solana/actions/getFirstAvailableBlock.test.js +32 -0
  147. package/dist/cjs/providers/solana/actions/getGenesisHash.d.ts +10 -0
  148. package/dist/cjs/providers/solana/actions/getGenesisHash.js +23 -0
  149. package/dist/cjs/providers/solana/actions/getGenesisHash.test.d.ts +1 -0
  150. package/dist/cjs/providers/solana/actions/getGenesisHash.test.js +32 -0
  151. package/dist/cjs/providers/solana/actions/getHealth.d.ts +10 -0
  152. package/dist/cjs/providers/solana/actions/getHealth.js +23 -0
  153. package/dist/cjs/providers/solana/actions/getHealth.test.d.ts +1 -0
  154. package/dist/cjs/providers/solana/actions/getHealth.test.js +32 -0
  155. package/dist/cjs/providers/solana/actions/getHighestSnapshotSlot.d.ts +13 -0
  156. package/dist/cjs/providers/solana/actions/getHighestSnapshotSlot.js +23 -0
  157. package/dist/cjs/providers/solana/actions/getHighestSnapshotSlot.test.d.ts +1 -0
  158. package/dist/cjs/providers/solana/actions/getHighestSnapshotSlot.test.js +32 -0
  159. package/dist/cjs/providers/solana/actions/getIdentity.d.ts +12 -0
  160. package/dist/cjs/providers/solana/actions/getIdentity.js +23 -0
  161. package/dist/cjs/providers/solana/actions/getIdentity.test.d.ts +1 -0
  162. package/dist/cjs/providers/solana/actions/getIdentity.test.js +32 -0
  163. package/dist/cjs/providers/solana/actions/getInflationGovernor.d.ts +16 -0
  164. package/dist/cjs/providers/solana/actions/getInflationGovernor.js +23 -0
  165. package/dist/cjs/providers/solana/actions/getInflationGovernor.test.d.ts +1 -0
  166. package/dist/cjs/providers/solana/actions/getInflationGovernor.test.js +33 -0
  167. package/dist/cjs/providers/solana/actions/getInflationRate.d.ts +15 -0
  168. package/dist/cjs/providers/solana/actions/getInflationRate.js +23 -0
  169. package/dist/cjs/providers/solana/actions/getInflationRate.test.d.ts +1 -0
  170. package/dist/cjs/providers/solana/actions/getInflationRate.test.js +39 -0
  171. package/dist/cjs/providers/solana/actions/getInflationReward.d.ts +16 -0
  172. package/dist/cjs/providers/solana/actions/getInflationReward.js +23 -0
  173. package/dist/cjs/providers/solana/actions/getInflationReward.test.d.ts +1 -0
  174. package/dist/cjs/providers/solana/actions/getInflationReward.test.js +35 -0
  175. package/dist/cjs/providers/solana/actions/getLargestAccounts.d.ts +18 -0
  176. package/dist/cjs/providers/solana/actions/getLargestAccounts.js +23 -0
  177. package/dist/cjs/providers/solana/actions/getLargestAccounts.test.d.ts +1 -0
  178. package/dist/cjs/providers/solana/actions/getLargestAccounts.test.js +33 -0
  179. package/dist/cjs/providers/solana/actions/getLatestBlockhash.d.ts +18 -0
  180. package/dist/cjs/providers/solana/actions/getLatestBlockhash.js +23 -0
  181. package/dist/cjs/providers/solana/actions/getLatestBlockhash.test.d.ts +1 -0
  182. package/dist/cjs/providers/solana/actions/getLatestBlockhash.test.js +33 -0
  183. package/dist/cjs/providers/solana/actions/getLeaderSchedule.d.ts +12 -0
  184. package/dist/cjs/providers/solana/actions/getLeaderSchedule.js +23 -0
  185. package/dist/cjs/providers/solana/actions/getLeaderSchedule.test.d.ts +1 -0
  186. package/dist/cjs/providers/solana/actions/getLeaderSchedule.test.js +34 -0
  187. package/dist/cjs/providers/solana/actions/getMaxRetransmitSlot.d.ts +10 -0
  188. package/dist/cjs/providers/solana/actions/getMaxRetransmitSlot.js +23 -0
  189. package/dist/cjs/providers/solana/actions/getMaxRetransmitSlot.test.d.ts +1 -0
  190. package/dist/cjs/providers/solana/actions/getMaxRetransmitSlot.test.js +32 -0
  191. package/dist/cjs/providers/solana/actions/getMaxShredInsertSlot.d.ts +10 -0
  192. package/dist/cjs/providers/solana/actions/getMaxShredInsertSlot.js +23 -0
  193. package/dist/cjs/providers/solana/actions/getMaxShredInsertSlot.test.d.ts +1 -0
  194. package/dist/cjs/providers/solana/actions/getMaxShredInsertSlot.test.js +32 -0
  195. package/dist/cjs/providers/solana/actions/getMinimumBalanceForRentExemption.d.ts +10 -0
  196. package/dist/cjs/providers/solana/actions/getMinimumBalanceForRentExemption.js +23 -0
  197. package/dist/cjs/providers/solana/actions/getMinimumBalanceForRentExemption.test.d.ts +1 -0
  198. package/dist/cjs/providers/solana/actions/getMinimumBalanceForRentExemption.test.js +34 -0
  199. package/dist/cjs/providers/solana/actions/getMultipleAccounts.d.ts +23 -0
  200. package/dist/cjs/providers/solana/actions/getMultipleAccounts.js +23 -0
  201. package/dist/cjs/providers/solana/actions/getMultipleAccounts.test.d.ts +1 -0
  202. package/dist/cjs/providers/solana/actions/getMultipleAccounts.test.js +43 -0
  203. package/dist/cjs/providers/solana/actions/getProgramAccounts.d.ts +21 -0
  204. package/dist/cjs/providers/solana/actions/getProgramAccounts.js +23 -0
  205. package/dist/cjs/providers/solana/actions/getProgramAccounts.test.d.ts +1 -0
  206. package/dist/cjs/providers/solana/actions/getProgramAccounts.test.js +39 -0
  207. package/dist/cjs/providers/solana/actions/getRecentPerformanceSamples.d.ts +16 -0
  208. package/dist/cjs/providers/solana/actions/getRecentPerformanceSamples.js +23 -0
  209. package/dist/cjs/providers/solana/actions/getRecentPerformanceSamples.test.d.ts +1 -0
  210. package/dist/cjs/providers/solana/actions/getRecentPerformanceSamples.test.js +33 -0
  211. package/dist/cjs/providers/solana/actions/getRecentPrioritizationFees.d.ts +13 -0
  212. package/dist/cjs/providers/solana/actions/getRecentPrioritizationFees.js +23 -0
  213. package/dist/cjs/providers/solana/actions/getRecentPrioritizationFees.test.d.ts +1 -0
  214. package/dist/cjs/providers/solana/actions/getRecentPrioritizationFees.test.js +34 -0
  215. package/dist/cjs/providers/solana/actions/getSignatureStatuses.d.ts +25 -0
  216. package/dist/cjs/providers/solana/actions/getSignatureStatuses.js +23 -0
  217. package/dist/cjs/providers/solana/actions/getSignatureStatuses.test.d.ts +1 -0
  218. package/dist/cjs/providers/solana/actions/getSignatureStatuses.test.js +35 -0
  219. package/dist/cjs/providers/solana/actions/getSignaturesForAddress.d.ts +17 -0
  220. package/dist/cjs/providers/solana/actions/getSignaturesForAddress.js +23 -0
  221. package/dist/cjs/providers/solana/actions/getSignaturesForAddress.test.d.ts +1 -0
  222. package/dist/cjs/providers/solana/actions/getSignaturesForAddress.test.js +46 -0
  223. package/dist/cjs/providers/solana/actions/getSlot.d.ts +10 -0
  224. package/dist/cjs/providers/solana/actions/getSlot.js +23 -0
  225. package/dist/cjs/providers/solana/actions/getSlot.test.d.ts +1 -0
  226. package/dist/cjs/providers/solana/actions/getSlot.test.js +33 -0
  227. package/dist/cjs/providers/solana/actions/getSlotLeader.d.ts +10 -0
  228. package/dist/cjs/providers/solana/actions/getSlotLeader.js +23 -0
  229. package/dist/cjs/providers/solana/actions/getSlotLeader.test.d.ts +1 -0
  230. package/dist/cjs/providers/solana/actions/getSlotLeader.test.js +33 -0
  231. package/dist/cjs/providers/solana/actions/getSlotLeaders.d.ts +10 -0
  232. package/dist/cjs/providers/solana/actions/getSlotLeaders.js +23 -0
  233. package/dist/cjs/providers/solana/actions/getSlotLeaders.test.d.ts +1 -0
  234. package/dist/cjs/providers/solana/actions/getSlotLeaders.test.js +34 -0
  235. package/dist/cjs/providers/solana/actions/getSupply.d.ts +21 -0
  236. package/dist/cjs/providers/solana/actions/getSupply.js +23 -0
  237. package/dist/cjs/providers/solana/actions/getSupply.test.d.ts +1 -0
  238. package/dist/cjs/providers/solana/actions/getSupply.test.js +33 -0
  239. package/dist/cjs/providers/solana/actions/getTokenAccountBalance.d.ts +20 -0
  240. package/dist/cjs/providers/solana/actions/getTokenAccountBalance.js +23 -0
  241. package/dist/cjs/providers/solana/actions/getTokenAccountBalance.test.d.ts +1 -0
  242. package/dist/cjs/providers/solana/actions/getTokenAccountBalance.test.js +34 -0
  243. package/dist/cjs/providers/solana/actions/getTokenAccountsByDelegate.d.ts +26 -0
  244. package/dist/cjs/providers/solana/actions/getTokenAccountsByDelegate.js +23 -0
  245. package/dist/cjs/providers/solana/actions/getTokenAccountsByDelegate.test.d.ts +1 -0
  246. package/dist/cjs/providers/solana/actions/getTokenAccountsByDelegate.test.js +35 -0
  247. package/dist/cjs/providers/solana/actions/getTokenAccountsByOwner.d.ts +26 -0
  248. package/dist/cjs/providers/solana/actions/getTokenAccountsByOwner.js +23 -0
  249. package/dist/cjs/providers/solana/actions/getTokenAccountsByOwner.test.d.ts +1 -0
  250. package/dist/cjs/providers/solana/actions/getTokenAccountsByOwner.test.js +39 -0
  251. package/dist/cjs/providers/solana/actions/getTokenLargestAccounts.d.ts +22 -0
  252. package/dist/cjs/providers/solana/actions/getTokenLargestAccounts.js +23 -0
  253. package/dist/cjs/providers/solana/actions/getTokenLargestAccounts.test.d.ts +1 -0
  254. package/dist/cjs/providers/solana/actions/getTokenLargestAccounts.test.js +34 -0
  255. package/dist/cjs/providers/solana/actions/getTokenSupply.d.ts +20 -0
  256. package/dist/cjs/providers/solana/actions/getTokenSupply.js +23 -0
  257. package/dist/cjs/providers/solana/actions/getTokenSupply.test.d.ts +1 -0
  258. package/dist/cjs/providers/solana/actions/getTokenSupply.test.js +34 -0
  259. package/dist/cjs/providers/solana/actions/getTransaction.d.ts +80 -0
  260. package/dist/cjs/providers/solana/actions/getTransaction.js +23 -0
  261. package/dist/cjs/providers/solana/actions/getTransaction.test.d.ts +1 -0
  262. package/dist/cjs/providers/solana/actions/getTransaction.test.js +34 -0
  263. package/dist/cjs/providers/solana/actions/getTransactionCount.d.ts +10 -0
  264. package/dist/cjs/providers/solana/actions/getTransactionCount.js +23 -0
  265. package/dist/cjs/providers/solana/actions/getTransactionCount.test.d.ts +1 -0
  266. package/dist/cjs/providers/solana/actions/getTransactionCount.test.js +33 -0
  267. package/dist/cjs/providers/solana/actions/getVersion.d.ts +13 -0
  268. package/dist/cjs/providers/solana/actions/getVersion.js +23 -0
  269. package/dist/cjs/providers/solana/actions/getVersion.test.d.ts +1 -0
  270. package/dist/cjs/providers/solana/actions/getVersion.test.js +35 -0
  271. package/dist/cjs/providers/solana/actions/getVoteAccounts.d.ts +31 -0
  272. package/dist/cjs/providers/solana/actions/getVoteAccounts.js +23 -0
  273. package/dist/cjs/providers/solana/actions/getVoteAccounts.test.d.ts +1 -0
  274. package/dist/cjs/providers/solana/actions/getVoteAccounts.test.js +33 -0
  275. package/dist/cjs/providers/solana/actions/index.d.ts +216 -0
  276. package/dist/cjs/providers/solana/actions/index.js +190 -0
  277. package/dist/cjs/providers/solana/actions/index.test.d.ts +1 -0
  278. package/dist/cjs/providers/solana/actions/index.test.js +78 -0
  279. package/dist/cjs/providers/solana/actions/isBlockhashValid.d.ts +15 -0
  280. package/dist/cjs/providers/solana/actions/isBlockhashValid.js +23 -0
  281. package/dist/cjs/providers/solana/actions/isBlockhashValid.test.d.ts +1 -0
  282. package/dist/cjs/providers/solana/actions/isBlockhashValid.test.js +34 -0
  283. package/dist/cjs/providers/solana/actions/minimumLedgerSlot.d.ts +10 -0
  284. package/dist/cjs/providers/solana/actions/minimumLedgerSlot.js +23 -0
  285. package/dist/cjs/providers/solana/actions/minimumLedgerSlot.test.d.ts +1 -0
  286. package/dist/cjs/providers/solana/actions/minimumLedgerSlot.test.js +32 -0
  287. package/dist/cjs/providers/solana/actions/sendTransaction.d.ts +13 -0
  288. package/dist/cjs/providers/solana/actions/sendTransaction.js +30 -0
  289. package/dist/cjs/providers/solana/actions/sendTransaction.test.d.ts +1 -0
  290. package/dist/cjs/providers/solana/actions/sendTransaction.test.js +82 -0
  291. package/dist/cjs/providers/solana/actions/simulateTransaction.d.ts +28 -0
  292. package/dist/cjs/providers/solana/actions/simulateTransaction.js +30 -0
  293. package/dist/cjs/providers/solana/actions/simulateTransaction.test.d.ts +1 -0
  294. package/dist/cjs/providers/solana/actions/simulateTransaction.test.js +82 -0
  295. package/dist/cjs/providers/solana/actions/switchCluster.d.ts +10 -0
  296. package/dist/cjs/providers/solana/actions/switchCluster.js +26 -0
  297. package/dist/cjs/providers/solana/actions/switchCluster.test.d.ts +1 -0
  298. package/dist/cjs/providers/solana/actions/switchCluster.test.js +33 -0
  299. package/dist/cjs/providers/solana/constants.d.ts +6 -0
  300. package/dist/cjs/providers/solana/constants.js +23 -0
  301. package/dist/cjs/providers/solana/index.d.ts +101 -0
  302. package/dist/cjs/providers/solana/index.js +39 -0
  303. package/dist/cjs/providers/solana/index.test.d.ts +1 -0
  304. package/dist/cjs/providers/solana/index.test.js +201 -0
  305. package/dist/cjs/providers/solana/transports/http.d.ts +8 -0
  306. package/dist/cjs/providers/solana/transports/http.js +20 -0
  307. package/dist/cjs/providers/solana/transports/http.test.d.ts +1 -0
  308. package/dist/cjs/providers/solana/transports/http.test.js +88 -0
  309. package/dist/cjs/providers/solana/transports/index.d.ts +734 -0
  310. package/dist/cjs/providers/solana/transports/index.js +205 -0
  311. package/dist/cjs/providers/solana/transports/index.test.d.ts +1 -0
  312. package/dist/cjs/providers/solana/transports/index.test.js +307 -0
  313. package/dist/cjs/providers/solana/utils/codecs.d.ts +4 -0
  314. package/dist/cjs/providers/solana/utils/codecs.js +20 -0
  315. package/dist/cjs/providers/solana/utils/index.d.ts +2 -0
  316. package/dist/cjs/providers/solana/utils/index.js +30 -0
  317. package/dist/cjs/providers/solana/utils/index.test.d.ts +1 -0
  318. package/dist/cjs/providers/solana/utils/index.test.js +53 -0
  319. package/dist/cjs/providers/solana/utils/toBase64EncodedWireTransaction.d.ts +26 -0
  320. package/dist/cjs/providers/solana/utils/toBase64EncodedWireTransaction.js +42 -0
  321. package/dist/cjs/providers/solana/utils/toBase64EncodedWireTransaction.test.d.ts +1 -0
  322. package/dist/cjs/providers/solana/utils/toBase64EncodedWireTransaction.test.js +108 -0
  323. package/dist/cjs/providers/uniswap/actions/exactInputSingle.d.ts +3 -3
  324. package/dist/cjs/providers/uniswap/actions/exactInputSingle.js +4 -4
  325. package/dist/cjs/providers/uniswap/actions/getPool.d.ts +3 -2
  326. package/dist/cjs/providers/uniswap/actions/quoteExactInputSingle.d.ts +3 -2
  327. package/dist/cjs/types.d.ts +8 -16
  328. package/dist/cjs/types.js +0 -10
  329. package/dist/cjs/utils/createConfig.d.ts +36 -0
  330. package/dist/cjs/utils/createConfig.js +51 -0
  331. package/dist/cjs/utils/createConfig.test.d.ts +1 -0
  332. package/dist/cjs/utils/createConfig.test.js +66 -0
  333. package/dist/cjs/utils/createCustomWalletClient.d.ts +46 -0
  334. package/dist/cjs/utils/createCustomWalletClient.js +114 -0
  335. package/dist/cjs/utils/createCustomWalletClient.test.d.ts +1 -0
  336. package/dist/cjs/utils/createCustomWalletClient.test.js +100 -0
  337. package/dist/cjs/utils/getChainContractByAddress.d.ts +2 -1
  338. package/dist/cjs/utils/getClient.d.ts +458 -0
  339. package/dist/cjs/utils/getClient.js +25 -0
  340. package/dist/cjs/utils/getClient.test.d.ts +1 -0
  341. package/dist/cjs/utils/getClient.test.js +46 -0
  342. package/dist/cjs/utils/index.d.ts +1 -0
  343. package/dist/cjs/utils/index.js +1 -0
  344. package/dist/cjs/utils/index.test.js +2 -0
  345. package/dist/esm/actions/generateTransferLink.d.ts +3 -3
  346. package/dist/esm/actions/generateTransferLink.js +3 -0
  347. package/dist/esm/actions/generateTransferLink.test.js +17 -0
  348. package/dist/esm/actions/getSwapExactInQuote.d.ts +3 -3
  349. package/dist/esm/actions/getTokenBalance.d.ts +30 -0
  350. package/dist/esm/actions/getTokenBalance.js +48 -0
  351. package/dist/esm/actions/getTokenBalance.test.d.ts +1 -0
  352. package/dist/esm/actions/getTokenBalance.test.js +163 -0
  353. package/dist/esm/actions/index.d.ts +9 -1
  354. package/dist/esm/actions/index.js +12 -9
  355. package/dist/esm/actions/index.test.js +2 -0
  356. package/dist/esm/actions/swapExactIn.d.ts +3 -3
  357. package/dist/esm/actions/sweep.d.ts +3 -2
  358. package/dist/esm/actions/sweep.js +5 -5
  359. package/dist/esm/actions/sweep.test.js +13 -10
  360. package/dist/esm/actions/transfer.d.ts +2 -2
  361. package/dist/esm/actions/transfer.js +60 -32
  362. package/dist/esm/actions/transfer.test.js +334 -135
  363. package/dist/esm/chains.d.ts +2 -0
  364. package/dist/esm/chains.js +11 -0
  365. package/dist/esm/client.d.ts +35 -0
  366. package/dist/esm/client.js +11 -0
  367. package/dist/esm/extractChain.d.ts +109 -109
  368. package/dist/esm/index.d.ts +4 -1
  369. package/dist/esm/index.js +31 -7
  370. package/dist/esm/index.test.js +1 -0
  371. package/dist/esm/metadata.js +1 -1
  372. package/dist/esm/onResponse.d.ts +1 -1
  373. package/dist/esm/onResponse.js +3 -0
  374. package/dist/esm/providers/circle-wallets/actions/createAccount.d.ts +2 -1
  375. package/dist/esm/providers/circle-wallets/actions/createContractExecutionTransaction.d.ts +9 -1
  376. package/dist/esm/providers/circle-wallets/actions/createContractExecutionTransaction.js +8 -0
  377. package/dist/esm/providers/circle-wallets/actions/createTransaction.d.ts +4 -1
  378. package/dist/esm/providers/circle-wallets/actions/createTransaction.js +3 -0
  379. package/dist/esm/providers/circle-wallets/actions/createWalletSet.d.ts +1 -1
  380. package/dist/esm/providers/circle-wallets/actions/createWallets.d.ts +1 -1
  381. package/dist/esm/providers/circle-wallets/actions/deriveWallet.d.ts +1 -1
  382. package/dist/esm/providers/circle-wallets/actions/drip.d.ts +2 -1
  383. package/dist/esm/providers/circle-wallets/actions/estimateContractExecutionFee.d.ts +1 -1
  384. package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.d.ts +2 -1
  385. package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.js +2 -3
  386. package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.test.js +1 -20
  387. package/dist/esm/providers/circle-wallets/actions/getAccounts.d.ts +2 -1
  388. package/dist/esm/providers/circle-wallets/actions/getNotificationSignature.d.ts +1 -1
  389. package/dist/esm/providers/circle-wallets/actions/getTokenBalances.d.ts +4 -15
  390. package/dist/esm/providers/circle-wallets/actions/getTransactionById.d.ts +1 -1
  391. package/dist/esm/providers/circle-wallets/actions/getWallet.d.ts +1 -1
  392. package/dist/esm/providers/circle-wallets/actions/getWalletTokenBalance.d.ts +1 -1
  393. package/dist/esm/providers/circle-wallets/actions/getWalletsWithBalances.d.ts +1 -1
  394. package/dist/esm/providers/circle-wallets/actions/importContract.d.ts +1 -1
  395. package/dist/esm/providers/circle-wallets/actions/index.d.ts +0 -8
  396. package/dist/esm/providers/circle-wallets/actions/index.js +0 -8
  397. package/dist/esm/providers/circle-wallets/actions/index.test.js +0 -4
  398. package/dist/esm/providers/circle-wallets/actions/listTransactions.d.ts +1 -1
  399. package/dist/esm/providers/circle-wallets/actions/listWallets.d.ts +1 -1
  400. package/dist/esm/providers/circle-wallets/actions/requestTestnetTokens.d.ts +1 -1
  401. package/dist/esm/providers/circle-wallets/actions/signTransaction.d.ts +1 -1
  402. package/dist/esm/providers/circle-wallets/actions/verifyNotification.d.ts +1 -1
  403. package/dist/esm/providers/circle-wallets/actions/writeContract.d.ts +2 -1
  404. package/dist/esm/providers/circle-wallets/actions/writeContract.js +2 -5
  405. package/dist/esm/providers/circle-wallets/actions/writeContract.test.js +9 -18
  406. package/dist/esm/providers/circle-wallets/index.d.ts +4481 -0
  407. package/dist/esm/providers/circle-wallets/index.js +35 -0
  408. package/dist/esm/providers/circle-wallets/index.test.js +51 -2
  409. package/dist/esm/providers/circle-wallets/transports/http.d.ts +19 -1
  410. package/dist/esm/providers/circle-wallets/transports/http.js +3 -3
  411. package/dist/esm/providers/circle-wallets/transports/http.test.js +24 -4
  412. package/dist/esm/providers/circle-wallets/transports/index.d.ts +102 -22
  413. package/dist/esm/providers/circle-wallets/transports/index.js +257 -3
  414. package/dist/esm/providers/circle-wallets/transports/index.test.js +1617 -177
  415. package/dist/esm/providers/circle-wallets/utils/index.d.ts +1 -0
  416. package/dist/esm/providers/circle-wallets/utils/index.js +11 -0
  417. package/dist/esm/providers/circle-wallets/utils/toSolanaSigner.d.ts +4 -0
  418. package/dist/esm/providers/circle-wallets/utils/toSolanaSigner.js +30 -0
  419. package/dist/esm/providers/circle-wallets/utils/toSolanaSigner.test.d.ts +1 -0
  420. package/dist/esm/providers/circle-wallets/utils/toSolanaSigner.test.js +127 -0
  421. package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.d.ts +3 -3
  422. package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.js +7 -10
  423. package/dist/esm/providers/cross-chain-transfer-protocol/actions/bridge.d.ts +3 -3
  424. package/dist/esm/providers/cross-chain-transfer-protocol/actions/bridge.js +0 -3
  425. package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.d.ts +3 -3
  426. package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.js +6 -10
  427. package/dist/esm/providers/cross-chain-transfer-protocol/actions/index.js +6 -7
  428. package/dist/esm/providers/cross-chain-transfer-protocol/actions/listMessages.d.ts +3 -3
  429. package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.d.ts +3 -3
  430. package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.js +6 -10
  431. package/dist/esm/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.d.ts +3 -2
  432. package/dist/esm/providers/cross-chain-transfer-protocol/transports/http.d.ts +0 -1
  433. package/dist/esm/providers/cross-chain-transfer-protocol/transports/index.d.ts +1 -1
  434. package/dist/esm/providers/cross-chain-transfer-protocol/transports/index.test.js +2 -2
  435. package/dist/esm/providers/solana/actions/getAccountInfo.d.ts +23 -0
  436. package/dist/esm/providers/solana/actions/getAccountInfo.js +20 -0
  437. package/dist/esm/providers/solana/actions/getAccountInfo.test.d.ts +1 -0
  438. package/dist/esm/providers/solana/actions/getAccountInfo.test.js +37 -0
  439. package/dist/esm/providers/solana/actions/getBalance.d.ts +15 -0
  440. package/dist/esm/providers/solana/actions/getBalance.js +20 -0
  441. package/dist/esm/providers/solana/actions/getBalance.test.d.ts +1 -0
  442. package/dist/esm/providers/solana/actions/getBalance.test.js +33 -0
  443. package/dist/esm/providers/solana/actions/getBlock.d.ts +60 -0
  444. package/dist/esm/providers/solana/actions/getBlock.js +20 -0
  445. package/dist/esm/providers/solana/actions/getBlock.test.d.ts +1 -0
  446. package/dist/esm/providers/solana/actions/getBlock.test.js +32 -0
  447. package/dist/esm/providers/solana/actions/getBlockCommitment.d.ts +13 -0
  448. package/dist/esm/providers/solana/actions/getBlockCommitment.js +20 -0
  449. package/dist/esm/providers/solana/actions/getBlockCommitment.test.d.ts +1 -0
  450. package/dist/esm/providers/solana/actions/getBlockCommitment.test.js +34 -0
  451. package/dist/esm/providers/solana/actions/getBlockHeight.d.ts +10 -0
  452. package/dist/esm/providers/solana/actions/getBlockHeight.js +20 -0
  453. package/dist/esm/providers/solana/actions/getBlockHeight.test.d.ts +1 -0
  454. package/dist/esm/providers/solana/actions/getBlockHeight.test.js +31 -0
  455. package/dist/esm/providers/solana/actions/getBlockProduction.d.ts +23 -0
  456. package/dist/esm/providers/solana/actions/getBlockProduction.js +20 -0
  457. package/dist/esm/providers/solana/actions/getBlockProduction.test.d.ts +1 -0
  458. package/dist/esm/providers/solana/actions/getBlockProduction.test.js +38 -0
  459. package/dist/esm/providers/solana/actions/getBlockTime.d.ts +10 -0
  460. package/dist/esm/providers/solana/actions/getBlockTime.js +20 -0
  461. package/dist/esm/providers/solana/actions/getBlockTime.test.d.ts +1 -0
  462. package/dist/esm/providers/solana/actions/getBlockTime.test.js +31 -0
  463. package/dist/esm/providers/solana/actions/getBlocks.d.ts +10 -0
  464. package/dist/esm/providers/solana/actions/getBlocks.js +20 -0
  465. package/dist/esm/providers/solana/actions/getBlocks.test.d.ts +1 -0
  466. package/dist/esm/providers/solana/actions/getBlocks.test.js +33 -0
  467. package/dist/esm/providers/solana/actions/getBlocksWithLimit.d.ts +10 -0
  468. package/dist/esm/providers/solana/actions/getBlocksWithLimit.js +20 -0
  469. package/dist/esm/providers/solana/actions/getBlocksWithLimit.test.d.ts +1 -0
  470. package/dist/esm/providers/solana/actions/getBlocksWithLimit.test.js +32 -0
  471. package/dist/esm/providers/solana/actions/getClusterName.d.ts +8 -0
  472. package/dist/esm/providers/solana/actions/getClusterName.js +22 -0
  473. package/dist/esm/providers/solana/actions/getClusterName.test.d.ts +1 -0
  474. package/dist/esm/providers/solana/actions/getClusterName.test.js +30 -0
  475. package/dist/esm/providers/solana/actions/getClusterNodes.d.ts +25 -0
  476. package/dist/esm/providers/solana/actions/getClusterNodes.js +20 -0
  477. package/dist/esm/providers/solana/actions/getClusterNodes.test.d.ts +1 -0
  478. package/dist/esm/providers/solana/actions/getClusterNodes.test.js +30 -0
  479. package/dist/esm/providers/solana/actions/getEpochInfo.d.ts +17 -0
  480. package/dist/esm/providers/solana/actions/getEpochInfo.js +20 -0
  481. package/dist/esm/providers/solana/actions/getEpochInfo.test.d.ts +1 -0
  482. package/dist/esm/providers/solana/actions/getEpochInfo.test.js +37 -0
  483. package/dist/esm/providers/solana/actions/getEpochSchedule.d.ts +16 -0
  484. package/dist/esm/providers/solana/actions/getEpochSchedule.js +20 -0
  485. package/dist/esm/providers/solana/actions/getEpochSchedule.test.d.ts +1 -0
  486. package/dist/esm/providers/solana/actions/getEpochSchedule.test.js +30 -0
  487. package/dist/esm/providers/solana/actions/getFeeForMessage.d.ts +15 -0
  488. package/dist/esm/providers/solana/actions/getFeeForMessage.js +20 -0
  489. package/dist/esm/providers/solana/actions/getFeeForMessage.test.d.ts +1 -0
  490. package/dist/esm/providers/solana/actions/getFeeForMessage.test.js +31 -0
  491. package/dist/esm/providers/solana/actions/getFirstAvailableBlock.d.ts +10 -0
  492. package/dist/esm/providers/solana/actions/getFirstAvailableBlock.js +20 -0
  493. package/dist/esm/providers/solana/actions/getFirstAvailableBlock.test.d.ts +1 -0
  494. package/dist/esm/providers/solana/actions/getFirstAvailableBlock.test.js +30 -0
  495. package/dist/esm/providers/solana/actions/getGenesisHash.d.ts +10 -0
  496. package/dist/esm/providers/solana/actions/getGenesisHash.js +20 -0
  497. package/dist/esm/providers/solana/actions/getGenesisHash.test.d.ts +1 -0
  498. package/dist/esm/providers/solana/actions/getGenesisHash.test.js +30 -0
  499. package/dist/esm/providers/solana/actions/getHealth.d.ts +10 -0
  500. package/dist/esm/providers/solana/actions/getHealth.js +20 -0
  501. package/dist/esm/providers/solana/actions/getHealth.test.d.ts +1 -0
  502. package/dist/esm/providers/solana/actions/getHealth.test.js +30 -0
  503. package/dist/esm/providers/solana/actions/getHighestSnapshotSlot.d.ts +13 -0
  504. package/dist/esm/providers/solana/actions/getHighestSnapshotSlot.js +20 -0
  505. package/dist/esm/providers/solana/actions/getHighestSnapshotSlot.test.d.ts +1 -0
  506. package/dist/esm/providers/solana/actions/getHighestSnapshotSlot.test.js +30 -0
  507. package/dist/esm/providers/solana/actions/getIdentity.d.ts +12 -0
  508. package/dist/esm/providers/solana/actions/getIdentity.js +20 -0
  509. package/dist/esm/providers/solana/actions/getIdentity.test.d.ts +1 -0
  510. package/dist/esm/providers/solana/actions/getIdentity.test.js +30 -0
  511. package/dist/esm/providers/solana/actions/getInflationGovernor.d.ts +16 -0
  512. package/dist/esm/providers/solana/actions/getInflationGovernor.js +20 -0
  513. package/dist/esm/providers/solana/actions/getInflationGovernor.test.d.ts +1 -0
  514. package/dist/esm/providers/solana/actions/getInflationGovernor.test.js +31 -0
  515. package/dist/esm/providers/solana/actions/getInflationRate.d.ts +15 -0
  516. package/dist/esm/providers/solana/actions/getInflationRate.js +20 -0
  517. package/dist/esm/providers/solana/actions/getInflationRate.test.d.ts +1 -0
  518. package/dist/esm/providers/solana/actions/getInflationRate.test.js +37 -0
  519. package/dist/esm/providers/solana/actions/getInflationReward.d.ts +16 -0
  520. package/dist/esm/providers/solana/actions/getInflationReward.js +20 -0
  521. package/dist/esm/providers/solana/actions/getInflationReward.test.d.ts +1 -0
  522. package/dist/esm/providers/solana/actions/getInflationReward.test.js +33 -0
  523. package/dist/esm/providers/solana/actions/getLargestAccounts.d.ts +18 -0
  524. package/dist/esm/providers/solana/actions/getLargestAccounts.js +20 -0
  525. package/dist/esm/providers/solana/actions/getLargestAccounts.test.d.ts +1 -0
  526. package/dist/esm/providers/solana/actions/getLargestAccounts.test.js +31 -0
  527. package/dist/esm/providers/solana/actions/getLatestBlockhash.d.ts +18 -0
  528. package/dist/esm/providers/solana/actions/getLatestBlockhash.js +20 -0
  529. package/dist/esm/providers/solana/actions/getLatestBlockhash.test.d.ts +1 -0
  530. package/dist/esm/providers/solana/actions/getLatestBlockhash.test.js +31 -0
  531. package/dist/esm/providers/solana/actions/getLeaderSchedule.d.ts +12 -0
  532. package/dist/esm/providers/solana/actions/getLeaderSchedule.js +20 -0
  533. package/dist/esm/providers/solana/actions/getLeaderSchedule.test.d.ts +1 -0
  534. package/dist/esm/providers/solana/actions/getLeaderSchedule.test.js +32 -0
  535. package/dist/esm/providers/solana/actions/getMaxRetransmitSlot.d.ts +10 -0
  536. package/dist/esm/providers/solana/actions/getMaxRetransmitSlot.js +20 -0
  537. package/dist/esm/providers/solana/actions/getMaxRetransmitSlot.test.d.ts +1 -0
  538. package/dist/esm/providers/solana/actions/getMaxRetransmitSlot.test.js +30 -0
  539. package/dist/esm/providers/solana/actions/getMaxShredInsertSlot.d.ts +10 -0
  540. package/dist/esm/providers/solana/actions/getMaxShredInsertSlot.js +20 -0
  541. package/dist/esm/providers/solana/actions/getMaxShredInsertSlot.test.d.ts +1 -0
  542. package/dist/esm/providers/solana/actions/getMaxShredInsertSlot.test.js +30 -0
  543. package/dist/esm/providers/solana/actions/getMinimumBalanceForRentExemption.d.ts +10 -0
  544. package/dist/esm/providers/solana/actions/getMinimumBalanceForRentExemption.js +20 -0
  545. package/dist/esm/providers/solana/actions/getMinimumBalanceForRentExemption.test.d.ts +1 -0
  546. package/dist/esm/providers/solana/actions/getMinimumBalanceForRentExemption.test.js +32 -0
  547. package/dist/esm/providers/solana/actions/getMultipleAccounts.d.ts +23 -0
  548. package/dist/esm/providers/solana/actions/getMultipleAccounts.js +20 -0
  549. package/dist/esm/providers/solana/actions/getMultipleAccounts.test.d.ts +1 -0
  550. package/dist/esm/providers/solana/actions/getMultipleAccounts.test.js +41 -0
  551. package/dist/esm/providers/solana/actions/getProgramAccounts.d.ts +21 -0
  552. package/dist/esm/providers/solana/actions/getProgramAccounts.js +20 -0
  553. package/dist/esm/providers/solana/actions/getProgramAccounts.test.d.ts +1 -0
  554. package/dist/esm/providers/solana/actions/getProgramAccounts.test.js +37 -0
  555. package/dist/esm/providers/solana/actions/getRecentPerformanceSamples.d.ts +16 -0
  556. package/dist/esm/providers/solana/actions/getRecentPerformanceSamples.js +20 -0
  557. package/dist/esm/providers/solana/actions/getRecentPerformanceSamples.test.d.ts +1 -0
  558. package/dist/esm/providers/solana/actions/getRecentPerformanceSamples.test.js +31 -0
  559. package/dist/esm/providers/solana/actions/getRecentPrioritizationFees.d.ts +13 -0
  560. package/dist/esm/providers/solana/actions/getRecentPrioritizationFees.js +20 -0
  561. package/dist/esm/providers/solana/actions/getRecentPrioritizationFees.test.d.ts +1 -0
  562. package/dist/esm/providers/solana/actions/getRecentPrioritizationFees.test.js +32 -0
  563. package/dist/esm/providers/solana/actions/getSignatureStatuses.d.ts +25 -0
  564. package/dist/esm/providers/solana/actions/getSignatureStatuses.js +20 -0
  565. package/dist/esm/providers/solana/actions/getSignatureStatuses.test.d.ts +1 -0
  566. package/dist/esm/providers/solana/actions/getSignatureStatuses.test.js +33 -0
  567. package/dist/esm/providers/solana/actions/getSignaturesForAddress.d.ts +17 -0
  568. package/dist/esm/providers/solana/actions/getSignaturesForAddress.js +20 -0
  569. package/dist/esm/providers/solana/actions/getSignaturesForAddress.test.d.ts +1 -0
  570. package/dist/esm/providers/solana/actions/getSignaturesForAddress.test.js +44 -0
  571. package/dist/esm/providers/solana/actions/getSlot.d.ts +10 -0
  572. package/dist/esm/providers/solana/actions/getSlot.js +20 -0
  573. package/dist/esm/providers/solana/actions/getSlot.test.d.ts +1 -0
  574. package/dist/esm/providers/solana/actions/getSlot.test.js +31 -0
  575. package/dist/esm/providers/solana/actions/getSlotLeader.d.ts +10 -0
  576. package/dist/esm/providers/solana/actions/getSlotLeader.js +20 -0
  577. package/dist/esm/providers/solana/actions/getSlotLeader.test.d.ts +1 -0
  578. package/dist/esm/providers/solana/actions/getSlotLeader.test.js +31 -0
  579. package/dist/esm/providers/solana/actions/getSlotLeaders.d.ts +10 -0
  580. package/dist/esm/providers/solana/actions/getSlotLeaders.js +20 -0
  581. package/dist/esm/providers/solana/actions/getSlotLeaders.test.d.ts +1 -0
  582. package/dist/esm/providers/solana/actions/getSlotLeaders.test.js +32 -0
  583. package/dist/esm/providers/solana/actions/getSupply.d.ts +21 -0
  584. package/dist/esm/providers/solana/actions/getSupply.js +20 -0
  585. package/dist/esm/providers/solana/actions/getSupply.test.d.ts +1 -0
  586. package/dist/esm/providers/solana/actions/getSupply.test.js +31 -0
  587. package/dist/esm/providers/solana/actions/getTokenAccountBalance.d.ts +20 -0
  588. package/dist/esm/providers/solana/actions/getTokenAccountBalance.js +20 -0
  589. package/dist/esm/providers/solana/actions/getTokenAccountBalance.test.d.ts +1 -0
  590. package/dist/esm/providers/solana/actions/getTokenAccountBalance.test.js +32 -0
  591. package/dist/esm/providers/solana/actions/getTokenAccountsByDelegate.d.ts +26 -0
  592. package/dist/esm/providers/solana/actions/getTokenAccountsByDelegate.js +20 -0
  593. package/dist/esm/providers/solana/actions/getTokenAccountsByDelegate.test.d.ts +1 -0
  594. package/dist/esm/providers/solana/actions/getTokenAccountsByDelegate.test.js +33 -0
  595. package/dist/esm/providers/solana/actions/getTokenAccountsByOwner.d.ts +26 -0
  596. package/dist/esm/providers/solana/actions/getTokenAccountsByOwner.js +20 -0
  597. package/dist/esm/providers/solana/actions/getTokenAccountsByOwner.test.d.ts +1 -0
  598. package/dist/esm/providers/solana/actions/getTokenAccountsByOwner.test.js +37 -0
  599. package/dist/esm/providers/solana/actions/getTokenLargestAccounts.d.ts +22 -0
  600. package/dist/esm/providers/solana/actions/getTokenLargestAccounts.js +20 -0
  601. package/dist/esm/providers/solana/actions/getTokenLargestAccounts.test.d.ts +1 -0
  602. package/dist/esm/providers/solana/actions/getTokenLargestAccounts.test.js +32 -0
  603. package/dist/esm/providers/solana/actions/getTokenSupply.d.ts +20 -0
  604. package/dist/esm/providers/solana/actions/getTokenSupply.js +20 -0
  605. package/dist/esm/providers/solana/actions/getTokenSupply.test.d.ts +1 -0
  606. package/dist/esm/providers/solana/actions/getTokenSupply.test.js +32 -0
  607. package/dist/esm/providers/solana/actions/getTransaction.d.ts +80 -0
  608. package/dist/esm/providers/solana/actions/getTransaction.js +20 -0
  609. package/dist/esm/providers/solana/actions/getTransaction.test.d.ts +1 -0
  610. package/dist/esm/providers/solana/actions/getTransaction.test.js +32 -0
  611. package/dist/esm/providers/solana/actions/getTransactionCount.d.ts +10 -0
  612. package/dist/esm/providers/solana/actions/getTransactionCount.js +20 -0
  613. package/dist/esm/providers/solana/actions/getTransactionCount.test.d.ts +1 -0
  614. package/dist/esm/providers/solana/actions/getTransactionCount.test.js +31 -0
  615. package/dist/esm/providers/solana/actions/getVersion.d.ts +13 -0
  616. package/dist/esm/providers/solana/actions/getVersion.js +20 -0
  617. package/dist/esm/providers/solana/actions/getVersion.test.d.ts +1 -0
  618. package/dist/esm/providers/solana/actions/getVersion.test.js +33 -0
  619. package/dist/esm/providers/solana/actions/getVoteAccounts.d.ts +31 -0
  620. package/dist/esm/providers/solana/actions/getVoteAccounts.js +20 -0
  621. package/dist/esm/providers/solana/actions/getVoteAccounts.test.d.ts +1 -0
  622. package/dist/esm/providers/solana/actions/getVoteAccounts.test.js +31 -0
  623. package/dist/esm/providers/solana/actions/index.d.ts +216 -0
  624. package/dist/esm/providers/solana/actions/index.js +173 -0
  625. package/dist/esm/providers/solana/actions/index.test.d.ts +1 -0
  626. package/dist/esm/providers/solana/actions/index.test.js +76 -0
  627. package/dist/esm/providers/solana/actions/isBlockhashValid.d.ts +15 -0
  628. package/dist/esm/providers/solana/actions/isBlockhashValid.js +20 -0
  629. package/dist/esm/providers/solana/actions/isBlockhashValid.test.d.ts +1 -0
  630. package/dist/esm/providers/solana/actions/isBlockhashValid.test.js +32 -0
  631. package/dist/esm/providers/solana/actions/minimumLedgerSlot.d.ts +10 -0
  632. package/dist/esm/providers/solana/actions/minimumLedgerSlot.js +20 -0
  633. package/dist/esm/providers/solana/actions/minimumLedgerSlot.test.d.ts +1 -0
  634. package/dist/esm/providers/solana/actions/minimumLedgerSlot.test.js +30 -0
  635. package/dist/esm/providers/solana/actions/sendTransaction.d.ts +13 -0
  636. package/dist/esm/providers/solana/actions/sendTransaction.js +27 -0
  637. package/dist/esm/providers/solana/actions/sendTransaction.test.d.ts +1 -0
  638. package/dist/esm/providers/solana/actions/sendTransaction.test.js +80 -0
  639. package/dist/esm/providers/solana/actions/simulateTransaction.d.ts +28 -0
  640. package/dist/esm/providers/solana/actions/simulateTransaction.js +27 -0
  641. package/dist/esm/providers/solana/actions/simulateTransaction.test.d.ts +1 -0
  642. package/dist/esm/providers/solana/actions/simulateTransaction.test.js +80 -0
  643. package/dist/esm/providers/solana/actions/switchCluster.d.ts +10 -0
  644. package/dist/esm/providers/solana/actions/switchCluster.js +23 -0
  645. package/dist/esm/providers/solana/actions/switchCluster.test.d.ts +1 -0
  646. package/dist/esm/providers/solana/actions/switchCluster.test.js +31 -0
  647. package/dist/esm/providers/solana/constants.d.ts +6 -0
  648. package/dist/esm/providers/solana/constants.js +17 -0
  649. package/dist/esm/providers/solana/index.d.ts +101 -0
  650. package/dist/esm/providers/solana/index.js +21 -0
  651. package/dist/esm/providers/solana/index.test.d.ts +1 -0
  652. package/dist/esm/providers/solana/index.test.js +166 -0
  653. package/dist/esm/providers/solana/transports/http.d.ts +8 -0
  654. package/dist/esm/providers/solana/transports/http.js +17 -0
  655. package/dist/esm/providers/solana/transports/http.test.d.ts +1 -0
  656. package/dist/esm/providers/solana/transports/http.test.js +86 -0
  657. package/dist/esm/providers/solana/transports/index.d.ts +734 -0
  658. package/dist/esm/providers/solana/transports/index.js +200 -0
  659. package/dist/esm/providers/solana/transports/index.test.d.ts +1 -0
  660. package/dist/esm/providers/solana/transports/index.test.js +272 -0
  661. package/dist/esm/providers/solana/utils/codecs.d.ts +4 -0
  662. package/dist/esm/providers/solana/utils/codecs.js +17 -0
  663. package/dist/esm/providers/solana/utils/index.d.ts +2 -0
  664. package/dist/esm/providers/solana/utils/index.js +12 -0
  665. package/dist/esm/providers/solana/utils/index.test.d.ts +1 -0
  666. package/dist/esm/providers/solana/utils/index.test.js +18 -0
  667. package/dist/esm/providers/solana/utils/toBase64EncodedWireTransaction.d.ts +26 -0
  668. package/dist/esm/providers/solana/utils/toBase64EncodedWireTransaction.js +39 -0
  669. package/dist/esm/providers/solana/utils/toBase64EncodedWireTransaction.test.d.ts +1 -0
  670. package/dist/esm/providers/solana/utils/toBase64EncodedWireTransaction.test.js +106 -0
  671. package/dist/esm/providers/uniswap/actions/exactInputSingle.d.ts +3 -3
  672. package/dist/esm/providers/uniswap/actions/exactInputSingle.js +5 -5
  673. package/dist/esm/providers/uniswap/actions/getPool.d.ts +3 -2
  674. package/dist/esm/providers/uniswap/actions/quoteExactInputSingle.d.ts +3 -2
  675. package/dist/esm/types.d.ts +8 -16
  676. package/dist/esm/types.js +0 -10
  677. package/dist/esm/utils/createConfig.d.ts +36 -0
  678. package/dist/esm/utils/createConfig.js +48 -0
  679. package/dist/esm/utils/createConfig.test.d.ts +1 -0
  680. package/dist/esm/utils/createConfig.test.js +64 -0
  681. package/dist/esm/utils/createCustomWalletClient.d.ts +46 -0
  682. package/dist/esm/utils/createCustomWalletClient.js +78 -0
  683. package/dist/esm/utils/createCustomWalletClient.test.d.ts +1 -0
  684. package/dist/esm/utils/createCustomWalletClient.test.js +98 -0
  685. package/dist/esm/utils/getChainContractByAddress.d.ts +2 -1
  686. package/dist/esm/utils/getClient.d.ts +458 -0
  687. package/dist/esm/utils/getClient.js +22 -0
  688. package/dist/esm/utils/getClient.test.d.ts +1 -0
  689. package/dist/esm/utils/getClient.test.js +44 -0
  690. package/dist/esm/utils/index.d.ts +1 -0
  691. package/dist/esm/utils/index.js +1 -0
  692. package/dist/esm/utils/index.test.js +2 -0
  693. package/package.json +9 -1
  694. package/dist/cjs/providers/circle-wallets/actions/signTypedData.d.ts +0 -8
  695. package/dist/cjs/providers/circle-wallets/actions/signTypedData.test.js +0 -51
  696. package/dist/cjs/providers/circle-wallets/actions/waitForTransactionHash.d.ts +0 -19
  697. package/dist/cjs/providers/circle-wallets/actions/waitForTransactionHash.js +0 -45
  698. package/dist/cjs/providers/circle-wallets/actions/waitForTransactionHash.test.js +0 -92
  699. package/dist/esm/providers/circle-wallets/actions/signTypedData.d.ts +0 -8
  700. package/dist/esm/providers/circle-wallets/actions/signTypedData.test.js +0 -49
  701. package/dist/esm/providers/circle-wallets/actions/waitForTransactionHash.d.ts +0 -19
  702. package/dist/esm/providers/circle-wallets/actions/waitForTransactionHash.js +0 -42
  703. package/dist/esm/providers/circle-wallets/actions/waitForTransactionHash.test.js +0 -90
  704. /package/dist/cjs/{providers/circle-wallets/actions/signTypedData.test.d.ts → actions/getTokenBalance.test.d.ts} +0 -0
  705. /package/dist/cjs/providers/circle-wallets/{actions/waitForTransactionHash.test.d.ts → utils/toSolanaSigner.test.d.ts} +0 -0
  706. /package/dist/{esm/providers/circle-wallets/actions/signTypedData.test.d.ts → cjs/providers/solana/actions/getAccountInfo.test.d.ts} +0 -0
  707. /package/dist/{esm/providers/circle-wallets/actions/waitForTransactionHash.test.d.ts → cjs/providers/solana/actions/getBalance.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, ExtendedViemClient, BaseUnits } from '../../../types.js';
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: ExtendedViemClient, params: ExactInputSingleParams & ControlFlowOptions): Promise<`0x${string}`>;
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 { createPublicClient, erc20Abi, http } from 'viem';
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 publicClient = createPublicClient({ chain, transport: http() });
45
+ const _client = getClient(client, chain);
45
46
  const writeContract = getAction(client, _writeContract, 'writeContract');
46
47
  const waitForTransactionReceipt = getAction(client, _waitForTransactionReceipt, 'waitForTransactionReceipt');
47
- // HACK: `simulateContract` does not support `chain` parameter
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: publicClient,
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, ExtendedViemClient } from '../../../types.js';
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: ExtendedViemClient, params: GetPoolParams): Promise<{
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, ExtendedViemClient, NativeUnits, BaseUnits } from '../../../types.js';
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: ExtendedViemClient, params: QuoteExactInputSingleParams): Promise<{
44
+ export declare function quoteExactInputSingle(client: Client, params: QuoteExactInputSingleParams): Promise<{
44
45
  tokenOutAmount: bigint;
45
46
  sqrtPriceX96After: bigint;
46
47
  initializedTicksCrossed: bigint;
@@ -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
- export type Chain = (typeof chains)[keyof typeof chains];
12
- export type ExtendedEIP1474Methods = [...CircleWalletsMethods, ...CrossChainTransferMethods, ...EIP1474Methods];
13
- export type ExtendedViemClient<transport extends Transport = Transport, chain extends Chain = Chain> = Client<transport, chain, Account, ExtendedEIP1474Methods>;
14
- export type CircleClient = Omit<Client, 'chain'> & {
15
- logger: Logger;
16
- chain: Chain;
17
- } & PublicActions & WalletActions & UniswapActions & CircleWalletsActions & CrossChainTransferProtocolActions & CoreActions;
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
+ });
@@ -1,4 +1,5 @@
1
- import type { Address, Chain, ChainContract } from '../types.js';
1
+ import type { Chain } from '../chains.js';
2
+ import type { Address, ChainContract } from '../types.js';
2
3
  /**
3
4
  * Retrieves the contract associated with a given address from the specified chain.
4
5
  *