@crossmint/client-sdk-smart-wallet 0.1.24 → 0.1.26

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 (351) hide show
  1. package/dist/SmartWalletSDK.cjs +1 -34
  2. package/dist/SmartWalletSDK.js +1 -34
  3. package/dist/api/CrossmintWalletService.cjs +1 -13
  4. package/dist/api/CrossmintWalletService.js +1 -13
  5. package/dist/blockchain/chains.cjs +1 -23
  6. package/dist/blockchain/chains.js +1 -23
  7. package/dist/blockchain/rpc.cjs +1 -11
  8. package/dist/blockchain/rpc.js +1 -11
  9. package/dist/blockchain/transfer.cjs +1 -7
  10. package/dist/blockchain/transfer.js +1 -7
  11. package/dist/blockchain/wallets/EVMSmartWallet.cjs +1 -10
  12. package/dist/blockchain/wallets/EVMSmartWallet.js +1 -10
  13. package/dist/blockchain/wallets/SendTransactionService.cjs +1 -11
  14. package/dist/blockchain/wallets/SendTransactionService.js +1 -11
  15. package/dist/blockchain/wallets/account/cache.cjs +1 -9
  16. package/dist/blockchain/wallets/account/cache.js +1 -9
  17. package/dist/blockchain/wallets/account/config.cjs +1 -9
  18. package/dist/blockchain/wallets/account/config.js +1 -9
  19. package/dist/blockchain/wallets/account/creator.cjs +1 -10
  20. package/dist/blockchain/wallets/account/creator.js +1 -10
  21. package/dist/blockchain/wallets/account/eoa.cjs +1 -11
  22. package/dist/blockchain/wallets/account/eoa.js +1 -11
  23. package/dist/blockchain/wallets/account/passkey.cjs +1 -9
  24. package/dist/blockchain/wallets/account/passkey.js +1 -9
  25. package/dist/blockchain/wallets/account/signer.cjs +1 -9
  26. package/dist/blockchain/wallets/account/signer.js +1 -9
  27. package/dist/blockchain/wallets/account/strategy.cjs +1 -1
  28. package/dist/blockchain/wallets/account/strategy.js +0 -1
  29. package/dist/blockchain/wallets/clientDecorator.cjs +1 -12
  30. package/dist/blockchain/wallets/clientDecorator.js +1 -12
  31. package/dist/blockchain/wallets/index.cjs +1 -10
  32. package/dist/blockchain/wallets/index.js +1 -10
  33. package/dist/blockchain/wallets/paymaster.cjs +1 -10
  34. package/dist/blockchain/wallets/paymaster.js +1 -10
  35. package/dist/blockchain/wallets/service.cjs +1 -16
  36. package/dist/blockchain/wallets/service.js +1 -16
  37. package/dist/chunk-265KNPZR.js +1 -0
  38. package/dist/chunk-2GS5TXEY.cjs +1 -0
  39. package/dist/chunk-2R6HK64N.cjs +1 -0
  40. package/dist/chunk-3F6P4HUZ.js +1 -0
  41. package/dist/chunk-4SPA557P.js +0 -0
  42. package/dist/chunk-7AVDZZGD.cjs +1 -0
  43. package/dist/chunk-7FXFOOQU.cjs +1 -0
  44. package/dist/chunk-7KTCGFU5.js +1 -0
  45. package/dist/chunk-AK6IIUTM.js +1 -0
  46. package/dist/chunk-ATQ4WGCW.js +1 -0
  47. package/dist/chunk-BIJAOWPS.js +1 -0
  48. package/dist/chunk-BJZQA5VC.js +1 -0
  49. package/dist/chunk-C3VZY7VJ.js +1 -0
  50. package/dist/chunk-CUTQYF3F.js +1 -0
  51. package/dist/chunk-D4NDUT36.js +1 -0
  52. package/dist/chunk-DIDKPOO2.cjs +1 -0
  53. package/dist/chunk-DQNKQDE2.cjs +1 -0
  54. package/dist/chunk-E3NG3YWO.js +1 -0
  55. package/dist/chunk-ETVJGLNY.js +1 -0
  56. package/dist/chunk-FHNNZVNU.js +1 -0
  57. package/dist/chunk-GB35YMN4.cjs +1 -0
  58. package/dist/chunk-H4CMXNVK.js +1 -0
  59. package/dist/chunk-HGA3WK6L.cjs +1 -0
  60. package/dist/chunk-II4HKF7X.cjs +1 -0
  61. package/dist/chunk-IQTGPM2U.cjs +1 -0
  62. package/dist/chunk-KYPTGHC6.cjs +1 -0
  63. package/dist/chunk-LDNU6SJL.cjs +3 -0
  64. package/dist/chunk-M4K3IZTT.cjs +1 -0
  65. package/dist/chunk-MJ62KCTK.cjs +1 -0
  66. package/dist/chunk-NAX6LRUY.cjs +1 -0
  67. package/dist/chunk-NLGILHJS.js +1 -0
  68. package/dist/chunk-O2ACORII.cjs +1 -0
  69. package/dist/chunk-ODAUWGUU.cjs +1 -0
  70. package/dist/chunk-PZ6Q22YJ.js +1 -0
  71. package/dist/chunk-QD2JKGX6.cjs +1 -0
  72. package/dist/chunk-S2XBSAGM.js +1 -0
  73. package/dist/chunk-SBW2PS63.cjs +1 -0
  74. package/dist/chunk-SCXFZMLR.cjs +1 -0
  75. package/dist/chunk-STH2LE35.cjs +1 -0
  76. package/dist/chunk-SWWOVT47.cjs +1 -0
  77. package/dist/chunk-TBTRV56U.cjs +2 -0
  78. package/dist/chunk-TWADESPF.cjs +1 -0
  79. package/dist/chunk-TXLAUKCK.cjs +1 -0
  80. package/dist/chunk-TZG6MROQ.js +1 -0
  81. package/dist/chunk-UG47CBKR.js +1 -0
  82. package/dist/chunk-UPURFW46.js +1 -0
  83. package/dist/chunk-UXNWF66Q.js +1 -0
  84. package/dist/chunk-VMOQWOZV.js +3 -0
  85. package/dist/chunk-VXGNAQOW.js +1 -0
  86. package/dist/chunk-WJ6XJMRD.cjs +1 -0
  87. package/dist/{chunk-5MG5CIEX.cjs → chunk-XJGFG3RT.cjs} +1 -13
  88. package/dist/chunk-XQ2K2K23.cjs +1 -0
  89. package/dist/chunk-YBHSEZMB.js +1 -0
  90. package/dist/chunk-YJUD5MVS.js +1 -0
  91. package/dist/chunk-YUWCRSYD.js +1 -0
  92. package/dist/chunk-Z7MMOBIC.js +2 -0
  93. package/dist/error/index.cjs +1 -25
  94. package/dist/error/index.js +1 -25
  95. package/dist/error/processor.cjs +1 -9
  96. package/dist/error/processor.js +1 -9
  97. package/dist/index.cjs +1 -86
  98. package/dist/index.js +1 -86
  99. package/dist/services/index.cjs +1 -11
  100. package/dist/services/index.js +1 -11
  101. package/dist/services/logger.cjs +1 -10
  102. package/dist/services/logger.js +1 -10
  103. package/dist/types/internal.cjs +1 -18
  104. package/dist/types/internal.js +1 -18
  105. package/dist/types/params.cjs +1 -1
  106. package/dist/types/params.js +0 -1
  107. package/dist/types/schema.cjs +1 -16
  108. package/dist/types/schema.js +1 -16
  109. package/dist/types/service.cjs +1 -1
  110. package/dist/types/service.js +0 -1
  111. package/dist/types/token.cjs +1 -1
  112. package/dist/types/token.js +0 -1
  113. package/dist/utils/api.cjs +1 -9
  114. package/dist/utils/api.js +1 -9
  115. package/dist/utils/blockchain.cjs +1 -7
  116. package/dist/utils/blockchain.js +1 -7
  117. package/dist/utils/constants.cjs +1 -19
  118. package/dist/utils/constants.js +1 -19
  119. package/dist/utils/environment.cjs +1 -7
  120. package/dist/utils/environment.js +1 -7
  121. package/dist/utils/helpers.cjs +1 -9
  122. package/dist/utils/helpers.js +1 -9
  123. package/dist/utils/signer.cjs +1 -10
  124. package/dist/utils/signer.js +1 -10
  125. package/dist/utils/test.cjs +1 -27
  126. package/dist/utils/test.js +1 -27
  127. package/package.json +3 -4
  128. package/dist/SmartWalletSDK.cjs.map +0 -1
  129. package/dist/SmartWalletSDK.js.map +0 -1
  130. package/dist/api/CrossmintWalletService.cjs.map +0 -1
  131. package/dist/api/CrossmintWalletService.js.map +0 -1
  132. package/dist/blockchain/chains.cjs.map +0 -1
  133. package/dist/blockchain/chains.js.map +0 -1
  134. package/dist/blockchain/rpc.cjs.map +0 -1
  135. package/dist/blockchain/rpc.js.map +0 -1
  136. package/dist/blockchain/transfer.cjs.map +0 -1
  137. package/dist/blockchain/transfer.js.map +0 -1
  138. package/dist/blockchain/wallets/EVMSmartWallet.cjs.map +0 -1
  139. package/dist/blockchain/wallets/EVMSmartWallet.js.map +0 -1
  140. package/dist/blockchain/wallets/SendTransactionService.cjs.map +0 -1
  141. package/dist/blockchain/wallets/SendTransactionService.js.map +0 -1
  142. package/dist/blockchain/wallets/account/cache.cjs.map +0 -1
  143. package/dist/blockchain/wallets/account/cache.js.map +0 -1
  144. package/dist/blockchain/wallets/account/config.cjs.map +0 -1
  145. package/dist/blockchain/wallets/account/config.js.map +0 -1
  146. package/dist/blockchain/wallets/account/creator.cjs.map +0 -1
  147. package/dist/blockchain/wallets/account/creator.js.map +0 -1
  148. package/dist/blockchain/wallets/account/eoa.cjs.map +0 -1
  149. package/dist/blockchain/wallets/account/eoa.js.map +0 -1
  150. package/dist/blockchain/wallets/account/passkey.cjs.map +0 -1
  151. package/dist/blockchain/wallets/account/passkey.js.map +0 -1
  152. package/dist/blockchain/wallets/account/signer.cjs.map +0 -1
  153. package/dist/blockchain/wallets/account/signer.js.map +0 -1
  154. package/dist/blockchain/wallets/account/strategy.cjs.map +0 -1
  155. package/dist/blockchain/wallets/account/strategy.js.map +0 -1
  156. package/dist/blockchain/wallets/clientDecorator.cjs.map +0 -1
  157. package/dist/blockchain/wallets/clientDecorator.js.map +0 -1
  158. package/dist/blockchain/wallets/index.cjs.map +0 -1
  159. package/dist/blockchain/wallets/index.js.map +0 -1
  160. package/dist/blockchain/wallets/paymaster.cjs.map +0 -1
  161. package/dist/blockchain/wallets/paymaster.js.map +0 -1
  162. package/dist/blockchain/wallets/service.cjs.map +0 -1
  163. package/dist/blockchain/wallets/service.js.map +0 -1
  164. package/dist/chunk-2BBSPDW4.cjs +0 -99
  165. package/dist/chunk-2BBSPDW4.cjs.map +0 -1
  166. package/dist/chunk-2GADBKIW.cjs +0 -39
  167. package/dist/chunk-2GADBKIW.cjs.map +0 -1
  168. package/dist/chunk-2HB65Y7D.js +0 -79
  169. package/dist/chunk-2HB65Y7D.js.map +0 -1
  170. package/dist/chunk-3EQHAQXO.js +0 -112
  171. package/dist/chunk-3EQHAQXO.js.map +0 -1
  172. package/dist/chunk-3R6PW6HY.js +0 -30
  173. package/dist/chunk-3R6PW6HY.js.map +0 -1
  174. package/dist/chunk-5MG5CIEX.cjs.map +0 -1
  175. package/dist/chunk-5URMCCO6.js +0 -9
  176. package/dist/chunk-5URMCCO6.js.map +0 -1
  177. package/dist/chunk-5WVQ7J3E.cjs +0 -369
  178. package/dist/chunk-5WVQ7J3E.cjs.map +0 -1
  179. package/dist/chunk-6FS2OI5W.js +0 -66
  180. package/dist/chunk-6FS2OI5W.js.map +0 -1
  181. package/dist/chunk-6NJVFL2X.js +0 -60
  182. package/dist/chunk-6NJVFL2X.js.map +0 -1
  183. package/dist/chunk-74NTQGER.js +0 -44
  184. package/dist/chunk-74NTQGER.js.map +0 -1
  185. package/dist/chunk-77GT6B5L.cjs +0 -79
  186. package/dist/chunk-77GT6B5L.cjs.map +0 -1
  187. package/dist/chunk-7KTQNIAZ.cjs +0 -112
  188. package/dist/chunk-7KTQNIAZ.cjs.map +0 -1
  189. package/dist/chunk-7ORLXP6K.cjs +0 -93
  190. package/dist/chunk-7ORLXP6K.cjs.map +0 -1
  191. package/dist/chunk-ASIPMVRQ.js +0 -90
  192. package/dist/chunk-ASIPMVRQ.js.map +0 -1
  193. package/dist/chunk-BARW756O.js +0 -27
  194. package/dist/chunk-BARW756O.js.map +0 -1
  195. package/dist/chunk-BXSAJOIV.cjs +0 -90
  196. package/dist/chunk-BXSAJOIV.cjs.map +0 -1
  197. package/dist/chunk-DTEA33DF.cjs +0 -59
  198. package/dist/chunk-DTEA33DF.cjs.map +0 -1
  199. package/dist/chunk-DYO4HODM.cjs +0 -36
  200. package/dist/chunk-DYO4HODM.cjs.map +0 -1
  201. package/dist/chunk-EPEGJY6N.cjs +0 -9
  202. package/dist/chunk-EPEGJY6N.cjs.map +0 -1
  203. package/dist/chunk-EQSMHR77.js +0 -30
  204. package/dist/chunk-EQSMHR77.js.map +0 -1
  205. package/dist/chunk-FSIMJYXR.js +0 -36
  206. package/dist/chunk-FSIMJYXR.js.map +0 -1
  207. package/dist/chunk-FXGOVLZW.cjs +0 -9
  208. package/dist/chunk-FXGOVLZW.cjs.map +0 -1
  209. package/dist/chunk-ICLDP7BD.cjs +0 -36
  210. package/dist/chunk-ICLDP7BD.cjs.map +0 -1
  211. package/dist/chunk-IZZQHNZT.cjs +0 -22
  212. package/dist/chunk-IZZQHNZT.cjs.map +0 -1
  213. package/dist/chunk-JLZCSWUY.cjs +0 -14
  214. package/dist/chunk-JLZCSWUY.cjs.map +0 -1
  215. package/dist/chunk-JOB7STIS.js +0 -9
  216. package/dist/chunk-JOB7STIS.js.map +0 -1
  217. package/dist/chunk-KHROQTVY.js +0 -1
  218. package/dist/chunk-KHROQTVY.js.map +0 -1
  219. package/dist/chunk-LWVV7JDJ.js +0 -36
  220. package/dist/chunk-LWVV7JDJ.js.map +0 -1
  221. package/dist/chunk-N6DG5EZG.cjs +0 -156
  222. package/dist/chunk-N6DG5EZG.cjs.map +0 -1
  223. package/dist/chunk-NI6WQXMN.js +0 -99
  224. package/dist/chunk-NI6WQXMN.js.map +0 -1
  225. package/dist/chunk-O6IFYHDP.cjs +0 -36
  226. package/dist/chunk-O6IFYHDP.cjs.map +0 -1
  227. package/dist/chunk-OGA3YDWS.cjs +0 -112
  228. package/dist/chunk-OGA3YDWS.cjs.map +0 -1
  229. package/dist/chunk-OIEP34C6.js +0 -41
  230. package/dist/chunk-OIEP34C6.js.map +0 -1
  231. package/dist/chunk-ON4DOYVD.js +0 -369
  232. package/dist/chunk-ON4DOYVD.js.map +0 -1
  233. package/dist/chunk-PVFA6PBX.cjs +0 -60
  234. package/dist/chunk-PVFA6PBX.cjs.map +0 -1
  235. package/dist/chunk-QBQDYMNI.js +0 -39
  236. package/dist/chunk-QBQDYMNI.js.map +0 -1
  237. package/dist/chunk-QJ3BSVGV.js +0 -36
  238. package/dist/chunk-QJ3BSVGV.js.map +0 -1
  239. package/dist/chunk-RUTDRRS2.cjs +0 -66
  240. package/dist/chunk-RUTDRRS2.cjs.map +0 -1
  241. package/dist/chunk-SBR2CREX.js +0 -82
  242. package/dist/chunk-SBR2CREX.js.map +0 -1
  243. package/dist/chunk-SMDX2MXU.js +0 -13
  244. package/dist/chunk-SMDX2MXU.js.map +0 -1
  245. package/dist/chunk-TDJDKTRS.js +0 -156
  246. package/dist/chunk-TDJDKTRS.js.map +0 -1
  247. package/dist/chunk-TZUJ5MXW.cjs +0 -82
  248. package/dist/chunk-TZUJ5MXW.cjs.map +0 -1
  249. package/dist/chunk-U4OBHCIP.js +0 -59
  250. package/dist/chunk-U4OBHCIP.js.map +0 -1
  251. package/dist/chunk-UQKE6R5W.cjs +0 -27
  252. package/dist/chunk-UQKE6R5W.cjs.map +0 -1
  253. package/dist/chunk-UZGHOTKZ.js +0 -112
  254. package/dist/chunk-UZGHOTKZ.js.map +0 -1
  255. package/dist/chunk-WRH3YJT3.js +0 -14
  256. package/dist/chunk-WRH3YJT3.js.map +0 -1
  257. package/dist/chunk-X4KT4AKM.cjs +0 -123
  258. package/dist/chunk-X4KT4AKM.cjs.map +0 -1
  259. package/dist/chunk-YKW7PMBU.js +0 -22
  260. package/dist/chunk-YKW7PMBU.js.map +0 -1
  261. package/dist/chunk-YWCXHOSD.cjs +0 -30
  262. package/dist/chunk-YWCXHOSD.cjs.map +0 -1
  263. package/dist/chunk-Z5DNJTAW.cjs +0 -41
  264. package/dist/chunk-Z5DNJTAW.cjs.map +0 -1
  265. package/dist/chunk-Z7JWER3L.js +0 -93
  266. package/dist/chunk-Z7JWER3L.js.map +0 -1
  267. package/dist/chunk-ZAQLXUMA.cjs +0 -44
  268. package/dist/chunk-ZAQLXUMA.cjs.map +0 -1
  269. package/dist/chunk-ZEWOQEKM.js +0 -123
  270. package/dist/chunk-ZEWOQEKM.js.map +0 -1
  271. package/dist/chunk-ZN42AA2G.cjs +0 -1
  272. package/dist/chunk-ZN42AA2G.cjs.map +0 -1
  273. package/dist/chunk-ZOXKITU4.cjs +0 -30
  274. package/dist/chunk-ZOXKITU4.cjs.map +0 -1
  275. package/dist/error/index.cjs.map +0 -1
  276. package/dist/error/index.js.map +0 -1
  277. package/dist/error/processor.cjs.map +0 -1
  278. package/dist/error/processor.js.map +0 -1
  279. package/dist/index.cjs.map +0 -1
  280. package/dist/index.js.map +0 -1
  281. package/dist/services/index.cjs.map +0 -1
  282. package/dist/services/index.js.map +0 -1
  283. package/dist/services/logger.cjs.map +0 -1
  284. package/dist/services/logger.js.map +0 -1
  285. package/dist/types/internal.cjs.map +0 -1
  286. package/dist/types/internal.js.map +0 -1
  287. package/dist/types/params.cjs.map +0 -1
  288. package/dist/types/params.js.map +0 -1
  289. package/dist/types/schema.cjs.map +0 -1
  290. package/dist/types/schema.js.map +0 -1
  291. package/dist/types/service.cjs.map +0 -1
  292. package/dist/types/service.js.map +0 -1
  293. package/dist/types/token.cjs.map +0 -1
  294. package/dist/types/token.js.map +0 -1
  295. package/dist/utils/api.cjs.map +0 -1
  296. package/dist/utils/api.js.map +0 -1
  297. package/dist/utils/blockchain.cjs.map +0 -1
  298. package/dist/utils/blockchain.js.map +0 -1
  299. package/dist/utils/constants.cjs.map +0 -1
  300. package/dist/utils/constants.js.map +0 -1
  301. package/dist/utils/environment.cjs.map +0 -1
  302. package/dist/utils/environment.js.map +0 -1
  303. package/dist/utils/helpers.cjs.map +0 -1
  304. package/dist/utils/helpers.js.map +0 -1
  305. package/dist/utils/signer.cjs.map +0 -1
  306. package/dist/utils/signer.js.map +0 -1
  307. package/dist/utils/test.cjs.map +0 -1
  308. package/dist/utils/test.js.map +0 -1
  309. package/src/ABI/ERC1155.json +0 -325
  310. package/src/ABI/ERC20.json +0 -222
  311. package/src/ABI/ERC721.json +0 -320
  312. package/src/SmartWalletSDK.test.ts +0 -31
  313. package/src/SmartWalletSDK.ts +0 -104
  314. package/src/api/CrossmintWalletService.test.ts +0 -43
  315. package/src/api/CrossmintWalletService.ts +0 -84
  316. package/src/blockchain/chains.ts +0 -57
  317. package/src/blockchain/rpc.ts +0 -25
  318. package/src/blockchain/transfer.ts +0 -54
  319. package/src/blockchain/wallets/EVMSmartWallet.ts +0 -157
  320. package/src/blockchain/wallets/SendTransactionService.test.ts +0 -159
  321. package/src/blockchain/wallets/SendTransactionService.ts +0 -188
  322. package/src/blockchain/wallets/account/cache.test.ts +0 -67
  323. package/src/blockchain/wallets/account/cache.ts +0 -43
  324. package/src/blockchain/wallets/account/config.test.ts +0 -103
  325. package/src/blockchain/wallets/account/config.ts +0 -116
  326. package/src/blockchain/wallets/account/creator.ts +0 -40
  327. package/src/blockchain/wallets/account/eoa.ts +0 -51
  328. package/src/blockchain/wallets/account/passkey.ts +0 -198
  329. package/src/blockchain/wallets/account/signer.ts +0 -44
  330. package/src/blockchain/wallets/account/strategy.ts +0 -5
  331. package/src/blockchain/wallets/clientDecorator.ts +0 -128
  332. package/src/blockchain/wallets/index.ts +0 -1
  333. package/src/blockchain/wallets/paymaster.ts +0 -41
  334. package/src/blockchain/wallets/service.ts +0 -107
  335. package/src/error/index.ts +0 -100
  336. package/src/error/processor.ts +0 -36
  337. package/src/index.ts +0 -47
  338. package/src/services/index.ts +0 -1
  339. package/src/services/logger.ts +0 -6
  340. package/src/types/internal.ts +0 -76
  341. package/src/types/params.ts +0 -34
  342. package/src/types/schema.ts +0 -63
  343. package/src/types/service.ts +0 -31
  344. package/src/types/token.ts +0 -29
  345. package/src/utils/api.ts +0 -39
  346. package/src/utils/blockchain.ts +0 -5
  347. package/src/utils/constants.ts +0 -9
  348. package/src/utils/environment.ts +0 -3
  349. package/src/utils/helpers.ts +0 -7
  350. package/src/utils/signer.ts +0 -33
  351. package/src/utils/test.ts +0 -24
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/blockchain/transfer.ts","../src/ABI/ERC1155.json"],"names":[],"mappings":"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","sourcesContent":["import { type Abi, type Account, type Address, erc20Abi, erc721Abi } from \"viem\";\n\nimport erc1155Abi from \"../ABI/ERC1155.json\";\nimport type { ERC20TransferType, SFTTransferType, TransferType } from \"../types/token\";\n\ntype TransferInputParams = {\n from: Account;\n contract: Address;\n to: Address;\n config: TransferType;\n};\n\ntype TransferSimulationParams = {\n account: Account;\n address: Address;\n abi: Abi;\n functionName: string;\n args: any[];\n tokenId?: string;\n};\n\nexport function transferParams({ contract, config, from, to }: TransferInputParams): TransferSimulationParams {\n switch (config.token.type) {\n case \"ft\": {\n return {\n account: from,\n address: contract,\n abi: erc20Abi,\n functionName: \"transfer\",\n args: [to, (config as ERC20TransferType).amount],\n };\n }\n case \"sft\": {\n return {\n account: from,\n address: contract,\n abi: erc1155Abi as Abi,\n functionName: \"safeTransferFrom\",\n args: [from.address, to, config.token.tokenId, (config as SFTTransferType).quantity, \"0x00\"],\n tokenId: config.token.tokenId,\n };\n }\n case \"nft\": {\n return {\n account: from,\n address: contract,\n abi: erc721Abi,\n functionName: \"safeTransferFrom\",\n args: [from.address, to, config.token.tokenId],\n tokenId: config.token.tokenId,\n };\n }\n }\n}\n","[\n {\n \"inputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"uri_\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"ApprovalForAll\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256[]\",\n \"name\": \"ids\",\n \"type\": \"uint256[]\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256[]\",\n \"name\": \"values\",\n \"type\": \"uint256[]\"\n }\n ],\n \"name\": \"TransferBatch\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"id\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"TransferSingle\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"string\",\n \"name\": \"value\",\n \"type\": \"string\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"id\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"URI\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"id\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"balanceOf\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"accounts\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"ids\",\n \"type\": \"uint256[]\"\n }\n ],\n \"name\": \"balanceOfBatch\",\n \"outputs\": [\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isApprovedForAll\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"ids\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"amounts\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"safeBatchTransferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"id\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"safeTransferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"setApprovalForAll\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"uri\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n }\n]\n"]}
@@ -1,66 +0,0 @@
1
- import {
2
- SUPPORTED_ENTRYPOINT_VERSIONS,
3
- SUPPORTED_KERNEL_VERSIONS
4
- } from "./chunk-YKW7PMBU.js";
5
-
6
- // src/types/schema.ts
7
- import { PasskeyValidatorContractVersion } from "@zerodev/passkey-validator";
8
- import { isAddress, isHex } from "viem";
9
- import { z } from "zod";
10
- var HexSchema = z.custom((val) => isHex(val), {
11
- message: "Invalid hex string"
12
- });
13
- var evmAddressSchema = z.custom((val) => isAddress(val), {
14
- message: "Invalid evm address"
15
- });
16
- var EOASignerDataSchema = z.object({
17
- eoaAddress: evmAddressSchema,
18
- type: z.literal("eoa")
19
- });
20
- var PasskeyValidatorSerializedDataSchema = z.object({
21
- entryPoint: evmAddressSchema,
22
- validatorAddress: evmAddressSchema,
23
- pubKeyX: z.string(),
24
- pubKeyY: z.string(),
25
- authenticatorIdHash: HexSchema,
26
- authenticatorId: z.string()
27
- });
28
- var PasskeySignerDataSchema = PasskeyValidatorSerializedDataSchema.extend({
29
- passkeyName: z.string(),
30
- validatorContractVersion: z.nativeEnum(PasskeyValidatorContractVersion),
31
- domain: z.string(),
32
- type: z.literal("passkeys")
33
- });
34
- var SignerDataSchema = z.discriminatedUnion("type", [PasskeySignerDataSchema, EOASignerDataSchema]);
35
- var SmartWalletConfigSchema = z.object({
36
- kernelVersion: z.enum(SUPPORTED_KERNEL_VERSIONS, {
37
- errorMap: (_, ctx) => ({
38
- message: `Unsupported kernel version. Supported versions: ${SUPPORTED_KERNEL_VERSIONS.join(
39
- ", "
40
- )}. Version used: ${ctx.data}. Please contact support`
41
- })
42
- }),
43
- entryPointVersion: z.enum(SUPPORTED_ENTRYPOINT_VERSIONS, {
44
- errorMap: (_, ctx) => ({
45
- message: `Unsupported entry point version. Supported versions: ${SUPPORTED_ENTRYPOINT_VERSIONS.join(
46
- ", "
47
- )}. Version used: ${ctx.data}. Please contact support`
48
- })
49
- }),
50
- userId: z.string().min(1),
51
- signers: z.array(
52
- z.object({
53
- signerData: SignerDataSchema
54
- })
55
- ).min(0).max(1, "Invalid wallet signer configuration. Please contact support"),
56
- smartContractWalletAddress: evmAddressSchema.optional()
57
- });
58
-
59
- export {
60
- EOASignerDataSchema,
61
- PasskeyValidatorSerializedDataSchema,
62
- PasskeySignerDataSchema,
63
- SignerDataSchema,
64
- SmartWalletConfigSchema
65
- };
66
- //# sourceMappingURL=chunk-6FS2OI5W.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/schema.ts"],"sourcesContent":["import { PasskeyValidatorContractVersion } from \"@zerodev/passkey-validator\";\nimport { isAddress, isHex } from \"viem\";\nimport { z } from \"zod\";\n\nimport { SUPPORTED_ENTRYPOINT_VERSIONS, SUPPORTED_KERNEL_VERSIONS } from \"../utils/constants\";\n\nconst HexSchema = z.custom<`0x${string}`>((val): val is `0x${string}` => isHex(val as string), {\n message: \"Invalid hex string\",\n});\n\nconst evmAddressSchema = z.custom<`0x${string}`>((val): val is `0x${string}` => isAddress(val as string), {\n message: \"Invalid evm address\",\n});\n\nexport const EOASignerDataSchema = z.object({\n eoaAddress: evmAddressSchema,\n type: z.literal(\"eoa\"),\n});\n\nexport const PasskeyValidatorSerializedDataSchema = z.object({\n entryPoint: evmAddressSchema,\n validatorAddress: evmAddressSchema,\n pubKeyX: z.string(),\n pubKeyY: z.string(),\n authenticatorIdHash: HexSchema,\n authenticatorId: z.string(),\n});\n\nexport const PasskeySignerDataSchema = PasskeyValidatorSerializedDataSchema.extend({\n passkeyName: z.string(),\n validatorContractVersion: z.nativeEnum(PasskeyValidatorContractVersion),\n domain: z.string(),\n type: z.literal(\"passkeys\"),\n});\n\nexport const SignerDataSchema = z.discriminatedUnion(\"type\", [PasskeySignerDataSchema, EOASignerDataSchema]);\n\nexport const SmartWalletConfigSchema = z.object({\n kernelVersion: z.enum(SUPPORTED_KERNEL_VERSIONS, {\n errorMap: (_, ctx) => ({\n message: `Unsupported kernel version. Supported versions: ${SUPPORTED_KERNEL_VERSIONS.join(\n \", \"\n )}. Version used: ${ctx.data}. Please contact support`,\n }),\n }),\n entryPointVersion: z.enum(SUPPORTED_ENTRYPOINT_VERSIONS, {\n errorMap: (_, ctx) => ({\n message: `Unsupported entry point version. Supported versions: ${SUPPORTED_ENTRYPOINT_VERSIONS.join(\n \", \"\n )}. Version used: ${ctx.data}. Please contact support`,\n }),\n }),\n userId: z.string().min(1),\n signers: z\n .array(\n z.object({\n signerData: SignerDataSchema,\n })\n )\n .min(0)\n .max(1, \"Invalid wallet signer configuration. Please contact support\"),\n smartContractWalletAddress: evmAddressSchema.optional(),\n});\n"],"mappings":";;;;;;AAAA,SAAS,uCAAuC;AAChD,SAAS,WAAW,aAAa;AACjC,SAAS,SAAS;AAIlB,IAAM,YAAY,EAAE,OAAsB,CAAC,QAA8B,MAAM,GAAa,GAAG;AAAA,EAC3F,SAAS;AACb,CAAC;AAED,IAAM,mBAAmB,EAAE,OAAsB,CAAC,QAA8B,UAAU,GAAa,GAAG;AAAA,EACtG,SAAS;AACb,CAAC;AAEM,IAAM,sBAAsB,EAAE,OAAO;AAAA,EACxC,YAAY;AAAA,EACZ,MAAM,EAAE,QAAQ,KAAK;AACzB,CAAC;AAEM,IAAM,uCAAuC,EAAE,OAAO;AAAA,EACzD,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,SAAS,EAAE,OAAO;AAAA,EAClB,SAAS,EAAE,OAAO;AAAA,EAClB,qBAAqB;AAAA,EACrB,iBAAiB,EAAE,OAAO;AAC9B,CAAC;AAEM,IAAM,0BAA0B,qCAAqC,OAAO;AAAA,EAC/E,aAAa,EAAE,OAAO;AAAA,EACtB,0BAA0B,EAAE,WAAW,+BAA+B;AAAA,EACtE,QAAQ,EAAE,OAAO;AAAA,EACjB,MAAM,EAAE,QAAQ,UAAU;AAC9B,CAAC;AAEM,IAAM,mBAAmB,EAAE,mBAAmB,QAAQ,CAAC,yBAAyB,mBAAmB,CAAC;AAEpG,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC5C,eAAe,EAAE,KAAK,2BAA2B;AAAA,IAC7C,UAAU,CAAC,GAAG,SAAS;AAAA,MACnB,SAAS,mDAAmD,0BAA0B;AAAA,QAClF;AAAA,MACJ,CAAC,mBAAmB,IAAI,IAAI;AAAA,IAChC;AAAA,EACJ,CAAC;AAAA,EACD,mBAAmB,EAAE,KAAK,+BAA+B;AAAA,IACrD,UAAU,CAAC,GAAG,SAAS;AAAA,MACnB,SAAS,wDAAwD,8BAA8B;AAAA,QAC3F;AAAA,MACJ,CAAC,mBAAmB,IAAI,IAAI;AAAA,IAChC;AAAA,EACJ,CAAC;AAAA,EACD,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACxB,SAAS,EACJ;AAAA,IACG,EAAE,OAAO;AAAA,MACL,YAAY;AAAA,IAChB,CAAC;AAAA,EACL,EACC,IAAI,CAAC,EACL,IAAI,GAAG,6DAA6D;AAAA,EACzE,4BAA4B,iBAAiB,SAAS;AAC1D,CAAC;","names":[]}
@@ -1,60 +0,0 @@
1
- // src/blockchain/chains.ts
2
- import {
3
- arbitrum,
4
- arbitrumSepolia,
5
- base,
6
- baseSepolia,
7
- optimism,
8
- optimismSepolia,
9
- polygon,
10
- polygonAmoy
11
- } from "viem/chains";
12
- import { BlockchainIncludingTestnet as Blockchain, objectValues } from "@crossmint/common-sdk-base";
13
- var SmartWalletTestnet = {
14
- BASE_SEPOLIA: Blockchain.BASE_SEPOLIA,
15
- POLYGON_AMOY: Blockchain.POLYGON_AMOY,
16
- OPTIMISM_SEPOLIA: Blockchain.OPTIMISM_SEPOLIA,
17
- ARBITRUM_SEPOLIA: Blockchain.ARBITRUM_SEPOLIA
18
- };
19
- var SMART_WALLET_TESTNETS = objectValues(SmartWalletTestnet);
20
- var SmartWalletMainnet = {
21
- BASE: Blockchain.BASE,
22
- POLYGON: Blockchain.POLYGON,
23
- OPTIMISM: Blockchain.OPTIMISM,
24
- ARBITRUM: Blockchain.ARBITRUM
25
- };
26
- var SMART_WALLET_MAINNETS = objectValues(SmartWalletMainnet);
27
- var SmartWalletChain = {
28
- ...SmartWalletTestnet,
29
- ...SmartWalletMainnet
30
- };
31
- var SMART_WALLET_CHAINS = objectValues(SmartWalletChain);
32
- function isTestnetChain(chain) {
33
- return SMART_WALLET_TESTNETS.includes(chain);
34
- }
35
- function isMainnetChain(chain) {
36
- return SMART_WALLET_MAINNETS.includes(chain);
37
- }
38
- var viemNetworks = {
39
- polygon,
40
- "polygon-amoy": polygonAmoy,
41
- base,
42
- "base-sepolia": baseSepolia,
43
- optimism,
44
- "optimism-sepolia": optimismSepolia,
45
- arbitrum,
46
- "arbitrum-sepolia": arbitrumSepolia
47
- };
48
-
49
- export {
50
- SmartWalletTestnet,
51
- SMART_WALLET_TESTNETS,
52
- SmartWalletMainnet,
53
- SMART_WALLET_MAINNETS,
54
- SmartWalletChain,
55
- SMART_WALLET_CHAINS,
56
- isTestnetChain,
57
- isMainnetChain,
58
- viemNetworks
59
- };
60
- //# sourceMappingURL=chunk-6NJVFL2X.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/blockchain/chains.ts"],"sourcesContent":["import {\n type Chain,\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n} from \"viem/chains\";\n\nimport { BlockchainIncludingTestnet as Blockchain, type ObjectValues, objectValues } from \"@crossmint/common-sdk-base\";\n\nexport const SmartWalletTestnet = {\n BASE_SEPOLIA: Blockchain.BASE_SEPOLIA,\n POLYGON_AMOY: Blockchain.POLYGON_AMOY,\n OPTIMISM_SEPOLIA: Blockchain.OPTIMISM_SEPOLIA,\n ARBITRUM_SEPOLIA: Blockchain.ARBITRUM_SEPOLIA,\n} as const;\nexport type SmartWalletTestnet = ObjectValues<typeof SmartWalletTestnet>;\nexport const SMART_WALLET_TESTNETS = objectValues(SmartWalletTestnet);\n\nexport const SmartWalletMainnet = {\n BASE: Blockchain.BASE,\n POLYGON: Blockchain.POLYGON,\n OPTIMISM: Blockchain.OPTIMISM,\n ARBITRUM: Blockchain.ARBITRUM,\n} as const;\nexport type SmartWalletMainnet = ObjectValues<typeof SmartWalletMainnet>;\nexport const SMART_WALLET_MAINNETS = objectValues(SmartWalletMainnet);\n\nexport const SmartWalletChain = {\n ...SmartWalletTestnet,\n ...SmartWalletMainnet,\n} as const;\nexport type SmartWalletChain = ObjectValues<typeof SmartWalletChain>;\nexport const SMART_WALLET_CHAINS = objectValues(SmartWalletChain);\n\nexport function isTestnetChain(chain: SmartWalletChain): chain is SmartWalletTestnet {\n return (SMART_WALLET_TESTNETS as any).includes(chain);\n}\n\nexport function isMainnetChain(chain: SmartWalletChain): chain is SmartWalletMainnet {\n return (SMART_WALLET_MAINNETS as any).includes(chain);\n}\n\nexport const viemNetworks: Record<SmartWalletChain, Chain> = {\n polygon: polygon,\n \"polygon-amoy\": polygonAmoy,\n base: base,\n \"base-sepolia\": baseSepolia,\n optimism: optimism,\n \"optimism-sepolia\": optimismSepolia,\n arbitrum: arbitrum,\n \"arbitrum-sepolia\": arbitrumSepolia,\n};\n"],"mappings":";AAAA;AAAA,EAEI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,SAAS,8BAA8B,YAA+B,oBAAoB;AAEnF,IAAM,qBAAqB;AAAA,EAC9B,cAAc,WAAW;AAAA,EACzB,cAAc,WAAW;AAAA,EACzB,kBAAkB,WAAW;AAAA,EAC7B,kBAAkB,WAAW;AACjC;AAEO,IAAM,wBAAwB,aAAa,kBAAkB;AAE7D,IAAM,qBAAqB;AAAA,EAC9B,MAAM,WAAW;AAAA,EACjB,SAAS,WAAW;AAAA,EACpB,UAAU,WAAW;AAAA,EACrB,UAAU,WAAW;AACzB;AAEO,IAAM,wBAAwB,aAAa,kBAAkB;AAE7D,IAAM,mBAAmB;AAAA,EAC5B,GAAG;AAAA,EACH,GAAG;AACP;AAEO,IAAM,sBAAsB,aAAa,gBAAgB;AAEzD,SAAS,eAAe,OAAsD;AACjF,SAAQ,sBAA8B,SAAS,KAAK;AACxD;AAEO,SAAS,eAAe,OAAsD;AACjF,SAAQ,sBAA8B,SAAS,KAAK;AACxD;AAEO,IAAM,eAAgD;AAAA,EACzD;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,oBAAoB;AAAA,EACpB;AAAA,EACA,oBAAoB;AACxB;","names":[]}
@@ -1,44 +0,0 @@
1
- import {
2
- SmartWalletConfigSchema
3
- } from "./chunk-6FS2OI5W.js";
4
-
5
- // src/blockchain/wallets/account/cache.ts
6
- import { keccak256, toHex } from "viem";
7
- var AccountConfigCache = class {
8
- constructor(keyPrefix) {
9
- this.keyPrefix = keyPrefix;
10
- }
11
- set(user, config) {
12
- localStorage.setItem(this.key(user), JSON.stringify(config));
13
- }
14
- get(user) {
15
- const key = this.key(user);
16
- const data = localStorage.getItem(key);
17
- if (data == null) {
18
- return null;
19
- }
20
- const result = SmartWalletConfigSchema.safeParse(JSON.parse(data));
21
- if (!result.success) {
22
- localStorage.removeItem(key);
23
- return null;
24
- }
25
- return result.data;
26
- }
27
- clear() {
28
- for (let i = 0; i < localStorage.length; i++) {
29
- const key = localStorage.key(i);
30
- if (key && key.startsWith(this.keyPrefix)) {
31
- localStorage.removeItem(key);
32
- i--;
33
- }
34
- }
35
- }
36
- key(user) {
37
- return `${this.keyPrefix}-${keccak256(toHex(user.jwt))}`;
38
- }
39
- };
40
-
41
- export {
42
- AccountConfigCache
43
- };
44
- //# sourceMappingURL=chunk-74NTQGER.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/blockchain/wallets/account/cache.ts"],"sourcesContent":["import { keccak256, toHex } from \"viem\";\n\nimport type { UserParams } from \"../../../types/params\";\nimport { SmartWalletConfigSchema } from \"../../../types/schema\";\nimport type { SmartWalletConfig } from \"../../../types/service\";\n\nexport class AccountConfigCache {\n constructor(private readonly keyPrefix: string) {}\n\n public set(user: UserParams, config: SmartWalletConfig) {\n localStorage.setItem(this.key(user), JSON.stringify(config));\n }\n\n public get(user: UserParams): SmartWalletConfig | null {\n const key = this.key(user);\n const data = localStorage.getItem(key);\n if (data == null) {\n return null;\n }\n\n const result = SmartWalletConfigSchema.safeParse(JSON.parse(data));\n if (!result.success) {\n localStorage.removeItem(key);\n return null;\n }\n\n return result.data;\n }\n\n public clear() {\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (key && key.startsWith(this.keyPrefix)) {\n localStorage.removeItem(key);\n i--; // Decrement i since we've removed an item\n }\n }\n }\n\n private key(user: UserParams) {\n return `${this.keyPrefix}-${keccak256(toHex(user.jwt))}`;\n }\n}\n"],"mappings":";;;;;AAAA,SAAS,WAAW,aAAa;AAM1B,IAAM,qBAAN,MAAyB;AAAA,EAC5B,YAA6B,WAAmB;AAAnB;AAAA,EAAoB;AAAA,EAE1C,IAAI,MAAkB,QAA2B;AACpD,iBAAa,QAAQ,KAAK,IAAI,IAAI,GAAG,KAAK,UAAU,MAAM,CAAC;AAAA,EAC/D;AAAA,EAEO,IAAI,MAA4C;AACnD,UAAM,MAAM,KAAK,IAAI,IAAI;AACzB,UAAM,OAAO,aAAa,QAAQ,GAAG;AACrC,QAAI,QAAQ,MAAM;AACd,aAAO;AAAA,IACX;AAEA,UAAM,SAAS,wBAAwB,UAAU,KAAK,MAAM,IAAI,CAAC;AACjE,QAAI,CAAC,OAAO,SAAS;AACjB,mBAAa,WAAW,GAAG;AAC3B,aAAO;AAAA,IACX;AAEA,WAAO,OAAO;AAAA,EAClB;AAAA,EAEO,QAAQ;AACX,aAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC1C,YAAM,MAAM,aAAa,IAAI,CAAC;AAC9B,UAAI,OAAO,IAAI,WAAW,KAAK,SAAS,GAAG;AACvC,qBAAa,WAAW,GAAG;AAC3B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEQ,IAAI,MAAkB;AAC1B,WAAO,GAAG,KAAK,SAAS,IAAI,UAAU,MAAM,KAAK,GAAG,CAAC,CAAC;AAAA,EAC1D;AACJ;","names":[]}
@@ -1,79 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
- var _chunkZOXKITU4cjs = require('./chunk-ZOXKITU4.cjs');
5
-
6
-
7
- var _chunkBXSAJOIVcjs = require('./chunk-BXSAJOIV.cjs');
8
-
9
- // src/blockchain/wallets/account/config.ts
10
- var AccountConfigService = class {
11
- constructor(crossmintService, configCache) {
12
- this.crossmintService = crossmintService;
13
- this.configCache = configCache;
14
- }
15
- async get(user, chain) {
16
- const cached = this.configCache.get(user);
17
- if (cached != null) {
18
- return {
19
- config: this.validateAndFormat(user, cached),
20
- cached: true
21
- };
22
- }
23
- const config = await this.crossmintService.getSmartWalletConfig(user, chain);
24
- return { config: this.validateAndFormat(user, config), cached: false };
25
- }
26
- cache({
27
- entryPointVersion,
28
- kernelVersion,
29
- user,
30
- existing
31
- }) {
32
- this.configCache.clear();
33
- this.configCache.set(user, {
34
- entryPointVersion,
35
- kernelVersion,
36
- userId: user.id,
37
- signers: [{ signerData: existing.signerConfig.data }],
38
- smartContractWalletAddress: existing.address
39
- });
40
- }
41
- validateAndFormat(user, { entryPointVersion, kernelVersion, signers, smartContractWalletAddress, userId }) {
42
- if (entryPointVersion === "v0.7" && kernelVersion.startsWith("0.2") || entryPointVersion === "v0.6" && kernelVersion.startsWith("0.3")) {
43
- throw new (0, _chunkBXSAJOIVcjs.SmartWalletError)(
44
- `Unsupported combination: entryPoint ${entryPointVersion} and kernel version ${kernelVersion}. Please contact support`
45
- );
46
- }
47
- const signerData = signers.map((x) => x.signerData);
48
- const signer = this.getSigner(signerData);
49
- if (smartContractWalletAddress != null && signer == null || signer != null && smartContractWalletAddress == null) {
50
- throw new (0, _chunkBXSAJOIVcjs.SmartWalletError)("Either both signer and address must be present, or both must be null");
51
- }
52
- if (signer == null || smartContractWalletAddress == null) {
53
- return { entryPointVersion, kernelVersion, userWithId: { ...user, id: userId } };
54
- }
55
- return {
56
- entryPointVersion,
57
- kernelVersion,
58
- userWithId: { ...user, id: userId },
59
- existing: { signerConfig: signer, address: smartContractWalletAddress }
60
- };
61
- }
62
- getSigner(signers) {
63
- if (signers.length === 0) {
64
- return void 0;
65
- }
66
- const data = signers[0];
67
- if (data.type === "eoa") {
68
- return new (0, _chunkZOXKITU4cjs.EOASignerConfig)(data);
69
- }
70
- if (data.type === "passkeys") {
71
- return new (0, _chunkZOXKITU4cjs.PasskeySignerConfig)(data);
72
- }
73
- }
74
- };
75
-
76
-
77
-
78
- exports.AccountConfigService = AccountConfigService;
79
- //# sourceMappingURL=chunk-77GT6B5L.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/blockchain/wallets/account/config.ts"],"names":[],"mappings":";;;;;;;;;AAmBO,IAAM,uBAAN,MAA2B;AAAA,EAC9B,YACqB,kBACA,aACnB;AAFmB;AACA;AAAA,EAClB;AAAA,EAEH,MAAa,IACT,MACA,OAID;AACC,UAAM,SAAS,KAAK,YAAY,IAAI,IAAI;AACxC,QAAI,UAAU,MAAM;AAChB,aAAO;AAAA,QACH,QAAQ,KAAK,kBAAkB,MAAM,MAAM;AAAA,QAC3C,QAAQ;AAAA,MACZ;AAAA,IACJ;AAEA,UAAM,SAAS,MAAM,KAAK,iBAAiB,qBAAqB,MAAM,KAAK;AAC3E,WAAO,EAAE,QAAQ,KAAK,kBAAkB,MAAM,MAAM,GAAG,QAAQ,MAAM;AAAA,EACzE;AAAA,EAEO,MAAM;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAKG;AACC,SAAK,YAAY,MAAM;AACvB,SAAK,YAAY,IAAI,MAAM;AAAA,MACvB;AAAA,MACA;AAAA,MACA,QAAQ,KAAK;AAAA,MACb,SAAS,CAAC,EAAE,YAAY,SAAS,aAAa,KAAK,CAAC;AAAA,MACpD,4BAA4B,SAAS;AAAA,IACzC,CAAC;AAAA,EACL;AAAA,EAEQ,kBACJ,MACA,EAAE,mBAAmB,eAAe,SAAS,4BAA4B,OAAO,GACnE;AACb,QACK,sBAAsB,UAAU,cAAc,WAAW,KAAK,KAC9D,sBAAsB,UAAU,cAAc,WAAW,KAAK,GACjE;AACE,YAAM,IAAI;AAAA,QACN,uCAAuC,iBAAiB,uBAAuB,aAAa;AAAA,MAChG;AAAA,IACJ;AAEA,UAAM,aAAa,QAAQ,IAAI,CAAC,MAAM,EAAE,UAAU;AAClD,UAAM,SAAS,KAAK,UAAU,UAAU;AAExC,QACK,8BAA8B,QAAQ,UAAU,QAChD,UAAU,QAAQ,8BAA8B,MACnD;AACE,YAAM,IAAI,iBAAiB,sEAAsE;AAAA,IACrG;AAEA,QAAI,UAAU,QAAQ,8BAA8B,MAAM;AACtD,aAAO,EAAE,mBAAmB,eAAe,YAAY,EAAE,GAAG,MAAM,IAAI,OAAO,EAAE;AAAA,IACnF;AAEA,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA,YAAY,EAAE,GAAG,MAAM,IAAI,OAAO;AAAA,MAClC,UAAU,EAAE,cAAc,QAAQ,SAAS,2BAA2B;AAAA,IAC1E;AAAA,EACJ;AAAA,EAEQ,UAAU,SAAiD;AAC/D,QAAI,QAAQ,WAAW,GAAG;AACtB,aAAO;AAAA,IACX;AAEA,UAAM,OAAO,QAAQ,CAAC;AAEtB,QAAI,KAAK,SAAS,OAAO;AACrB,aAAO,IAAI,gBAAgB,IAAI;AAAA,IACnC;AAEA,QAAI,KAAK,SAAS,YAAY;AAC1B,aAAO,IAAI,oBAAoB,IAAI;AAAA,IACvC;AAAA,EACJ;AACJ","sourcesContent":["import type { CrossmintWalletService } from \"../../../api/CrossmintWalletService\";\nimport type { SmartWalletChain } from \"../../../blockchain/chains\";\nimport { SmartWalletError } from \"../../../error\";\nimport type {\n PreExistingWalletProperties,\n SupportedEntryPointVersion,\n SupportedKernelVersion,\n} from \"../../../types/internal\";\nimport type { UserParams } from \"../../../types/params\";\nimport type { SignerData, SmartWalletConfig } from \"../../../types/service\";\nimport type { AccountConfigCache } from \"./cache\";\nimport { EOASignerConfig, PasskeySignerConfig, type SignerConfig } from \"./signer\";\n\ninterface AccountConfig {\n entryPointVersion: SupportedEntryPointVersion;\n kernelVersion: SupportedKernelVersion;\n userWithId: UserParams & { id: string };\n existing?: PreExistingWalletProperties;\n}\nexport class AccountConfigService {\n constructor(\n private readonly crossmintService: CrossmintWalletService,\n private readonly configCache: AccountConfigCache\n ) {}\n\n public async get(\n user: UserParams,\n chain: SmartWalletChain\n ): Promise<{\n config: AccountConfig;\n cached: boolean;\n }> {\n const cached = this.configCache.get(user);\n if (cached != null) {\n return {\n config: this.validateAndFormat(user, cached),\n cached: true,\n };\n }\n\n const config = await this.crossmintService.getSmartWalletConfig(user, chain);\n return { config: this.validateAndFormat(user, config), cached: false };\n }\n\n public cache({\n entryPointVersion,\n kernelVersion,\n user,\n existing,\n }: {\n entryPointVersion: SupportedEntryPointVersion;\n kernelVersion: SupportedKernelVersion;\n user: UserParams & { id: string };\n existing: PreExistingWalletProperties;\n }) {\n this.configCache.clear();\n this.configCache.set(user, {\n entryPointVersion,\n kernelVersion,\n userId: user.id,\n signers: [{ signerData: existing.signerConfig.data }],\n smartContractWalletAddress: existing.address,\n });\n }\n\n private validateAndFormat(\n user: UserParams,\n { entryPointVersion, kernelVersion, signers, smartContractWalletAddress, userId }: SmartWalletConfig\n ): AccountConfig {\n if (\n (entryPointVersion === \"v0.7\" && kernelVersion.startsWith(\"0.2\")) ||\n (entryPointVersion === \"v0.6\" && kernelVersion.startsWith(\"0.3\"))\n ) {\n throw new SmartWalletError(\n `Unsupported combination: entryPoint ${entryPointVersion} and kernel version ${kernelVersion}. Please contact support`\n );\n }\n\n const signerData = signers.map((x) => x.signerData);\n const signer = this.getSigner(signerData);\n\n if (\n (smartContractWalletAddress != null && signer == null) ||\n (signer != null && smartContractWalletAddress == null)\n ) {\n throw new SmartWalletError(\"Either both signer and address must be present, or both must be null\");\n }\n\n if (signer == null || smartContractWalletAddress == null) {\n return { entryPointVersion, kernelVersion, userWithId: { ...user, id: userId } };\n }\n\n return {\n entryPointVersion,\n kernelVersion,\n userWithId: { ...user, id: userId },\n existing: { signerConfig: signer, address: smartContractWalletAddress },\n };\n }\n\n private getSigner(signers: SignerData[]): SignerConfig | undefined {\n if (signers.length === 0) {\n return undefined;\n }\n\n const data = signers[0];\n\n if (data.type === \"eoa\") {\n return new EOASignerConfig(data);\n }\n\n if (data.type === \"passkeys\") {\n return new PasskeySignerConfig(data);\n }\n }\n}\n"]}
@@ -1,112 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/blockchain/wallets/SendTransactionService.ts
2
-
3
-
4
-
5
- var _viem = require('viem');
6
- var _clientsdkbase = require('@crossmint/client-sdk-base');
7
- var EVMSendTransactionError = class extends _clientsdkbase.CrossmintSDKError {
8
- constructor(message, viemError, stage, code = _clientsdkbase.WalletErrorCode.SEND_TRANSACTION_FAILED) {
9
- super(message, code);
10
- this.viemError = viemError;
11
- this.stage = stage;
12
- }
13
- };
14
- var EVMSendTransactionExecutionRevertedError = class extends EVMSendTransactionError {
15
- constructor(message, viemError, revertError, txId, stage, data = revertError.data, reason = revertError.reason) {
16
- super(message, viemError, stage, _clientsdkbase.WalletErrorCode.SEND_TRANSACTION_EXECUTION_REVERTED);
17
- this.viemError = viemError;
18
- this.txId = txId;
19
- this.stage = stage;
20
- this.data = data;
21
- this.reason = reason;
22
- }
23
- };
24
- var SendTransactionService = class {
25
- constructor(client, defaultSendTransactionOptions = {
26
- confirmations: 2,
27
- transactionConfirmationTimeout: 3e4
28
- }) {
29
- this.client = client;
30
- this.defaultSendTransactionOptions = defaultSendTransactionOptions;
31
- }
32
- async sendTransaction(request, config = {}) {
33
- const { confirmations, transactionConfirmationTimeout } = this.getConfig(config);
34
- await this.simulateCall(request, void 0, "simulation");
35
- let hash;
36
- try {
37
- hash = await this.client.wallet.writeContract({
38
- ...request,
39
- account: this.client.wallet.account,
40
- chain: this.client.wallet.chain
41
- });
42
- } catch (e) {
43
- if (e instanceof _viem.BaseError) {
44
- throw new EVMSendTransactionError(e.message, e, "send");
45
- }
46
- throw e;
47
- }
48
- try {
49
- const receipt = await this.client.public.waitForTransactionReceipt({
50
- hash,
51
- confirmations,
52
- timeout: transactionConfirmationTimeout
53
- });
54
- return await this.handleReceipt(receipt, request);
55
- } catch (e) {
56
- if (e instanceof _viem.BaseError) {
57
- throw new EVMSendTransactionError(e.message, e, "confirmation");
58
- }
59
- throw e;
60
- }
61
- }
62
- getConfig(config) {
63
- return {
64
- ...this.defaultSendTransactionOptions,
65
- ...config
66
- };
67
- }
68
- async handleReceipt(receipt, request) {
69
- if (receipt.status === "reverted") {
70
- await this.simulateCall(request, receipt.transactionHash, "execution");
71
- throw new EVMSendTransactionExecutionRevertedError(
72
- "Transaction reverted but unable to detect the reason",
73
- new (0, _viem.ContractFunctionRevertedError)({ abi: request.abi, functionName: request.functionName }),
74
- new (0, _viem.ContractFunctionRevertedError)({ abi: request.abi, functionName: request.functionName }),
75
- receipt.transactionHash,
76
- "execution"
77
- );
78
- }
79
- return receipt.transactionHash;
80
- }
81
- async simulateCall(request, passthroughTxId, stage) {
82
- try {
83
- await this.client.public.simulateContract({
84
- ...request,
85
- account: this.client.wallet.account.address,
86
- chain: this.client.public.chain
87
- });
88
- } catch (e) {
89
- if (e instanceof _viem.BaseError) {
90
- const revertError = e.walk((err) => err instanceof _viem.ContractFunctionRevertedError);
91
- if (revertError instanceof _viem.ContractFunctionRevertedError) {
92
- throw new EVMSendTransactionExecutionRevertedError(
93
- revertError.message,
94
- e,
95
- revertError,
96
- passthroughTxId,
97
- stage
98
- );
99
- }
100
- throw new EVMSendTransactionError(e.message, e, stage);
101
- }
102
- throw e;
103
- }
104
- }
105
- };
106
-
107
-
108
-
109
-
110
-
111
- exports.EVMSendTransactionError = EVMSendTransactionError; exports.EVMSendTransactionExecutionRevertedError = EVMSendTransactionExecutionRevertedError; exports.SendTransactionService = SendTransactionService;
112
- //# sourceMappingURL=chunk-7KTQNIAZ.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/blockchain/wallets/SendTransactionService.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SmartAccountClient } from \"permissionless\";\nimport type { EntryPoint } from \"permissionless/_types/types\";\nimport type { SmartAccount } from \"permissionless/accounts\";\nimport {\n type Abi,\n type Address,\n BaseError,\n type Chain,\n ContractFunctionRevertedError,\n type Hex,\n type PublicClient,\n type TransactionReceipt,\n type Transport,\n} from \"viem\";\n\nimport { CrossmintSDKError, WalletErrorCode } from \"@crossmint/client-sdk-base\";\n\nexport type TransactionServiceTransactionRequest = {\n address: Address;\n abi: Abi;\n functionName: string;\n args: any;\n value?: bigint;\n};\n\nexport type SendTransactionFailureStage = \"simulation\" | \"send\" | \"confirmation\" | \"execution\";\n\n/**\n * Error thrown when a transaction fails to send.\n * @param viemError The error thrown by the viem client. See https://viem.sh/docs/glossary/errors.html\n */\nexport class EVMSendTransactionError extends CrossmintSDKError {\n constructor(\n message: string,\n public readonly viemError: BaseError,\n public readonly stage: SendTransactionFailureStage,\n code = WalletErrorCode.SEND_TRANSACTION_FAILED\n ) {\n super(message, code);\n }\n}\n\n/**\n * Error thrown when a transaction fails due to a contract execution error.\n * @param viemError The error thrown by the viem client. See https://viem.sh/docs/glossary/errors.html\n * @param data The name and arguments of the revert error from the provided ABI\n * @param reason The revert error if it is a string and not an ABI error\n * @example\n * try {\n * await wallet.executeContract({\n * address: contractAddress,\n * abi,\n * functionName: \"mintNFT\",\n * args: [recipientAddress],\n * });\n * } catch (e) {\n * if (e instanceof SendTransactionExecutionRevertedError) {\n * alert(`Transaction reverted: ${e.message}`);\n * }\n * throw e;\n * }\n */\nexport class EVMSendTransactionExecutionRevertedError extends EVMSendTransactionError {\n constructor(\n message: string,\n public readonly viemError: BaseError,\n revertError: ContractFunctionRevertedError,\n public readonly txId: string | undefined,\n public readonly stage: SendTransactionFailureStage,\n public readonly data = revertError.data,\n public readonly reason = revertError.reason\n ) {\n super(message, viemError, stage, WalletErrorCode.SEND_TRANSACTION_EXECUTION_REVERTED);\n }\n}\n\nexport interface SendTransactionOptions {\n /**\n * The number of confirmations to wait for before yielding the transaction hash.\n */\n confirmations: number;\n /**\n * The timeout in milliseconds to wait for a transaction to confirm before throwing an error.\n */\n transactionConfirmationTimeout: number;\n}\n\nexport class SendTransactionService {\n constructor(\n private readonly client: {\n public: PublicClient;\n wallet: SmartAccountClient<EntryPoint, Transport, Chain, SmartAccount<EntryPoint>>;\n },\n private readonly defaultSendTransactionOptions: SendTransactionOptions = {\n confirmations: 2,\n transactionConfirmationTimeout: 30_000,\n }\n ) {}\n\n async sendTransaction(\n request: TransactionServiceTransactionRequest,\n config: Partial<SendTransactionOptions> = {}\n ): Promise<Hex> {\n const { confirmations, transactionConfirmationTimeout } = this.getConfig(config);\n\n await this.simulateCall(request, undefined, \"simulation\");\n\n let hash;\n try {\n hash = await this.client.wallet.writeContract({\n ...request,\n account: this.client.wallet.account,\n chain: this.client.wallet.chain,\n });\n } catch (e) {\n if (e instanceof BaseError) {\n throw new EVMSendTransactionError(e.message, e, \"send\");\n }\n throw e;\n }\n\n try {\n const receipt = await this.client.public.waitForTransactionReceipt({\n hash,\n confirmations,\n timeout: transactionConfirmationTimeout,\n });\n return await this.handleReceipt(receipt, request);\n } catch (e) {\n if (e instanceof BaseError) {\n throw new EVMSendTransactionError(e.message, e, \"confirmation\");\n }\n throw e;\n }\n }\n\n private getConfig(config: Partial<SendTransactionOptions>): SendTransactionOptions {\n return {\n ...this.defaultSendTransactionOptions,\n ...config,\n };\n }\n\n private async handleReceipt(receipt: TransactionReceipt, request: TransactionServiceTransactionRequest) {\n if (receipt.status === \"reverted\") {\n // This should revert and throw the full reason\n await this.simulateCall(request, receipt.transactionHash, \"execution\");\n // Otherwise, throw a generic error (this should practically never happen)\n throw new EVMSendTransactionExecutionRevertedError(\n \"Transaction reverted but unable to detect the reason\",\n new ContractFunctionRevertedError({ abi: request.abi as Abi, functionName: request.functionName }),\n new ContractFunctionRevertedError({ abi: request.abi as Abi, functionName: request.functionName }),\n receipt.transactionHash,\n \"execution\"\n );\n }\n return receipt.transactionHash;\n }\n\n private async simulateCall(\n request: TransactionServiceTransactionRequest,\n passthroughTxId: string | undefined,\n stage: SendTransactionFailureStage\n ) {\n try {\n await this.client.public.simulateContract({\n ...request,\n account: this.client.wallet.account.address,\n chain: this.client.public.chain,\n });\n } catch (e) {\n if (e instanceof BaseError) {\n const revertError = e.walk((err) => err instanceof ContractFunctionRevertedError);\n if (revertError instanceof ContractFunctionRevertedError) {\n throw new EVMSendTransactionExecutionRevertedError(\n revertError.message,\n e,\n revertError,\n passthroughTxId,\n stage\n );\n }\n throw new EVMSendTransactionError(e.message, e, stage);\n }\n throw e;\n }\n }\n}\n"]}
@@ -1,93 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkFXGOVLZWcjs = require('./chunk-FXGOVLZW.cjs');
4
-
5
-
6
- var _chunkJLZCSWUYcjs = require('./chunk-JLZCSWUY.cjs');
7
-
8
-
9
- var _chunkBXSAJOIVcjs = require('./chunk-BXSAJOIV.cjs');
10
-
11
- // src/blockchain/wallets/clientDecorator.ts
12
- var _viem = require('viem');
13
- var transactionMethods = [
14
- "sendTransaction",
15
- "writeContract",
16
- "sendUserOperation"
17
- ];
18
- var signingMethods = [
19
- "signMessage",
20
- "signTypedData"
21
- ];
22
- function isTxnMethod(method) {
23
- return transactionMethods.includes(method);
24
- }
25
- function isSignMethod(method) {
26
- return signingMethods.includes(method);
27
- }
28
- var ClientDecorator = class {
29
- constructor(errorProcessor, logger = _chunkJLZCSWUYcjs.scwLogger) {
30
- this.errorProcessor = errorProcessor;
31
- this.logger = logger;
32
- }
33
- decorate({
34
- crossmintChain,
35
- smartAccountClient
36
- }) {
37
- return new Proxy(smartAccountClient, {
38
- get: (target, prop, receiver) => {
39
- const originalMethod = Reflect.get(target, prop, receiver);
40
- if (typeof originalMethod !== "function" || typeof prop !== "string" || !(isSignMethod(prop) || isTxnMethod(prop))) {
41
- return originalMethod;
42
- }
43
- return (...args) => this.logger.logPerformance(
44
- `CrossmintSmartWallet.${prop}`,
45
- () => this.execute(target, prop, originalMethod, args, crossmintChain)
46
- );
47
- }
48
- });
49
- }
50
- async execute(target, prop, originalMethod, args, crossmintChain) {
51
- try {
52
- this.logger.log(`[CrossmintSmartWallet.${prop}] - params: ${_viem.stringify.call(void 0, args)}`);
53
- const processed = isTxnMethod(prop) ? this.processTxnArgs(prop, crossmintChain, args) : args;
54
- return await originalMethod.call(target, ...processed);
55
- } catch (error) {
56
- const description = isTxnMethod(prop) ? "signing" : "sending transaction";
57
- throw this.errorProcessor.map(
58
- error,
59
- new (0, _chunkBXSAJOIVcjs.SmartWalletError)(`Error ${description}: ${error.message}`, _viem.stringify.call(void 0, error))
60
- );
61
- }
62
- }
63
- processTxnArgs(prop, crossmintChain, args) {
64
- if (prop === "sendUserOperation") {
65
- const [{ userOperation, middleware, account }] = args;
66
- return [
67
- {
68
- middleware,
69
- account,
70
- userOperation: this.addGelatoBundlerProperties(crossmintChain, userOperation)
71
- },
72
- ...args.slice(1)
73
- ];
74
- }
75
- const [txn] = args;
76
- return [this.addGelatoBundlerProperties(crossmintChain, txn), ...args.slice(1)];
77
- }
78
- /*
79
- * Chain that ZD uses Gelato as for bundler require special parameters:
80
- * https://docs.zerodev.app/sdk/faqs/use-with-gelato#transaction-configuration
81
- */
82
- addGelatoBundlerProperties(crossmintChain, txnParams) {
83
- if (_chunkFXGOVLZWcjs.usesGelatoBundler.call(void 0, crossmintChain)) {
84
- return { ...txnParams, maxFeePerGas: "0x0", maxPriorityFeePerGas: "0x0" };
85
- }
86
- return txnParams;
87
- }
88
- };
89
-
90
-
91
-
92
- exports.ClientDecorator = ClientDecorator;
93
- //# sourceMappingURL=chunk-7ORLXP6K.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/blockchain/wallets/clientDecorator.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,SAAS,iBAAiB;AAQ1B,IAAM,qBAAqB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AACJ;AAEA,IAAM,iBAAiB;AAAA,EACnB;AAAA,EACA;AACJ;AAKA,SAAS,YAAY,QAAqC;AACtD,SAAO,mBAAmB,SAAS,MAAa;AACpD;AAEA,SAAS,aAAa,QAAsC;AACxD,SAAO,eAAe,SAAS,MAAa;AAChD;AAQO,IAAM,kBAAN,MAAsB;AAAA,EACzB,YACqB,gBACP,SAAS,WACrB;AAFmB;AACP;AAAA,EACX;AAAA,EAEI,SAAwD;AAAA,IAC3D;AAAA,IACA;AAAA,EACJ,GAGW;AACP,WAAO,IAAI,MAAM,oBAAoB;AAAA,MACjC,KAAK,CAAC,QAAQ,MAAM,aAAa;AAC7B,cAAM,iBAAiB,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AAEzD,YACI,OAAO,mBAAmB,cAC1B,OAAO,SAAS,YAChB,EAAE,aAAa,IAAI,KAAK,YAAY,IAAI,IAC1C;AACE,iBAAO;AAAA,QACX;AAEA,eAAO,IAAI,SACP,KAAK,OAAO;AAAA,UAAe,wBAAwB,IAAI;AAAA,UAAI,MACvD,KAAK,QAAQ,QAAQ,MAAM,gBAAgB,MAAM,cAAc;AAAA,QACnE;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,MAAc,QACV,QACA,MACA,gBACA,MACA,gBACF;AACE,QAAI;AACA,WAAK,OAAO,IAAI,yBAAyB,IAAI,eAAe,UAAU,IAAI,CAAC,EAAE;AAC7E,YAAM,YAAY,YAAY,IAAI,IAAI,KAAK,eAAe,MAAM,gBAAgB,IAAI,IAAI;AACxF,aAAO,MAAM,eAAe,KAAK,QAAQ,GAAG,SAAS;AAAA,IACzD,SAAS,OAAY;AACjB,YAAM,cAAc,YAAY,IAAI,IAAI,YAAY;AACpD,YAAM,KAAK,eAAe;AAAA,QACtB;AAAA,QACA,IAAI,iBAAiB,SAAS,WAAW,KAAK,MAAM,OAAO,IAAI,UAAU,KAAK,CAAC;AAAA,MACnF;AAAA,IACJ;AAAA,EACJ;AAAA,EAEQ,eAAe,MAAiB,gBAAkC,MAAoB;AAC1F,QAAI,SAAS,qBAAqB;AAC9B,YAAM,CAAC,EAAE,eAAe,YAAY,QAAQ,CAAC,IAAI;AAGjD,aAAO;AAAA,QACH;AAAA,UACI;AAAA,UACA;AAAA,UACA,eAAe,KAAK,2BAA2B,gBAAgB,aAAa;AAAA,QAChF;AAAA,QACA,GAAG,KAAK,MAAM,CAAC;AAAA,MACnB;AAAA,IACJ;AAEA,UAAM,CAAC,GAAG,IAAI;AAId,WAAO,CAAC,KAAK,2BAA2B,gBAAgB,GAAG,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC;AAAA,EAClF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,2BACJ,gBACA,WACF;AACE,QAAI,kBAAkB,cAAc,GAAG;AACnC,aAAO,EAAE,GAAG,WAAW,cAAc,OAAc,sBAAsB,MAAa;AAAA,IAC1F;AAEA,WAAO;AAAA,EACX;AACJ","sourcesContent":["import type { SmartAccountClient } from \"permissionless\";\nimport type { EntryPoint } from \"permissionless/types/entrypoint\";\nimport { stringify } from \"viem\";\n\nimport { SmartWalletError } from \"../../error\";\nimport type { ErrorProcessor } from \"../../error/processor\";\nimport { scwLogger } from \"../../services\";\nimport { usesGelatoBundler } from \"../../utils/blockchain\";\nimport type { SmartWalletChain } from \"../chains\";\n\nconst transactionMethods = [\n \"sendTransaction\",\n \"writeContract\",\n \"sendUserOperation\",\n] as const satisfies readonly (keyof SmartAccountClient<EntryPoint>)[];\n\nconst signingMethods = [\n \"signMessage\",\n \"signTypedData\",\n] as const satisfies readonly (keyof SmartAccountClient<EntryPoint>)[];\n\ntype TxnMethod = (typeof transactionMethods)[number];\ntype SignMethod = (typeof signingMethods)[number];\n\nfunction isTxnMethod(method: string): method is TxnMethod {\n return transactionMethods.includes(method as any);\n}\n\nfunction isSignMethod(method: string): method is SignMethod {\n return signingMethods.includes(method as any);\n}\n\n/**\n * A decorator class for SmartAccountClient instances. It enhances the client with:\n * - Error handling & logging.\n * - Performance metrics.\n * - Automatic formatting of transactions for Gelato bundler compatibility.\n * */\nexport class ClientDecorator {\n constructor(\n private readonly errorProcessor: ErrorProcessor,\n protected logger = scwLogger\n ) {}\n\n public decorate<Client extends SmartAccountClient<EntryPoint>>({\n crossmintChain,\n smartAccountClient,\n }: {\n crossmintChain: SmartWalletChain;\n smartAccountClient: Client;\n }): Client {\n return new Proxy(smartAccountClient, {\n get: (target, prop, receiver) => {\n const originalMethod = Reflect.get(target, prop, receiver);\n\n if (\n typeof originalMethod !== \"function\" ||\n typeof prop !== \"string\" ||\n !(isSignMethod(prop) || isTxnMethod(prop))\n ) {\n return originalMethod;\n }\n\n return (...args: any[]) =>\n this.logger.logPerformance(`CrossmintSmartWallet.${prop}`, () =>\n this.execute(target, prop, originalMethod, args, crossmintChain)\n );\n },\n }) as Client;\n }\n\n private async execute<M extends TxnMethod | SignMethod>(\n target: SmartAccountClient<EntryPoint>,\n prop: M,\n originalMethod: Function,\n args: any[],\n crossmintChain: SmartWalletChain\n ) {\n try {\n this.logger.log(`[CrossmintSmartWallet.${prop}] - params: ${stringify(args)}`);\n const processed = isTxnMethod(prop) ? this.processTxnArgs(prop, crossmintChain, args) : args;\n return await originalMethod.call(target, ...processed);\n } catch (error: any) {\n const description = isTxnMethod(prop) ? \"signing\" : \"sending transaction\";\n throw this.errorProcessor.map(\n error,\n new SmartWalletError(`Error ${description}: ${error.message}`, stringify(error))\n );\n }\n }\n\n private processTxnArgs(prop: TxnMethod, crossmintChain: SmartWalletChain, args: any[]): any[] {\n if (prop === \"sendUserOperation\") {\n const [{ userOperation, middleware, account }] = args as Parameters<\n SmartAccountClient<EntryPoint>[\"sendUserOperation\"]\n >;\n return [\n {\n middleware,\n account,\n userOperation: this.addGelatoBundlerProperties(crossmintChain, userOperation),\n },\n ...args.slice(1),\n ];\n }\n\n const [txn] = args as\n | Parameters<SmartAccountClient<EntryPoint>[\"sendTransaction\"]>\n | Parameters<SmartAccountClient<EntryPoint>[\"writeContract\"]>;\n\n return [this.addGelatoBundlerProperties(crossmintChain, txn), ...args.slice(1)];\n }\n\n /*\n * Chain that ZD uses Gelato as for bundler require special parameters:\n * https://docs.zerodev.app/sdk/faqs/use-with-gelato#transaction-configuration\n */\n private addGelatoBundlerProperties(\n crossmintChain: SmartWalletChain,\n txnParams: { maxFeePerGas?: bigint; maxPriorityFeePerGas?: bigint }\n ) {\n if (usesGelatoBundler(crossmintChain)) {\n return { ...txnParams, maxFeePerGas: \"0x0\" as any, maxPriorityFeePerGas: \"0x0\" as any };\n }\n\n return txnParams;\n }\n}\n"]}