@circle-fin/usdckit 0.14.0 → 0.15.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 (308) hide show
  1. package/README.md +52 -26
  2. package/dist/cjs/actions/generateTransferLink.d.ts.map +1 -1
  3. package/dist/cjs/actions/generateTransferLink.js +8 -14
  4. package/dist/cjs/actions/generateTransferLink.js.map +1 -1
  5. package/dist/cjs/actions/index.d.ts +5 -0
  6. package/dist/cjs/actions/index.d.ts.map +1 -1
  7. package/dist/cjs/actions/index.js +3 -0
  8. package/dist/cjs/actions/index.js.map +1 -1
  9. package/dist/cjs/actions/index.test.js +2 -0
  10. package/dist/cjs/actions/index.test.js.map +1 -1
  11. package/dist/cjs/actions/parseUnitsAsToken.d.ts +37 -0
  12. package/dist/cjs/actions/parseUnitsAsToken.d.ts.map +1 -0
  13. package/dist/cjs/actions/parseUnitsAsToken.js +75 -0
  14. package/dist/cjs/actions/parseUnitsAsToken.js.map +1 -0
  15. package/dist/cjs/actions/parseUnitsAsToken.test.d.ts +2 -0
  16. package/dist/cjs/actions/parseUnitsAsToken.test.d.ts.map +1 -0
  17. package/dist/cjs/actions/parseUnitsAsToken.test.js +61 -0
  18. package/dist/cjs/actions/parseUnitsAsToken.test.js.map +1 -0
  19. package/dist/cjs/actions/transfer.d.ts.map +1 -1
  20. package/dist/cjs/actions/transfer.js +1 -2
  21. package/dist/cjs/actions/transfer.js.map +1 -1
  22. package/dist/cjs/actions/transfer.test.js +25 -5
  23. package/dist/cjs/actions/transfer.test.js.map +1 -1
  24. package/dist/cjs/chains/ARB.d.ts +4 -0
  25. package/dist/cjs/chains/ARB.d.ts.map +1 -1
  26. package/dist/cjs/chains/ARB.js +1 -1
  27. package/dist/cjs/chains/ARB.js.map +1 -1
  28. package/dist/cjs/chains/ARB_SEPOLIA.d.ts +4 -0
  29. package/dist/cjs/chains/ARB_SEPOLIA.d.ts.map +1 -1
  30. package/dist/cjs/chains/ARB_SEPOLIA.js +1 -1
  31. package/dist/cjs/chains/ARB_SEPOLIA.js.map +1 -1
  32. package/dist/cjs/chains/AVAX.d.ts +7 -0
  33. package/dist/cjs/chains/AVAX.d.ts.map +1 -1
  34. package/dist/cjs/chains/AVAX.js +2 -2
  35. package/dist/cjs/chains/AVAX.js.map +1 -1
  36. package/dist/cjs/chains/AVAX_FUJI.d.ts +7 -0
  37. package/dist/cjs/chains/AVAX_FUJI.d.ts.map +1 -1
  38. package/dist/cjs/chains/AVAX_FUJI.js +2 -2
  39. package/dist/cjs/chains/AVAX_FUJI.js.map +1 -1
  40. package/dist/cjs/chains/BASE.d.ts +7 -0
  41. package/dist/cjs/chains/BASE.d.ts.map +1 -1
  42. package/dist/cjs/chains/BASE.js +2 -2
  43. package/dist/cjs/chains/BASE.js.map +1 -1
  44. package/dist/cjs/chains/BASE_SEPOLIA.d.ts +7 -0
  45. package/dist/cjs/chains/BASE_SEPOLIA.d.ts.map +1 -1
  46. package/dist/cjs/chains/BASE_SEPOLIA.js +2 -2
  47. package/dist/cjs/chains/BASE_SEPOLIA.js.map +1 -1
  48. package/dist/cjs/chains/ETH.d.ts +7 -0
  49. package/dist/cjs/chains/ETH.d.ts.map +1 -1
  50. package/dist/cjs/chains/ETH.js +2 -2
  51. package/dist/cjs/chains/ETH.js.map +1 -1
  52. package/dist/cjs/chains/ETH_SEPOLIA.d.ts +7 -0
  53. package/dist/cjs/chains/ETH_SEPOLIA.d.ts.map +1 -1
  54. package/dist/cjs/chains/ETH_SEPOLIA.js +2 -2
  55. package/dist/cjs/chains/ETH_SEPOLIA.js.map +1 -1
  56. package/dist/cjs/chains/MATIC.d.ts +5 -1
  57. package/dist/cjs/chains/MATIC.d.ts.map +1 -1
  58. package/dist/cjs/chains/MATIC.js +2 -2
  59. package/dist/cjs/chains/MATIC.js.map +1 -1
  60. package/dist/cjs/chains/MATIC_AMOY.d.ts +4 -0
  61. package/dist/cjs/chains/MATIC_AMOY.d.ts.map +1 -1
  62. package/dist/cjs/chains/MATIC_AMOY.js +1 -1
  63. package/dist/cjs/chains/MATIC_AMOY.js.map +1 -1
  64. package/dist/cjs/chains/NEAR.d.ts +4 -0
  65. package/dist/cjs/chains/NEAR.d.ts.map +1 -1
  66. package/dist/cjs/chains/NEAR.js +4 -1
  67. package/dist/cjs/chains/NEAR.js.map +1 -1
  68. package/dist/cjs/chains/NEAR_TESTNET.d.ts +4 -0
  69. package/dist/cjs/chains/NEAR_TESTNET.d.ts.map +1 -1
  70. package/dist/cjs/chains/NEAR_TESTNET.js +4 -1
  71. package/dist/cjs/chains/NEAR_TESTNET.js.map +1 -1
  72. package/dist/cjs/chains/OP.d.ts +4 -0
  73. package/dist/cjs/chains/OP.d.ts.map +1 -1
  74. package/dist/cjs/chains/OP.js +1 -1
  75. package/dist/cjs/chains/OP.js.map +1 -1
  76. package/dist/cjs/chains/OP_SEPOLIA.d.ts +4 -0
  77. package/dist/cjs/chains/OP_SEPOLIA.d.ts.map +1 -1
  78. package/dist/cjs/chains/OP_SEPOLIA.js +1 -1
  79. package/dist/cjs/chains/OP_SEPOLIA.js.map +1 -1
  80. package/dist/cjs/chains/UNI.d.ts +4 -0
  81. package/dist/cjs/chains/UNI.d.ts.map +1 -1
  82. package/dist/cjs/chains/UNI.js +1 -1
  83. package/dist/cjs/chains/UNI.js.map +1 -1
  84. package/dist/cjs/chains/UNI_SEPOLIA.d.ts +4 -0
  85. package/dist/cjs/chains/UNI_SEPOLIA.d.ts.map +1 -1
  86. package/dist/cjs/chains/UNI_SEPOLIA.js +1 -1
  87. package/dist/cjs/chains/UNI_SEPOLIA.js.map +1 -1
  88. package/dist/cjs/chains/index.test.js +12 -7
  89. package/dist/cjs/chains/index.test.js.map +1 -1
  90. package/dist/cjs/extractChain.d.ts +83 -1
  91. package/dist/cjs/extractChain.d.ts.map +1 -1
  92. package/dist/cjs/metadata.js +1 -1
  93. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ARB.d.ts +4 -0
  94. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ARB.d.ts.map +1 -1
  95. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ARB_SEPOLIA.d.ts +4 -0
  96. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ARB_SEPOLIA.d.ts.map +1 -1
  97. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/AVAX.d.ts +7 -0
  98. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/AVAX.d.ts.map +1 -1
  99. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/AVAX_FUJI.d.ts +7 -0
  100. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/AVAX_FUJI.d.ts.map +1 -1
  101. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/BASE.d.ts +7 -0
  102. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/BASE.d.ts.map +1 -1
  103. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/BASE_SEPOLIA.d.ts +7 -0
  104. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/BASE_SEPOLIA.d.ts.map +1 -1
  105. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ETH.d.ts +7 -0
  106. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ETH.d.ts.map +1 -1
  107. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ETH_SEPOLIA.d.ts +7 -0
  108. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/ETH_SEPOLIA.d.ts.map +1 -1
  109. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/MATIC.d.ts +5 -1
  110. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/MATIC.d.ts.map +1 -1
  111. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/MATIC_AMOY.d.ts +4 -0
  112. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/MATIC_AMOY.d.ts.map +1 -1
  113. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/OP.d.ts +4 -0
  114. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/OP.d.ts.map +1 -1
  115. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/OP_SEPOLIA.d.ts +4 -0
  116. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/OP_SEPOLIA.d.ts.map +1 -1
  117. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/UNI.d.ts +4 -0
  118. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/UNI.d.ts.map +1 -1
  119. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/UNI_SEPOLIA.d.ts +4 -0
  120. package/dist/cjs/providers/cross-chain-transfer-protocol/chains/UNI_SEPOLIA.d.ts.map +1 -1
  121. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.d.ts +75 -1
  122. package/dist/cjs/providers/cross-chain-transfer-protocol/extractChain.d.ts.map +1 -1
  123. package/dist/cjs/providers/cross-chain-transfer-protocol/index.d.ts +75 -1
  124. package/dist/cjs/providers/cross-chain-transfer-protocol/index.d.ts.map +1 -1
  125. package/dist/cjs/providers/developer-controlled-wallets/actions/createWalletSet.d.ts +1 -1
  126. package/dist/cjs/providers/developer-controlled-wallets/actions/createWalletSet.js +1 -1
  127. package/dist/cjs/providers/developer-controlled-wallets/extractChain.d.ts +53 -1
  128. package/dist/cjs/providers/developer-controlled-wallets/extractChain.d.ts.map +1 -1
  129. package/dist/cjs/providers/developer-controlled-wallets/index.d.ts +53 -1
  130. package/dist/cjs/providers/developer-controlled-wallets/index.d.ts.map +1 -1
  131. package/dist/cjs/providers/developer-controlled-wallets/provider.js +3 -3
  132. package/dist/cjs/providers/developer-controlled-wallets/provider.js.map +1 -1
  133. package/dist/cjs/providers/developer-controlled-wallets/provider.test.js +9 -3
  134. package/dist/cjs/providers/developer-controlled-wallets/provider.test.js.map +1 -1
  135. package/dist/cjs/providers/faucet/extractChain.d.ts +26 -0
  136. package/dist/cjs/providers/faucet/extractChain.d.ts.map +1 -1
  137. package/dist/cjs/providers/faucet/index.d.ts +26 -0
  138. package/dist/cjs/providers/faucet/index.d.ts.map +1 -1
  139. package/dist/cjs/providers/smart-contract-platform/extractChain.d.ts +31 -1
  140. package/dist/cjs/providers/smart-contract-platform/extractChain.d.ts.map +1 -1
  141. package/dist/cjs/providers/smart-contract-platform/index.d.ts +31 -1
  142. package/dist/cjs/providers/smart-contract-platform/index.d.ts.map +1 -1
  143. package/dist/cjs/providers/smart-contract-platform/provider.js +3 -3
  144. package/dist/cjs/providers/smart-contract-platform/provider.js.map +1 -1
  145. package/dist/cjs/providers/smart-contract-platform/provider.test.js +9 -3
  146. package/dist/cjs/providers/smart-contract-platform/provider.test.js.map +1 -1
  147. package/dist/cjs/types.d.ts +2 -1
  148. package/dist/cjs/types.d.ts.map +1 -1
  149. package/dist/cjs/utils/index.d.ts +7 -4
  150. package/dist/cjs/utils/index.d.ts.map +1 -1
  151. package/dist/cjs/utils/index.js +7 -8
  152. package/dist/cjs/utils/index.js.map +1 -1
  153. package/dist/cjs/utils/index.test.js +12 -3
  154. package/dist/cjs/utils/index.test.js.map +1 -1
  155. package/dist/esm/actions/generateTransferLink.d.ts.map +1 -1
  156. package/dist/esm/actions/generateTransferLink.js +8 -14
  157. package/dist/esm/actions/generateTransferLink.js.map +1 -1
  158. package/dist/esm/actions/index.d.ts +5 -0
  159. package/dist/esm/actions/index.d.ts.map +1 -1
  160. package/dist/esm/actions/index.js +3 -0
  161. package/dist/esm/actions/index.js.map +1 -1
  162. package/dist/esm/actions/index.test.js +2 -0
  163. package/dist/esm/actions/index.test.js.map +1 -1
  164. package/dist/esm/actions/parseUnitsAsToken.d.ts +37 -0
  165. package/dist/esm/actions/parseUnitsAsToken.d.ts.map +1 -0
  166. package/dist/esm/actions/parseUnitsAsToken.js +72 -0
  167. package/dist/esm/actions/parseUnitsAsToken.js.map +1 -0
  168. package/dist/esm/actions/parseUnitsAsToken.test.d.ts +2 -0
  169. package/dist/esm/actions/parseUnitsAsToken.test.d.ts.map +1 -0
  170. package/dist/esm/actions/parseUnitsAsToken.test.js +59 -0
  171. package/dist/esm/actions/parseUnitsAsToken.test.js.map +1 -0
  172. package/dist/esm/actions/transfer.d.ts.map +1 -1
  173. package/dist/esm/actions/transfer.js +1 -2
  174. package/dist/esm/actions/transfer.js.map +1 -1
  175. package/dist/esm/actions/transfer.test.js +25 -5
  176. package/dist/esm/actions/transfer.test.js.map +1 -1
  177. package/dist/esm/chains/ARB.d.ts +4 -0
  178. package/dist/esm/chains/ARB.d.ts.map +1 -1
  179. package/dist/esm/chains/ARB.js +1 -1
  180. package/dist/esm/chains/ARB.js.map +1 -1
  181. package/dist/esm/chains/ARB_SEPOLIA.d.ts +4 -0
  182. package/dist/esm/chains/ARB_SEPOLIA.d.ts.map +1 -1
  183. package/dist/esm/chains/ARB_SEPOLIA.js +1 -1
  184. package/dist/esm/chains/ARB_SEPOLIA.js.map +1 -1
  185. package/dist/esm/chains/AVAX.d.ts +7 -0
  186. package/dist/esm/chains/AVAX.d.ts.map +1 -1
  187. package/dist/esm/chains/AVAX.js +2 -2
  188. package/dist/esm/chains/AVAX.js.map +1 -1
  189. package/dist/esm/chains/AVAX_FUJI.d.ts +7 -0
  190. package/dist/esm/chains/AVAX_FUJI.d.ts.map +1 -1
  191. package/dist/esm/chains/AVAX_FUJI.js +2 -2
  192. package/dist/esm/chains/AVAX_FUJI.js.map +1 -1
  193. package/dist/esm/chains/BASE.d.ts +7 -0
  194. package/dist/esm/chains/BASE.d.ts.map +1 -1
  195. package/dist/esm/chains/BASE.js +2 -2
  196. package/dist/esm/chains/BASE.js.map +1 -1
  197. package/dist/esm/chains/BASE_SEPOLIA.d.ts +7 -0
  198. package/dist/esm/chains/BASE_SEPOLIA.d.ts.map +1 -1
  199. package/dist/esm/chains/BASE_SEPOLIA.js +2 -2
  200. package/dist/esm/chains/BASE_SEPOLIA.js.map +1 -1
  201. package/dist/esm/chains/ETH.d.ts +7 -0
  202. package/dist/esm/chains/ETH.d.ts.map +1 -1
  203. package/dist/esm/chains/ETH.js +2 -2
  204. package/dist/esm/chains/ETH.js.map +1 -1
  205. package/dist/esm/chains/ETH_SEPOLIA.d.ts +7 -0
  206. package/dist/esm/chains/ETH_SEPOLIA.d.ts.map +1 -1
  207. package/dist/esm/chains/ETH_SEPOLIA.js +2 -2
  208. package/dist/esm/chains/ETH_SEPOLIA.js.map +1 -1
  209. package/dist/esm/chains/MATIC.d.ts +5 -1
  210. package/dist/esm/chains/MATIC.d.ts.map +1 -1
  211. package/dist/esm/chains/MATIC.js +2 -2
  212. package/dist/esm/chains/MATIC.js.map +1 -1
  213. package/dist/esm/chains/MATIC_AMOY.d.ts +4 -0
  214. package/dist/esm/chains/MATIC_AMOY.d.ts.map +1 -1
  215. package/dist/esm/chains/MATIC_AMOY.js +1 -1
  216. package/dist/esm/chains/MATIC_AMOY.js.map +1 -1
  217. package/dist/esm/chains/NEAR.d.ts +4 -0
  218. package/dist/esm/chains/NEAR.d.ts.map +1 -1
  219. package/dist/esm/chains/NEAR.js +4 -1
  220. package/dist/esm/chains/NEAR.js.map +1 -1
  221. package/dist/esm/chains/NEAR_TESTNET.d.ts +4 -0
  222. package/dist/esm/chains/NEAR_TESTNET.d.ts.map +1 -1
  223. package/dist/esm/chains/NEAR_TESTNET.js +4 -1
  224. package/dist/esm/chains/NEAR_TESTNET.js.map +1 -1
  225. package/dist/esm/chains/OP.d.ts +4 -0
  226. package/dist/esm/chains/OP.d.ts.map +1 -1
  227. package/dist/esm/chains/OP.js +1 -1
  228. package/dist/esm/chains/OP.js.map +1 -1
  229. package/dist/esm/chains/OP_SEPOLIA.d.ts +4 -0
  230. package/dist/esm/chains/OP_SEPOLIA.d.ts.map +1 -1
  231. package/dist/esm/chains/OP_SEPOLIA.js +1 -1
  232. package/dist/esm/chains/OP_SEPOLIA.js.map +1 -1
  233. package/dist/esm/chains/UNI.d.ts +4 -0
  234. package/dist/esm/chains/UNI.d.ts.map +1 -1
  235. package/dist/esm/chains/UNI.js +1 -1
  236. package/dist/esm/chains/UNI.js.map +1 -1
  237. package/dist/esm/chains/UNI_SEPOLIA.d.ts +4 -0
  238. package/dist/esm/chains/UNI_SEPOLIA.d.ts.map +1 -1
  239. package/dist/esm/chains/UNI_SEPOLIA.js +1 -1
  240. package/dist/esm/chains/UNI_SEPOLIA.js.map +1 -1
  241. package/dist/esm/chains/index.test.js +12 -7
  242. package/dist/esm/chains/index.test.js.map +1 -1
  243. package/dist/esm/extractChain.d.ts +83 -1
  244. package/dist/esm/extractChain.d.ts.map +1 -1
  245. package/dist/esm/metadata.js +1 -1
  246. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ARB.d.ts +4 -0
  247. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ARB.d.ts.map +1 -1
  248. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ARB_SEPOLIA.d.ts +4 -0
  249. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ARB_SEPOLIA.d.ts.map +1 -1
  250. package/dist/esm/providers/cross-chain-transfer-protocol/chains/AVAX.d.ts +7 -0
  251. package/dist/esm/providers/cross-chain-transfer-protocol/chains/AVAX.d.ts.map +1 -1
  252. package/dist/esm/providers/cross-chain-transfer-protocol/chains/AVAX_FUJI.d.ts +7 -0
  253. package/dist/esm/providers/cross-chain-transfer-protocol/chains/AVAX_FUJI.d.ts.map +1 -1
  254. package/dist/esm/providers/cross-chain-transfer-protocol/chains/BASE.d.ts +7 -0
  255. package/dist/esm/providers/cross-chain-transfer-protocol/chains/BASE.d.ts.map +1 -1
  256. package/dist/esm/providers/cross-chain-transfer-protocol/chains/BASE_SEPOLIA.d.ts +7 -0
  257. package/dist/esm/providers/cross-chain-transfer-protocol/chains/BASE_SEPOLIA.d.ts.map +1 -1
  258. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ETH.d.ts +7 -0
  259. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ETH.d.ts.map +1 -1
  260. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ETH_SEPOLIA.d.ts +7 -0
  261. package/dist/esm/providers/cross-chain-transfer-protocol/chains/ETH_SEPOLIA.d.ts.map +1 -1
  262. package/dist/esm/providers/cross-chain-transfer-protocol/chains/MATIC.d.ts +5 -1
  263. package/dist/esm/providers/cross-chain-transfer-protocol/chains/MATIC.d.ts.map +1 -1
  264. package/dist/esm/providers/cross-chain-transfer-protocol/chains/MATIC_AMOY.d.ts +4 -0
  265. package/dist/esm/providers/cross-chain-transfer-protocol/chains/MATIC_AMOY.d.ts.map +1 -1
  266. package/dist/esm/providers/cross-chain-transfer-protocol/chains/OP.d.ts +4 -0
  267. package/dist/esm/providers/cross-chain-transfer-protocol/chains/OP.d.ts.map +1 -1
  268. package/dist/esm/providers/cross-chain-transfer-protocol/chains/OP_SEPOLIA.d.ts +4 -0
  269. package/dist/esm/providers/cross-chain-transfer-protocol/chains/OP_SEPOLIA.d.ts.map +1 -1
  270. package/dist/esm/providers/cross-chain-transfer-protocol/chains/UNI.d.ts +4 -0
  271. package/dist/esm/providers/cross-chain-transfer-protocol/chains/UNI.d.ts.map +1 -1
  272. package/dist/esm/providers/cross-chain-transfer-protocol/chains/UNI_SEPOLIA.d.ts +4 -0
  273. package/dist/esm/providers/cross-chain-transfer-protocol/chains/UNI_SEPOLIA.d.ts.map +1 -1
  274. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.d.ts +75 -1
  275. package/dist/esm/providers/cross-chain-transfer-protocol/extractChain.d.ts.map +1 -1
  276. package/dist/esm/providers/cross-chain-transfer-protocol/index.d.ts +75 -1
  277. package/dist/esm/providers/cross-chain-transfer-protocol/index.d.ts.map +1 -1
  278. package/dist/esm/providers/developer-controlled-wallets/actions/createWalletSet.d.ts +1 -1
  279. package/dist/esm/providers/developer-controlled-wallets/actions/createWalletSet.js +1 -1
  280. package/dist/esm/providers/developer-controlled-wallets/extractChain.d.ts +53 -1
  281. package/dist/esm/providers/developer-controlled-wallets/extractChain.d.ts.map +1 -1
  282. package/dist/esm/providers/developer-controlled-wallets/index.d.ts +53 -1
  283. package/dist/esm/providers/developer-controlled-wallets/index.d.ts.map +1 -1
  284. package/dist/esm/providers/developer-controlled-wallets/provider.js +3 -3
  285. package/dist/esm/providers/developer-controlled-wallets/provider.js.map +1 -1
  286. package/dist/esm/providers/developer-controlled-wallets/provider.test.js +9 -3
  287. package/dist/esm/providers/developer-controlled-wallets/provider.test.js.map +1 -1
  288. package/dist/esm/providers/faucet/extractChain.d.ts +26 -0
  289. package/dist/esm/providers/faucet/extractChain.d.ts.map +1 -1
  290. package/dist/esm/providers/faucet/index.d.ts +26 -0
  291. package/dist/esm/providers/faucet/index.d.ts.map +1 -1
  292. package/dist/esm/providers/smart-contract-platform/extractChain.d.ts +31 -1
  293. package/dist/esm/providers/smart-contract-platform/extractChain.d.ts.map +1 -1
  294. package/dist/esm/providers/smart-contract-platform/index.d.ts +31 -1
  295. package/dist/esm/providers/smart-contract-platform/index.d.ts.map +1 -1
  296. package/dist/esm/providers/smart-contract-platform/provider.js +3 -3
  297. package/dist/esm/providers/smart-contract-platform/provider.js.map +1 -1
  298. package/dist/esm/providers/smart-contract-platform/provider.test.js +9 -3
  299. package/dist/esm/providers/smart-contract-platform/provider.test.js.map +1 -1
  300. package/dist/esm/types.d.ts +2 -1
  301. package/dist/esm/types.d.ts.map +1 -1
  302. package/dist/esm/utils/index.d.ts +7 -4
  303. package/dist/esm/utils/index.d.ts.map +1 -1
  304. package/dist/esm/utils/index.js +7 -4
  305. package/dist/esm/utils/index.js.map +1 -1
  306. package/dist/esm/utils/index.test.js +12 -3
  307. package/dist/esm/utils/index.test.js.map +1 -1
  308. package/package.json +15 -15
