@circle-fin/usdckit 0.19.1 → 0.20.1

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 (719) hide show
  1. package/README.md +43 -15
  2. package/dist/cjs/actions/generateTransferLink.d.ts +3 -3
  3. package/dist/cjs/actions/generateTransferLink.d.ts.map +1 -1
  4. package/dist/cjs/actions/index.d.ts +2 -2
  5. package/dist/cjs/actions/index.d.ts.map +1 -1
  6. package/dist/cjs/actions/index.js +7 -6
  7. package/dist/cjs/actions/index.js.map +1 -1
  8. package/dist/cjs/actions/index.test.js +1 -1
  9. package/dist/cjs/actions/index.test.js.map +1 -1
  10. package/dist/cjs/actions/swapExactIn.d.ts +2 -1
  11. package/dist/cjs/actions/swapExactIn.d.ts.map +1 -1
  12. package/dist/cjs/actions/swapExactIn.js.map +1 -1
  13. package/dist/cjs/actions/swapExactIn.test.js +1 -1
  14. package/dist/cjs/actions/swapExactIn.test.js.map +1 -1
  15. package/dist/cjs/actions/sweep.test.js +18 -32
  16. package/dist/cjs/actions/sweep.test.js.map +1 -1
  17. package/dist/cjs/actions/transfer.d.ts +5 -53
  18. package/dist/cjs/actions/transfer.d.ts.map +1 -1
  19. package/dist/cjs/actions/transfer.js +12 -104
  20. package/dist/cjs/actions/transfer.js.map +1 -1
  21. package/dist/cjs/actions/transfer.test.js +20 -191
  22. package/dist/cjs/actions/transfer.test.js.map +1 -1
  23. package/dist/cjs/chains/ARB.d.ts +2 -1
  24. package/dist/cjs/chains/ARB.d.ts.map +1 -1
  25. package/dist/cjs/chains/ARB_SEPOLIA.d.ts +2 -1
  26. package/dist/cjs/chains/ARB_SEPOLIA.d.ts.map +1 -1
  27. package/dist/cjs/chains/AVAX.d.ts +1 -0
  28. package/dist/cjs/chains/AVAX.d.ts.map +1 -1
  29. package/dist/cjs/chains/AVAX_FUJI.d.ts +1 -0
  30. package/dist/cjs/chains/AVAX_FUJI.d.ts.map +1 -1
  31. package/dist/cjs/chains/BASE.d.ts +1 -0
  32. package/dist/cjs/chains/BASE.d.ts.map +1 -1
  33. package/dist/cjs/chains/BASE_SEPOLIA.d.ts +1 -0
  34. package/dist/cjs/chains/BASE_SEPOLIA.d.ts.map +1 -1
  35. package/dist/cjs/chains/ETH.d.ts +1 -0
  36. package/dist/cjs/chains/ETH.d.ts.map +1 -1
  37. package/dist/cjs/chains/ETH_SEPOLIA.d.ts +1 -0
  38. package/dist/cjs/chains/ETH_SEPOLIA.d.ts.map +1 -1
  39. package/dist/cjs/chains/MATIC.d.ts +1 -0
  40. package/dist/cjs/chains/MATIC.d.ts.map +1 -1
  41. package/dist/cjs/chains/MATIC_AMOY.d.ts +1 -0
  42. package/dist/cjs/chains/MATIC_AMOY.d.ts.map +1 -1
  43. package/dist/cjs/chains/NEAR.d.ts +1 -0
  44. package/dist/cjs/chains/NEAR.d.ts.map +1 -1
  45. package/dist/cjs/chains/NEAR_TESTNET.d.ts +1 -0
  46. package/dist/cjs/chains/NEAR_TESTNET.d.ts.map +1 -1
  47. package/dist/cjs/chains/OP.d.ts +1 -0
  48. package/dist/cjs/chains/OP.d.ts.map +1 -1
  49. package/dist/cjs/chains/OP_SEPOLIA.d.ts +1 -0
  50. package/dist/cjs/chains/OP_SEPOLIA.d.ts.map +1 -1
  51. package/dist/cjs/chains/SOL.d.ts +47 -0
  52. package/dist/cjs/chains/SOL.d.ts.map +1 -0
  53. package/dist/cjs/chains/SOL.js +41 -0
  54. package/dist/cjs/chains/SOL.js.map +1 -0
  55. package/dist/cjs/chains/SOL_DEVNET.d.ts +48 -0
  56. package/dist/cjs/chains/SOL_DEVNET.d.ts.map +1 -0
  57. package/dist/cjs/chains/SOL_DEVNET.js +46 -0
  58. package/dist/cjs/chains/SOL_DEVNET.js.map +1 -0
  59. package/dist/cjs/chains/UNI.d.ts +1 -0
  60. package/dist/cjs/chains/UNI.d.ts.map +1 -1
  61. package/dist/cjs/chains/UNI_SEPOLIA.d.ts +1 -0
  62. package/dist/cjs/chains/UNI_SEPOLIA.d.ts.map +1 -1
  63. package/dist/cjs/chains/index.d.ts +2 -0
  64. package/dist/cjs/chains/index.d.ts.map +1 -1
  65. package/dist/cjs/chains/index.js +5 -1
  66. package/dist/cjs/chains/index.js.map +1 -1
  67. package/dist/cjs/chains/index.test.js +2 -0
  68. package/dist/cjs/chains/index.test.js.map +1 -1
  69. package/dist/cjs/extractChain.d.ts +241 -130
  70. package/dist/cjs/extractChain.d.ts.map +1 -1
  71. package/dist/cjs/extractChain.js +2 -6
  72. package/dist/cjs/extractChain.js.map +1 -1
  73. package/dist/cjs/extractChain.test.js +0 -3
  74. package/dist/cjs/extractChain.test.js.map +1 -1
  75. package/dist/cjs/index.d.ts.map +1 -1
  76. package/dist/cjs/index.js +2 -0
  77. package/dist/cjs/index.js.map +1 -1
  78. package/dist/cjs/metadata.js +1 -1
  79. package/dist/cjs/providers/circle-wallets/actions/createAccount.d.ts +5282 -5
  80. package/dist/cjs/providers/circle-wallets/actions/createAccount.d.ts.map +1 -1
  81. package/dist/cjs/providers/circle-wallets/actions/createAccount.js +4 -3
  82. package/dist/cjs/providers/circle-wallets/actions/createAccount.js.map +1 -1
  83. package/dist/cjs/providers/circle-wallets/actions/createAccount.test.js +158 -1
  84. package/dist/cjs/providers/circle-wallets/actions/createAccount.test.js.map +1 -1
  85. package/dist/cjs/providers/circle-wallets/actions/createContractExecutionTransaction.test.js +1 -1
  86. package/dist/cjs/providers/circle-wallets/actions/createContractExecutionTransaction.test.js.map +1 -1
  87. package/dist/cjs/providers/circle-wallets/actions/createTransaction.test.js +1 -1
  88. package/dist/cjs/providers/circle-wallets/actions/createTransaction.test.js.map +1 -1
  89. package/dist/cjs/providers/circle-wallets/actions/createWalletSet.test.js +1 -1
  90. package/dist/cjs/providers/circle-wallets/actions/createWalletSet.test.js.map +1 -1
  91. package/dist/cjs/providers/circle-wallets/actions/createWallets.test.js +1 -1
  92. package/dist/cjs/providers/circle-wallets/actions/createWallets.test.js.map +1 -1
  93. package/dist/cjs/providers/circle-wallets/actions/deriveWallet.test.js +1 -1
  94. package/dist/cjs/providers/circle-wallets/actions/deriveWallet.test.js.map +1 -1
  95. package/dist/cjs/providers/circle-wallets/actions/drip.d.ts +43 -1
  96. package/dist/cjs/providers/circle-wallets/actions/drip.d.ts.map +1 -1
  97. package/dist/cjs/providers/circle-wallets/actions/drip.js +44 -3
  98. package/dist/cjs/providers/circle-wallets/actions/drip.js.map +1 -1
  99. package/dist/cjs/providers/circle-wallets/actions/drip.test.js +1 -1
  100. package/dist/cjs/providers/circle-wallets/actions/drip.test.js.map +1 -1
  101. package/dist/cjs/providers/circle-wallets/actions/estimateContractExecutionFee.test.js +1 -1
  102. package/dist/cjs/providers/circle-wallets/actions/estimateContractExecutionFee.test.js.map +1 -1
  103. package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.d.ts +57 -1
  104. package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.d.ts.map +1 -1
  105. package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.js +116 -0
  106. package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.js.map +1 -1
  107. package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.test.js +374 -1
  108. package/dist/cjs/providers/circle-wallets/actions/estimateTransferFee.test.js.map +1 -1
  109. package/dist/cjs/providers/circle-wallets/actions/getAccounts.d.ts +5254 -4
  110. package/dist/cjs/providers/circle-wallets/actions/getAccounts.d.ts.map +1 -1
  111. package/dist/cjs/providers/circle-wallets/actions/getAccounts.js +2 -2
  112. package/dist/cjs/providers/circle-wallets/actions/getAccounts.js.map +1 -1
  113. package/dist/cjs/providers/circle-wallets/actions/getAccounts.test.js +1 -1
  114. package/dist/cjs/providers/circle-wallets/actions/getAccounts.test.js.map +1 -1
  115. package/dist/cjs/providers/circle-wallets/actions/getNotificationSignature.test.js +1 -1
  116. package/dist/cjs/providers/circle-wallets/actions/getNotificationSignature.test.js.map +1 -1
  117. package/dist/cjs/providers/circle-wallets/actions/getTokenBalances.d.ts +2 -1
  118. package/dist/cjs/providers/circle-wallets/actions/getTokenBalances.d.ts.map +1 -1
  119. package/dist/cjs/providers/circle-wallets/actions/getTokenBalances.js +2 -2
  120. package/dist/cjs/providers/circle-wallets/actions/getTokenBalances.js.map +1 -1
  121. package/dist/cjs/providers/circle-wallets/actions/getTokenBalances.test.js +1 -1
  122. package/dist/cjs/providers/circle-wallets/actions/getTokenBalances.test.js.map +1 -1
  123. package/dist/cjs/providers/circle-wallets/actions/getTransactionById.test.js +1 -1
  124. package/dist/cjs/providers/circle-wallets/actions/getTransactionById.test.js.map +1 -1
  125. package/dist/cjs/providers/circle-wallets/actions/getWallet.test.js +1 -1
  126. package/dist/cjs/providers/circle-wallets/actions/getWallet.test.js.map +1 -1
  127. package/dist/cjs/providers/circle-wallets/actions/getWalletTokenBalance.test.js +1 -1
  128. package/dist/cjs/providers/circle-wallets/actions/getWalletTokenBalance.test.js.map +1 -1
  129. package/dist/cjs/providers/circle-wallets/actions/getWalletsWithBalances.test.js +1 -1
  130. package/dist/cjs/providers/circle-wallets/actions/getWalletsWithBalances.test.js.map +1 -1
  131. package/dist/cjs/providers/circle-wallets/actions/importContract.test.js +1 -1
  132. package/dist/cjs/providers/circle-wallets/actions/importContract.test.js.map +1 -1
  133. package/dist/cjs/providers/circle-wallets/actions/index.d.ts +9 -8
  134. package/dist/cjs/providers/circle-wallets/actions/index.d.ts.map +1 -1
  135. package/dist/cjs/providers/circle-wallets/actions/index.js +10 -10
  136. package/dist/cjs/providers/circle-wallets/actions/index.js.map +1 -1
  137. package/dist/cjs/providers/circle-wallets/actions/index.test.js +3 -3
  138. package/dist/cjs/providers/circle-wallets/actions/index.test.js.map +1 -1
  139. package/dist/cjs/providers/circle-wallets/actions/listTransactions.d.ts +17 -0
  140. package/dist/cjs/providers/circle-wallets/actions/listTransactions.d.ts.map +1 -0
  141. package/dist/cjs/providers/{uniswap/extractChain.js → circle-wallets/actions/listTransactions.js} +17 -9
  142. package/dist/cjs/providers/circle-wallets/actions/listTransactions.js.map +1 -0
  143. package/dist/cjs/providers/circle-wallets/actions/listTransactions.test.d.ts +2 -0
  144. package/dist/cjs/providers/circle-wallets/actions/listTransactions.test.d.ts.map +1 -0
  145. package/dist/cjs/providers/circle-wallets/actions/listTransactions.test.js +164 -0
  146. package/dist/cjs/providers/circle-wallets/actions/listTransactions.test.js.map +1 -0
  147. package/dist/cjs/providers/circle-wallets/actions/listWallets.test.js +1 -1
  148. package/dist/cjs/providers/circle-wallets/actions/listWallets.test.js.map +1 -1
  149. package/dist/cjs/providers/circle-wallets/actions/requestTestnetTokens.test.js +1 -1
  150. package/dist/cjs/providers/circle-wallets/actions/requestTestnetTokens.test.js.map +1 -1
  151. package/dist/cjs/providers/circle-wallets/actions/signTransaction.test.js +1 -1
  152. package/dist/cjs/providers/circle-wallets/actions/signTransaction.test.js.map +1 -1
  153. package/dist/cjs/providers/circle-wallets/actions/signTypedData.test.js +1 -1
  154. package/dist/cjs/providers/circle-wallets/actions/signTypedData.test.js.map +1 -1
  155. package/dist/cjs/providers/circle-wallets/actions/verifyNotification.test.js +1 -1
  156. package/dist/cjs/providers/circle-wallets/actions/verifyNotification.test.js.map +1 -1
  157. package/dist/cjs/providers/circle-wallets/actions/waitForTransactionHash.test.js +1 -1
  158. package/dist/cjs/providers/circle-wallets/actions/waitForTransactionHash.test.js.map +1 -1
  159. package/dist/cjs/providers/circle-wallets/actions/writeContract.d.ts +3 -1
  160. package/dist/cjs/providers/circle-wallets/actions/writeContract.d.ts.map +1 -1
  161. package/dist/cjs/providers/circle-wallets/actions/writeContract.js +14 -8
  162. package/dist/cjs/providers/circle-wallets/actions/writeContract.js.map +1 -1
  163. package/dist/cjs/providers/circle-wallets/actions/writeContract.test.js +144 -1
  164. package/dist/cjs/providers/circle-wallets/actions/writeContract.test.js.map +1 -1
  165. package/dist/cjs/providers/circle-wallets/index.d.ts +268 -4694
  166. package/dist/cjs/providers/circle-wallets/index.d.ts.map +1 -1
  167. package/dist/cjs/providers/circle-wallets/index.js +11 -16
  168. package/dist/cjs/providers/circle-wallets/index.js.map +1 -1
  169. package/dist/cjs/providers/circle-wallets/transports/index.d.ts +71 -2
  170. package/dist/cjs/providers/circle-wallets/transports/index.d.ts.map +1 -1
  171. package/dist/cjs/providers/circle-wallets/transports/index.js +71 -30
  172. package/dist/cjs/providers/circle-wallets/transports/index.js.map +1 -1
  173. package/dist/cjs/providers/circle-wallets/transports/index.test.js +315 -5
  174. package/dist/cjs/providers/circle-wallets/transports/index.test.js.map +1 -1
  175. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.d.ts +2 -1
  176. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.d.ts.map +1 -1
  177. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.js +3 -3
  178. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.js.map +1 -1
  179. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.test.js +1 -1
  180. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/approve.test.js.map +1 -1
  181. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/{transferViaCCTP.d.ts → bridge.d.ts} +7 -6
  182. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/bridge.d.ts.map +1 -0
  183. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/{transferViaCCTP.js → bridge.js} +8 -8
  184. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/bridge.js.map +1 -0
  185. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/bridge.test.d.ts +2 -0
  186. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/bridge.test.d.ts.map +1 -0
  187. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/{transferViaCCTP.test.js → bridge.test.js} +9 -9
  188. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/bridge.test.js.map +1 -0
  189. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.d.ts +2 -1
  190. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.d.ts.map +1 -1
  191. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.js +2 -2
  192. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.js.map +1 -1
  193. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.test.js +1 -1
  194. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/depositForBurn.test.js.map +1 -1
  195. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/index.d.ts +7 -7
  196. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/index.d.ts.map +1 -1
  197. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/index.js +4 -4
  198. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/index.js.map +1 -1
  199. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/index.test.js +2 -2
  200. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/index.test.js.map +1 -1
  201. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/listMessages.test.js +1 -1
  202. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/listMessages.test.js.map +1 -1
  203. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.d.ts +2 -1
  204. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.d.ts.map +1 -1
  205. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.js +2 -2
  206. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.js.map +1 -1
  207. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.test.js +1 -1
  208. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/receiveMessage.test.js.map +1 -1
  209. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.d.ts +2 -1
  210. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.d.ts.map +1 -1
  211. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.js +2 -2
  212. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.js.map +1 -1
  213. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.test.js +1 -1
  214. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.test.js.map +1 -1
  215. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ARB.d.ts +2 -1
  216. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ARB.d.ts.map +1 -1
  217. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ARB_SEPOLIA.d.ts +2 -1
  218. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ARB_SEPOLIA.d.ts.map +1 -1
  219. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/AVAX.d.ts +1 -0
  220. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/AVAX.d.ts.map +1 -1
  221. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/AVAX_FUJI.d.ts +1 -0
  222. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/AVAX_FUJI.d.ts.map +1 -1
  223. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/BASE.d.ts +1 -0
  224. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/BASE.d.ts.map +1 -1
  225. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/BASE_SEPOLIA.d.ts +1 -0
  226. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/BASE_SEPOLIA.d.ts.map +1 -1
  227. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ETH.d.ts +1 -0
  228. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ETH.d.ts.map +1 -1
  229. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ETH_SEPOLIA.d.ts +1 -0
  230. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ETH_SEPOLIA.d.ts.map +1 -1
  231. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/MATIC.d.ts +1 -0
  232. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/MATIC.d.ts.map +1 -1
  233. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/MATIC_AMOY.d.ts +1 -0
  234. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/MATIC_AMOY.d.ts.map +1 -1
  235. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/OP.d.ts +1 -0
  236. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/OP.d.ts.map +1 -1
  237. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/OP_SEPOLIA.d.ts +1 -0
  238. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/OP_SEPOLIA.d.ts.map +1 -1
  239. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/UNI.d.ts +1 -0
  240. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/UNI.d.ts.map +1 -1
  241. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/UNI_SEPOLIA.d.ts +1 -0
  242. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/UNI_SEPOLIA.d.ts.map +1 -1
  243. package/dist/cjs/providers/cross-chain-transfer-protocol/index.d.ts +22 -3
  244. package/dist/cjs/providers/cross-chain-transfer-protocol/index.d.ts.map +1 -1
  245. package/dist/cjs/providers/cross-chain-transfer-protocol/index.js +5 -1
  246. package/dist/cjs/providers/cross-chain-transfer-protocol/index.js.map +1 -1
  247. package/dist/cjs/providers/cross-chain-transfer-protocol/transports/index.test.js +1 -1
  248. package/dist/cjs/providers/cross-chain-transfer-protocol/transports/index.test.js.map +1 -1
  249. package/dist/cjs/providers/uniswap/actions/exactInputSingle.d.ts +2 -1
  250. package/dist/cjs/providers/uniswap/actions/exactInputSingle.d.ts.map +1 -1
  251. package/dist/cjs/providers/uniswap/actions/exactInputSingle.js +2 -2
  252. package/dist/cjs/providers/uniswap/actions/exactInputSingle.js.map +1 -1
  253. package/dist/cjs/providers/uniswap/actions/exactInputSingle.test.js +1 -1
  254. package/dist/cjs/providers/uniswap/actions/exactInputSingle.test.js.map +1 -1
  255. package/dist/cjs/providers/uniswap/actions/getPool.d.ts +2 -1
  256. package/dist/cjs/providers/uniswap/actions/getPool.d.ts.map +1 -1
  257. package/dist/cjs/providers/uniswap/actions/getPool.js +2 -2
  258. package/dist/cjs/providers/uniswap/actions/getPool.js.map +1 -1
  259. package/dist/cjs/providers/uniswap/actions/getPool.test.js +1 -1
  260. package/dist/cjs/providers/uniswap/actions/getPool.test.js.map +1 -1
  261. package/dist/cjs/providers/uniswap/actions/index.d.ts +3 -3
  262. package/dist/cjs/providers/uniswap/actions/index.d.ts.map +1 -1
  263. package/dist/cjs/providers/uniswap/actions/index.js.map +1 -1
  264. package/dist/cjs/providers/uniswap/actions/index.test.js +1 -1
  265. package/dist/cjs/providers/uniswap/actions/index.test.js.map +1 -1
  266. package/dist/cjs/providers/uniswap/actions/quoteExactInputSingle.d.ts +2 -1
  267. package/dist/cjs/providers/uniswap/actions/quoteExactInputSingle.d.ts.map +1 -1
  268. package/dist/cjs/providers/uniswap/actions/quoteExactInputSingle.js +2 -2
  269. package/dist/cjs/providers/uniswap/actions/quoteExactInputSingle.js.map +1 -1
  270. package/dist/cjs/providers/uniswap/actions/quoteExactInputSingle.test.js +1 -1
  271. package/dist/cjs/providers/uniswap/actions/quoteExactInputSingle.test.js.map +1 -1
  272. package/dist/cjs/providers/uniswap/chains/ARB.d.ts +2 -1
  273. package/dist/cjs/providers/uniswap/chains/ARB.d.ts.map +1 -1
  274. package/dist/cjs/providers/uniswap/chains/ARB_SEPOLIA.d.ts +2 -1
  275. package/dist/cjs/providers/uniswap/chains/ARB_SEPOLIA.d.ts.map +1 -1
  276. package/dist/cjs/providers/uniswap/chains/AVAX.d.ts +1 -0
  277. package/dist/cjs/providers/uniswap/chains/AVAX.d.ts.map +1 -1
  278. package/dist/cjs/providers/uniswap/chains/BASE.d.ts +1 -0
  279. package/dist/cjs/providers/uniswap/chains/BASE.d.ts.map +1 -1
  280. package/dist/cjs/providers/uniswap/chains/BASE_SEPOLIA.d.ts +1 -0
  281. package/dist/cjs/providers/uniswap/chains/BASE_SEPOLIA.d.ts.map +1 -1
  282. package/dist/cjs/providers/uniswap/chains/ETH.d.ts +1 -0
  283. package/dist/cjs/providers/uniswap/chains/ETH.d.ts.map +1 -1
  284. package/dist/cjs/providers/uniswap/chains/ETH_SEPOLIA.d.ts +1 -0
  285. package/dist/cjs/providers/uniswap/chains/ETH_SEPOLIA.d.ts.map +1 -1
  286. package/dist/cjs/providers/uniswap/chains/MATIC.d.ts +1 -0
  287. package/dist/cjs/providers/uniswap/chains/MATIC.d.ts.map +1 -1
  288. package/dist/cjs/providers/uniswap/chains/OP.d.ts +1 -0
  289. package/dist/cjs/providers/uniswap/chains/OP.d.ts.map +1 -1
  290. package/dist/cjs/providers/uniswap/chains/OP_SEPOLIA.d.ts +1 -0
  291. package/dist/cjs/providers/uniswap/chains/OP_SEPOLIA.d.ts.map +1 -1
  292. package/dist/cjs/providers/uniswap/chains/UNI.d.ts +1 -0
  293. package/dist/cjs/providers/uniswap/chains/UNI.d.ts.map +1 -1
  294. package/dist/cjs/providers/uniswap/chains/UNI_SEPOLIA.d.ts +1 -0
  295. package/dist/cjs/providers/uniswap/chains/UNI_SEPOLIA.d.ts.map +1 -1
  296. package/dist/cjs/providers/uniswap/index.d.ts +9 -1
  297. package/dist/cjs/providers/uniswap/index.d.ts.map +1 -1
  298. package/dist/cjs/providers/uniswap/index.js +5 -1
  299. package/dist/cjs/providers/uniswap/index.js.map +1 -1
  300. package/dist/cjs/types.d.ts +7 -7
  301. package/dist/cjs/types.d.ts.map +1 -1
  302. package/dist/cjs/utils/getContract.d.ts +27 -27
  303. package/dist/cjs/utils/getContract.d.ts.map +1 -1
  304. package/dist/cjs/utils/getContract.test.js +1 -1
  305. package/dist/cjs/utils/getContract.test.js.map +1 -1
  306. package/dist/cjs/utils/index.test.js +1 -1
  307. package/dist/cjs/utils/index.test.js.map +1 -1
  308. package/dist/cjs/utils/parseAccount.d.ts +6 -31
  309. package/dist/cjs/utils/parseAccount.d.ts.map +1 -1
  310. package/dist/cjs/utils/parseAccount.js +9 -5
  311. package/dist/cjs/utils/parseAccount.js.map +1 -1
  312. package/dist/cjs/utils/parseAddress.d.ts +3 -2
  313. package/dist/cjs/utils/parseAddress.d.ts.map +1 -1
  314. package/dist/cjs/utils/parseAddress.js.map +1 -1
  315. package/dist/cjs/utils/parseUnitsAsToken.d.ts +3 -3
  316. package/dist/cjs/utils/parseUnitsAsToken.d.ts.map +1 -1
  317. package/dist/esm/actions/generateTransferLink.d.ts +3 -3
  318. package/dist/esm/actions/generateTransferLink.d.ts.map +1 -1
  319. package/dist/esm/actions/index.d.ts +2 -2
  320. package/dist/esm/actions/index.d.ts.map +1 -1
  321. package/dist/esm/actions/index.js +7 -6
  322. package/dist/esm/actions/index.js.map +1 -1
  323. package/dist/esm/actions/index.test.js +2 -2
  324. package/dist/esm/actions/index.test.js.map +1 -1
  325. package/dist/esm/actions/swapExactIn.d.ts +2 -1
  326. package/dist/esm/actions/swapExactIn.d.ts.map +1 -1
  327. package/dist/esm/actions/swapExactIn.js.map +1 -1
  328. package/dist/esm/actions/swapExactIn.test.js +2 -2
  329. package/dist/esm/actions/swapExactIn.test.js.map +1 -1
  330. package/dist/esm/actions/sweep.test.js +19 -33
  331. package/dist/esm/actions/sweep.test.js.map +1 -1
  332. package/dist/esm/actions/transfer.d.ts +5 -53
  333. package/dist/esm/actions/transfer.d.ts.map +1 -1
  334. package/dist/esm/actions/transfer.js +8 -97
  335. package/dist/esm/actions/transfer.js.map +1 -1
  336. package/dist/esm/actions/transfer.test.js +33 -204
  337. package/dist/esm/actions/transfer.test.js.map +1 -1
  338. package/dist/esm/chains/ARB.d.ts +2 -1
  339. package/dist/esm/chains/ARB.d.ts.map +1 -1
  340. package/dist/esm/chains/ARB_SEPOLIA.d.ts +2 -1
  341. package/dist/esm/chains/ARB_SEPOLIA.d.ts.map +1 -1
  342. package/dist/esm/chains/AVAX.d.ts +1 -0
  343. package/dist/esm/chains/AVAX.d.ts.map +1 -1
  344. package/dist/esm/chains/AVAX_FUJI.d.ts +1 -0
  345. package/dist/esm/chains/AVAX_FUJI.d.ts.map +1 -1
  346. package/dist/esm/chains/BASE.d.ts +1 -0
  347. package/dist/esm/chains/BASE.d.ts.map +1 -1
  348. package/dist/esm/chains/BASE_SEPOLIA.d.ts +1 -0
  349. package/dist/esm/chains/BASE_SEPOLIA.d.ts.map +1 -1
  350. package/dist/esm/chains/ETH.d.ts +1 -0
  351. package/dist/esm/chains/ETH.d.ts.map +1 -1
  352. package/dist/esm/chains/ETH_SEPOLIA.d.ts +1 -0
  353. package/dist/esm/chains/ETH_SEPOLIA.d.ts.map +1 -1
  354. package/dist/esm/chains/MATIC.d.ts +1 -0
  355. package/dist/esm/chains/MATIC.d.ts.map +1 -1
  356. package/dist/esm/chains/MATIC_AMOY.d.ts +1 -0
  357. package/dist/esm/chains/MATIC_AMOY.d.ts.map +1 -1
  358. package/dist/esm/chains/NEAR.d.ts +1 -0
  359. package/dist/esm/chains/NEAR.d.ts.map +1 -1
  360. package/dist/esm/chains/NEAR_TESTNET.d.ts +1 -0
  361. package/dist/esm/chains/NEAR_TESTNET.d.ts.map +1 -1
  362. package/dist/esm/chains/OP.d.ts +1 -0
  363. package/dist/esm/chains/OP.d.ts.map +1 -1
  364. package/dist/esm/chains/OP_SEPOLIA.d.ts +1 -0
  365. package/dist/esm/chains/OP_SEPOLIA.d.ts.map +1 -1
  366. package/dist/esm/chains/SOL.d.ts +47 -0
  367. package/dist/esm/chains/SOL.d.ts.map +1 -0
  368. package/dist/esm/chains/SOL.js +38 -0
  369. package/dist/esm/chains/SOL.js.map +1 -0
  370. package/dist/esm/chains/SOL_DEVNET.d.ts +48 -0
  371. package/dist/esm/chains/SOL_DEVNET.d.ts.map +1 -0
  372. package/dist/esm/chains/SOL_DEVNET.js +43 -0
  373. package/dist/esm/chains/SOL_DEVNET.js.map +1 -0
  374. package/dist/esm/chains/UNI.d.ts +1 -0
  375. package/dist/esm/chains/UNI.d.ts.map +1 -1
  376. package/dist/esm/chains/UNI_SEPOLIA.d.ts +1 -0
  377. package/dist/esm/chains/UNI_SEPOLIA.d.ts.map +1 -1
  378. package/dist/esm/chains/index.d.ts +2 -0
  379. package/dist/esm/chains/index.d.ts.map +1 -1
  380. package/dist/esm/chains/index.js +2 -0
  381. package/dist/esm/chains/index.js.map +1 -1
  382. package/dist/esm/chains/index.test.js +2 -0
  383. package/dist/esm/chains/index.test.js.map +1 -1
  384. package/dist/esm/cli/drip.d.ts +9 -0
  385. package/dist/esm/cli/drip.d.ts.map +1 -0
  386. package/dist/esm/cli/drip.js +49 -0
  387. package/dist/esm/cli/drip.js.map +1 -0
  388. package/dist/esm/cli/drip.test.d.ts +2 -0
  389. package/dist/esm/cli/drip.test.d.ts.map +1 -0
  390. package/dist/esm/cli/drip.test.js +102 -0
  391. package/dist/esm/cli/drip.test.js.map +1 -0
  392. package/dist/esm/cli/index.mjs +2 -0
  393. package/dist/esm/cli/index.mjs.map +1 -1
  394. package/dist/esm/cli/register-entity-secret.test.js +2 -5
  395. package/dist/esm/cli/register-entity-secret.test.js.map +1 -1
  396. package/dist/esm/cli/utils.test.js +1 -4
  397. package/dist/esm/cli/utils.test.js.map +1 -1
  398. package/dist/esm/extractChain.d.ts +241 -130
  399. package/dist/esm/extractChain.d.ts.map +1 -1
  400. package/dist/esm/extractChain.js +2 -6
  401. package/dist/esm/extractChain.js.map +1 -1
  402. package/dist/esm/extractChain.test.js +1 -4
  403. package/dist/esm/extractChain.test.js.map +1 -1
  404. package/dist/esm/index.d.ts.map +1 -1
  405. package/dist/esm/index.js +2 -0
  406. package/dist/esm/index.js.map +1 -1
  407. package/dist/esm/metadata.js +1 -1
  408. package/dist/esm/providers/circle-wallets/actions/createAccount.d.ts +5282 -5
  409. package/dist/esm/providers/circle-wallets/actions/createAccount.d.ts.map +1 -1
  410. package/dist/esm/providers/circle-wallets/actions/createAccount.js +3 -2
  411. package/dist/esm/providers/circle-wallets/actions/createAccount.js.map +1 -1
  412. package/dist/esm/providers/circle-wallets/actions/createAccount.test.js +159 -2
  413. package/dist/esm/providers/circle-wallets/actions/createAccount.test.js.map +1 -1
  414. package/dist/esm/providers/circle-wallets/actions/createContractExecutionTransaction.test.js +2 -2
  415. package/dist/esm/providers/circle-wallets/actions/createContractExecutionTransaction.test.js.map +1 -1
  416. package/dist/esm/providers/circle-wallets/actions/createTransaction.test.js +2 -2
  417. package/dist/esm/providers/circle-wallets/actions/createTransaction.test.js.map +1 -1
  418. package/dist/esm/providers/circle-wallets/actions/createWalletSet.test.js +2 -2
  419. package/dist/esm/providers/circle-wallets/actions/createWalletSet.test.js.map +1 -1
  420. package/dist/esm/providers/circle-wallets/actions/createWallets.test.js +2 -2
  421. package/dist/esm/providers/circle-wallets/actions/createWallets.test.js.map +1 -1
  422. package/dist/esm/providers/circle-wallets/actions/deriveWallet.test.js +2 -2
  423. package/dist/esm/providers/circle-wallets/actions/deriveWallet.test.js.map +1 -1
  424. package/dist/esm/providers/circle-wallets/actions/drip.d.ts +43 -1
  425. package/dist/esm/providers/circle-wallets/actions/drip.d.ts.map +1 -1
  426. package/dist/esm/providers/circle-wallets/actions/drip.js +43 -2
  427. package/dist/esm/providers/circle-wallets/actions/drip.js.map +1 -1
  428. package/dist/esm/providers/circle-wallets/actions/drip.test.js +2 -2
  429. package/dist/esm/providers/circle-wallets/actions/drip.test.js.map +1 -1
  430. package/dist/esm/providers/circle-wallets/actions/estimateContractExecutionFee.test.js +2 -2
  431. package/dist/esm/providers/circle-wallets/actions/estimateContractExecutionFee.test.js.map +1 -1
  432. package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.d.ts +57 -1
  433. package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.d.ts.map +1 -1
  434. package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.js +112 -0
  435. package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.js.map +1 -1
  436. package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.test.js +376 -3
  437. package/dist/esm/providers/circle-wallets/actions/estimateTransferFee.test.js.map +1 -1
  438. package/dist/esm/providers/circle-wallets/actions/getAccounts.d.ts +5254 -4
  439. package/dist/esm/providers/circle-wallets/actions/getAccounts.d.ts.map +1 -1
  440. package/dist/esm/providers/circle-wallets/actions/getAccounts.js +1 -1
  441. package/dist/esm/providers/circle-wallets/actions/getAccounts.js.map +1 -1
  442. package/dist/esm/providers/circle-wallets/actions/getAccounts.test.js +2 -2
  443. package/dist/esm/providers/circle-wallets/actions/getAccounts.test.js.map +1 -1
  444. package/dist/esm/providers/circle-wallets/actions/getNotificationSignature.test.js +2 -2
  445. package/dist/esm/providers/circle-wallets/actions/getNotificationSignature.test.js.map +1 -1
  446. package/dist/esm/providers/circle-wallets/actions/getTokenBalances.d.ts +2 -1
  447. package/dist/esm/providers/circle-wallets/actions/getTokenBalances.d.ts.map +1 -1
  448. package/dist/esm/providers/circle-wallets/actions/getTokenBalances.js +1 -1
  449. package/dist/esm/providers/circle-wallets/actions/getTokenBalances.js.map +1 -1
  450. package/dist/esm/providers/circle-wallets/actions/getTokenBalances.test.js +2 -2
  451. package/dist/esm/providers/circle-wallets/actions/getTokenBalances.test.js.map +1 -1
  452. package/dist/esm/providers/circle-wallets/actions/getTransactionById.test.js +2 -2
  453. package/dist/esm/providers/circle-wallets/actions/getTransactionById.test.js.map +1 -1
  454. package/dist/esm/providers/circle-wallets/actions/getWallet.test.js +2 -2
  455. package/dist/esm/providers/circle-wallets/actions/getWallet.test.js.map +1 -1
  456. package/dist/esm/providers/circle-wallets/actions/getWalletTokenBalance.test.js +2 -2
  457. package/dist/esm/providers/circle-wallets/actions/getWalletTokenBalance.test.js.map +1 -1
  458. package/dist/esm/providers/circle-wallets/actions/getWalletsWithBalances.test.js +2 -2
  459. package/dist/esm/providers/circle-wallets/actions/getWalletsWithBalances.test.js.map +1 -1
  460. package/dist/esm/providers/circle-wallets/actions/importContract.test.js +2 -2
  461. package/dist/esm/providers/circle-wallets/actions/importContract.test.js.map +1 -1
  462. package/dist/esm/providers/circle-wallets/actions/index.d.ts +9 -8
  463. package/dist/esm/providers/circle-wallets/actions/index.d.ts.map +1 -1
  464. package/dist/esm/providers/circle-wallets/actions/index.js +10 -10
  465. package/dist/esm/providers/circle-wallets/actions/index.js.map +1 -1
  466. package/dist/esm/providers/circle-wallets/actions/index.test.js +4 -4
  467. package/dist/esm/providers/circle-wallets/actions/index.test.js.map +1 -1
  468. package/dist/esm/providers/circle-wallets/actions/listTransactions.d.ts +17 -0
  469. package/dist/esm/providers/circle-wallets/actions/listTransactions.d.ts.map +1 -0
  470. package/dist/esm/providers/circle-wallets/actions/listTransactions.js +27 -0
  471. package/dist/esm/providers/circle-wallets/actions/listTransactions.js.map +1 -0
  472. package/dist/esm/providers/circle-wallets/actions/listTransactions.test.d.ts +2 -0
  473. package/dist/esm/providers/circle-wallets/actions/listTransactions.test.d.ts.map +1 -0
  474. package/dist/esm/providers/circle-wallets/actions/listTransactions.test.js +162 -0
  475. package/dist/esm/providers/circle-wallets/actions/listTransactions.test.js.map +1 -0
  476. package/dist/esm/providers/circle-wallets/actions/listWallets.test.js +2 -2
  477. package/dist/esm/providers/circle-wallets/actions/listWallets.test.js.map +1 -1
  478. package/dist/esm/providers/circle-wallets/actions/requestTestnetTokens.test.js +2 -2
  479. package/dist/esm/providers/circle-wallets/actions/requestTestnetTokens.test.js.map +1 -1
  480. package/dist/esm/providers/circle-wallets/actions/signTransaction.test.js +2 -2
  481. package/dist/esm/providers/circle-wallets/actions/signTransaction.test.js.map +1 -1
  482. package/dist/esm/providers/circle-wallets/actions/signTypedData.test.js +2 -2
  483. package/dist/esm/providers/circle-wallets/actions/signTypedData.test.js.map +1 -1
  484. package/dist/esm/providers/circle-wallets/actions/verifyNotification.test.js +2 -2
  485. package/dist/esm/providers/circle-wallets/actions/verifyNotification.test.js.map +1 -1
  486. package/dist/esm/providers/circle-wallets/actions/waitForTransactionHash.test.js +2 -2
  487. package/dist/esm/providers/circle-wallets/actions/waitForTransactionHash.test.js.map +1 -1
  488. package/dist/esm/providers/circle-wallets/actions/writeContract.d.ts +3 -1
  489. package/dist/esm/providers/circle-wallets/actions/writeContract.d.ts.map +1 -1
  490. package/dist/esm/providers/circle-wallets/actions/writeContract.js +13 -7
  491. package/dist/esm/providers/circle-wallets/actions/writeContract.js.map +1 -1
  492. package/dist/esm/providers/circle-wallets/actions/writeContract.test.js +145 -2
  493. package/dist/esm/providers/circle-wallets/actions/writeContract.test.js.map +1 -1
  494. package/dist/esm/providers/circle-wallets/index.d.ts +268 -4694
  495. package/dist/esm/providers/circle-wallets/index.d.ts.map +1 -1
  496. package/dist/esm/providers/circle-wallets/index.js +8 -15
  497. package/dist/esm/providers/circle-wallets/index.js.map +1 -1
  498. package/dist/esm/providers/circle-wallets/transports/index.d.ts +71 -2
  499. package/dist/esm/providers/circle-wallets/transports/index.d.ts.map +1 -1
  500. package/dist/esm/providers/circle-wallets/transports/index.js +70 -29
  501. package/dist/esm/providers/circle-wallets/transports/index.js.map +1 -1
  502. package/dist/esm/providers/circle-wallets/transports/index.test.js +313 -3
  503. package/dist/esm/providers/circle-wallets/transports/index.test.js.map +1 -1
  504. package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.d.ts +2 -1
  505. package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.d.ts.map +1 -1
  506. package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.js +2 -2
  507. package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.js.map +1 -1
  508. package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.test.js +2 -2
  509. package/dist/esm/providers/cross-chain-transfer-protocol/actions/approve.test.js.map +1 -1
  510. package/dist/esm/providers/cross-chain-transfer-protocol/actions/{transferViaCCTP.d.ts → bridge.d.ts} +7 -6
  511. package/dist/esm/providers/cross-chain-transfer-protocol/actions/bridge.d.ts.map +1 -0
  512. package/dist/esm/providers/cross-chain-transfer-protocol/actions/{transferViaCCTP.js → bridge.js} +5 -5
  513. package/dist/esm/providers/cross-chain-transfer-protocol/actions/bridge.js.map +1 -0
  514. package/dist/esm/providers/cross-chain-transfer-protocol/actions/bridge.test.d.ts +2 -0
  515. package/dist/esm/providers/cross-chain-transfer-protocol/actions/bridge.test.d.ts.map +1 -0
  516. package/dist/esm/providers/cross-chain-transfer-protocol/actions/{transferViaCCTP.test.js → bridge.test.js} +4 -4
  517. package/dist/esm/providers/cross-chain-transfer-protocol/actions/bridge.test.js.map +1 -0
  518. package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.d.ts +2 -1
  519. package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.d.ts.map +1 -1
  520. package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.js +1 -1
  521. package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.js.map +1 -1
  522. package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.test.js +2 -2
  523. package/dist/esm/providers/cross-chain-transfer-protocol/actions/depositForBurn.test.js.map +1 -1
  524. package/dist/esm/providers/cross-chain-transfer-protocol/actions/index.d.ts +7 -7
  525. package/dist/esm/providers/cross-chain-transfer-protocol/actions/index.d.ts.map +1 -1
  526. package/dist/esm/providers/cross-chain-transfer-protocol/actions/index.js +4 -4
  527. package/dist/esm/providers/cross-chain-transfer-protocol/actions/index.js.map +1 -1
  528. package/dist/esm/providers/cross-chain-transfer-protocol/actions/index.test.js +3 -3
  529. package/dist/esm/providers/cross-chain-transfer-protocol/actions/index.test.js.map +1 -1
  530. package/dist/esm/providers/cross-chain-transfer-protocol/actions/listMessages.test.js +2 -2
  531. package/dist/esm/providers/cross-chain-transfer-protocol/actions/listMessages.test.js.map +1 -1
  532. package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.d.ts +2 -1
  533. package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.d.ts.map +1 -1
  534. package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.js +1 -1
  535. package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.js.map +1 -1
  536. package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.test.js +2 -2
  537. package/dist/esm/providers/cross-chain-transfer-protocol/actions/receiveMessage.test.js.map +1 -1
  538. package/dist/esm/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.d.ts +2 -1
  539. package/dist/esm/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.d.ts.map +1 -1
  540. package/dist/esm/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.js +1 -1
  541. package/dist/esm/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.js.map +1 -1
  542. package/dist/esm/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.test.js +2 -2
  543. package/dist/esm/providers/cross-chain-transfer-protocol/actions/waitForAttestationMessage.test.js.map +1 -1
  544. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ARB.d.ts +2 -1
  545. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ARB.d.ts.map +1 -1
  546. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ARB_SEPOLIA.d.ts +2 -1
  547. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ARB_SEPOLIA.d.ts.map +1 -1
  548. package/dist/esm/providers/cross-chain-transfer-protocol/chains/AVAX.d.ts +1 -0
  549. package/dist/esm/providers/cross-chain-transfer-protocol/chains/AVAX.d.ts.map +1 -1
  550. package/dist/esm/providers/cross-chain-transfer-protocol/chains/AVAX_FUJI.d.ts +1 -0
  551. package/dist/esm/providers/cross-chain-transfer-protocol/chains/AVAX_FUJI.d.ts.map +1 -1
  552. package/dist/esm/providers/cross-chain-transfer-protocol/chains/BASE.d.ts +1 -0
  553. package/dist/esm/providers/cross-chain-transfer-protocol/chains/BASE.d.ts.map +1 -1
  554. package/dist/esm/providers/cross-chain-transfer-protocol/chains/BASE_SEPOLIA.d.ts +1 -0
  555. package/dist/esm/providers/cross-chain-transfer-protocol/chains/BASE_SEPOLIA.d.ts.map +1 -1
  556. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ETH.d.ts +1 -0
  557. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ETH.d.ts.map +1 -1
  558. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ETH_SEPOLIA.d.ts +1 -0
  559. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ETH_SEPOLIA.d.ts.map +1 -1
  560. package/dist/esm/providers/cross-chain-transfer-protocol/chains/MATIC.d.ts +1 -0
  561. package/dist/esm/providers/cross-chain-transfer-protocol/chains/MATIC.d.ts.map +1 -1
  562. package/dist/esm/providers/cross-chain-transfer-protocol/chains/MATIC_AMOY.d.ts +1 -0
  563. package/dist/esm/providers/cross-chain-transfer-protocol/chains/MATIC_AMOY.d.ts.map +1 -1
  564. package/dist/esm/providers/cross-chain-transfer-protocol/chains/OP.d.ts +1 -0
  565. package/dist/esm/providers/cross-chain-transfer-protocol/chains/OP.d.ts.map +1 -1
  566. package/dist/esm/providers/cross-chain-transfer-protocol/chains/OP_SEPOLIA.d.ts +1 -0
  567. package/dist/esm/providers/cross-chain-transfer-protocol/chains/OP_SEPOLIA.d.ts.map +1 -1
  568. package/dist/esm/providers/cross-chain-transfer-protocol/chains/UNI.d.ts +1 -0
  569. package/dist/esm/providers/cross-chain-transfer-protocol/chains/UNI.d.ts.map +1 -1
  570. package/dist/esm/providers/cross-chain-transfer-protocol/chains/UNI_SEPOLIA.d.ts +1 -0
  571. package/dist/esm/providers/cross-chain-transfer-protocol/chains/UNI_SEPOLIA.d.ts.map +1 -1
  572. package/dist/esm/providers/cross-chain-transfer-protocol/index.d.ts +22 -3
  573. package/dist/esm/providers/cross-chain-transfer-protocol/index.d.ts.map +1 -1
  574. package/dist/esm/providers/cross-chain-transfer-protocol/index.js +4 -1
  575. package/dist/esm/providers/cross-chain-transfer-protocol/index.js.map +1 -1
  576. package/dist/esm/providers/cross-chain-transfer-protocol/transports/index.test.js +2 -2
  577. package/dist/esm/providers/cross-chain-transfer-protocol/transports/index.test.js.map +1 -1
  578. package/dist/esm/providers/uniswap/actions/exactInputSingle.d.ts +2 -1
  579. package/dist/esm/providers/uniswap/actions/exactInputSingle.d.ts.map +1 -1
  580. package/dist/esm/providers/uniswap/actions/exactInputSingle.js +1 -1
  581. package/dist/esm/providers/uniswap/actions/exactInputSingle.js.map +1 -1
  582. package/dist/esm/providers/uniswap/actions/exactInputSingle.test.js +2 -2
  583. package/dist/esm/providers/uniswap/actions/exactInputSingle.test.js.map +1 -1
  584. package/dist/esm/providers/uniswap/actions/getPool.d.ts +2 -1
  585. package/dist/esm/providers/uniswap/actions/getPool.d.ts.map +1 -1
  586. package/dist/esm/providers/uniswap/actions/getPool.js +1 -1
  587. package/dist/esm/providers/uniswap/actions/getPool.js.map +1 -1
  588. package/dist/esm/providers/uniswap/actions/getPool.test.js +2 -2
  589. package/dist/esm/providers/uniswap/actions/getPool.test.js.map +1 -1
  590. package/dist/esm/providers/uniswap/actions/index.d.ts +3 -3
  591. package/dist/esm/providers/uniswap/actions/index.d.ts.map +1 -1
  592. package/dist/esm/providers/uniswap/actions/index.js.map +1 -1
  593. package/dist/esm/providers/uniswap/actions/index.test.js +2 -2
  594. package/dist/esm/providers/uniswap/actions/index.test.js.map +1 -1
  595. package/dist/esm/providers/uniswap/actions/quoteExactInputSingle.d.ts +2 -1
  596. package/dist/esm/providers/uniswap/actions/quoteExactInputSingle.d.ts.map +1 -1
  597. package/dist/esm/providers/uniswap/actions/quoteExactInputSingle.js +1 -1
  598. package/dist/esm/providers/uniswap/actions/quoteExactInputSingle.js.map +1 -1
  599. package/dist/esm/providers/uniswap/actions/quoteExactInputSingle.test.js +2 -2
  600. package/dist/esm/providers/uniswap/actions/quoteExactInputSingle.test.js.map +1 -1
  601. package/dist/esm/providers/uniswap/chains/ARB.d.ts +2 -1
  602. package/dist/esm/providers/uniswap/chains/ARB.d.ts.map +1 -1
  603. package/dist/esm/providers/uniswap/chains/ARB_SEPOLIA.d.ts +2 -1
  604. package/dist/esm/providers/uniswap/chains/ARB_SEPOLIA.d.ts.map +1 -1
  605. package/dist/esm/providers/uniswap/chains/AVAX.d.ts +1 -0
  606. package/dist/esm/providers/uniswap/chains/AVAX.d.ts.map +1 -1
  607. package/dist/esm/providers/uniswap/chains/BASE.d.ts +1 -0
  608. package/dist/esm/providers/uniswap/chains/BASE.d.ts.map +1 -1
  609. package/dist/esm/providers/uniswap/chains/BASE_SEPOLIA.d.ts +1 -0
  610. package/dist/esm/providers/uniswap/chains/BASE_SEPOLIA.d.ts.map +1 -1
  611. package/dist/esm/providers/uniswap/chains/ETH.d.ts +1 -0
  612. package/dist/esm/providers/uniswap/chains/ETH.d.ts.map +1 -1
  613. package/dist/esm/providers/uniswap/chains/ETH_SEPOLIA.d.ts +1 -0
  614. package/dist/esm/providers/uniswap/chains/ETH_SEPOLIA.d.ts.map +1 -1
  615. package/dist/esm/providers/uniswap/chains/MATIC.d.ts +1 -0
  616. package/dist/esm/providers/uniswap/chains/MATIC.d.ts.map +1 -1
  617. package/dist/esm/providers/uniswap/chains/OP.d.ts +1 -0
  618. package/dist/esm/providers/uniswap/chains/OP.d.ts.map +1 -1
  619. package/dist/esm/providers/uniswap/chains/OP_SEPOLIA.d.ts +1 -0
  620. package/dist/esm/providers/uniswap/chains/OP_SEPOLIA.d.ts.map +1 -1
  621. package/dist/esm/providers/uniswap/chains/UNI.d.ts +1 -0
  622. package/dist/esm/providers/uniswap/chains/UNI.d.ts.map +1 -1
  623. package/dist/esm/providers/uniswap/chains/UNI_SEPOLIA.d.ts +1 -0
  624. package/dist/esm/providers/uniswap/chains/UNI_SEPOLIA.d.ts.map +1 -1
  625. package/dist/esm/providers/uniswap/index.d.ts +9 -1
  626. package/dist/esm/providers/uniswap/index.d.ts.map +1 -1
  627. package/dist/esm/providers/uniswap/index.js +4 -1
  628. package/dist/esm/providers/uniswap/index.js.map +1 -1
  629. package/dist/esm/types.d.ts +7 -7
  630. package/dist/esm/types.d.ts.map +1 -1
  631. package/dist/esm/utils/getContract.d.ts +27 -27
  632. package/dist/esm/utils/getContract.d.ts.map +1 -1
  633. package/dist/esm/utils/getContract.test.js +2 -2
  634. package/dist/esm/utils/getContract.test.js.map +1 -1
  635. package/dist/esm/utils/index.test.js +2 -2
  636. package/dist/esm/utils/index.test.js.map +1 -1
  637. package/dist/esm/utils/parseAccount.d.ts +6 -31
  638. package/dist/esm/utils/parseAccount.d.ts.map +1 -1
  639. package/dist/esm/utils/parseAccount.js +9 -5
  640. package/dist/esm/utils/parseAccount.js.map +1 -1
  641. package/dist/esm/utils/parseAddress.d.ts +3 -2
  642. package/dist/esm/utils/parseAddress.d.ts.map +1 -1
  643. package/dist/esm/utils/parseAddress.js.map +1 -1
  644. package/dist/esm/utils/parseUnitsAsToken.d.ts +3 -3
  645. package/dist/esm/utils/parseUnitsAsToken.d.ts.map +1 -1
  646. package/package.json +5 -5
  647. package/dist/cjs/providers/circle-wallets/actions/getContractAbi.d.ts +0 -10
  648. package/dist/cjs/providers/circle-wallets/actions/getContractAbi.d.ts.map +0 -1
  649. package/dist/cjs/providers/circle-wallets/actions/getContractAbi.js +0 -35
  650. package/dist/cjs/providers/circle-wallets/actions/getContractAbi.js.map +0 -1
  651. package/dist/cjs/providers/circle-wallets/actions/getContractAbi.test.d.ts +0 -2
  652. package/dist/cjs/providers/circle-wallets/actions/getContractAbi.test.d.ts.map +0 -1
  653. package/dist/cjs/providers/circle-wallets/actions/getContractAbi.test.js +0 -79
  654. package/dist/cjs/providers/circle-wallets/actions/getContractAbi.test.js.map +0 -1
  655. package/dist/cjs/providers/circle-wallets/extractChain.d.ts +0 -12186
  656. package/dist/cjs/providers/circle-wallets/extractChain.d.ts.map +0 -1
  657. package/dist/cjs/providers/circle-wallets/extractChain.js +0 -48
  658. package/dist/cjs/providers/circle-wallets/extractChain.js.map +0 -1
  659. package/dist/cjs/providers/circle-wallets/extractChain.test.d.ts +0 -2
  660. package/dist/cjs/providers/circle-wallets/extractChain.test.d.ts.map +0 -1
  661. package/dist/cjs/providers/circle-wallets/extractChain.test.js +0 -67
  662. package/dist/cjs/providers/circle-wallets/extractChain.test.js.map +0 -1
  663. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.d.ts.map +0 -1
  664. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.js.map +0 -1
  665. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.test.d.ts +0 -2
  666. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.test.d.ts.map +0 -1
  667. package/dist/cjs/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.test.js.map +0 -1
  668. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.d.ts +0 -6429
  669. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.d.ts.map +0 -1
  670. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.js +0 -22
  671. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.js.map +0 -1
  672. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.test.d.ts +0 -2
  673. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.test.d.ts.map +0 -1
  674. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.test.js +0 -47
  675. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.test.js.map +0 -1
  676. package/dist/cjs/providers/uniswap/extractChain.d.ts +0 -5013
  677. package/dist/cjs/providers/uniswap/extractChain.d.ts.map +0 -1
  678. package/dist/cjs/providers/uniswap/extractChain.js.map +0 -1
  679. package/dist/cjs/providers/uniswap/extractChain.test.d.ts +0 -2
  680. package/dist/cjs/providers/uniswap/extractChain.test.d.ts.map +0 -1
  681. package/dist/cjs/providers/uniswap/extractChain.test.js +0 -29
  682. package/dist/cjs/providers/uniswap/extractChain.test.js.map +0 -1
  683. package/dist/esm/providers/circle-wallets/actions/getContractAbi.d.ts +0 -10
  684. package/dist/esm/providers/circle-wallets/actions/getContractAbi.d.ts.map +0 -1
  685. package/dist/esm/providers/circle-wallets/actions/getContractAbi.js +0 -32
  686. package/dist/esm/providers/circle-wallets/actions/getContractAbi.js.map +0 -1
  687. package/dist/esm/providers/circle-wallets/actions/getContractAbi.test.d.ts +0 -2
  688. package/dist/esm/providers/circle-wallets/actions/getContractAbi.test.d.ts.map +0 -1
  689. package/dist/esm/providers/circle-wallets/actions/getContractAbi.test.js +0 -77
  690. package/dist/esm/providers/circle-wallets/actions/getContractAbi.test.js.map +0 -1
  691. package/dist/esm/providers/circle-wallets/extractChain.d.ts +0 -12186
  692. package/dist/esm/providers/circle-wallets/extractChain.d.ts.map +0 -1
  693. package/dist/esm/providers/circle-wallets/extractChain.js +0 -43
  694. package/dist/esm/providers/circle-wallets/extractChain.js.map +0 -1
  695. package/dist/esm/providers/circle-wallets/extractChain.test.d.ts +0 -2
  696. package/dist/esm/providers/circle-wallets/extractChain.test.d.ts.map +0 -1
  697. package/dist/esm/providers/circle-wallets/extractChain.test.js +0 -65
  698. package/dist/esm/providers/circle-wallets/extractChain.test.js.map +0 -1
  699. package/dist/esm/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.d.ts.map +0 -1
  700. package/dist/esm/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.js.map +0 -1
  701. package/dist/esm/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.test.d.ts +0 -2
  702. package/dist/esm/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.test.d.ts.map +0 -1
  703. package/dist/esm/providers/cross-chain-transfer-protocol/actions/transferViaCCTP.test.js.map +0 -1
  704. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.d.ts +0 -6429
  705. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.d.ts.map +0 -1
  706. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.js +0 -19
  707. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.js.map +0 -1
  708. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.test.d.ts +0 -2
  709. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.test.d.ts.map +0 -1
  710. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.test.js +0 -45
  711. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.test.js.map +0 -1
  712. package/dist/esm/providers/uniswap/extractChain.d.ts +0 -5013
  713. package/dist/esm/providers/uniswap/extractChain.d.ts.map +0 -1
  714. package/dist/esm/providers/uniswap/extractChain.js +0 -19
  715. package/dist/esm/providers/uniswap/extractChain.js.map +0 -1
  716. package/dist/esm/providers/uniswap/extractChain.test.d.ts +0 -2
  717. package/dist/esm/providers/uniswap/extractChain.test.d.ts.map +0 -1
  718. package/dist/esm/providers/uniswap/extractChain.test.js +0 -27
  719. package/dist/esm/providers/uniswap/extractChain.test.js.map +0 -1