package/README.md CHANGED
@@ -5,60 +5,66 @@ USDCKit is a Node.js SDK that streamlines interactions with USDC. With USDCKit,
5
5
 
6
6
  The SDK is compatible with popular open-source clients like viem, web3.js, and ethers.js, and can also function as a standalone client. The SDK is built with TypeScript and supports high-level use cases involving USDC, making it an important tool for developers working with digital currencies.
7
7
 
8
-
9
- ### Key features
8
+ This guide will help you get started quickly and efficiently, whether you're building a wallet, a payment gateway, or anything in between. It covers the following items:
9
+ - [Benefits of using USDCKit](#benefits-of-using-usdckit)
10
+ - [Quickstart to write your first line of code using USDCKit](#quickstart)
11
+ - [Sample Code to run USDC Acquiring Flow](./documents/Solutions.USDC_Acquiring_Flow.html)
12
+
13
+ ### Benefits of Using USDCKit
14
+ - **Faster time-to-market**. USDCKit simplifies accepting and managing USDC payments with minimal code. It provides reusable payment modules and removes technical complexities for faster integration.
15
+ - **Payment Focused**. USDCKit is built to offer all the features and tools required to create a complete end-to-end USDC payment flow, with functionalities tailored for payment use cases. It also includes sample code for specific payment products, making it easier to develop your own. The focus of the current release is USDC Acquiring use case.
16
+ - **Scalable payments without bottlenecks**. Process millions of transactions efficiently with USDCKit’s high-performance infrastructure.‍
17
+ - **Enterprise-grade compliance management**. Adhere to global regulatory standards with real-time transaction screening through Compliance Engine.‍
18
+
19
+ #### Key features
10
20
  USDCKit supports the following features:
11
21
  * Wallet management: Create and manage wallets across multiple chains.
12
22
  * Balance querying and filtering: Query wallet balances and filter wallets by balance threshold.
13
23
  * Fund transfer: Transfer funds between wallets.
14
24
  * Fund sweeping: Automate fund aggregation and optimize gas efficiency.
15
25
 
16
- ## Setup
17
-
18
- USDCKit is built on top of Circle Programmable Wallet - Developer Controlled Wallet, you will need to set up a Circle Programmable Wallets account before using the service. Please follow these steps:
19
-
20
- 1. **Sign Up**: Go to the [Circle Programmable Wallets](https://www.circle.com/en/programmable-wallets) website and sign up for an account. This account will be used to manage your access to Circle Web3 services.
26
+ ## Quickstart Steps
27
+ ### Setup
28
+ USDCKit is built on top of Circle Wallets’ developer-controlled wallets. You will need to set up a Developer Console account before using the service. Please follow these steps:
29
+ 1. **Sign Up**: Go to the Developer Console and sign up for an account. This account will be used to manage your access to Circle’s Developer Services. Follow the [instructions](https://developers.circle.com/interactive-quickstarts/get-started#create-a-web3-services-account) for more details.
21
30
  2. **Generate API Keys**: Navigate to the API section of your project and generate a new API key. Make sure to store the API key securely as it will be used to authenticate your requests. Follow the [instructions](https://developers.circle.com/interactive-quickstarts/get-started#create-your-api-key) for more details.
22
31
  3. **Generate Entity Secret**: The Entity Secret is a robust 32-byte key engineered to enhance the security mechanisms of wallets. Follow the [instructions](https://developers.circle.com/interactive-quickstarts/dev-controlled-wallets#setup-your-entity-secret) to setup your Entity Secret.
23
32
  4. **You are good to go!**
24
33
 
25
-
26
34
  ### Installation
27
-
28
35
  To install USDCKit from NPM, run the following command in your project directory:
29
-
30
36
  ```bash
31
37
  npm install @circle-fin/usdckit
32
38
  ```
33
-
34
- ## Usage
35
-
36
39
  ### Initialization
37
-
38
40
  To get started with USDKit, initialize a client with the API Key and Entity Secret from [Setup](#setup)
41
+
39
42
  ```typescript
40
43
  import { createCircleClient } from '@circle-fin/usdckit'
41
44
  import { ETH_SEPOLIA } from '@circle-fin/usdckit/chains'
42
45
 
43
46
  const client = createCircleClient({
44
- apiKey: 'CIRCLE_API_KEY',
45
- entitySecret: 'CIRCLE_ENTITY_SECRET',
46
- chain: ETH_SEPOLIA, // Optional. Defaults to `ETH_SEPOLIA`
47
+ apiKey: 'REPLACE_WITH_CIRCLE_API_KEY',
48
+ entitySecret: 'REPLACE_WITH_CIRCLE_ENTITY_SECRET',
49
+
50
+ // Optional. Defaults to `ETH_SEPOLIA`
51
+ chain: ETH_SEPOLIA,
47
52
  })
48
53
  ```
49
54
 
55
+ ## Usage
56
+
50
57
  ### Create Account
51
58
  To create a new account, use the `createAccount` method. This will generate a new account that you can use for various operations such as transferring tokens and retrieving balances.
52
59
 
53
60
  ```typescript
54
- const account = await client.createAccount() // Creates an account on ETH_SEPOLIA
61
+ // Creates an account on the default chain ETH_SEPOLIA
62
+ const account = await client.createAccount()
55
63
  ```
56
64
 
57
-
58
65
  ### Query for accounts
59
66
  To query for existing accounts, use the getAccounts method. This will return the account details associated with the provided account query.
60
67
 
61
-
62
68
  ```typescript
63
69
  // Query by Address
64
70
  const account = await client.getAccounts({ address: '0xmy-address' })
@@ -70,15 +76,18 @@ const account = await client.getAccounts({ refId: 'user-1' })
70
76
  const account = await client.getAccounts({ amountGte: 1000 })
71
77
  ```
72
78
 
73
-
74
79
  ### Fund Account with Testnet Tokens
75
-
76
80
  To fund an account with testnet tokens, you can use the `drip` method. This method provides native tokens, USDC, and EURC for testing purposes.
77
81
 
78
82
  ```typescript
79
- await client.drip({ account }) // Receive native tokens, USDC, and EURC
80
- await client.drip({ account, token: null }) // Receive native
81
- await client.drip({ account, token: client.chain.contracts.USDC }) // Receive USDC
83
+ // Receive native tokens, USDC, and EURC
84
+ await client.drip({ account })
85
+
86
+ // Receive native
87
+ await client.drip({ account, token: null })
88
+
89
+ // Receive USDC
90
+ await client.drip({ account, token: client.chain.contracts.USDC })
82
91
  ```
83
92
 
84
93
  ### Transfer tokens
@@ -102,6 +111,7 @@ const transaction_usdc = await client.transfer({
102
111
  ```
103
112
 
104
113
  #### Batch Transfers
114
+ Transfer from multiple source accounts to a single destination account
105
115
 
106
116
  ```typescript
107
117
  // Create Transfer - Batch transfer
@@ -129,4 +139,20 @@ Retrieves the token balances for a specified account.
129
139
 
130
140
  ```typescript
131
141
  const balance = await client.getTokenBalances({ account: account_2 })
132
- ```
142
+ ```
143
+
144
+ ## Sample Code to run USDC Acquiring Flow
145
+ For more details on how to run an end-to-end USDC Acquiring Flow to support your business, refer to the [USDC Acquiring Flow sample code](./documents/Solutions.USDC_Acquiring_Flow.html)
146
+
147
+ ## Future Plans
148
+ The current private release marks the first version of USDCKit, and we recognize that additional tools are needed to create a smooth USDC payment experience. As such, we are actively working on several modules and would greatly appreciate your feedback. Our roadmap includes, but is not limited to, the following:
149
+ - Cross-Chain Send of USDC
150
+ - Swap of USDC
151
+ - Mass Payout of USDC
152
+ - Gas Efficiency Enhancement
153
+
154
+ ## Feedback & Support
155
+ If you have any questions or need assistance, don't hesitate to reach out to the team directly([usdckit@circle.com](mailto:usdckit@circle.com)). We're here to support you every step of the way.
156
+
157
+ Happy coding!
158
+
@@ -1 +1 @@
1
- {"version":3,"file":"generateTransferLink.d.ts","sourceRoot":"","sources":["../../../src/actions/generateTransferLink.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAY,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACzG,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAEhD,MAAM,MAAM,0BAA0B,GAAG;IACvC,6BAA6B;IAC7B,EAAE,EAAE,OAAO,GAAG,OAAO,CAAA;IACrB,8BAA8B;IAC9B,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;IAC/B,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAAA;IACtC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
1
+ {"version":3,"file":"generateTransferLink.d.ts","sourceRoot":"","sources":["../../../src/actions/generateTransferLink.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAY,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACzG,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAEhD,MAAM,MAAM,0BAA0B,GAAG;IACvC,6BAA6B;IAC7B,EAAE,EAAE,OAAO,GAAG,OAAO,CAAA;IACrB,8BAA8B;IAC9B,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;IAC/B,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAAA;IACtC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
@@ -15,8 +15,8 @@ const utils_1 = require("viem/utils");
15
15
  const getContract_js_1 = require("../providers/smart-contract-platform/actions/getContract.js");
16
16
  const parseAccount_js_1 = require("../utils/parseAccount.js");
17
17
  const parseAddress_js_1 = require("../utils/parseAddress.js");
18
- const parseUnits_js_1 = require("../utils/parseUnits.js");
19
18
  const toERC681_js_1 = require("../utils/toERC681.js");
19
+ const parseUnitsAsToken_js_1 = require("./parseUnitsAsToken.js");
20
20
  /**
21
21
  * Generates a ERC-681 transfer link for a specified recipient and amount.
22
22
  *
@@ -37,30 +37,24 @@ const toERC681_js_1 = require("../utils/toERC681.js");
37
37
  * ```
38
38
  */
39
39
  async function generateTransferLink(client, params) {
40
- const { to, amount, chain = client.chain } = params;
41
- const token = params.token != null ? (0, parseAddress_js_1.parseAddress)(params.token) : undefined;
40
+ const { to, amount: _amount, chain = client.chain } = params;
42
41
  const getContract = (0, utils_1.getAction)(client, getContract_js_1.getContract, 'getContract');
42
+ const parseUnitsAsToken = (0, utils_1.getAction)(client, parseUnitsAsToken_js_1.parseUnitsAsToken, 'parseUnitsAsToken');
43
+ const token = params.token != null ? (0, parseAddress_js_1.parseAddress)(params.token) : undefined;
44
+ const tokenContract = token != null ? await getContract(token) : undefined;
43
45
  const toAccount = (0, parseAccount_js_1.parseAccount)(to);
44
- const nativeCurrencyDecimals = chain.nativeCurrency.decimals;
45
- let tokenContract;
46
- let tokenCurrencyDecimals = nativeCurrencyDecimals;
47
- if (token != null) {
48
- tokenContract = (await getContract(token));
49
- // @ts-expect-error: Ignore ts(2331) for `read` property
50
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
51
- tokenCurrencyDecimals = (await tokenContract.read.decimals());
52
- }
46
+ const amount = await parseUnitsAsToken({ value: _amount, token: token?.address, chain });
53
47
  return tokenContract !== undefined
54
48
  ? (0, toERC681_js_1.toERC681)({
55
49
  abi: tokenContract.abi,
56
50
  address: tokenContract.address,
57
51
  functionName: 'transfer',
58
- args: [toAccount.address, (0, parseUnits_js_1.parseUnits)(amount, tokenCurrencyDecimals)],
52
+ args: [toAccount.address, amount],
59
53
  chainId: chain.id,
60
54
  })
61
55
  : (0, toERC681_js_1.toERC681)({
62
56
  address: toAccount.address,
63
- value: (0, parseUnits_js_1.parseUnits)(amount, nativeCurrencyDecimals),
57
+ value: amount,
64
58
  chainId: chain.id,
65
59
  });
66
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateTransferLink.js","sourceRoot":"","sources":["../../../src/actions/generateTransferLink.ts"],"names":[],"mappings":";AAAA,kDAAkD;AAClD,uBAAuB;AACvB,EAAE;AACF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,kDAAkD;AAClD,8EAA8E;AAC9E,yEAAyE;AACzE,mFAAmF;;AA2CnF,oDAmCC;AA5ED,sCAAsC;AAEtC,gGAAyG;AACzG,8DAAuD;AACvD,8DAAuD;AACvD,0DAAmD;AACnD,sDAA+C;AAgB/C;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAA0B,EAC1B,MAAkC;IAElC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAA;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE3E,MAAM,WAAW,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,4BAAY,EAAE,aAAa,CAAC,CAAA;IAElE,MAAM,SAAS,GAAG,IAAA,8BAAY,EAAC,EAAE,CAAC,CAAA;IAElC,MAAM,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAA;IAC5D,IAAI,aAAmC,CAAA;IACvC,IAAI,qBAAqB,GAAG,sBAAsB,CAAA;IAElD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,aAAa,GAAG,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,CAAa,CAAA;QACtD,wDAAwD;QACxD,yGAAyG;QACzG,qBAAqB,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAW,CAAA;IACzE,CAAC;IAED,OAAO,aAAa,KAAK,SAAS;QAChC,CAAC,CAAC,IAAA,sBAAQ,EAAC;YACP,GAAG,EAAE,aAAa,CAAC,GAAG;YACtB,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAA,0BAAU,EAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YACpE,OAAO,EAAE,KAAK,CAAC,EAAE;SAClB,CAAC;QACJ,CAAC,CAAC,IAAA,sBAAQ,EAAC;YACP,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,KAAK,EAAE,IAAA,0BAAU,EAAC,MAAM,EAAE,sBAAsB,CAAC;YACjD,OAAO,EAAE,KAAK,CAAC,EAAE;SAClB,CAAC,CAAA;AACR,CAAC"}
1
+ {"version":3,"file":"generateTransferLink.js","sourceRoot":"","sources":["../../../src/actions/generateTransferLink.ts"],"names":[],"mappings":";AAAA,kDAAkD;AAClD,uBAAuB;AACvB,EAAE;AACF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,kDAAkD;AAClD,8EAA8E;AAC9E,yEAAyE;AACzE,mFAAmF;;AA4CnF,oDA4BC;AAtED,sCAAsC;AAEtC,gGAAyG;AACzG,8DAAuD;AACvD,8DAAuD;AACvD,sDAA+C;AAE/C,iEAAgF;AAgBhF;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAA0B,EAC1B,MAAkC;IAElC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAA;IAE5D,MAAM,WAAW,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,4BAAY,EAAE,aAAa,CAAC,CAAA;IAClE,MAAM,iBAAiB,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,wCAAkB,EAAE,mBAAmB,CAAC,CAAA;IAEpF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3E,MAAM,aAAa,GAAyB,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhG,MAAM,SAAS,GAAG,IAAA,8BAAY,EAAC,EAAE,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAExF,OAAO,aAAa,KAAK,SAAS;QAChC,CAAC,CAAC,IAAA,sBAAQ,EAAC;YACP,GAAG,EAAE,aAAa,CAAC,GAAG;YACtB,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;YACjC,OAAO,EAAE,KAAK,CAAC,EAAE;SAClB,CAAC;QACJ,CAAC,CAAC,IAAA,sBAAQ,EAAC;YACP,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,KAAK,CAAC,EAAE;SAClB,CAAC,CAAA;AACR,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { drainFrom } from './drainFrom.js';
2
2
  import { generateTransferLink } from './generateTransferLink.js';
3
+ import { parseUnitsAsToken } from './parseUnitsAsToken.js';
3
4
  import { transfer } from './transfer.js';
5
+ import type { ParseUnitsAsTokenParams } from './parseUnitsAsToken.js';
4
6
  import type { Account } from '../types.js';
5
7
  import type { DrainFromParams } from './drainFrom.js';
6
8
  import type { GenerateTransferLinkParams } from './generateTransferLink.js';
@@ -9,10 +11,12 @@ import type { Chain, Client, Transport } from 'viem';
9
11
  export * from './transfer.js';
10
12
  export * from './drainFrom.js';
11
13
  export * from './generateTransferLink.js';
14
+ export * from './parseUnitsAsToken.js';
12
15
  export type Actions<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = {
13
16
  transfer: (params: Parameters<typeof transfer>[1]) => ReturnType<typeof transfer>;
14
17
  drainFrom: (params: Parameters<typeof drainFrom>[1]) => ReturnType<typeof drainFrom>;
15
18
  generateTransferLink: (params: Parameters<typeof generateTransferLink>[1]) => ReturnType<typeof generateTransferLink>;
19
+ parseUnitsAsToken: (params: Parameters<typeof parseUnitsAsToken>[1]) => ReturnType<typeof parseUnitsAsToken>;
16
20
  };
17
21
  /**
18
22
  * Returns an object containing action functions bound to the provided client.
@@ -36,5 +40,6 @@ export declare function actions(client: Client): {
36
40
  */
37
41
  transfer: (params: TransferParams) => Promise<import("./transfer.js").TransferReturnType>;
38
42
  generateTransferLink: (params: GenerateTransferLinkParams) => Promise<string>;
43
+ parseUnitsAsToken: (params: ParseUnitsAsTokenParams) => Promise<bigint>;
39
44
  };
40
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEpD,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,2BAA2B,CAAA;AAGzC,MAAM,MAAM,OAAO,CAEjB,SAAS,SAAS,SAAS,GAAG,SAAS,EAEvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEnD,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACvD;IACF,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAA;IACjF,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,SAAS,CAAC,CAAA;IACpF,oBAAoB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;CACtH,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM;IAElC;;;;;OAKG;wBACiB,eAAe;IAEnC;;;;;OAKG;uBACgB,cAAc;mCACF,0BAA0B;EAG5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEpD,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AAGtC,MAAM,MAAM,OAAO,CAEjB,SAAS,SAAS,SAAS,GAAG,SAAS,EAEvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEnD,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACvD;IACF,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAA;IACjF,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,SAAS,CAAC,CAAA;IACpF,oBAAoB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;IACrH,iBAAiB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;CAC7G,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM;IAElC;;;;;OAKG;wBACiB,eAAe;IAEnC;;;;;OAKG;uBACgB,cAAc;mCACF,0BAA0B;gCAG7B,uBAAuB;EAEtD"}
@@ -27,10 +27,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.actions = actions;
28
28
  const drainFrom_js_1 = require("./drainFrom.js");
29
29
  const generateTransferLink_js_1 = require("./generateTransferLink.js");
30
+ const parseUnitsAsToken_js_1 = require("./parseUnitsAsToken.js");
30
31
  const transfer_js_1 = require("./transfer.js");
31
32
  __exportStar(require("./transfer.js"), exports);
32
33
  __exportStar(require("./drainFrom.js"), exports);
33
34
  __exportStar(require("./generateTransferLink.js"), exports);
35
+ __exportStar(require("./parseUnitsAsToken.js"), exports);
34
36
  /**
35
37
  * Returns an object containing action functions bound to the provided client.
36
38
  *
@@ -54,6 +56,7 @@ function actions(client) {
54
56
  */
55
57
  transfer: (params) => (0, transfer_js_1.transfer)(client, params),
56
58
  generateTransferLink: (params) => (0, generateTransferLink_js_1.generateTransferLink)(client, params),
59
+ parseUnitsAsToken: (params) => (0, parseUnitsAsToken_js_1.parseUnitsAsToken)(client, params),
57
60
  };
58
61
  }
59
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":";AAAA,kDAAkD;AAClD,uBAAuB;AACvB,EAAE;AACF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,kDAAkD;AAClD,8EAA8E;AAC9E,yEAAyE;AACzE,mFAAmF;;;;;;;;;;;;;;;;AAoCnF,0BAoBC;AAtDD,iDAA0C;AAC1C,uEAAgE;AAChE,+CAAwC;AAQxC,gDAA6B;AAC7B,iDAA8B;AAC9B,4DAAyC;AAgBzC;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,MAAc;IACpC,OAAO;QACL;;;;;WAKG;QACH,SAAS,EAAE,CAAC,MAAuB,EAAE,EAAE,CAAC,IAAA,wBAAS,EAAC,MAA4B,EAAE,MAAM,CAAC;QAEvF;;;;;WAKG;QACH,QAAQ,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,IAAA,sBAAQ,EAAC,MAA4B,EAAE,MAAM,CAAC;QACpF,oBAAoB,EAAE,CAAC,MAAkC,EAAE,EAAE,CAC3D,IAAA,8CAAoB,EAAC,MAA4B,EAAE,MAAM,CAAC;KAC7D,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":";AAAA,kDAAkD;AAClD,uBAAuB;AACvB,EAAE;AACF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,kDAAkD;AAClD,8EAA8E;AAC9E,yEAAyE;AACzE,mFAAmF;;;;;;;;;;;;;;;;AAwCnF,0BAsBC;AA5DD,iDAA0C;AAC1C,uEAAgE;AAChE,iEAA0D;AAC1D,+CAAwC;AASxC,gDAA6B;AAC7B,iDAA8B;AAC9B,4DAAyC;AACzC,yDAAsC;AAiBtC;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,MAAc;IACpC,OAAO;QACL;;;;;WAKG;QACH,SAAS,EAAE,CAAC,MAAuB,EAAE,EAAE,CAAC,IAAA,wBAAS,EAAC,MAA4B,EAAE,MAAM,CAAC;QAEvF;;;;;WAKG;QACH,QAAQ,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,IAAA,sBAAQ,EAAC,MAA4B,EAAE,MAAM,CAAC;QACpF,oBAAoB,EAAE,CAAC,MAAkC,EAAE,EAAE,CAC3D,IAAA,8CAAoB,EAAC,MAA4B,EAAE,MAAM,CAAC;QAE5D,iBAAiB,EAAE,CAAC,MAA+B,EAAE,EAAE,CAAC,IAAA,wCAAiB,EAAC,MAA4B,EAAE,MAAM,CAAC;KAChH,CAAA;AACH,CAAC"}
@@ -25,6 +25,8 @@ vitest_1.describe.concurrent('actions', () => {
25
25
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
26
26
  generateTransferLink: vitest_1.expect.any(Function),
27
27
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
28
+ parseUnitsAsToken: vitest_1.expect.any(Function),
29
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
28
30
  transfer: vitest_1.expect.any(Function),
29
31
  });
30
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/actions/index.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,mCAA4D;AAE5D,yCAAoC;AAIpC,iBAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE;IAClC,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,IAAA,kBAAS,EAAC,GAAG,EAAE;QACb,WAAE,CAAC,eAAe,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAA,kBAAO,EAAC,MAA2B,CAAC,CAAA;QAEnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,mEAAmE;YACnE,SAAS,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/B,mEAAmE;YACnE,oBAAoB,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC1C,mEAAmE;YACnE,QAAQ,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/actions/index.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,mCAA4D;AAE5D,yCAAoC;AAIpC,iBAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE;IAClC,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,IAAA,kBAAS,EAAC,GAAG,EAAE;QACb,WAAE,CAAC,eAAe,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAA,kBAAO,EAAC,MAA2B,CAAC,CAAA;QAEnD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,mEAAmE;YACnE,SAAS,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/B,mEAAmE;YACnE,oBAAoB,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC1C,mEAAmE;YACnE,iBAAiB,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACvC,mEAAmE;YACnE,QAAQ,EAAE,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { type Chain, type ChainContract } from 'viem';
2
+ import type { Address, NativeUnits, BaseUnits, ExtendedViemClient } from '../types.js';
3
+ export type ParseUnitsAsTokenParams = {
4
+ /** The amount to transfer. */
5
+ value: NativeUnits | BaseUnits;
6
+ /** The token address (optional). */
7
+ token?: Address | ChainContract | null;
8
+ /** The blockchain chain to use (optional, defaults to client's chain). */
9
+ chain?: Chain;
10
+ };
11
+ /**
12
+ * Parses a given value into the appropriate token units based on the specified chain and token.
13
+ *
14
+ * @param client - The client instance to use for the operation.
15
+ * @returns The parsed token value in base units.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const link = await parseUnitsAsToken(client, {
20
+ * value: '1',
21
+ * chain: ETH_SEPOLIA,
22
+ * });
23
+ * // => 1000000000000000000n
24
+ * ```
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const link = await parseUnitsAsToken(client, {
29
+ * value: '1',
30
+ * chain: ETH_SEPOLIA,
31
+ * token: ETH_SEPOLIA.contracts.USDC,
32
+ * });
33
+ * // => 1000000n
34
+ * ```
35
+ */
36
+ export declare function parseUnitsAsToken(client: ExtendedViemClient, params: ParseUnitsAsTokenParams): Promise<BaseUnits>;
37
+ //# sourceMappingURL=parseUnitsAsToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseUnitsAsToken.d.ts","sourceRoot":"","sources":["../../../src/actions/parseUnitsAsToken.ts"],"names":[],"mappings":"AAWA,OAAO,EAA+B,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAA;AAQlF,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEtF,MAAM,MAAM,uBAAuB,GAAG;IACpC,8BAA8B;IAC9B,KAAK,EAAE,WAAW,GAAG,SAAS,CAAA;IAC9B,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAAA;IACtC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,SAAS,CAAC,CA+BpB"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ // Copyright (c) 2025, Circle Internet Group, Inc.
3
+ // All rights reserved.
4
+ //
5
+ // Circle Internet Group, Inc. CONFIDENTIAL
6
+ //
7
+ // This file includes unpublished proprietary source code of Circle Internet
8
+ // Group, Inc. The copyright notice above does not
9
+ // evidence any actual or intended publication of such source code. Disclosure
10
+ // of this source code or any related proprietary information is strictly
11
+ // prohibited without the express written permission of Circle Internet Group, Inc.
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.parseUnitsAsToken = parseUnitsAsToken;
14
+ const viem_1 = require("viem");
15
+ const utils_1 = require("viem/utils");
16
+ const getContract_js_1 = require("../providers/smart-contract-platform/actions/getContract.js");
17
+ const getChainContractByAddress_js_1 = require("../utils/getChainContractByAddress.js");
18
+ const parseAddress_js_1 = require("../utils/parseAddress.js");
19
+ const parseUnits_js_1 = require("../utils/parseUnits.js");
20
+ /**
21
+ * Parses a given value into the appropriate token units based on the specified chain and token.
22
+ *
23
+ * @param client - The client instance to use for the operation.
24
+ * @returns The parsed token value in base units.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const link = await parseUnitsAsToken(client, {
29
+ * value: '1',
30
+ * chain: ETH_SEPOLIA,
31
+ * });
32
+ * // => 1000000000000000000n
33
+ * ```
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * const link = await parseUnitsAsToken(client, {
38
+ * value: '1',
39
+ * chain: ETH_SEPOLIA,
40
+ * token: ETH_SEPOLIA.contracts.USDC,
41
+ * });
42
+ * // => 1000000n
43
+ * ```
44
+ */
45
+ async function parseUnitsAsToken(client, params) {
46
+ const { value, token: _token, chain = client.chain } = params;
47
+ const token = _token != null ? (0, parseAddress_js_1.parseAddress)(_token) : null;
48
+ // Skip parsing
49
+ if (typeof value === 'bigint')
50
+ return value;
51
+ // Parse as native token
52
+ if (token == null)
53
+ return (0, parseUnits_js_1.parseUnits)(value, chain.nativeCurrency.decimals);
54
+ let chainContract = undefined;
55
+ try {
56
+ // Parse as local chain contract
57
+ chainContract = (0, getChainContractByAddress_js_1.getChainContractByAddress)(chain, token.address);
58
+ }
59
+ catch (error) {
60
+ if (!(error instanceof viem_1.ChainDoesNotSupportContract))
61
+ throw error;
62
+ }
63
+ // @ts-expect-error: Ignore ts(2331) for `read` property
64
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
65
+ const decimalsFn = chainContract?.read?.decimals;
66
+ if (typeof decimalsFn === 'function')
67
+ return (0, parseUnits_js_1.parseUnits)(value, decimalsFn());
68
+ // Parse by fetching token contract
69
+ const getContract = (0, utils_1.getAction)(client, getContract_js_1.getContract, 'getContract');
70
+ const contract = await getContract({ chain, ...token });
71
+ // @ts-expect-error: Ignore ts(2331) for `read` property
72
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
73
+ return (0, parseUnits_js_1.parseUnits)(value, (await contract.read.decimals()));
74
+ }
75
+ //# sourceMappingURL=parseUnitsAsToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseUnitsAsToken.js","sourceRoot":"","sources":["../../../src/actions/parseUnitsAsToken.ts"],"names":[],"mappings":";AAAA,kDAAkD;AAClD,uBAAuB;AACvB,EAAE;AACF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,kDAAkD;AAClD,8EAA8E;AAC9E,yEAAyE;AACzE,mFAAmF;;AA8CnF,8CAkCC;AA9ED,+BAAkF;AAClF,sCAAsC;AAEtC,gGAAyG;AACzG,wFAAiF;AACjF,8DAAuD;AACvD,0DAAmD;AAanD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAA0B,EAC1B,MAA+B;IAE/B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAA;IAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE1D,eAAe;IACf,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,wBAAwB;IACxB,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAA,0BAAU,EAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAE1E,IAAI,aAAa,GAA8B,SAAS,CAAA;IAExD,IAAI,CAAC;QACH,gCAAgC;QAChC,aAAa,GAAG,IAAA,wDAAyB,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,kCAA2B,CAAC;YAAE,MAAM,KAAK,CAAA;IAClE,CAAC;IAED,wDAAwD;IACxD,sEAAsE;IACtE,MAAM,UAAU,GAAG,aAAa,EAAE,IAAI,EAAE,QAAsC,CAAA;IAC9E,IAAI,OAAO,UAAU,KAAK,UAAU;QAAE,OAAO,IAAA,0BAAU,EAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;IAE5E,mCAAmC;IACnC,MAAM,WAAW,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,4BAAY,EAAE,aAAa,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;IAEvD,wDAAwD;IACxD,yGAAyG;IACzG,OAAO,IAAA,0BAAU,EAAC,KAAK,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAW,CAAC,CAAA;AACtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseUnitsAsToken.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseUnitsAsToken.test.d.ts","sourceRoot":"","sources":["../../../src/actions/parseUnitsAsToken.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ // Copyright (c) 2025, Circle Internet Group, Inc.
3
+ // All rights reserved.
4
+ //
5
+ // Circle Internet Group, Inc. CONFIDENTIAL
6
+ //
7
+ // This file includes unpublished proprietary source code of Circle Internet
8
+ // Group, Inc. The copyright notice above does not
9
+ // evidence any actual or intended publication of such source code. Disclosure
10
+ // of this source code or any related proprietary information is strictly
11
+ // prohibited without the express written permission of Circle Internet Group, Inc.
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const vitest_1 = require("vitest");
14
+ const index_js_1 = require("../chains/index.js");
15
+ const parseUnitsAsToken_js_1 = require("./parseUnitsAsToken.js");
16
+ vitest_1.describe.concurrent('parseUnitsAsToken', () => {
17
+ const client = {
18
+ chain: index_js_1.ETH_SEPOLIA,
19
+ getContract: vitest_1.vi.fn(({ address }) => ({
20
+ address,
21
+ read: {
22
+ decimals: vitest_1.vi.fn(() => 9),
23
+ },
24
+ })),
25
+ };
26
+ vitest_1.test.each([
27
+ [
28
+ 'bigint as input',
29
+ {
30
+ value: 1n,
31
+ },
32
+ 1n,
33
+ ],
34
+ [
35
+ 'native token',
36
+ {
37
+ value: '1',
38
+ },
39
+ 1000000000000000000n,
40
+ ],
41
+ [
42
+ 'local chain contract',
43
+ {
44
+ value: '1',
45
+ token: index_js_1.ETH_SEPOLIA.contracts.USDC,
46
+ },
47
+ 1000000n,
48
+ ],
49
+ [
50
+ 'remote chain contract',
51
+ {
52
+ value: '1',
53
+ token: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7239',
54
+ },
55
+ 1000000000n,
56
+ ],
57
+ ])('should return the parsed value as token base units using %s', async (_, params, expectedResult) => {
58
+ await (0, vitest_1.expect)((0, parseUnitsAsToken_js_1.parseUnitsAsToken)(client, params)).resolves.toBe(expectedResult);
59
+ });
60
+ });
61
+ //# sourceMappingURL=parseUnitsAsToken.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseUnitsAsToken.test.js","sourceRoot":"","sources":["../../../src/actions/parseUnitsAsToken.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,mCAAmD;AAEnD,iDAAgD;AAEhD,iEAA0D;AAI1D,iBAAQ,CAAC,UAAU,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC5C,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,sBAAW;QAClB,WAAW,EAAE,WAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAuB,EAAE,EAAE,CAAC,CAAC;YACxD,OAAO;YACP,IAAI,EAAE;gBACJ,QAAQ,EAAE,WAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACzB;SACF,CAAC,CAAC;KAC6B,CAAA;IAElC,aAAI,CAAC,IAAI,CAAC;QACR;YACE,iBAAiB;YACjB;gBACE,KAAK,EAAE,EAAE;aACV;YACD,EAAE;SACH;QACD;YACE,cAAc;YACd;gBACE,KAAK,EAAE,GAAG;aACX;YACD,oBAAoB;SACrB;QACD;YACE,sBAAsB;YACtB;gBACE,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,sBAAW,CAAC,SAAS,CAAC,IAAI;aAClC;YACD,QAAQ;SACT;QACD;YACE,uBAAuB;YACvB;gBACE,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,4CAA4C;aACpD;YACD,WAAW;SACZ;KACO,CAAC,CAAC,6DAA6D,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE;QAC7G,MAAM,IAAA,eAAM,EAAC,IAAA,wCAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC/E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/actions/transfer.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,kBAAkB,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAExD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;SAEK;IACL,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAA;IAChD;;SAEK;IACL,EAAE,EAAE,OAAO,GAAG,OAAO,CAAA;IACrB;;SAEK;IACL,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAA;IAC1F;;SAEK;IACL,KAAK,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAAA;IACtC;;SAEK;IACL,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;SAEK;IACL,IAAI,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,wBAAwB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC3F;;SAEK;IACL,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uBAAuB;IACvB,IAAI,EAAE,OAAO,CAAA;CACd,EAAE,CAAA;AAEH;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IAErC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE;QACP,IAAI,EAAE,OAAO,CAAA;QACb,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,CAAC,EAAE,QAAQ,CAAA;QAChB,MAAM,EAAE,SAAS,CAAA;QACjB,KAAK,EAAE,KAAK,CAAA;KACb,CAAA;CACF,CAAA;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,IAC1C,0DAGX,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC,CAuBnF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;CAAE,IACjG,qBAAqB,wBAAwB;;;;;SA/BU,SAAS;GA2D/E;AAED;;;GAGG;AACH,eAAO,MAAM,GAAG,6DAjEX,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAiEhD,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,MAAM,6DAvEd,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAuE1C,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,IAAI,6DA7EZ,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CA6E9C,CAAA;AAarC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,cAAc,GAAG,kBAAkB,GAC1C,OAAO,CAAC,kBAAkB,CAAC,CAiF7B"}
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/actions/transfer.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,kBAAkB,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAExD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;SAEK;IACL,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAA;IAChD;;SAEK;IACL,EAAE,EAAE,OAAO,GAAG,OAAO,CAAA;IACrB;;SAEK;IACL,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAA;IAC1F;;SAEK;IACL,KAAK,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAAA;IACtC;;SAEK;IACL,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;SAEK;IACL,IAAI,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,wBAAwB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC3F;;SAEK;IACL,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uBAAuB;IACvB,IAAI,EAAE,OAAO,CAAA;CACd,EAAE,CAAA;AAEH;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IAErC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE;QACP,IAAI,EAAE,OAAO,CAAA;QACb,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,CAAC,EAAE,QAAQ,CAAA;QAChB,MAAM,EAAE,SAAS,CAAA;QACjB,KAAK,EAAE,KAAK,CAAA;KACb,CAAA;CACF,CAAA;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,IAC1C,0DAGX,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC,CAuBnF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;CAAE,IACjG,qBAAqB,wBAAwB;;;;;SA/BU,SAAS;GA2D/E;AAED;;;GAGG;AACH,eAAO,MAAM,GAAG,6DAjEX,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAiEhD,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,MAAM,6DAvEd,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAuE1C,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,IAAI,6DA7EZ,wBAAwB,KAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CA6E9C,CAAA;AAarC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,cAAc,GAAG,kBAAkB,GAC1C,OAAO,CAAC,kBAAkB,CAAC,CAiF7B"}
@@ -24,7 +24,6 @@ const waitForTransactionHash_js_1 = require("../providers/developer-controlled-w
24
24
  const extractChain_js_1 = require("../providers/developer-controlled-wallets/extractChain.js");
25
25
  const getContract_js_1 = require("../providers/smart-contract-platform/actions/getContract.js");
26
26
  const formatUnits_js_1 = require("../utils/formatUnits.js");
27
- const max_js_1 = require("../utils/max.js");
28
27
  const parseAccount_js_1 = require("../utils/parseAccount.js");
29
28
  const parseAddress_js_1 = require("../utils/parseAddress.js");
30
29
  const parseUnits_js_1 = require("../utils/parseUnits.js");
@@ -72,7 +71,7 @@ function FEE_LEVEL_WITH_PREPARE({ account, level }) {
72
71
  getTokenBalances({ account: from, token: null }),
73
72
  ]);
74
73
  const [nativeBalance] = balances;
75
- const amountToTransfer = (0, max_js_1.max)(0n, fees.maxPriorityFeePerGas + fees.maxFeePerGas - (nativeBalance?.value ?? 0n));
74
+ const amountToTransfer = fees.gas * fees.maxFeePerGas - (nativeBalance?.value ?? 0n);
76
75
  if (amountToTransfer > 0) {
77
76
  const [transaction] = await _transfer({
78
77
  from: account,
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/actions/transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/actions/transfer.ts"],"names":[],"mappings":"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"}
@@ -408,13 +408,13 @@ const transfer_js_1 = require("./transfer.js");
408
408
  chain: index_js_1.ETH_SEPOLIA,
409
409
  },
410
410
  };
411
- await (0, vitest_1.expect)((0, transfer_js_1.FEE_LEVEL_WITH_PREPARE)({ level: 'LOW', account: sourceAccount })(params)).resolves.toEqual({
412
- gas: 1n,
413
- maxFeePerGas: 2000000000n,
414
- maxPriorityFeePerGas: 3000000000n,
411
+ await (0, vitest_1.expect)((0, transfer_js_1.FEE_LEVEL_WITH_PREPARE)({ level: 'MEDIUM', account: sourceAccount })(params)).resolves.toEqual({
412
+ gas: 2n,
413
+ maxFeePerGas: 4000000000n,
414
+ maxPriorityFeePerGas: 6000000000n,
415
415
  });
416
416
  (0, vitest_1.expect)(client.transfer).toHaveBeenCalledWith({
417
- amount: 2000000000n + 3000000000n,
417
+ amount: 2n * 4000000000n,
418
418
  chain: params.request.chain,
419
419
  from: sourceAccount,
420
420
  to: params.request.from,
@@ -422,5 +422,25 @@ const transfer_js_1 = require("./transfer.js");
422
422
  fees: vitest_1.expect.any(Function),
423
423
  });
424
424
  });
425
+ (0, vitest_1.it)('should return gas fee estimations for FEE_LEVEL_WITH_PREPARATION without preparation transfer', async () => {
426
+ const sourceAccount = { address: '0xsourceaccount' };
427
+ const params = {
428
+ client,
429
+ request: {
430
+ from: { address: '0x123' },
431
+ to: { address: '0x321' },
432
+ amount: 10000n,
433
+ token: USDC,
434
+ chain: index_js_1.ETH_SEPOLIA,
435
+ },
436
+ };
437
+ client.getTokenBalances.mockResolvedValue([{ value: 2n * 4000000000n }]);
438
+ await (0, vitest_1.expect)((0, transfer_js_1.FEE_LEVEL_WITH_PREPARE)({ level: 'MEDIUM', account: sourceAccount })(params)).resolves.toEqual({
439
+ gas: 2n,
440
+ maxFeePerGas: 4000000000n,
441
+ maxPriorityFeePerGas: 6000000000n,
442
+ });
443
+ (0, vitest_1.expect)(client.transfer).not.toHaveBeenCalled();
444
+ });
425
445
  });
426
446
  //# sourceMappingURL=transfer.test.js.map