@@ -1,4 +1,5 @@
1
- import type { ExtendedViemClient } from '../../../types.js';
1
+ import type { EstimateFeesPerGasParams } from '../../../actions/transfer.js';
2
+ import type { Account, BaseUnits, ControlFlowOptions, ExtendedViemClient, FeeValuesEIP1559, Merge } from '../../../types.js';
2
3
  import type { EstimateTransferFeeInput } from '../transports/index.js';
3
4
  /**
4
5
  * Estimates the transfer fee for a given transaction.
@@ -23,4 +24,59 @@ import type { EstimateTransferFeeInput } from '../transports/index.js';
23
24
  * ```
24
25
  */
25
26
  export declare function estimateTransferFee(client: ExtendedViemClient, params: EstimateTransferFeeInput): Promise<import("@circle-fin/developer-controlled-wallets/dist/types/clients/developer-controlled-wallets.js").EstimateTransactionFeeData>;
27
+ /**
28
+ * Estimates the fee levels for a transfer.
29
+ * @param level - The fee level
30
+ * @returns A function that estimates the fees for a transfer request.
31
+ */
32
+ export declare function estimateTransferFeeForFeeLevel(level: 'LOW' | 'MEDIUM' | 'HIGH'): ({ client, request: { from, to, token, amount, chain: _chain }, }: EstimateFeesPerGasParams) => Promise<Merge<FeeValuesEIP1559, {
33
+ gas: BaseUnits;
34
+ }>>;
35
+ /**
36
+ * Pre-configured fee level estimation function.
37
+ * Uses the `LOW` fee level settings for transfer fee estimation.
38
+ */
39
+ export declare const LOW: ({ client, request: { from, to, token, amount, chain: _chain }, }: EstimateFeesPerGasParams) => Promise<Merge<FeeValuesEIP1559, {
40
+ gas: BaseUnits;
41
+ }>>;
42
+ /**
43
+ * Pre-configured fee level estimation function.
44
+ * Uses the `MEDIUM` fee level settings for transfer fee estimation.
45
+ */
46
+ export declare const MEDIUM: ({ client, request: { from, to, token, amount, chain: _chain }, }: EstimateFeesPerGasParams) => Promise<Merge<FeeValuesEIP1559, {
47
+ gas: BaseUnits;
48
+ }>>;
49
+ /**
50
+ * Pre-configured fee level estimation function.
51
+ * Uses the `HIGH` fee level settings for transfer fee estimation.
52
+ */
53
+ export declare const HIGH: ({ client, request: { from, to, token, amount, chain: _chain }, }: EstimateFeesPerGasParams) => Promise<Merge<FeeValuesEIP1559, {
54
+ gas: BaseUnits;
55
+ }>>;
56
+ /**
57
+ * Estimates the fee levels for a transfer and transfers the required amount to the `from` account.
58
+ * @param params -
59
+ * @param params.account - The account to transfer from.
60
+ * @param params.level - The fee level to use for estimation.
61
+ * @param params.confirmations - The number of confirmations to wait for.
62
+ * @returns A function that prepares and estimates the fees.
63
+ */
64
+ export declare function FEE_LEVEL_WITH_PREPARE({ account, level, confirmations, signal, }: {
65
+ account: Account;
66
+ level: 'LOW' | 'MEDIUM' | 'HIGH';
67
+ confirmations?: number;
68
+ } & ControlFlowOptions): ({ client: _client, request }: EstimateFeesPerGasParams) => Promise<{
69
+ gasPrice?: undefined | undefined;
70
+ maxFeePerBlobGas?: undefined | undefined;
71
+ maxFeePerGas: bigint;
72
+ maxPriorityFeePerGas: bigint;
73
+ } & {
74
+ gas: BaseUnits;
75
+ }>;
76
+ /**
77
+ * Estimates the gas required for a transfer.
78
+ * @param params - The parameters for estimating fees per gas.
79
+ * @returns The estimated gas in base units.
80
+ */
81
+ export declare function ESTIMATE_GAS({ client, request }: EstimateFeesPerGasParams): Promise<bigint>;
26
82
  //# sourceMappingURL=estimateTransferFee.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"estimateTransferFee.d.ts","sourceRoot":"","sources":["../../../../../src/providers/circle-wallets/actions/estimateTransferFee.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAEtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,wBAAwB,6IAErG"}
1
+ {"version":3,"file":"estimateTransferFee.d.ts","sourceRoot":"","sources":["../../../../../src/providers/circle-wallets/actions/estimateTransferFee.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,KAAK,EACV,OAAO,EAEP,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,EAEN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAEtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,wBAAwB,6IAErG;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,IAC/D,kEAGX,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC,CA0CnF;AAED;;;GAGG;AACH,eAAO,MAAM,GAAG,qEAhDX,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAgD3B,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,MAAM,qEAtDd,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAsDrB,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,IAAI,qEA5DZ,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CA4DzB,CAAA;AAE1D;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,KAAK,EACL,aAAiB,EACjB,MAAM,GACP,EAAE;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,kBAAkB,IACN,8BAA8B,wBAAwB;;;;;;SAhFC,SAAS;GAkH/E;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,wBAAwB,mBAI/E"}
@@ -8,6 +8,18 @@
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 { formatGwei, parseGwei } from 'viem';
12
+ import { waitForTransactionReceipt as _waitForTransactionReceipt } from 'viem/actions';
13
+ import { getAction } from 'viem/utils';
14
+ import { UnsupportedChainError } from '../../../errors/UnsupportedChainError.js';
15
+ import { formatUnits } from '../../../utils/formatUnits.js';
16
+ import { parseUnits } from '../../../utils/parseUnits.js';
17
+ import { raise } from '../../../utils/raise.js';
18
+ import { extractChain } from '../index.js';
19
+ import { SENTINEL_FEES } from '../transports/index.js';
20
+ import { createTransaction } from './createTransaction.js';
21
+ import { getTokenBalances } from './getTokenBalances.js';
22
+ import { waitForTransactionHash } from './waitForTransactionHash.js';
11
23
  /**
12
24
  * Estimates the transfer fee for a given transaction.
13
25
  *
@@ -33,4 +45,104 @@
33
45
  export async function estimateTransferFee(client, params) {
34
46
  return await client.request({ method: 'circle_estimateTransferFee', params: [params] });
35
47
  }
48
+ /**
49
+ * Estimates the fee levels for a transfer.
50
+ * @param level - The fee level
51
+ * @returns A function that estimates the fees for a transfer request.
52
+ */
53
+ export function estimateTransferFeeForFeeLevel(level) {
54
+ return async ({ client, request: { from, to, token, amount, chain: _chain }, }) => {
55
+ const chain = extractChain(_chain) ?? raise(new UnsupportedChainError());
56
+ // @ts-expect-error: Ignore ts(2331) for `read` property
57
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
58
+ const decimals = (token != null ? await token.read.decimals() : chain.nativeCurrency.decimals);
59
+ const estimate = await estimateTransferFee(client, {
60
+ sourceAddress: from.address,
61
+ destinationAddress: to.address,
62
+ blockchain: chain.blockchainId,
63
+ tokenAddress: token?.address,
64
+ amounts: [formatUnits(amount, decimals)],
65
+ });
66
+ // NOTE: Assume fee estimations levels are lowercased
67
+ const { gasLimit,
68
+ // NOTE(CCS-1366): Solana will not produce `maxFee` field
69
+ maxFee = `${formatGwei(SENTINEL_FEES)}`, priorityFee, } = estimate[level.toLowerCase()];
70
+ // HACK(CCS-2326): Return SENTINEL_FEES for `SCA` wallets
71
+ if (estimate.callGasLimit && estimate.verificationGasLimit && estimate.preVerificationGas) {
72
+ return {
73
+ gas: parseUnits(gasLimit),
74
+ maxFeePerGas: SENTINEL_FEES,
75
+ maxPriorityFeePerGas: SENTINEL_FEES,
76
+ };
77
+ }
78
+ return {
79
+ gas: parseUnits(gasLimit),
80
+ maxFeePerGas: parseGwei(maxFee),
81
+ maxPriorityFeePerGas: parseGwei(priorityFee),
82
+ };
83
+ };
84
+ }
85
+ /**
86
+ * Pre-configured fee level estimation function.
87
+ * Uses the `LOW` fee level settings for transfer fee estimation.
88
+ */
89
+ export const LOW = estimateTransferFeeForFeeLevel('LOW');
90
+ /**
91
+ * Pre-configured fee level estimation function.
92
+ * Uses the `MEDIUM` fee level settings for transfer fee estimation.
93
+ */
94
+ export const MEDIUM = estimateTransferFeeForFeeLevel('MEDIUM');
95
+ /**
96
+ * Pre-configured fee level estimation function.
97
+ * Uses the `HIGH` fee level settings for transfer fee estimation.
98
+ */
99
+ export const HIGH = estimateTransferFeeForFeeLevel('HIGH');
100
+ /**
101
+ * Estimates the fee levels for a transfer and transfers the required amount to the `from` account.
102
+ * @param params -
103
+ * @param params.account - The account to transfer from.
104
+ * @param params.level - The fee level to use for estimation.
105
+ * @param params.confirmations - The number of confirmations to wait for.
106
+ * @returns A function that prepares and estimates the fees.
107
+ */
108
+ export function FEE_LEVEL_WITH_PREPARE({ account, level, confirmations = 3, signal, }) {
109
+ return async ({ client: _client, request }) => {
110
+ const client = _client;
111
+ const { from, chain } = request;
112
+ const waitForTransactionReceipt = getAction(client, _waitForTransactionReceipt, 'waitForTransactionReceipt');
113
+ const [fees, [nativeBalance]] = await Promise.all([
114
+ estimateTransferFeeForFeeLevel(level)({ client, request }),
115
+ getTokenBalances(client, { account: from, token: undefined }),
116
+ ]);
117
+ const amountToTransfer = fees.gas * fees.maxFeePerGas - (nativeBalance?.value ?? 0n);
118
+ if (amountToTransfer > 0) {
119
+ const { id } = await createTransaction(client, {
120
+ sourceAddress: account.address,
121
+ destinationAddress: from.address,
122
+ blockchain: chain.blockchainId,
123
+ tokenAddress: undefined,
124
+ amounts: [formatUnits(amountToTransfer, chain.nativeCurrency.decimals)],
125
+ fee: {
126
+ type: 'level',
127
+ config: {
128
+ feeLevel: 'HIGH',
129
+ },
130
+ },
131
+ });
132
+ const { txHash } = await waitForTransactionHash(client, { id, signal });
133
+ await waitForTransactionReceipt({ hash: txHash, confirmations });
134
+ }
135
+ return fees;
136
+ };
137
+ }
138
+ /**
139
+ * Estimates the gas required for a transfer.
140
+ * @param params - The parameters for estimating fees per gas.
141
+ * @returns The estimated gas in base units.
142
+ */
143
+ export async function ESTIMATE_GAS({ client, request }) {
144
+ // NOTE: `gas` is the same for all predefined fee levels
145
+ const { gas } = await HIGH({ client, request });
146
+ return gas;
147
+ }
36
148
  //# sourceMappingURL=estimateTransferFee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"estimateTransferFee.js","sourceRoot":"","sources":["../../../../../src/providers/circle-wallets/actions/estimateTransferFee.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,uBAAuB;AACvB,EAAE;AACF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,kDAAkD;AAClD,8EAA8E;AAC9E,yEAAyE;AACzE,mFAAmF;AAKnF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B,EAAE,MAAgC;IACpG,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AACzF,CAAC"}
1
+ {"version":3,"file":"estimateTransferFee.js","sourceRoot":"","sources":["../../../../../src/providers/circle-wallets/actions/estimateTransferFee.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,18 @@
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 { describe, test, expect, vi, afterEach } from 'vitest';
12
- import { estimateTransferFee as action } from './estimateTransferFee.js';
11
+ import { describe, test, expect, vi, beforeEach, it } from 'vitest';
12
+ import { ETH_SEPOLIA } from '../../../chains/index.js';
13
+ import { formatUnits } from '../../../utils/formatUnits.js';
14
+ import { createTransaction } from './createTransaction.js';
15
+ import { estimateTransferFee as action, estimateTransferFeeForFeeLevel, FEE_LEVEL_WITH_PREPARE, } from './estimateTransferFee.js';
16
+ import { getTokenBalances } from './getTokenBalances.js';
17
+ import { waitForTransactionHash } from './waitForTransactionHash.js';
13
18
  describe.concurrent(`${action.name}`, () => {
14
19
  const client = {
15
20
  request: vi.fn(),
16
21
  };
17
- afterEach(() => {
22
+ beforeEach(() => {
18
23
  vi.restoreAllMocks();
19
24
  });
20
25
  test.each([
@@ -41,4 +46,372 @@ describe.concurrent(`${action.name}`, () => {
41
46
  });
42
47
  });
43
48
  });
49
+ vi.mock('../utils/getContract.js', () => ({
50
+ getContract: vi.fn(({ address }) => ({
51
+ address: address,
52
+ read: {
53
+ decimals: vi.fn(() => 6),
54
+ },
55
+ })),
56
+ }));
57
+ vi.mock('./getTokenBalances.js', () => ({
58
+ getTokenBalances: vi.fn(),
59
+ }));
60
+ vi.mock('./createTransaction.js', () => ({
61
+ createTransaction: vi.fn(),
62
+ }));
63
+ vi.mock('./waitForTransactionHash.js', () => ({
64
+ waitForTransactionHash: vi.fn(),
65
+ }));
66
+ vi.mock('viem/actions', async (importOriginal) => ({
67
+ ...(await importOriginal()),
68
+ waitForTransactionReceipt: vi.fn(),
69
+ }));
70
+ describe('estimateTransferFeeForFeeLevel', () => {
71
+ beforeEach(() => {
72
+ vi.restoreAllMocks();
73
+ });
74
+ const USDC = {
75
+ address: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
76
+ read: {
77
+ decimals: vi.fn(() => 6),
78
+ },
79
+ };
80
+ const client = {
81
+ // Mocks for estimateTransferFee
82
+ request: vi.fn(() => ({
83
+ high: { gasLimit: '3', maxFee: '6', priorityFee: '9', baseFee: '12', networkFee: '15' },
84
+ medium: { gasLimit: '2', maxFee: '4', priorityFee: '6', baseFee: '8', networkFee: '10' },
85
+ low: { gasLimit: '1', maxFee: '2', priorityFee: '3', baseFee: '4', networkFee: '5' },
86
+ })),
87
+ };
88
+ test.each([
89
+ [
90
+ ['HIGH', { token: USDC, amount: 1000000n }],
91
+ { gas: 3n, maxFeePerGas: 6000000000n, maxPriorityFeePerGas: 9000000000n },
92
+ { amounts: ['1'] },
93
+ ],
94
+ [
95
+ ['MEDIUM', { token: USDC, amount: 1000000n }],
96
+ { gas: 2n, maxFeePerGas: 4000000000n, maxPriorityFeePerGas: 6000000000n },
97
+ { amounts: ['1'] },
98
+ ],
99
+ [
100
+ ['LOW', { token: undefined, amount: 1000000n }],
101
+ { gas: 1n, maxFeePerGas: 2000000000n, maxPriorityFeePerGas: 3000000000n },
102
+ { amounts: ['0.000000000001'] },
103
+ ],
104
+ ])('should return gas fee estimations', async ([feeLevel, { token, amount }], expected, { amounts }) => {
105
+ const params = {
106
+ client,
107
+ request: {
108
+ from: { address: '0x123' },
109
+ to: { address: '0x321' },
110
+ amount,
111
+ token,
112
+ chain: ETH_SEPOLIA,
113
+ },
114
+ };
115
+ const fn = estimateTransferFeeForFeeLevel(feeLevel);
116
+ await expect(fn(params)).resolves.toEqual(expected);
117
+ expect(client.request).toHaveBeenCalledWith({
118
+ method: 'circle_estimateTransferFee',
119
+ params: [
120
+ {
121
+ sourceAddress: params.request.from.address,
122
+ destinationAddress: params.request.to.address,
123
+ blockchain: 'ETH-SEPOLIA',
124
+ amounts,
125
+ tokenAddress: token?.address,
126
+ },
127
+ ],
128
+ });
129
+ });
130
+ });
131
+ describe('FEE_LEVEL_WITH_PREPARE', () => {
132
+ const USDC = {
133
+ address: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
134
+ read: {
135
+ decimals: vi.fn(() => 6),
136
+ },
137
+ };
138
+ const client = {
139
+ chain: ETH_SEPOLIA,
140
+ request: vi.fn(({ method }) => {
141
+ if (method === 'circle_estimateTransferFee') {
142
+ return {
143
+ high: { gasLimit: '3', maxFee: '6', priorityFee: '9', baseFee: '12', networkFee: '15' },
144
+ medium: { gasLimit: '2', maxFee: '4', priorityFee: '6', baseFee: '8', networkFee: '10' },
145
+ low: { gasLimit: '1', maxFee: '2', priorityFee: '3', baseFee: '4', networkFee: '5' },
146
+ };
147
+ }
148
+ }),
149
+ };
150
+ beforeEach(() => {
151
+ vi.restoreAllMocks();
152
+ });
153
+ it('should return gas fee estimations for FEE_LEVEL_WITH_PREPARATION with preparation transfer', async () => {
154
+ const sourceAccount = { address: '0xsourceaccount' };
155
+ const params = {
156
+ client: client,
157
+ request: {
158
+ from: { address: '0x123' },
159
+ to: { address: '0x321' },
160
+ amount: 10000n,
161
+ token: USDC,
162
+ chain: ETH_SEPOLIA,
163
+ },
164
+ };
165
+ const gasEstimation = {
166
+ gas: 2n,
167
+ maxFeePerGas: 4000000000n,
168
+ maxPriorityFeePerGas: 6000000000n,
169
+ };
170
+ vi.mocked(getTokenBalances).mockResolvedValue([]);
171
+ vi.mocked(createTransaction).mockResolvedValue({
172
+ id: 'transaction-id',
173
+ state: 'QUEUED',
174
+ blockchain: ETH_SEPOLIA.blockchainId,
175
+ createDate: '2025-01-01T00:00:00.000Z',
176
+ transactionType: 'OUTBOUND',
177
+ updateDate: '2025-01-01T00:00:00.000Z',
178
+ });
179
+ vi.mocked(waitForTransactionHash).mockResolvedValue({
180
+ id: 'transaction-id',
181
+ state: 'COMPLETE',
182
+ txHash: '0x123',
183
+ blockchain: ETH_SEPOLIA.blockchainId,
184
+ createDate: '2025-01-01T00:00:00.000Z',
185
+ transactionType: 'OUTBOUND',
186
+ updateDate: '2025-01-01T00:00:00.000Z',
187
+ });
188
+ const fn = FEE_LEVEL_WITH_PREPARE({ level: 'MEDIUM', account: sourceAccount });
189
+ await expect(fn(params)).resolves.toEqual(gasEstimation);
190
+ expect(createTransaction).toHaveBeenCalledWith(client, {
191
+ sourceAddress: sourceAccount.address,
192
+ destinationAddress: params.request.from.address,
193
+ blockchain: params.request.chain.blockchainId,
194
+ tokenAddress: undefined,
195
+ amounts: [
196
+ formatUnits(gasEstimation.gas * gasEstimation.maxFeePerGas, params.request.chain.nativeCurrency.decimals),
197
+ ],
198
+ fee: {
199
+ type: 'level',
200
+ config: {
201
+ feeLevel: 'HIGH',
202
+ },
203
+ },
204
+ });
205
+ });
206
+ it('should return gas fee estimations for FEE_LEVEL_WITH_PREPARATION without preparation transfer', async () => {
207
+ const sourceAccount = { address: '0xsourceaccount' };
208
+ const params = {
209
+ client: client,
210
+ request: {
211
+ from: { address: '0x123' },
212
+ to: { address: '0x321' },
213
+ amount: 10000n,
214
+ token: USDC,
215
+ chain: ETH_SEPOLIA,
216
+ },
217
+ };
218
+ vi.mocked(getTokenBalances).mockResolvedValue([
219
+ {
220
+ value: 2n * 4000000000n,
221
+ token: undefined,
222
+ decimals: 0,
223
+ symbol: undefined,
224
+ formatted: '0',
225
+ },
226
+ ]);
227
+ const fn = FEE_LEVEL_WITH_PREPARE({ level: 'MEDIUM', account: sourceAccount });
228
+ await expect(fn(params)).resolves.toEqual({
229
+ gas: 2n,
230
+ maxFeePerGas: 4000000000n,
231
+ maxPriorityFeePerGas: 6000000000n,
232
+ });
233
+ expect(createTransaction).not.toHaveBeenCalled();
234
+ });
235
+ });
236
+ describe('SCA Gas Fee Workarounds', () => {
237
+ const USDC = {
238
+ address: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
239
+ read: {
240
+ decimals: vi.fn(() => 6),
241
+ },
242
+ };
243
+ beforeEach(() => {
244
+ vi.restoreAllMocks();
245
+ });
246
+ describe('estimateTransferFeeForFeeLevel SCA detection', () => {
247
+ test.each([
248
+ [
249
+ 'HIGH',
250
+ {
251
+ high: { gasLimit: '3', maxFee: '6', priorityFee: '9', baseFee: '12', networkFee: '15' },
252
+ medium: { gasLimit: '2', maxFee: '4', priorityFee: '6', baseFee: '8', networkFee: '10' },
253
+ low: { gasLimit: '1', maxFee: '2', priorityFee: '3', baseFee: '4', networkFee: '5' },
254
+ callGasLimit: '11111',
255
+ verificationGasLimit: '22222',
256
+ preVerificationGas: '33333',
257
+ },
258
+ { gas: 3n, maxFeePerGas: -1n, maxPriorityFeePerGas: -1n },
259
+ ],
260
+ [
261
+ 'MEDIUM',
262
+ {
263
+ high: { gasLimit: '3', maxFee: '6', priorityFee: '9', baseFee: '12', networkFee: '15' },
264
+ medium: { gasLimit: '2', maxFee: '4', priorityFee: '6', baseFee: '8', networkFee: '10' },
265
+ low: { gasLimit: '1', maxFee: '2', priorityFee: '3', baseFee: '4', networkFee: '5' },
266
+ callGasLimit: '11111',
267
+ verificationGasLimit: '22222',
268
+ preVerificationGas: '33333',
269
+ },
270
+ { gas: 2n, maxFeePerGas: -1n, maxPriorityFeePerGas: -1n },
271
+ ],
272
+ [
273
+ 'LOW',
274
+ {
275
+ high: { gasLimit: '3', maxFee: '6', priorityFee: '9', baseFee: '12', networkFee: '15' },
276
+ medium: { gasLimit: '2', maxFee: '4', priorityFee: '6', baseFee: '8', networkFee: '10' },
277
+ low: { gasLimit: '1', maxFee: '2', priorityFee: '3', baseFee: '4', networkFee: '5' },
278
+ callGasLimit: '11111',
279
+ verificationGasLimit: '22222',
280
+ preVerificationGas: '33333',
281
+ },
282
+ { gas: 1n, maxFeePerGas: -1n, maxPriorityFeePerGas: -1n },
283
+ ],
284
+ ])('should return SENTINEL_FEES for SCA wallet - %s level', async (feeLevel, mockResponse, expected) => {
285
+ const client = {
286
+ request: vi.fn(() => mockResponse),
287
+ };
288
+ const params = {
289
+ client,
290
+ request: {
291
+ from: { address: '0x123' },
292
+ to: { address: '0x321' },
293
+ amount: 1000000n,
294
+ token: USDC,
295
+ chain: ETH_SEPOLIA,
296
+ },
297
+ };
298
+ const fn = estimateTransferFeeForFeeLevel(feeLevel);
299
+ const result = await fn(params);
300
+ expect(result).toEqual(expected);
301
+ expect(client.request).toHaveBeenCalledWith({
302
+ method: 'circle_estimateTransferFee',
303
+ params: [
304
+ {
305
+ sourceAddress: '0x123',
306
+ destinationAddress: '0x321',
307
+ blockchain: 'ETH-SEPOLIA',
308
+ amounts: ['1'],
309
+ tokenAddress: USDC.address,
310
+ },
311
+ ],
312
+ });
313
+ });
314
+ test.each([
315
+ [
316
+ 'HIGH',
317
+ {
318
+ high: { gasLimit: '3', maxFee: '6', priorityFee: '9', baseFee: '12', networkFee: '15' },
319
+ medium: { gasLimit: '2', maxFee: '4', priorityFee: '6', baseFee: '8', networkFee: '10' },
320
+ low: { gasLimit: '1', maxFee: '2', priorityFee: '3', baseFee: '4', networkFee: '5' },
321
+ },
322
+ { gas: 3n, maxFeePerGas: 6000000000n, maxPriorityFeePerGas: 9000000000n },
323
+ ],
324
+ [
325
+ 'MEDIUM',
326
+ {
327
+ high: { gasLimit: '3', maxFee: '6', priorityFee: '9', baseFee: '12', networkFee: '15' },
328
+ medium: { gasLimit: '2', maxFee: '4', priorityFee: '6', baseFee: '8', networkFee: '10' },
329
+ low: { gasLimit: '1', maxFee: '2', priorityFee: '3', baseFee: '4', networkFee: '5' },
330
+ },
331
+ { gas: 2n, maxFeePerGas: 4000000000n, maxPriorityFeePerGas: 6000000000n },
332
+ ],
333
+ [
334
+ 'LOW',
335
+ {
336
+ high: { gasLimit: '3', maxFee: '6', priorityFee: '9', baseFee: '12', networkFee: '15' },
337
+ medium: { gasLimit: '2', maxFee: '4', priorityFee: '6', baseFee: '8', networkFee: '10' },
338
+ low: { gasLimit: '1', maxFee: '2', priorityFee: '3', baseFee: '4', networkFee: '5' },
339
+ },
340
+ { gas: 1n, maxFeePerGas: 2000000000n, maxPriorityFeePerGas: 3000000000n },
341
+ ],
342
+ ])('should return normal fees for regular wallet - %s level', async (feeLevel, mockResponse, expected) => {
343
+ const client = {
344
+ request: vi.fn(() => mockResponse),
345
+ };
346
+ const params = {
347
+ client,
348
+ request: {
349
+ from: { address: '0x123' },
350
+ to: { address: '0x321' },
351
+ amount: 1000000n,
352
+ token: USDC,
353
+ chain: ETH_SEPOLIA,
354
+ },
355
+ };
356
+ const fn = estimateTransferFeeForFeeLevel(feeLevel);
357
+ const result = await fn(params);
358
+ expect(result).toEqual(expected);
359
+ });
360
+ });
361
+ describe('FEE_LEVEL_WITH_PREPARE SCA handling', () => {
362
+ const client = {
363
+ chain: ETH_SEPOLIA,
364
+ request: vi.fn(({ method }) => {
365
+ if (method === 'circle_estimateTransferFee') {
366
+ return {
367
+ high: { gasLimit: '3', maxFee: '6', priorityFee: '9', baseFee: '12', networkFee: '15' },
368
+ medium: { gasLimit: '2', maxFee: '4', priorityFee: '6', baseFee: '8', networkFee: '10' },
369
+ low: { gasLimit: '1', maxFee: '2', priorityFee: '3', baseFee: '4', networkFee: '5' },
370
+ callGasLimit: '11111',
371
+ verificationGasLimit: '22222',
372
+ preVerificationGas: '33333',
373
+ };
374
+ }
375
+ }),
376
+ };
377
+ it('should return SENTINEL_FEES for SCA wallet preparation transfer', async () => {
378
+ const sourceAccount = { address: '0xsourceaccount' };
379
+ const params = {
380
+ client: client,
381
+ request: {
382
+ from: { address: '0x123' },
383
+ to: { address: '0x321' },
384
+ amount: 10000n,
385
+ token: USDC,
386
+ chain: ETH_SEPOLIA,
387
+ },
388
+ };
389
+ vi.mocked(getTokenBalances).mockResolvedValue([]);
390
+ vi.mocked(createTransaction).mockResolvedValue({
391
+ id: 'transaction-id',
392
+ state: 'QUEUED',
393
+ blockchain: ETH_SEPOLIA.blockchainId,
394
+ createDate: '2025-01-01T00:00:00.000Z',
395
+ transactionType: 'OUTBOUND',
396
+ updateDate: '2025-01-01T00:00:00.000Z',
397
+ });
398
+ vi.mocked(waitForTransactionHash).mockResolvedValue({
399
+ id: 'transaction-id',
400
+ state: 'COMPLETE',
401
+ txHash: '0x123',
402
+ blockchain: ETH_SEPOLIA.blockchainId,
403
+ createDate: '2025-01-01T00:00:00.000Z',
404
+ transactionType: 'OUTBOUND',
405
+ updateDate: '2025-01-01T00:00:00.000Z',
406
+ });
407
+ const fn = FEE_LEVEL_WITH_PREPARE({ level: 'MEDIUM', account: sourceAccount });
408
+ const result = await fn(params);
409
+ expect(result).toEqual({
410
+ gas: 2n,
411
+ maxFeePerGas: -1n, // SENTINEL_FEES
412
+ maxPriorityFeePerGas: -1n, // SENTINEL_FEES
413
+ });
414
+ });
415
+ });
416
+ });
44
417
  //# sourceMappingURL=estimateTransferFee.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"estimateTransferFee.test.js","sourceRoot":"","sources":["../../../../../src/providers/circle-wallets/actions/estimateTransferFee.test.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,uBAAuB;AACvB,EAAE;AACF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,kDAAkD;AAClD,8EAA8E;AAC9E,yEAAyE;AACzE,mFAAmF;AAEnF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE9D,OAAO,EAAE,mBAAmB,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAIxE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE;IACzC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;KACR,CAAA;IAEV,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC;QACR;YACE;gBACE,kBAAkB,EAAE,OAAO;gBAC3B,MAAM,EAAE,CAAC,KAAK,CAAkB;gBAChC,aAAa,EAAE,OAAO;gBACtB,UAAU,EAAE,aAAa;aAC1B;YACD;gBACE,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvF,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE;gBACxF,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;aACrF;SACF;KACO,CAAC,CAAC,qCAAqC,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE;QAClF,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;QAEhD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAuC,EAAE,MAAM,CAAC,CAAA;QAE5E,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;YAC1C,MAAM,EAAE,UAAU,MAAM,CAAC,IAAI,EAAE;YAC/B,MAAM,EAAE,CAAC,MAAM,CAAC;SACjB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"estimateTransferFee.test.js","sourceRoot":"","sources":["../../../../../src/providers/circle-wallets/actions/estimateTransferFee.test.ts"],"names":[],"mappings":"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"}