@crossmint/wallets-sdk 0.20.4 → 0.20.5

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 (423) hide show
  1. package/package.json +50 -47
  2. package/LICENSE +0 -201
  3. package/README.md +0 -96
  4. package/dist/api/__tests__/constants.cjs +0 -32
  5. package/dist/api/__tests__/constants.cjs.map +0 -1
  6. package/dist/api/__tests__/constants.d.cts +0 -96
  7. package/dist/api/__tests__/constants.d.ts +0 -96
  8. package/dist/api/__tests__/constants.js +0 -32
  9. package/dist/api/__tests__/constants.js.map +0 -1
  10. package/dist/api/__tests__/test-utils.cjs +0 -373
  11. package/dist/api/__tests__/test-utils.cjs.map +0 -1
  12. package/dist/api/__tests__/test-utils.d.cts +0 -99
  13. package/dist/api/__tests__/test-utils.d.ts +0 -99
  14. package/dist/api/__tests__/test-utils.js +0 -373
  15. package/dist/api/__tests__/test-utils.js.map +0 -1
  16. package/dist/api/client.cjs +0 -11
  17. package/dist/api/client.cjs.map +0 -1
  18. package/dist/api/client.d.cts +0 -42
  19. package/dist/api/client.d.ts +0 -42
  20. package/dist/api/client.js +0 -11
  21. package/dist/api/client.js.map +0 -1
  22. package/dist/api/gen/client.gen.cjs +0 -8
  23. package/dist/api/gen/client.gen.cjs.map +0 -1
  24. package/dist/api/gen/client.gen.d.cts +0 -16
  25. package/dist/api/gen/client.gen.d.ts +0 -16
  26. package/dist/api/gen/client.gen.js +0 -8
  27. package/dist/api/gen/client.gen.js.map +0 -1
  28. package/dist/api/gen/index.cjs +0 -180
  29. package/dist/api/gen/index.cjs.map +0 -1
  30. package/dist/api/gen/index.d.cts +0 -3
  31. package/dist/api/gen/index.d.ts +0 -3
  32. package/dist/api/gen/index.js +0 -180
  33. package/dist/api/gen/index.js.map +0 -1
  34. package/dist/api/gen/sdk.gen.cjs +0 -179
  35. package/dist/api/gen/sdk.gen.cjs.map +0 -1
  36. package/dist/api/gen/sdk.gen.d.cts +0 -611
  37. package/dist/api/gen/sdk.gen.d.ts +0 -611
  38. package/dist/api/gen/sdk.gen.js +0 -179
  39. package/dist/api/gen/sdk.gen.js.map +0 -1
  40. package/dist/api/gen/types.gen.cjs +0 -2
  41. package/dist/api/gen/types.gen.cjs.map +0 -1
  42. package/dist/api/gen/types.gen.d.cts +0 -13865
  43. package/dist/api/gen/types.gen.d.ts +0 -13865
  44. package/dist/api/gen/types.gen.js +0 -2
  45. package/dist/api/gen/types.gen.js.map +0 -1
  46. package/dist/api/index.cjs +0 -13
  47. package/dist/api/index.cjs.map +0 -1
  48. package/dist/api/index.d.cts +0 -6
  49. package/dist/api/index.d.ts +0 -6
  50. package/dist/api/index.js +0 -13
  51. package/dist/api/index.js.map +0 -1
  52. package/dist/api/types.cjs +0 -2
  53. package/dist/api/types.cjs.map +0 -1
  54. package/dist/api/types.d.cts +0 -55
  55. package/dist/api/types.d.ts +0 -55
  56. package/dist/api/types.js +0 -2
  57. package/dist/api/types.js.map +0 -1
  58. package/dist/chains/chains.cjs +0 -25
  59. package/dist/chains/chains.cjs.map +0 -1
  60. package/dist/chains/chains.d.cts +0 -28
  61. package/dist/chains/chains.d.ts +0 -28
  62. package/dist/chains/chains.js +0 -25
  63. package/dist/chains/chains.js.map +0 -1
  64. package/dist/chains/definitions/arcTestnet.cjs +0 -8
  65. package/dist/chains/definitions/arcTestnet.cjs.map +0 -1
  66. package/dist/chains/definitions/arcTestnet.d.cts +0 -43
  67. package/dist/chains/definitions/arcTestnet.d.ts +0 -43
  68. package/dist/chains/definitions/arcTestnet.js +0 -8
  69. package/dist/chains/definitions/arcTestnet.js.map +0 -1
  70. package/dist/chains/definitions/story.cjs +0 -8
  71. package/dist/chains/definitions/story.cjs.map +0 -1
  72. package/dist/chains/definitions/story.d.cts +0 -49
  73. package/dist/chains/definitions/story.d.ts +0 -49
  74. package/dist/chains/definitions/story.js +0 -8
  75. package/dist/chains/definitions/story.js.map +0 -1
  76. package/dist/chains/definitions/storyTestnet.cjs +0 -8
  77. package/dist/chains/definitions/storyTestnet.cjs.map +0 -1
  78. package/dist/chains/definitions/storyTestnet.d.cts +0 -43
  79. package/dist/chains/definitions/storyTestnet.d.ts +0 -43
  80. package/dist/chains/definitions/storyTestnet.js +0 -8
  81. package/dist/chains/definitions/storyTestnet.js.map +0 -1
  82. package/dist/chains/definitions/tempo.cjs +0 -8
  83. package/dist/chains/definitions/tempo.cjs.map +0 -1
  84. package/dist/chains/definitions/tempo.d.cts +0 -39
  85. package/dist/chains/definitions/tempo.d.ts +0 -39
  86. package/dist/chains/definitions/tempo.js +0 -8
  87. package/dist/chains/definitions/tempo.js.map +0 -1
  88. package/dist/chains/definitions/tempoTestnet.cjs +0 -8
  89. package/dist/chains/definitions/tempoTestnet.cjs.map +0 -1
  90. package/dist/chains/definitions/tempoTestnet.d.cts +0 -39
  91. package/dist/chains/definitions/tempoTestnet.d.ts +0 -39
  92. package/dist/chains/definitions/tempoTestnet.js +0 -8
  93. package/dist/chains/definitions/tempoTestnet.js.map +0 -1
  94. package/dist/chunk-2QI75IOB.js +0 -85
  95. package/dist/chunk-2QI75IOB.js.map +0 -1
  96. package/dist/chunk-2RQYQVVY.js +0 -20
  97. package/dist/chunk-2RQYQVVY.js.map +0 -1
  98. package/dist/chunk-33TLFTHT.js +0 -22
  99. package/dist/chunk-33TLFTHT.js.map +0 -1
  100. package/dist/chunk-36C7SCPK.js +0 -156
  101. package/dist/chunk-36C7SCPK.js.map +0 -1
  102. package/dist/chunk-3J2BNUTO.js +0 -16
  103. package/dist/chunk-3J2BNUTO.js.map +0 -1
  104. package/dist/chunk-3PG4HRAS.js +0 -67
  105. package/dist/chunk-3PG4HRAS.js.map +0 -1
  106. package/dist/chunk-4AV3GY27.js +0 -59
  107. package/dist/chunk-4AV3GY27.js.map +0 -1
  108. package/dist/chunk-4BB7YYTT.js +0 -64
  109. package/dist/chunk-4BB7YYTT.js.map +0 -1
  110. package/dist/chunk-4GADBBZN.cjs +0 -156
  111. package/dist/chunk-4GADBBZN.cjs.map +0 -1
  112. package/dist/chunk-4GSHSMCA.js +0 -90
  113. package/dist/chunk-4GSHSMCA.js.map +0 -1
  114. package/dist/chunk-5NIFUAZH.js +0 -83
  115. package/dist/chunk-5NIFUAZH.js.map +0 -1
  116. package/dist/chunk-5OFC4HSW.js +0 -111
  117. package/dist/chunk-5OFC4HSW.js.map +0 -1
  118. package/dist/chunk-5QPU62QL.cjs +0 -111
  119. package/dist/chunk-5QPU62QL.cjs.map +0 -1
  120. package/dist/chunk-6CR6FGAO.cjs +0 -67
  121. package/dist/chunk-6CR6FGAO.cjs.map +0 -1
  122. package/dist/chunk-6DPHKKVR.cjs +0 -37
  123. package/dist/chunk-6DPHKKVR.cjs.map +0 -1
  124. package/dist/chunk-6G4QLBSO.js +0 -22
  125. package/dist/chunk-6G4QLBSO.js.map +0 -1
  126. package/dist/chunk-6PIQDY3F.cjs +0 -44
  127. package/dist/chunk-6PIQDY3F.cjs.map +0 -1
  128. package/dist/chunk-6QZLBFZZ.js +0 -116
  129. package/dist/chunk-6QZLBFZZ.js.map +0 -1
  130. package/dist/chunk-7PHIXK4Q.js +0 -17
  131. package/dist/chunk-7PHIXK4Q.js.map +0 -1
  132. package/dist/chunk-A3QJT5UU.cjs +0 -59
  133. package/dist/chunk-A3QJT5UU.cjs.map +0 -1
  134. package/dist/chunk-AMS7MCD6.js +0 -238
  135. package/dist/chunk-AMS7MCD6.js.map +0 -1
  136. package/dist/chunk-BBUEX3DG.cjs +0 -53
  137. package/dist/chunk-BBUEX3DG.cjs.map +0 -1
  138. package/dist/chunk-BD3ZXT5D.js +0 -1
  139. package/dist/chunk-BD3ZXT5D.js.map +0 -1
  140. package/dist/chunk-C6WWOWGR.js +0 -26
  141. package/dist/chunk-C6WWOWGR.js.map +0 -1
  142. package/dist/chunk-CLVXR2JV.cjs +0 -60
  143. package/dist/chunk-CLVXR2JV.cjs.map +0 -1
  144. package/dist/chunk-CYUJJIHO.cjs +0 -26
  145. package/dist/chunk-CYUJJIHO.cjs.map +0 -1
  146. package/dist/chunk-D2OS4757.js +0 -37
  147. package/dist/chunk-D2OS4757.js.map +0 -1
  148. package/dist/chunk-DA47DMPI.js +0 -1
  149. package/dist/chunk-DA47DMPI.js.map +0 -1
  150. package/dist/chunk-DGBAFJTM.js +0 -44
  151. package/dist/chunk-DGBAFJTM.js.map +0 -1
  152. package/dist/chunk-DIJNSNWN.cjs +0 -116
  153. package/dist/chunk-DIJNSNWN.cjs.map +0 -1
  154. package/dist/chunk-DN2SNZIX.cjs +0 -22
  155. package/dist/chunk-DN2SNZIX.cjs.map +0 -1
  156. package/dist/chunk-EKMTR3GD.js +0 -60
  157. package/dist/chunk-EKMTR3GD.js.map +0 -1
  158. package/dist/chunk-FLI7NWQN.cjs +0 -779
  159. package/dist/chunk-FLI7NWQN.cjs.map +0 -1
  160. package/dist/chunk-G43MR76L.cjs +0 -20
  161. package/dist/chunk-G43MR76L.cjs.map +0 -1
  162. package/dist/chunk-GGMUF77N.cjs +0 -37
  163. package/dist/chunk-GGMUF77N.cjs.map +0 -1
  164. package/dist/chunk-GNU6RIKU.js +0 -224
  165. package/dist/chunk-GNU6RIKU.js.map +0 -1
  166. package/dist/chunk-H6BH7OK4.cjs +0 -224
  167. package/dist/chunk-H6BH7OK4.cjs.map +0 -1
  168. package/dist/chunk-HP6T3FTF.js +0 -70
  169. package/dist/chunk-HP6T3FTF.js.map +0 -1
  170. package/dist/chunk-I2O3XXRZ.cjs +0 -16
  171. package/dist/chunk-I2O3XXRZ.cjs.map +0 -1
  172. package/dist/chunk-IE4R2VDM.cjs +0 -1
  173. package/dist/chunk-IE4R2VDM.cjs.map +0 -1
  174. package/dist/chunk-IP6APT2S.js +0 -248
  175. package/dist/chunk-IP6APT2S.js.map +0 -1
  176. package/dist/chunk-IUSTF2DR.js +0 -779
  177. package/dist/chunk-IUSTF2DR.js.map +0 -1
  178. package/dist/chunk-IYQMWYQI.cjs +0 -70
  179. package/dist/chunk-IYQMWYQI.cjs.map +0 -1
  180. package/dist/chunk-IZYJJUOE.cjs +0 -324
  181. package/dist/chunk-IZYJJUOE.cjs.map +0 -1
  182. package/dist/chunk-J2OH6EMB.cjs +0 -26
  183. package/dist/chunk-J2OH6EMB.cjs.map +0 -1
  184. package/dist/chunk-J6AO2ZDU.js +0 -743
  185. package/dist/chunk-J6AO2ZDU.js.map +0 -1
  186. package/dist/chunk-JF4JR5QQ.js +0 -66
  187. package/dist/chunk-JF4JR5QQ.js.map +0 -1
  188. package/dist/chunk-JMRG565N.js +0 -37
  189. package/dist/chunk-JMRG565N.js.map +0 -1
  190. package/dist/chunk-JXXXM7AV.js +0 -53
  191. package/dist/chunk-JXXXM7AV.js.map +0 -1
  192. package/dist/chunk-KV7KHODO.cjs +0 -10
  193. package/dist/chunk-KV7KHODO.cjs.map +0 -1
  194. package/dist/chunk-KXXRVRR6.cjs +0 -83
  195. package/dist/chunk-KXXRVRR6.cjs.map +0 -1
  196. package/dist/chunk-L33DZOLM.cjs +0 -1
  197. package/dist/chunk-L33DZOLM.cjs.map +0 -1
  198. package/dist/chunk-M2OFHRMU.cjs +0 -1
  199. package/dist/chunk-M2OFHRMU.cjs.map +0 -1
  200. package/dist/chunk-NAGMAP3Y.cjs +0 -64
  201. package/dist/chunk-NAGMAP3Y.cjs.map +0 -1
  202. package/dist/chunk-NG77OKLY.js +0 -45
  203. package/dist/chunk-NG77OKLY.js.map +0 -1
  204. package/dist/chunk-NQR4AQOW.cjs +0 -17
  205. package/dist/chunk-NQR4AQOW.cjs.map +0 -1
  206. package/dist/chunk-PHGHKSBT.js +0 -1
  207. package/dist/chunk-PHGHKSBT.js.map +0 -1
  208. package/dist/chunk-QFE6TYBN.cjs +0 -75
  209. package/dist/chunk-QFE6TYBN.cjs.map +0 -1
  210. package/dist/chunk-QUIRXKKE.js +0 -75
  211. package/dist/chunk-QUIRXKKE.js.map +0 -1
  212. package/dist/chunk-RB7HTHG4.js +0 -1
  213. package/dist/chunk-RB7HTHG4.js.map +0 -1
  214. package/dist/chunk-RJ3VNO74.cjs +0 -45
  215. package/dist/chunk-RJ3VNO74.cjs.map +0 -1
  216. package/dist/chunk-RLWGW5R2.js +0 -1
  217. package/dist/chunk-RLWGW5R2.js.map +0 -1
  218. package/dist/chunk-RPLIXWF3.cjs +0 -90
  219. package/dist/chunk-RPLIXWF3.cjs.map +0 -1
  220. package/dist/chunk-RUUBB4EB.js +0 -59
  221. package/dist/chunk-RUUBB4EB.js.map +0 -1
  222. package/dist/chunk-TONAC74L.cjs +0 -743
  223. package/dist/chunk-TONAC74L.cjs.map +0 -1
  224. package/dist/chunk-TXLF6BM6.cjs +0 -22
  225. package/dist/chunk-TXLF6BM6.cjs.map +0 -1
  226. package/dist/chunk-UAFXNE4C.js +0 -324
  227. package/dist/chunk-UAFXNE4C.js.map +0 -1
  228. package/dist/chunk-UBZ7RWBZ.cjs +0 -1
  229. package/dist/chunk-UBZ7RWBZ.cjs.map +0 -1
  230. package/dist/chunk-UDLDOYUB.cjs +0 -1
  231. package/dist/chunk-UDLDOYUB.cjs.map +0 -1
  232. package/dist/chunk-V5HHKVTT.cjs +0 -59
  233. package/dist/chunk-V5HHKVTT.cjs.map +0 -1
  234. package/dist/chunk-VIL33DEX.js +0 -337
  235. package/dist/chunk-VIL33DEX.js.map +0 -1
  236. package/dist/chunk-W4VYO3P6.cjs +0 -66
  237. package/dist/chunk-W4VYO3P6.cjs.map +0 -1
  238. package/dist/chunk-W5LNQWQD.cjs +0 -85
  239. package/dist/chunk-W5LNQWQD.cjs.map +0 -1
  240. package/dist/chunk-XOVH2G3J.cjs +0 -238
  241. package/dist/chunk-XOVH2G3J.cjs.map +0 -1
  242. package/dist/chunk-XWXIO5PH.cjs +0 -248
  243. package/dist/chunk-XWXIO5PH.cjs.map +0 -1
  244. package/dist/chunk-Y3CJJ3GO.cjs +0 -337
  245. package/dist/chunk-Y3CJJ3GO.cjs.map +0 -1
  246. package/dist/chunk-Y5AADOPZ.js +0 -26
  247. package/dist/chunk-Y5AADOPZ.js.map +0 -1
  248. package/dist/chunk-ZEH4W3O4.js +0 -10
  249. package/dist/chunk-ZEH4W3O4.js.map +0 -1
  250. package/dist/index.cjs +0 -61
  251. package/dist/index.cjs.map +0 -1
  252. package/dist/index.d.cts +0 -19
  253. package/dist/index.d.ts +0 -19
  254. package/dist/index.js +0 -61
  255. package/dist/index.js.map +0 -1
  256. package/dist/logger/index.cjs +0 -12
  257. package/dist/logger/index.cjs.map +0 -1
  258. package/dist/logger/index.d.cts +0 -2
  259. package/dist/logger/index.d.ts +0 -2
  260. package/dist/logger/index.js +0 -12
  261. package/dist/logger/index.js.map +0 -1
  262. package/dist/logger/init.cjs +0 -11
  263. package/dist/logger/init.cjs.map +0 -1
  264. package/dist/logger/init.d.cts +0 -15
  265. package/dist/logger/init.d.ts +0 -15
  266. package/dist/logger/init.js +0 -11
  267. package/dist/logger/init.js.map +0 -1
  268. package/dist/sdk.cjs +0 -40
  269. package/dist/sdk.cjs.map +0 -1
  270. package/dist/sdk.d.cts +0 -48
  271. package/dist/sdk.d.ts +0 -48
  272. package/dist/sdk.js +0 -40
  273. package/dist/sdk.js.map +0 -1
  274. package/dist/signers/evm-api-key.cjs +0 -8
  275. package/dist/signers/evm-api-key.cjs.map +0 -1
  276. package/dist/signers/evm-api-key.d.cts +0 -18
  277. package/dist/signers/evm-api-key.d.ts +0 -18
  278. package/dist/signers/evm-api-key.js +0 -8
  279. package/dist/signers/evm-api-key.js.map +0 -1
  280. package/dist/signers/evm-external-wallet.cjs +0 -8
  281. package/dist/signers/evm-external-wallet.cjs.map +0 -1
  282. package/dist/signers/evm-external-wallet.d.cts +0 -26
  283. package/dist/signers/evm-external-wallet.d.ts +0 -26
  284. package/dist/signers/evm-external-wallet.js +0 -8
  285. package/dist/signers/evm-external-wallet.js.map +0 -1
  286. package/dist/signers/index.cjs +0 -25
  287. package/dist/signers/index.cjs.map +0 -1
  288. package/dist/signers/index.d.cts +0 -11
  289. package/dist/signers/index.d.ts +0 -11
  290. package/dist/signers/index.js +0 -25
  291. package/dist/signers/index.js.map +0 -1
  292. package/dist/signers/non-custodial/index.cjs +0 -28
  293. package/dist/signers/non-custodial/index.cjs.map +0 -1
  294. package/dist/signers/non-custodial/index.d.cts +0 -11
  295. package/dist/signers/non-custodial/index.d.ts +0 -11
  296. package/dist/signers/non-custodial/index.js +0 -28
  297. package/dist/signers/non-custodial/index.js.map +0 -1
  298. package/dist/signers/non-custodial/ncs-evm-signer.cjs +0 -14
  299. package/dist/signers/non-custodial/ncs-evm-signer.cjs.map +0 -1
  300. package/dist/signers/non-custodial/ncs-evm-signer.d.cts +0 -30
  301. package/dist/signers/non-custodial/ncs-evm-signer.d.ts +0 -30
  302. package/dist/signers/non-custodial/ncs-evm-signer.js +0 -14
  303. package/dist/signers/non-custodial/ncs-evm-signer.js.map +0 -1
  304. package/dist/signers/non-custodial/ncs-iframe-manager.cjs +0 -8
  305. package/dist/signers/non-custodial/ncs-iframe-manager.cjs.map +0 -1
  306. package/dist/signers/non-custodial/ncs-iframe-manager.d.cts +0 -16
  307. package/dist/signers/non-custodial/ncs-iframe-manager.d.ts +0 -16
  308. package/dist/signers/non-custodial/ncs-iframe-manager.js +0 -8
  309. package/dist/signers/non-custodial/ncs-iframe-manager.js.map +0 -1
  310. package/dist/signers/non-custodial/ncs-signer.cjs +0 -15
  311. package/dist/signers/non-custodial/ncs-signer.cjs.map +0 -1
  312. package/dist/signers/non-custodial/ncs-signer.d.cts +0 -50
  313. package/dist/signers/non-custodial/ncs-signer.d.ts +0 -50
  314. package/dist/signers/non-custodial/ncs-signer.js +0 -15
  315. package/dist/signers/non-custodial/ncs-signer.js.map +0 -1
  316. package/dist/signers/non-custodial/ncs-solana-signer.cjs +0 -14
  317. package/dist/signers/non-custodial/ncs-solana-signer.cjs.map +0 -1
  318. package/dist/signers/non-custodial/ncs-solana-signer.d.cts +0 -27
  319. package/dist/signers/non-custodial/ncs-solana-signer.d.ts +0 -27
  320. package/dist/signers/non-custodial/ncs-solana-signer.js +0 -14
  321. package/dist/signers/non-custodial/ncs-solana-signer.js.map +0 -1
  322. package/dist/signers/non-custodial/ncs-stellar-signer.cjs +0 -14
  323. package/dist/signers/non-custodial/ncs-stellar-signer.cjs.map +0 -1
  324. package/dist/signers/non-custodial/ncs-stellar-signer.d.cts +0 -27
  325. package/dist/signers/non-custodial/ncs-stellar-signer.d.ts +0 -27
  326. package/dist/signers/non-custodial/ncs-stellar-signer.js +0 -14
  327. package/dist/signers/non-custodial/ncs-stellar-signer.js.map +0 -1
  328. package/dist/signers/passkey.cjs +0 -8
  329. package/dist/signers/passkey.cjs.map +0 -1
  330. package/dist/signers/passkey.d.cts +0 -19
  331. package/dist/signers/passkey.d.ts +0 -19
  332. package/dist/signers/passkey.js +0 -8
  333. package/dist/signers/passkey.js.map +0 -1
  334. package/dist/signers/solana-api-key.cjs +0 -8
  335. package/dist/signers/solana-api-key.cjs.map +0 -1
  336. package/dist/signers/solana-api-key.d.cts +0 -18
  337. package/dist/signers/solana-api-key.d.ts +0 -18
  338. package/dist/signers/solana-api-key.js +0 -8
  339. package/dist/signers/solana-api-key.js.map +0 -1
  340. package/dist/signers/solana-external-wallet.cjs +0 -9
  341. package/dist/signers/solana-external-wallet.cjs.map +0 -1
  342. package/dist/signers/solana-external-wallet.d.cts +0 -24
  343. package/dist/signers/solana-external-wallet.d.ts +0 -24
  344. package/dist/signers/solana-external-wallet.js +0 -9
  345. package/dist/signers/solana-external-wallet.js.map +0 -1
  346. package/dist/signers/stellar-external-wallet.cjs +0 -8
  347. package/dist/signers/stellar-external-wallet.cjs.map +0 -1
  348. package/dist/signers/stellar-external-wallet.d.cts +0 -23
  349. package/dist/signers/stellar-external-wallet.d.ts +0 -23
  350. package/dist/signers/stellar-external-wallet.js +0 -8
  351. package/dist/signers/stellar-external-wallet.js.map +0 -1
  352. package/dist/signers/types.cjs +0 -10
  353. package/dist/signers/types.cjs.map +0 -1
  354. package/dist/signers/types.d.cts +0 -91
  355. package/dist/signers/types.d.ts +0 -91
  356. package/dist/signers/types.js +0 -10
  357. package/dist/signers/types.js.map +0 -1
  358. package/dist/utils/constants.cjs +0 -14
  359. package/dist/utils/constants.cjs.map +0 -1
  360. package/dist/utils/constants.d.cts +0 -6
  361. package/dist/utils/constants.d.ts +0 -6
  362. package/dist/utils/constants.js +0 -14
  363. package/dist/utils/constants.js.map +0 -1
  364. package/dist/utils/errors.cjs +0 -56
  365. package/dist/utils/errors.cjs.map +0 -1
  366. package/dist/utils/errors.d.cts +0 -80
  367. package/dist/utils/errors.d.ts +0 -80
  368. package/dist/utils/errors.js +0 -56
  369. package/dist/utils/errors.js.map +0 -1
  370. package/dist/utils/signer-validation.cjs +0 -11
  371. package/dist/utils/signer-validation.cjs.map +0 -1
  372. package/dist/utils/signer-validation.d.cts +0 -9
  373. package/dist/utils/signer-validation.d.ts +0 -9
  374. package/dist/utils/signer-validation.js +0 -11
  375. package/dist/utils/signer-validation.js.map +0 -1
  376. package/dist/wallets/__tests__/setup.cjs +0 -37
  377. package/dist/wallets/__tests__/setup.cjs.map +0 -1
  378. package/dist/wallets/__tests__/setup.d.cts +0 -2
  379. package/dist/wallets/__tests__/setup.d.ts +0 -2
  380. package/dist/wallets/__tests__/setup.js +0 -37
  381. package/dist/wallets/__tests__/setup.js.map +0 -1
  382. package/dist/wallets/__tests__/test-helpers.cjs +0 -94
  383. package/dist/wallets/__tests__/test-helpers.cjs.map +0 -1
  384. package/dist/wallets/__tests__/test-helpers.d.cts +0 -36
  385. package/dist/wallets/__tests__/test-helpers.d.ts +0 -36
  386. package/dist/wallets/__tests__/test-helpers.js +0 -94
  387. package/dist/wallets/__tests__/test-helpers.js.map +0 -1
  388. package/dist/wallets/evm.cjs +0 -26
  389. package/dist/wallets/evm.cjs.map +0 -1
  390. package/dist/wallets/evm.d.cts +0 -155
  391. package/dist/wallets/evm.d.ts +0 -155
  392. package/dist/wallets/evm.js +0 -26
  393. package/dist/wallets/evm.js.map +0 -1
  394. package/dist/wallets/solana.cjs +0 -27
  395. package/dist/wallets/solana.cjs.map +0 -1
  396. package/dist/wallets/solana.d.cts +0 -28
  397. package/dist/wallets/solana.d.ts +0 -28
  398. package/dist/wallets/solana.js +0 -27
  399. package/dist/wallets/solana.js.map +0 -1
  400. package/dist/wallets/stellar.cjs +0 -26
  401. package/dist/wallets/stellar.cjs.map +0 -1
  402. package/dist/wallets/stellar.d.cts +0 -30
  403. package/dist/wallets/stellar.d.ts +0 -30
  404. package/dist/wallets/stellar.js +0 -26
  405. package/dist/wallets/stellar.js.map +0 -1
  406. package/dist/wallets/types.cjs +0 -1
  407. package/dist/wallets/types.cjs.map +0 -1
  408. package/dist/wallets/types.d.cts +0 -170
  409. package/dist/wallets/types.d.ts +0 -170
  410. package/dist/wallets/types.js +0 -1
  411. package/dist/wallets/types.js.map +0 -1
  412. package/dist/wallets/wallet-factory.cjs +0 -34
  413. package/dist/wallets/wallet-factory.cjs.map +0 -1
  414. package/dist/wallets/wallet-factory.d.cts +0 -33
  415. package/dist/wallets/wallet-factory.d.ts +0 -33
  416. package/dist/wallets/wallet-factory.js +0 -34
  417. package/dist/wallets/wallet-factory.js.map +0 -1
  418. package/dist/wallets/wallet.cjs +0 -25
  419. package/dist/wallets/wallet.cjs.map +0 -1
  420. package/dist/wallets/wallet.d.cts +0 -168
  421. package/dist/wallets/wallet.d.ts +0 -168
  422. package/dist/wallets/wallet.js +0 -25
  423. package/dist/wallets/wallet.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/wallets/wallet.ts"],"names":["approvals","signature"],"mappings":"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","sourcesContent":["import { isValidAddress, WithLoggerContext } from \"@crossmint/common-sdk-base\";\nimport type {\n Activity,\n ApiClient,\n GetSignatureResponse,\n GetBalanceSuccessResponse,\n WalletLocator,\n RegisterSignerPasskeyParams,\n GetTransactionSuccessResponse,\n GetTransactionsResponse,\n FundWalletResponse,\n} from \"../api\";\nimport type {\n AddDelegatedSignerOptions,\n AddDelegatedSignerReturnType,\n DelegatedSigner,\n WalletOptions,\n UserLocator,\n Transaction,\n Balances,\n TokenBalance,\n ApproveParams,\n ApproveOptions,\n Approval,\n Signature,\n ApproveResult,\n PrepareOnly,\n SendTokenTransactionOptions,\n} from \"./types\";\nimport {\n InvalidSignerError,\n SignatureFailedError,\n SignatureNotAvailableError,\n SigningFailedError,\n TransactionAwaitingApprovalError,\n TransactionConfirmationTimeoutError,\n TransactionFailedError,\n TransactionHashNotFoundError,\n TransactionNotAvailableError,\n TransactionNotCreatedError,\n TransactionSendingFailedError,\n WalletNotAvailableError,\n WalletTypeNotSupportedError,\n} from \"../utils/errors\";\nimport { STATUS_POLLING_INTERVAL_MS } from \"../utils/constants\";\nimport { type Chain, validateChainForEnvironment } from \"../chains/chains\";\nimport type { Signer } from \"../signers/types\";\nimport { NonCustodialSigner } from \"../signers/non-custodial\";\nimport { walletsLogger } from \"../logger\";\n\ntype WalletContructorType<C extends Chain> = {\n chain: C;\n address: string;\n owner?: string;\n alias?: string;\n signer: Signer;\n options?: WalletOptions;\n};\n\nexport class Wallet<C extends Chain> {\n chain: C;\n address: string;\n owner?: string;\n alias?: string;\n signer: Signer;\n #options?: WalletOptions;\n #apiClient: ApiClient;\n\n constructor(args: WalletContructorType<C>, apiClient: ApiClient) {\n const { chain, address, owner, signer, options, alias } = args;\n this.#apiClient = apiClient;\n this.chain = chain;\n this.address = address;\n this.owner = owner;\n this.signer = signer;\n this.#options = options;\n this.alias = alias;\n }\n\n protected static getApiClient<C extends Chain>(wallet: Wallet<C>): ApiClient {\n return wallet.apiClient;\n }\n\n protected static getOptions<C extends Chain>(wallet: Wallet<C>): WalletOptions | undefined {\n return wallet.options;\n }\n\n protected get apiClient(): ApiClient {\n return this.#apiClient;\n }\n\n protected get options(): WalletOptions | undefined {\n return this.#options;\n }\n\n /**\n * Get the API client\n * @returns The API client\n * @experimental This API is experimental and may change in the future\n */\n public experimental_apiClient(): ApiClient {\n return this.#apiClient;\n }\n\n /**\n * Get the wallet balances - always includes USDC and native token (ETH/SOL)\n * @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)\n * @returns {Promise<Balances<C>>} The balances returns nativeToken, usdc, tokens\n * @throws {Error} If the balances cannot be retrieved\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"wallet.balances\",\n buildContext(thisArg: Wallet<Chain>) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async balances(tokens?: string[]): Promise<Balances<C>> {\n walletsLogger.info(\"wallet.balances.start\");\n\n const resolvedChain = this.resolveChainForEnvironment();\n\n let nativeToken: string;\n switch (this.chain) {\n case \"solana\":\n nativeToken = \"sol\";\n break;\n case \"stellar\":\n nativeToken = \"xlm\";\n break;\n default:\n nativeToken = \"eth\";\n break;\n }\n const allTokens = [nativeToken, \"usdc\", ...(tokens ?? [])];\n\n const response = await this.#apiClient.getBalance(this.address, {\n chains: [resolvedChain],\n tokens: allTokens,\n });\n\n if (\"error\" in response) {\n walletsLogger.error(\"wallet.balances.error\", { error: response });\n throw new Error(`Failed to get balances for wallet: ${JSON.stringify(response.message)}`);\n }\n\n walletsLogger.info(\"wallet.balances.success\");\n return this.transformBalanceResponse(response, nativeToken, tokens);\n }\n\n /**\n * Funds the wallet with Crossmint's stablecoin (USDXM).\n *\n * **Note:** This method is only available in staging environments and exclusively supports USDXM tokens.\n * It cannot be used in production environments.\n * @param amount - The amount of USDXM to fund the wallet with\n * @param chain - Optional chain to fund on. If not provided, uses the wallet's default chain\n * @returns The funding response\n * @throws {Error} If the funding operation fails or if called in a production environment\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"wallet.stagingFund\",\n buildContext(thisArg: Wallet<Chain>) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async stagingFund(amount: number, chain?: Chain): Promise<FundWalletResponse> {\n walletsLogger.info(\"wallet.stagingFund.start\", {\n amount,\n chain: chain ?? this.chain,\n });\n\n const response = await this.apiClient.fundWallet(this.address, {\n amount,\n token: \"usdxm\",\n // Type casting is necessary here due to a type mismatch between our DTO schema and server-side types\n // (which only contains 10 testnet chains. Variable in main server is called EvmUsdcEnabledTestnetChains for reference).\n chain: chain ?? (this.chain as any),\n });\n if (\"error\" in response) {\n walletsLogger.error(\"wallet.stagingFund.error\", {\n error: response,\n });\n throw new Error(`Failed to fund wallet: ${JSON.stringify(response.message)}`);\n }\n walletsLogger.info(\"wallet.stagingFund.success\");\n return response;\n }\n\n /**\n * Transform the API balance response to the new structure\n * @private\n */\n private transformBalanceResponse(\n apiResponse: GetBalanceSuccessResponse,\n nativeTokenSymbol: TokenBalance[\"symbol\"],\n requestedTokens?: string[]\n ): Balances<C> {\n const transformTokenBalance = (tokenData: GetBalanceSuccessResponse[number]): TokenBalance<C> => {\n const chainData = tokenData.chains?.[this.chain];\n\n let chainSpecificField = {};\n if (this.chain === \"solana\" && chainData != null && \"mintHash\" in chainData) {\n chainSpecificField = { mintHash: chainData.mintHash };\n } else if (this.chain === \"stellar\" && chainData != null && \"contractId\" in chainData) {\n chainSpecificField = { contractId: chainData.contractId };\n } else if (chainData != null && \"contractAddress\" in chainData) {\n chainSpecificField = {\n contractAddress: chainData.contractAddress,\n };\n }\n\n return {\n symbol: tokenData.symbol ?? \"\",\n name: tokenData.name ?? \"\",\n amount: tokenData.amount ?? \"0\",\n decimals: tokenData.decimals,\n rawAmount: tokenData.rawAmount ?? \"0\",\n ...chainSpecificField,\n } as TokenBalance<C>;\n };\n\n const nativeTokenData = apiResponse.find((token) => token.symbol === nativeTokenSymbol);\n const usdcData = apiResponse.find((token) => token.symbol === \"usdc\");\n\n const otherTokens = apiResponse.filter((token) => {\n return token.symbol !== nativeTokenSymbol && token.symbol !== \"usdc\";\n });\n\n const createDefaultToken = (symbol: TokenBalance[\"symbol\"]): TokenBalance<C> => {\n const baseToken = {\n symbol,\n name: symbol,\n amount: \"0\",\n decimals: 0,\n rawAmount: \"0\",\n };\n\n let chainSpecificField = {};\n if (this.chain === \"solana\") {\n chainSpecificField = { mintHash: undefined };\n } else if (this.chain === \"stellar\") {\n chainSpecificField = { contractId: undefined };\n } else {\n chainSpecificField = { contractAddress: undefined };\n }\n\n return {\n ...baseToken,\n ...chainSpecificField,\n } as TokenBalance<C>;\n };\n\n return {\n nativeToken:\n nativeTokenData != null\n ? transformTokenBalance(nativeTokenData)\n : createDefaultToken(nativeTokenSymbol),\n usdc: usdcData != null ? transformTokenBalance(usdcData) : createDefaultToken(\"usdc\"),\n tokens: otherTokens.map(transformTokenBalance),\n };\n }\n\n /**\n * Get the wallet NFTs\n * @param {Object} params - The parameters\n * @param {number} params.perPage - The number of NFTs per page\n * @param {number} params.page - The page number\n * @param {WalletLocator} [params.locator] - The locator\n * @returns The NFTs\n * @experimental This API is experimental and may change in the future\n */\n public async experimental_nfts(params: { perPage: number; page: number }) {\n return await this.#apiClient.experimental_getNfts({\n ...params,\n chain: this.chain,\n address: this.address,\n });\n }\n\n /**\n * Get the wallet transactions\n * @returns The transactions\n * @throws {Error} If the transactions cannot be retrieved\n */\n public async experimental_transactions(): Promise<GetTransactionsResponse> {\n const response = await this.#apiClient.getTransactions(this.walletLocator);\n if (\"error\" in response) {\n throw new Error(`Failed to get transactions: ${JSON.stringify(response.message)}`);\n }\n return response;\n }\n\n /**\n * Get a transaction by id\n * @returns The transaction\n * @throws {Error} If the transaction cannot be retrieved\n */\n public async experimental_transaction(transactionId: string): Promise<GetTransactionSuccessResponse> {\n const response = await this.#apiClient.getTransaction(this.walletLocator, transactionId);\n if (\"error\" in response) {\n throw new Error(`Failed to get transaction: ${JSON.stringify(response.error)}`);\n }\n return response;\n }\n\n /**\n * Get the wallet activity\n * @returns The activity\n * @experimental This API is experimental and may change in the future\n * @throws {Error} If the activity cannot be retrieved\n */\n public async experimental_activity(): Promise<Activity> {\n const resolvedChain = this.resolveChainForEnvironment();\n const response = await this.apiClient.experimental_activity(this.walletLocator, { chain: resolvedChain });\n if (\"error\" in response) {\n throw new Error(`Failed to get activity: ${JSON.stringify(response.message)}`);\n }\n return response;\n }\n\n /**\n * Send a token to a wallet or user locator\n * @param {string | UserLocator} to - The recipient (address or user locator)\n * @param {string} token - The token (address or currency symbol)\n * @param {string} amount - The amount to send (decimal units)\n * @param {TransactionInputOptions} options - The options for the transaction\n * @returns {Transaction} The transaction\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"wallet.send\",\n buildContext(thisArg: Wallet<Chain>) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async send<T extends SendTokenTransactionOptions | undefined = undefined>(\n to: string | UserLocator,\n token: string,\n amount: string,\n options?: T\n ): Promise<Transaction<T extends PrepareOnly<true> ? true : false>> {\n const resolvedChain = this.resolveChainForEnvironment();\n const recipient = toRecipientLocator(to);\n const tokenLocator = toTokenLocator(token, resolvedChain);\n\n walletsLogger.info(\"wallet.send.start\", {\n recipient,\n token: tokenLocator,\n amount,\n ...(options?.transactionType != null ? { transactionType: options.transactionType } : {}),\n });\n\n await this.preAuthIfNeeded();\n const sendParams = {\n recipient,\n amount,\n ...(options?.experimental_signer != null ? { signer: options.experimental_signer } : {}),\n ...(options?.transactionType != null ? { transactionType: options.transactionType } : {}),\n };\n const transactionCreationResponse = await this.#apiClient.send(this.walletLocator, tokenLocator, sendParams);\n\n if (\"message\" in transactionCreationResponse) {\n walletsLogger.error(\"wallet.send.error\", {\n error: transactionCreationResponse,\n });\n throw new TransactionNotCreatedError(\n `Failed to send token: ${JSON.stringify(transactionCreationResponse.message)}`\n );\n }\n\n if (options?.experimental_prepareOnly) {\n walletsLogger.info(\"wallet.send.prepared\", {\n transactionId: transactionCreationResponse.id,\n });\n return {\n hash: undefined,\n explorerLink: undefined,\n transactionId: transactionCreationResponse.id,\n } as Transaction<T extends PrepareOnly<true> ? true : false>;\n }\n\n const result = await this.approveTransactionAndWait(transactionCreationResponse.id);\n walletsLogger.info(\"wallet.send.success\", {\n transactionId: transactionCreationResponse.id,\n hash: result.hash,\n });\n return result;\n }\n\n /**\n * @deprecated Use `approve` instead.\n * Approve a transaction\n * @param params - The parameters\n * @param params.transactionId - The transaction id\n * @param params.options - The options for the transaction\n * @param params.options.experimental_approval - The approval\n * @param params.options.additionalSigners - The additional signers\n * @returns The transaction\n */\n // TODO: Remove this method in the next major version\n public async approveTransaction(params: ApproveParams) {\n console.warn(\n \"approveTransaction is deprecated. Use approve instead. This method will be removed in the next major version.\"\n );\n return await this.approve(params);\n }\n\n /**\n * Approve a transaction or signature\n * @param params - The parameters\n * @param params.transactionId - The transaction id or\n * @param params.signatureId - The signature id\n * @param params.options - The options for the transaction\n * @param params.options.experimental_approval - The approval\n * @param params.options.additionalSigners - The additional signers\n * @returns The transaction or signature\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"wallet.approve\",\n buildContext(thisArg: Wallet<Chain>) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async approve<T extends ApproveParams>(params: T): Promise<ApproveResult<T>> {\n walletsLogger.info(\"wallet.approve.start\", {\n transactionId: params.transactionId,\n signatureId: params.signatureId,\n });\n\n await this.preAuthIfNeeded();\n\n if (params.transactionId != null) {\n const result = (await this.approveTransactionAndWait(\n params.transactionId,\n params.options\n )) as ApproveResult<T>;\n walletsLogger.info(\"wallet.approve.success\", {\n transactionId: params.transactionId,\n });\n return result;\n }\n if (params.signatureId != null) {\n const result = (await this.approveSignatureAndWait(params.signatureId, params.options)) as ApproveResult<T>;\n walletsLogger.info(\"wallet.approve.success\", {\n signatureId: params.signatureId,\n });\n return result;\n }\n walletsLogger.error(\"wallet.approve.error\", {\n error: \"Either transactionId or signatureId must be provided\",\n });\n throw new Error(\"Either transactionId or signatureId must be provided\");\n }\n\n /**\n * Add a delegated signer to the wallet\n * @param signer - The signer. For Solana, it must be a string. For EVM, it can be a string or a passkey.\n * @param options - The options for the operation\n * @param options.experimental_prepareOnly - If true, returns the transaction/signature ID without auto-approving\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"wallet.addDelegatedSigner\",\n buildContext(thisArg: Wallet<Chain>) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async addDelegatedSigner<T extends AddDelegatedSignerOptions | undefined = undefined>(params: {\n signer: string | RegisterSignerPasskeyParams;\n options?: T;\n }): Promise<T extends PrepareOnly<true> ? AddDelegatedSignerReturnType<C> : void> {\n walletsLogger.info(\"wallet.addDelegatedSigner.start\");\n\n const response = await this.#apiClient.registerSigner(this.walletLocator, {\n signer: params.signer,\n chain: this.chain === \"solana\" || this.chain === \"stellar\" ? undefined : this.chain,\n });\n\n if (\"error\" in response) {\n walletsLogger.error(\"wallet.addDelegatedSigner.error\", {\n error: response,\n });\n throw new Error(`Failed to register signer: ${JSON.stringify(response.message)}`);\n }\n\n if (this.chain === \"solana\" || this.chain === \"stellar\") {\n if (!(\"transaction\" in response) || response.transaction == null) {\n walletsLogger.error(\"wallet.addDelegatedSigner.error\", {\n error: \"Expected transaction in response for Solana/Stellar chain\",\n });\n throw new Error(\"Expected transaction in response for Solana/Stellar chain\");\n }\n\n const transactionId = response.transaction.id;\n\n if (params.options?.experimental_prepareOnly) {\n walletsLogger.info(\"wallet.addDelegatedSigner.prepared\", {\n transactionId,\n });\n return { transactionId } as any;\n }\n\n await this.approveTransactionAndWait(transactionId);\n walletsLogger.info(\"wallet.addDelegatedSigner.success\", {\n transactionId,\n });\n return undefined as any;\n }\n\n if (!(\"chains\" in response)) {\n walletsLogger.error(\"wallet.addDelegatedSigner.error\", {\n error: \"Expected chains in response for EVM chain\",\n });\n throw new Error(\"Expected chains in response for EVM chain\");\n }\n\n const chainResponse = response.chains?.[this.chain];\n\n if (params.options?.experimental_prepareOnly) {\n const signatureId = chainResponse?.status !== \"success\" ? chainResponse?.id : undefined;\n walletsLogger.info(\"wallet.addDelegatedSigner.prepared\", {\n signatureId,\n });\n return { signatureId } as any;\n }\n\n if (chainResponse?.status === \"awaiting-approval\") {\n await this.approveSignatureAndWait(chainResponse.id);\n walletsLogger.info(\"wallet.addDelegatedSigner.success\", {\n signatureId: chainResponse.id,\n });\n return undefined as any;\n }\n if (chainResponse?.status === \"pending\") {\n await this.waitForSignature(chainResponse.id);\n walletsLogger.info(\"wallet.addDelegatedSigner.success\", {\n signatureId: chainResponse.id,\n });\n return undefined as any;\n }\n\n walletsLogger.info(\"wallet.addDelegatedSigner.success\");\n return undefined as any;\n }\n\n /**\n * List the delegated signers for this wallet.\n * @returns {Promise<DelegatedSigner[]>} The delegated signers\n */\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"wallet.delegatedSigners\",\n buildContext(thisArg: Wallet<Chain>) {\n return { chain: thisArg.chain, address: thisArg.address };\n },\n })\n public async delegatedSigners(): Promise<DelegatedSigner[]> {\n walletsLogger.info(\"wallet.delegatedSigners.start\");\n\n const walletResponse = await this.#apiClient.getWallet(this.walletLocator);\n if (\"error\" in walletResponse) {\n walletsLogger.error(\"wallet.delegatedSigners.error\", {\n error: walletResponse,\n });\n throw new WalletNotAvailableError(JSON.stringify(walletResponse));\n }\n\n if (\n walletResponse.type !== \"smart\" ||\n (walletResponse.chainType !== \"evm\" &&\n walletResponse.chainType !== \"solana\" &&\n walletResponse.chainType !== \"stellar\")\n ) {\n walletsLogger.error(\"wallet.delegatedSigners.error\", {\n error: `Wallet type ${walletResponse.type} not supported`,\n });\n throw new WalletTypeNotSupportedError(`Wallet type ${walletResponse.type} not supported`);\n }\n\n // Map wallet-type to simply wallet\n const signers =\n walletResponse?.config?.delegatedSigners?.map((signer) => {\n const colonIndex = signer.locator.indexOf(\":\");\n // If there's a colon, keep everything after it; otherwise treat the whole string as \"rest\"\n const address = colonIndex >= 0 ? signer.locator.slice(colonIndex + 1) : signer.locator;\n return {\n signer: `external-wallet:${address}`,\n };\n }) ?? [];\n\n walletsLogger.info(\"wallet.delegatedSigners.success\", {\n count: signers.length,\n });\n return signers;\n }\n\n protected get walletLocator(): WalletLocator {\n if (this.#apiClient.isServerSide) {\n return this.address;\n } else {\n let baseLocator: string;\n switch (this.chain) {\n case \"stellar\":\n baseLocator = `me:stellar:smart`;\n break;\n case \"solana\":\n baseLocator = `me:solana:smart`;\n break;\n default:\n baseLocator = `me:evm:smart`;\n break;\n }\n const aliasLocatorPart = this.alias != null ? `:alias:${this.alias}` : \"\";\n return baseLocator + aliasLocatorPart;\n }\n }\n\n protected async preAuthIfNeeded(): Promise<void> {\n if (this.signer instanceof NonCustodialSigner) {\n await this.signer.ensureAuthenticated();\n }\n }\n\n protected get isSolanaWallet(): boolean {\n return this.chain === \"solana\";\n }\n\n protected resolveChainForEnvironment(): C {\n const resolvedChain = validateChainForEnvironment(this.chain, this.#apiClient.environment);\n\n if (resolvedChain !== this.chain) {\n this.chain = resolvedChain as C;\n }\n\n return this.chain;\n }\n\n protected async approveTransactionAndWait(transactionId: string, options?: ApproveOptions) {\n await this.approveTransactionInternal(transactionId, options);\n await this.sleep(1_000); // Rule of thumb: tx won't be confirmed in less than 1 second\n return await this.waitForTransaction(transactionId);\n }\n\n protected async approveSignatureAndWait(signatureId: string, options?: ApproveOptions) {\n const signatureResponse = await this.approveSignatureInternal(signatureId, options);\n\n if (\n !(\"error\" in signatureResponse) &&\n signatureResponse.status === \"success\" &&\n signatureResponse.outputSignature != null\n ) {\n return {\n signature: signatureResponse.outputSignature,\n signatureId,\n };\n }\n\n await this.sleep(1_000);\n return await this.waitForSignature(signatureId);\n }\n\n protected async approveSignatureInternal(signatureId: string, options?: ApproveOptions) {\n if (this.isSolanaWallet) {\n throw new Error(\"Approving signatures is only supported for EVM smart wallets\");\n }\n\n const signature = await this.#apiClient.getSignature(this.walletLocator, signatureId);\n\n if (\"error\" in signature) {\n throw new SignatureNotAvailableError(JSON.stringify(signature));\n }\n\n // API key signers approve automatically\n if (this.signer.type === \"api-key\") {\n return signature;\n }\n\n // If an external signature is provided, use it to approve the transaction\n if (options?.experimental_approval != null) {\n const approvals = [options.experimental_approval];\n\n return await this.executeApproveSignatureWithErrorHandling(signatureId, approvals);\n }\n\n const pendingApprovals = signature.approvals?.pending;\n\n if (pendingApprovals == null) {\n return signature;\n }\n\n const signers = [...(options?.additionalSigners ?? []), this.signer];\n\n const approvals = await Promise.all(\n pendingApprovals.map(async (pendingApproval) => {\n const signer = signers.find((s) => s.locator() === pendingApproval.signer.locator);\n if (signer == null) {\n throw new InvalidSignerError(`Signer ${pendingApproval.signer} not found in pending approvals`);\n }\n\n const signature = await signer.signMessage(pendingApproval.message);\n return {\n ...signature,\n signer: signer.locator(),\n };\n })\n );\n\n return await this.executeApproveSignatureWithErrorHandling(signatureId, approvals);\n }\n\n protected async approveTransactionInternal(transactionId: string, options?: ApproveOptions) {\n const transaction = await this.#apiClient.getTransaction(this.walletLocator, transactionId);\n\n if (\"error\" in transaction) {\n throw new TransactionNotAvailableError(JSON.stringify(transaction));\n }\n\n await this.#options?.experimental_callbacks?.onTransactionStart?.();\n\n // API key signers approve automatically\n if (this.signer.type === \"api-key\") {\n return transaction;\n }\n\n // If an external signature is provided, use it to approve the transaction\n if (options?.experimental_approval != null) {\n const approvals = [options.experimental_approval];\n\n return await this.executeApproveTransactionWithErrorHandling(transactionId, approvals);\n }\n\n const pendingApprovals = transaction.approvals?.pending;\n\n if (pendingApprovals == null) {\n return transaction;\n }\n\n const signers = [...(options?.additionalSigners ?? []), this.signer];\n\n const approvals = await Promise.all(\n pendingApprovals.map(async (pendingApproval) => {\n const signer = signers.find((s) => s.locator() === pendingApproval.signer.locator);\n if (signer == null) {\n throw new InvalidSignerError(`Signer ${pendingApproval.signer} not found in pending approvals`);\n }\n\n const transactionToSign =\n transaction.chainType === \"solana\" && \"transaction\" in transaction.onChain\n ? (transaction.onChain.transaction as string) // in Solana, the transaction is a string\n : pendingApproval.message;\n\n const signature = await signer.signTransaction(transactionToSign);\n return {\n ...signature,\n signer: signer.locator(),\n };\n })\n );\n\n return await this.executeApproveTransactionWithErrorHandling(transactionId, approvals);\n }\n\n private async executeApproveTransactionWithErrorHandling(transactionId: string, approvals: Approval[]) {\n walletsLogger.info(\"wallet.approve: submitting approval to API\", { transactionId });\n const approvedTransaction = await this.#apiClient.approveTransaction(this.walletLocator, transactionId, {\n approvals,\n });\n\n if (approvedTransaction.error) {\n throw new TransactionFailedError(JSON.stringify(approvedTransaction));\n }\n\n return approvedTransaction;\n }\n\n private async executeApproveSignatureWithErrorHandling(signatureId: string, approvals: Approval[]) {\n const approvedSignature = await this.#apiClient.approveSignature(this.walletLocator, signatureId, {\n approvals,\n });\n\n if (approvedSignature.error) {\n throw new SignatureFailedError(JSON.stringify(approvedSignature));\n }\n\n return approvedSignature;\n }\n\n protected async waitForSignature(signatureId: string): Promise<Signature<false>> {\n let signatureResponse: GetSignatureResponse | null = null;\n\n do {\n await new Promise((resolve) => setTimeout(resolve, STATUS_POLLING_INTERVAL_MS));\n signatureResponse = await this.#apiClient.getSignature(this.walletLocator, signatureId);\n if (\"error\" in signatureResponse) {\n throw new SignatureNotAvailableError(JSON.stringify(signatureResponse));\n }\n } while (signatureResponse === null || signatureResponse.status === \"pending\");\n\n if (signatureResponse.status === \"failed\") {\n throw new SigningFailedError(\"Signature signing failed\");\n }\n\n if (!signatureResponse.outputSignature) {\n throw new SignatureNotAvailableError(\"Signature not available\");\n }\n\n return {\n signature: signatureResponse.outputSignature,\n signatureId,\n };\n }\n\n protected async waitForTransaction(\n transactionId: string,\n timeoutMs = 60_000,\n {\n backoffMultiplier = 1.1,\n maxBackoffMs = 2_000,\n initialBackoffMs = STATUS_POLLING_INTERVAL_MS,\n }: {\n initialBackoffMs?: number;\n backoffMultiplier?: number;\n maxBackoffMs?: number;\n } = {}\n ): Promise<Transaction<false>> {\n walletsLogger.info(\"wallet.approve: waiting for transaction confirmation\", { transactionId, timeoutMs });\n const startTime = Date.now();\n let transactionResponse;\n\n do {\n if (Date.now() - startTime > timeoutMs) {\n const error = new TransactionConfirmationTimeoutError(\"Transaction confirmation timeout\");\n throw error;\n }\n\n transactionResponse = await this.#apiClient.getTransaction(this.walletLocator, transactionId);\n if (transactionResponse.error) {\n throw new TransactionNotAvailableError(JSON.stringify(transactionResponse));\n }\n // Wait for the polling interval\n await this.sleep(initialBackoffMs);\n initialBackoffMs = Math.min(initialBackoffMs * backoffMultiplier, maxBackoffMs);\n } while (transactionResponse.status === \"pending\");\n\n if (transactionResponse.status === \"failed\") {\n const error = new TransactionSendingFailedError(\n `Transaction sending failed: ${JSON.stringify(transactionResponse.error)}`\n );\n throw error;\n }\n\n if (transactionResponse.status === \"awaiting-approval\") {\n const error = new TransactionAwaitingApprovalError(\n `Transaction is awaiting approval. Please submit required approvals before waiting for completion.`\n );\n throw error;\n }\n\n const transactionHash = transactionResponse.onChain.txId;\n if (transactionHash == null) {\n const error = new TransactionHashNotFoundError(\"Transaction hash not found on transaction response\");\n throw error;\n }\n\n return {\n hash: transactionHash,\n explorerLink: transactionResponse.onChain.explorerLink ?? \"\",\n transactionId: transactionResponse.id,\n };\n }\n\n protected async sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n}\n\nfunction toRecipientLocator(to: string | UserLocator): string {\n if (typeof to === \"string\") {\n return to;\n }\n if (\"email\" in to) {\n return `email:${to.email}`;\n }\n if (\"x\" in to) {\n return `x:${to.x}`;\n }\n if (\"twitter\" in to) {\n return `twitter:${to.twitter}`;\n }\n if (\"phone\" in to) {\n return `phoneNumber:${to.phone}`;\n }\n if (\"userId\" in to) {\n return `userId:${to.userId}`;\n }\n throw new Error(\"Invalid recipient locator\");\n}\n\nfunction toTokenLocator(token: string, chain: string): string {\n if (isValidAddress(token)) {\n return `${chain}:${token}`;\n }\n // Otherwise, treat as currency symbol (lowercase)\n return `${chain}:${token.toLowerCase()}`;\n}\n"]}
@@ -1,22 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/chains/definitions/tempoTestnet.ts
2
- var _viem = require('viem');
3
- var tempoTestnet = _viem.defineChain.call(void 0, {
4
- id: 42431,
5
- name: "Tempo Testnet",
6
- nativeCurrency: void 0,
7
- rpcUrls: {
8
- default: { http: ["https://rpc.moderato.tempo.xyz"] }
9
- },
10
- blockExplorers: {
11
- default: {
12
- name: "Tempo Explorer",
13
- url: "https://explore.tempo.xyz"
14
- }
15
- },
16
- testnet: true
17
- });
18
-
19
-
20
-
21
- exports.tempoTestnet = tempoTestnet;
22
- //# sourceMappingURL=chunk-TXLF6BM6.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/chains/definitions/tempoTestnet.ts"],"names":[],"mappings":";AAAA,SAAS,mBAAmB;AAErB,IAAM,eAAe,YAAY;AAAA,EACpC,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,SAAS;AAAA,IACL,SAAS,EAAE,MAAM,CAAC,gCAAgC,EAAE;AAAA,EACxD;AAAA,EACA,gBAAgB;AAAA,IACZ,SAAS;AAAA,MACL,MAAM;AAAA,MACN,KAAK;AAAA,IACT;AAAA,EACJ;AAAA,EACA,SAAS;AACb,CAAC","sourcesContent":["import { defineChain } from \"viem\";\n\nexport const tempoTestnet = defineChain({\n id: 42431,\n name: \"Tempo Testnet\",\n nativeCurrency: undefined as never,\n rpcUrls: {\n default: { http: [\"https://rpc.moderato.tempo.xyz\"] },\n },\n blockExplorers: {\n default: {\n name: \"Tempo Explorer\",\n url: \"https://explore.tempo.xyz\",\n },\n },\n testnet: true,\n});\n"]}
@@ -1,324 +0,0 @@
1
- import {
2
- NcsIframeManager
3
- } from "./chunk-3PG4HRAS.js";
4
- import {
5
- AuthRejectedError
6
- } from "./chunk-3J2BNUTO.js";
7
- import {
8
- walletsLogger
9
- } from "./chunk-JXXXM7AV.js";
10
- import {
11
- __async,
12
- __decorateClass
13
- } from "./chunk-JF4JR5QQ.js";
14
-
15
- // src/signers/non-custodial/ncs-signer.ts
16
- import { validateAPIKey, WithLoggerContext } from "@crossmint/common-sdk-base";
17
- var NonCustodialSigner = class {
18
- constructor(config) {
19
- this.config = config;
20
- this._needsAuth = true;
21
- this._authPromise = null;
22
- this._initializationPromise = null;
23
- if (typeof window !== "undefined") {
24
- this.initialize();
25
- }
26
- this.type = this.config.type;
27
- }
28
- locator() {
29
- return this.config.locator;
30
- }
31
- address() {
32
- return this.config.address;
33
- }
34
- initialize() {
35
- return __async(this, null, function* () {
36
- if (this.config.clientTEEConnection == null) {
37
- const parsedAPIKey = validateAPIKey(this.config.crossmint.apiKey);
38
- if (!parsedAPIKey.isValid) {
39
- throw new Error("Invalid API key");
40
- }
41
- const iframeManager = new NcsIframeManager({
42
- environment: parsedAPIKey.environment
43
- });
44
- this.config.clientTEEConnection = yield iframeManager.initialize();
45
- }
46
- });
47
- }
48
- getTEEConnection() {
49
- return __async(this, null, function* () {
50
- if (this.config.clientTEEConnection == null) {
51
- if (this._initializationPromise) {
52
- yield this._initializationPromise;
53
- return this.config.clientTEEConnection;
54
- }
55
- this._initializationPromise = this.initializeTEEConnection();
56
- try {
57
- yield this._initializationPromise;
58
- } finally {
59
- this._initializationPromise = null;
60
- }
61
- }
62
- return this.config.clientTEEConnection;
63
- });
64
- }
65
- initializeTEEConnection() {
66
- return __async(this, null, function* () {
67
- walletsLogger.info("TEE connection not initialized, initializing now");
68
- const parsedAPIKey = validateAPIKey(this.config.crossmint.apiKey);
69
- if (!parsedAPIKey.isValid) {
70
- throw new Error("Invalid API key");
71
- }
72
- const iframeManager = new NcsIframeManager({
73
- environment: parsedAPIKey.environment
74
- });
75
- this.config.clientTEEConnection = yield iframeManager.initialize();
76
- if (this.config.clientTEEConnection == null) {
77
- throw new Error("Failed to initialize TEE connection");
78
- }
79
- walletsLogger.info("TEE connection initialized successfully");
80
- });
81
- }
82
- handleAuthRequired() {
83
- return __async(this, null, function* () {
84
- var _a, _b;
85
- const clientTEEConnection = yield this.getTEEConnection();
86
- if (this.config.onAuthRequired == null) {
87
- throw new Error(
88
- `${this.type} signer requires the onAuthRequired callback to handle OTP verification. This callback manages the authentication flow (sending OTP and verifying user input). If using our React/React Native SDK, this is handled automatically by the provider. For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`
89
- );
90
- }
91
- walletsLogger.info("get-status: sending request");
92
- const startTime = Date.now();
93
- const signerResponse = yield clientTEEConnection.sendAction({
94
- event: "request:get-status",
95
- responseEvent: "response:get-status",
96
- data: {
97
- authData: {
98
- jwt: (_b = (_a = this.config.crossmint.experimental_customAuth) == null ? void 0 : _a.jwt) != null ? _b : "",
99
- apiKey: this.config.crossmint.apiKey
100
- }
101
- },
102
- options: DEFAULT_EVENT_OPTIONS
103
- });
104
- const durationMs = Date.now() - startTime;
105
- if ((signerResponse == null ? void 0 : signerResponse.status) !== "success") {
106
- walletsLogger.error("get-status: failed", {
107
- status: signerResponse == null ? void 0 : signerResponse.status,
108
- error: signerResponse == null ? void 0 : signerResponse.error,
109
- durationMs
110
- });
111
- throw new Error(signerResponse == null ? void 0 : signerResponse.error);
112
- }
113
- walletsLogger.info("get-status: response received", {
114
- signerStatus: signerResponse.signerStatus,
115
- durationMs
116
- });
117
- if (signerResponse.signerStatus === "ready") {
118
- this._needsAuth = false;
119
- return;
120
- } else {
121
- this._needsAuth = true;
122
- }
123
- walletsLogger.info("Auth required, initiating OTP flow", { needsAuth: this._needsAuth });
124
- const { promise, resolve, reject } = this.createAuthPromise();
125
- this._authPromise = { promise, resolve, reject };
126
- if (this.config.onAuthRequired) {
127
- try {
128
- yield this.config.onAuthRequired(
129
- this._needsAuth,
130
- () => this.sendMessageWithOtp(),
131
- (otp) => this.verifyOtp(otp),
132
- () => __async(this, null, function* () {
133
- walletsLogger.info("Auth rejected", { authRejected: true });
134
- this._needsAuth = false;
135
- if (this.config.onAuthRequired != null) {
136
- yield this.config.onAuthRequired(
137
- this._needsAuth,
138
- () => this.sendMessageWithOtp(),
139
- (otp) => this.verifyOtp(otp),
140
- () => {
141
- var _a2;
142
- return (_a2 = this._authPromise) == null ? void 0 : _a2.reject(new AuthRejectedError());
143
- }
144
- );
145
- }
146
- reject(new AuthRejectedError());
147
- })
148
- );
149
- } catch (error) {
150
- walletsLogger.error("handleAuthRequired error", { error });
151
- reject(error);
152
- }
153
- }
154
- try {
155
- yield promise;
156
- } catch (error) {
157
- walletsLogger.error("handleAuthRequired promise error", { error });
158
- throw error;
159
- }
160
- });
161
- }
162
- ensureAuthenticated() {
163
- return __async(this, null, function* () {
164
- yield this.handleAuthRequired();
165
- });
166
- }
167
- getJwtOrThrow() {
168
- var _a;
169
- const jwt = (_a = this.config.crossmint.experimental_customAuth) == null ? void 0 : _a.jwt;
170
- if (jwt == null) {
171
- throw new Error("JWT is required");
172
- }
173
- return jwt;
174
- }
175
- createAuthPromise() {
176
- let resolvePromise;
177
- let rejectPromise;
178
- const promise = new Promise((resolve, reject) => {
179
- resolvePromise = resolve;
180
- rejectPromise = reject;
181
- });
182
- return { promise, resolve: resolvePromise, reject: rejectPromise };
183
- }
184
- sendMessageWithOtp() {
185
- return __async(this, null, function* () {
186
- var _a, _b, _c;
187
- const handshakeParent = yield this.getTEEConnection();
188
- const authId = this.getAuthId();
189
- walletsLogger.info("start-onboarding: sending request");
190
- const startTime = Date.now();
191
- const response = yield handshakeParent.sendAction({
192
- event: "request:start-onboarding",
193
- responseEvent: "response:start-onboarding",
194
- data: {
195
- authData: {
196
- jwt: (_b = (_a = this.config.crossmint.experimental_customAuth) == null ? void 0 : _a.jwt) != null ? _b : "",
197
- apiKey: this.config.crossmint.apiKey
198
- },
199
- data: { authId }
200
- },
201
- options: DEFAULT_EVENT_OPTIONS
202
- });
203
- const durationMs = Date.now() - startTime;
204
- walletsLogger.info("start-onboarding: response received", {
205
- status: response == null ? void 0 : response.status,
206
- durationMs
207
- });
208
- if ((response == null ? void 0 : response.status) === "success" && response.signerStatus === "ready") {
209
- this._needsAuth = false;
210
- return;
211
- }
212
- if ((response == null ? void 0 : response.status) === "error") {
213
- walletsLogger.error("start-onboarding: failed", { error: response.error });
214
- (_c = this._authPromise) == null ? void 0 : _c.reject(new Error(response.error || "Failed to initiate OTP process."));
215
- }
216
- });
217
- }
218
- getAuthId() {
219
- if (this.config.type === "email") {
220
- return `email:${this.config.email}`;
221
- }
222
- return `phone:${this.config.phone}`;
223
- }
224
- verifyOtp(encryptedOtp) {
225
- return __async(this, null, function* () {
226
- var _a, _b, _c, _d, _e;
227
- let response;
228
- try {
229
- const handshakeParent = yield this.getTEEConnection();
230
- walletsLogger.info("complete-onboarding: sending request");
231
- const startTime = Date.now();
232
- response = yield handshakeParent.sendAction({
233
- event: "request:complete-onboarding",
234
- responseEvent: "response:complete-onboarding",
235
- data: {
236
- authData: {
237
- jwt: (_b = (_a = this.config.crossmint.experimental_customAuth) == null ? void 0 : _a.jwt) != null ? _b : "",
238
- apiKey: this.config.crossmint.apiKey
239
- },
240
- data: {
241
- onboardingAuthentication: { encryptedOtp }
242
- }
243
- },
244
- options: DEFAULT_EVENT_OPTIONS
245
- });
246
- walletsLogger.info("complete-onboarding: response received", {
247
- status: response == null ? void 0 : response.status,
248
- durationMs: Date.now() - startTime
249
- });
250
- } catch (err) {
251
- walletsLogger.error("complete-onboarding: error", { error: err });
252
- this._needsAuth = true;
253
- (_c = this._authPromise) == null ? void 0 : _c.reject(err);
254
- throw err;
255
- }
256
- if ((response == null ? void 0 : response.status) === "success") {
257
- this._needsAuth = false;
258
- if (this.config.onAuthRequired != null) {
259
- yield this.config.onAuthRequired(
260
- this._needsAuth,
261
- () => this.sendMessageWithOtp(),
262
- (otp) => this.verifyOtp(otp),
263
- () => {
264
- var _a2;
265
- return (_a2 = this._authPromise) == null ? void 0 : _a2.reject(new AuthRejectedError());
266
- }
267
- );
268
- }
269
- (_d = this._authPromise) == null ? void 0 : _d.resolve();
270
- return;
271
- }
272
- walletsLogger.error("complete-onboarding: OTP validation failed", { status: response == null ? void 0 : response.status });
273
- this._needsAuth = true;
274
- const errorMessage = (response == null ? void 0 : response.status) === "error" ? response.error : "Failed to validate encrypted OTP";
275
- const error = new Error(errorMessage);
276
- (_e = this._authPromise) == null ? void 0 : _e.reject(error);
277
- throw error;
278
- });
279
- }
280
- /**
281
- * Export the private key for this signer
282
- * @throws {Error} If signer is not authenticated
283
- */
284
- _exportPrivateKey(exportTEEConnection) {
285
- return __async(this, null, function* () {
286
- yield this.handleAuthRequired();
287
- const jwt = this.getJwtOrThrow();
288
- const { scheme, encoding } = this.getChainKeyParams();
289
- const response = yield exportTEEConnection.sendAction({
290
- event: "request:export-signer",
291
- responseEvent: "response:export-signer",
292
- data: {
293
- authData: {
294
- jwt,
295
- apiKey: this.config.crossmint.apiKey
296
- },
297
- data: {
298
- scheme,
299
- encoding
300
- }
301
- },
302
- options: DEFAULT_EVENT_OPTIONS
303
- });
304
- if ((response == null ? void 0 : response.status) === "error") {
305
- throw new Error(response.error || "Failed to export private key");
306
- }
307
- });
308
- }
309
- };
310
- __decorateClass([
311
- WithLoggerContext({
312
- logger: walletsLogger,
313
- methodName: "handleAuthRequired"
314
- })
315
- ], NonCustodialSigner.prototype, "handleAuthRequired", 1);
316
- var DEFAULT_EVENT_OPTIONS = {
317
- timeoutMs: 3e4
318
- };
319
-
320
- export {
321
- NonCustodialSigner,
322
- DEFAULT_EVENT_OPTIONS
323
- };
324
- //# sourceMappingURL=chunk-UAFXNE4C.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/signers/non-custodial/ncs-signer.ts"],"sourcesContent":["import type {\n BaseSignResult,\n EmailInternalSignerConfig,\n ExportSignerTEEConnection,\n PhoneInternalSignerConfig,\n Signer,\n} from \"../types\";\nimport { AuthRejectedError } from \"../types\";\nimport { NcsIframeManager } from \"./ncs-iframe-manager\";\nimport { validateAPIKey, WithLoggerContext } from \"@crossmint/common-sdk-base\";\nimport type { SignerOutputEvent } from \"@crossmint/client-signers\";\nimport { walletsLogger } from \"../../logger\";\n\nexport abstract class NonCustodialSigner implements Signer {\n public readonly type: \"email\" | \"phone\";\n private _needsAuth = true;\n private _authPromise: {\n promise: Promise<void>;\n resolve: () => void;\n reject: (error: Error) => void;\n } | null = null;\n private _initializationPromise: Promise<void> | null = null;\n\n constructor(protected config: EmailInternalSignerConfig | PhoneInternalSignerConfig) {\n // Only initialize the signer if running client-side\n if (typeof window !== \"undefined\") {\n this.initialize();\n }\n this.type = this.config.type;\n }\n\n locator() {\n return this.config.locator;\n }\n\n address() {\n return this.config.address;\n }\n\n abstract signMessage(message: string): Promise<BaseSignResult>;\n\n private async initialize() {\n // Initialize iframe if no custom handshake parent is provided\n if (this.config.clientTEEConnection == null) {\n const parsedAPIKey = validateAPIKey(this.config.crossmint.apiKey);\n if (!parsedAPIKey.isValid) {\n throw new Error(\"Invalid API key\");\n }\n const iframeManager = new NcsIframeManager({\n environment: parsedAPIKey.environment,\n });\n this.config.clientTEEConnection = await iframeManager.initialize();\n }\n }\n\n abstract signTransaction(transaction: string): Promise<{ signature: string }>;\n\n private async getTEEConnection() {\n if (this.config.clientTEEConnection == null) {\n // If there's already an initialization in progress, wait for it\n if (this._initializationPromise) {\n await this._initializationPromise;\n return this.config.clientTEEConnection!;\n }\n\n // Start initialization and store the promise to prevent concurrent initializations\n this._initializationPromise = this.initializeTEEConnection();\n\n try {\n await this._initializationPromise;\n } finally {\n // Clear the promise after completion (success or failure)\n this._initializationPromise = null;\n }\n }\n\n return this.config.clientTEEConnection!;\n }\n\n private async initializeTEEConnection(): Promise<void> {\n walletsLogger.info(\"TEE connection not initialized, initializing now\");\n\n const parsedAPIKey = validateAPIKey(this.config.crossmint.apiKey);\n if (!parsedAPIKey.isValid) {\n throw new Error(\"Invalid API key\");\n }\n const iframeManager = new NcsIframeManager({\n environment: parsedAPIKey.environment,\n });\n this.config.clientTEEConnection = await iframeManager.initialize();\n\n if (this.config.clientTEEConnection == null) {\n throw new Error(\"Failed to initialize TEE connection\");\n }\n\n walletsLogger.info(\"TEE connection initialized successfully\");\n }\n\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"handleAuthRequired\",\n })\n protected async handleAuthRequired() {\n const clientTEEConnection = await this.getTEEConnection();\n\n if (this.config.onAuthRequired == null) {\n throw new Error(\n `${this.type} signer requires the onAuthRequired callback to handle OTP verification. ` +\n `This callback manages the authentication flow (sending OTP and verifying user input). ` +\n `If using our React/React Native SDK, this is handled automatically by the provider. ` +\n `For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`\n );\n }\n\n // Determine if we need to authenticate the user via OTP or not\n walletsLogger.info(\"get-status: sending request\");\n const startTime = Date.now();\n const signerResponse = await clientTEEConnection.sendAction({\n event: \"request:get-status\",\n responseEvent: \"response:get-status\",\n data: {\n authData: {\n jwt: this.config.crossmint.experimental_customAuth?.jwt ?? \"\",\n apiKey: this.config.crossmint.apiKey,\n },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n const durationMs = Date.now() - startTime;\n\n if (signerResponse?.status !== \"success\") {\n walletsLogger.error(\"get-status: failed\", {\n status: signerResponse?.status,\n error: signerResponse?.error,\n durationMs,\n });\n throw new Error(signerResponse?.error);\n }\n\n walletsLogger.info(\"get-status: response received\", {\n signerStatus: signerResponse.signerStatus,\n durationMs,\n });\n\n if (signerResponse.signerStatus === \"ready\") {\n this._needsAuth = false;\n return;\n } else {\n this._needsAuth = true;\n }\n\n walletsLogger.info(\"Auth required, initiating OTP flow\", { needsAuth: this._needsAuth });\n\n const { promise, resolve, reject } = this.createAuthPromise();\n this._authPromise = { promise, resolve, reject };\n\n if (this.config.onAuthRequired) {\n try {\n await this.config.onAuthRequired(\n this._needsAuth,\n () => this.sendMessageWithOtp(),\n (otp) => this.verifyOtp(otp),\n async () => {\n walletsLogger.info(\"Auth rejected\", { authRejected: true });\n this._needsAuth = false;\n // We call onAuthRequired again so the needsAuth state is updated for the dev\n if (this.config.onAuthRequired != null) {\n await this.config.onAuthRequired(\n this._needsAuth,\n () => this.sendMessageWithOtp(),\n (otp) => this.verifyOtp(otp),\n () => this._authPromise?.reject(new AuthRejectedError())\n );\n }\n reject(new AuthRejectedError());\n }\n );\n } catch (error) {\n walletsLogger.error(\"handleAuthRequired error\", { error });\n reject(error as Error);\n }\n }\n\n try {\n await promise;\n } catch (error) {\n walletsLogger.error(\"handleAuthRequired promise error\", { error });\n throw error;\n }\n }\n\n public async ensureAuthenticated(): Promise<void> {\n await this.handleAuthRequired();\n }\n\n protected getJwtOrThrow() {\n const jwt = this.config.crossmint.experimental_customAuth?.jwt;\n if (jwt == null) {\n throw new Error(\"JWT is required\");\n }\n return jwt;\n }\n\n private createAuthPromise(): {\n promise: Promise<void>;\n resolve: () => void;\n reject: (error: Error) => void;\n } {\n let resolvePromise!: () => void;\n let rejectPromise!: (error: Error) => void;\n\n const promise = new Promise<void>((resolve, reject) => {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n\n return { promise, resolve: resolvePromise, reject: rejectPromise };\n }\n\n private async sendMessageWithOtp() {\n const handshakeParent = await this.getTEEConnection();\n const authId = this.getAuthId();\n walletsLogger.info(\"start-onboarding: sending request\");\n const startTime = Date.now();\n const response = await handshakeParent.sendAction({\n event: \"request:start-onboarding\",\n responseEvent: \"response:start-onboarding\",\n data: {\n authData: {\n jwt: this.config.crossmint.experimental_customAuth?.jwt ?? \"\",\n apiKey: this.config.crossmint.apiKey,\n },\n data: { authId },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n const durationMs = Date.now() - startTime;\n walletsLogger.info(\"start-onboarding: response received\", {\n status: response?.status,\n durationMs,\n });\n\n if (response?.status === \"success\" && response.signerStatus === \"ready\") {\n this._needsAuth = false;\n return;\n }\n\n if (response?.status === \"error\") {\n walletsLogger.error(\"start-onboarding: failed\", { error: response.error });\n this._authPromise?.reject(new Error(response.error || \"Failed to initiate OTP process.\"));\n }\n }\n\n private getAuthId() {\n if (this.config.type === \"email\") {\n return `email:${this.config.email}`;\n }\n return `phone:${this.config.phone}`;\n }\n\n private async verifyOtp(encryptedOtp: string) {\n let response: SignerOutputEvent<\"complete-onboarding\">;\n try {\n const handshakeParent = await this.getTEEConnection();\n walletsLogger.info(\"complete-onboarding: sending request\");\n const startTime = Date.now();\n response = await handshakeParent.sendAction({\n event: \"request:complete-onboarding\",\n responseEvent: \"response:complete-onboarding\",\n data: {\n authData: {\n jwt: this.config.crossmint.experimental_customAuth?.jwt ?? \"\",\n apiKey: this.config.crossmint.apiKey,\n },\n data: {\n onboardingAuthentication: { encryptedOtp },\n },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n walletsLogger.info(\"complete-onboarding: response received\", {\n status: response?.status,\n durationMs: Date.now() - startTime,\n });\n } catch (err) {\n walletsLogger.error(\"complete-onboarding: error\", { error: err });\n this._needsAuth = true;\n this._authPromise?.reject(err as Error);\n throw err;\n }\n\n if (response?.status === \"success\") {\n this._needsAuth = false;\n // We call onAuthRequired again so the needsAuth state is updated for the dev\n if (this.config.onAuthRequired != null) {\n await this.config.onAuthRequired(\n this._needsAuth,\n () => this.sendMessageWithOtp(),\n (otp) => this.verifyOtp(otp),\n () => this._authPromise?.reject(new AuthRejectedError())\n );\n }\n this._authPromise?.resolve();\n return;\n }\n\n walletsLogger.error(\"complete-onboarding: OTP validation failed\", { status: response?.status });\n this._needsAuth = true;\n const errorMessage = response?.status === \"error\" ? response.error : \"Failed to validate encrypted OTP\";\n const error = new Error(errorMessage);\n this._authPromise?.reject(error);\n throw error;\n }\n\n /**\n * Export the private key for this signer\n * @throws {Error} If signer is not authenticated\n */\n async _exportPrivateKey(exportTEEConnection: ExportSignerTEEConnection): Promise<void> {\n await this.handleAuthRequired();\n const jwt = this.getJwtOrThrow();\n\n const { scheme, encoding } = this.getChainKeyParams();\n\n const response = await exportTEEConnection.sendAction({\n event: \"request:export-signer\",\n responseEvent: \"response:export-signer\",\n data: {\n authData: {\n jwt,\n apiKey: this.config.crossmint.apiKey,\n },\n data: {\n scheme,\n encoding,\n },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n\n if (response?.status === \"error\") {\n throw new Error(response.error || \"Failed to export private key\");\n }\n }\n\n /**\n * Get the appropriate scheme and encoding based on the chain\n * Must be implemented by concrete classes\n */\n protected abstract getChainKeyParams(): {\n scheme: \"secp256k1\" | \"ed25519\";\n encoding: \"base58\" | \"hex\" | \"strkey\";\n };\n}\n\nexport const DEFAULT_EVENT_OPTIONS = {\n timeoutMs: 30_000,\n};\n"],"mappings":"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","names":["_a"]}
@@ -1 +0,0 @@
1
- "use strict";//# sourceMappingURL=chunk-UBZ7RWBZ.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- "use strict";//# sourceMappingURL=chunk-UDLDOYUB.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,59 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkW5LNQWQDcjs = require('./chunk-W5LNQWQD.cjs');
4
-
5
-
6
- var _chunkKXXRVRR6cjs = require('./chunk-KXXRVRR6.cjs');
7
-
8
-
9
- var _chunkRPLIXWF3cjs = require('./chunk-RPLIXWF3.cjs');
10
-
11
-
12
- var _chunk6DPHKKVRcjs = require('./chunk-6DPHKKVR.cjs');
13
-
14
-
15
- var _chunkNAGMAP3Ycjs = require('./chunk-NAGMAP3Y.cjs');
16
-
17
-
18
- var _chunk6PIQDY3Fcjs = require('./chunk-6PIQDY3F.cjs');
19
-
20
-
21
- var _chunkGGMUF77Ncjs = require('./chunk-GGMUF77N.cjs');
22
-
23
-
24
- var _chunkCLVXR2JVcjs = require('./chunk-CLVXR2JV.cjs');
25
-
26
-
27
- var _chunkRJ3VNO74cjs = require('./chunk-RJ3VNO74.cjs');
28
-
29
- // src/signers/index.ts
30
- function assembleSigner(chain, config) {
31
- switch (config.type) {
32
- case "email":
33
- case "phone":
34
- if (chain === "solana") {
35
- return new (0, _chunkW5LNQWQDcjs.SolanaNonCustodialSigner)(config);
36
- }
37
- if (chain === "stellar") {
38
- return new (0, _chunkKXXRVRR6cjs.StellarNonCustodialSigner)(config);
39
- }
40
- return new (0, _chunkRPLIXWF3cjs.EVMNonCustodialSigner)(config);
41
- case "api-key":
42
- return chain === "solana" ? new (0, _chunkGGMUF77Ncjs.SolanaApiKeySigner)(config) : new (0, _chunk6DPHKKVRcjs.EVMApiKeySigner)(config);
43
- case "external-wallet":
44
- if (chain === "solana") {
45
- return new (0, _chunkCLVXR2JVcjs.SolanaExternalWalletSigner)(config);
46
- }
47
- if (chain === "stellar") {
48
- return new (0, _chunkRJ3VNO74cjs.StellarExternalWalletSigner)(config);
49
- }
50
- return new (0, _chunkNAGMAP3Ycjs.EVMExternalWalletSigner)(config);
51
- case "passkey":
52
- return new (0, _chunk6PIQDY3Fcjs.PasskeySigner)(config);
53
- }
54
- }
55
-
56
-
57
-
58
- exports.assembleSigner = assembleSigner;
59
- //# sourceMappingURL=chunk-V5HHKVTT.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/signers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,SAAS,eAAgC,OAAU,QAAyC;AAC/F,UAAQ,OAAO,MAAM;AAAA,IACjB,KAAK;AAAA,IACL,KAAK;AACD,UAAI,UAAU,UAAU;AACpB,eAAO,IAAI,yBAAyB,MAAM;AAAA,MAC9C;AACA,UAAI,UAAU,WAAW;AACrB,eAAO,IAAI,0BAA0B,MAAM;AAAA,MAC/C;AACA,aAAO,IAAI,sBAAsB,MAAM;AAAA,IAC3C,KAAK;AACD,aAAO,UAAU,WAAW,IAAI,mBAAmB,MAAM,IAAI,IAAI,gBAAgB,MAAM;AAAA,IAE3F,KAAK;AACD,UAAI,UAAU,UAAU;AACpB,eAAO,IAAI,2BAA2B,MAAM;AAAA,MAChD;AACA,UAAI,UAAU,WAAW;AACrB,eAAO,IAAI,4BAA4B,MAAM;AAAA,MACjD;AACA,aAAO,IAAI,wBAAwB,MAAM;AAAA,IAE7C,KAAK;AACD,aAAO,IAAI,cAAc,MAAM;AAAA,EACvC;AACJ","sourcesContent":["import { EVMNonCustodialSigner, SolanaNonCustodialSigner, StellarNonCustodialSigner } from \"./non-custodial\";\nimport { SolanaExternalWalletSigner } from \"./solana-external-wallet\";\nimport { EVMExternalWalletSigner } from \"./evm-external-wallet\";\nimport { PasskeySigner } from \"./passkey\";\nimport { EVMApiKeySigner } from \"./evm-api-key\";\nimport { SolanaApiKeySigner } from \"./solana-api-key\";\nimport type { Chain } from \"../chains/chains\";\nimport type { InternalSignerConfig, Signer } from \"./types\";\nimport { StellarExternalWalletSigner } from \"./stellar-external-wallet\";\n\nexport function assembleSigner<C extends Chain>(chain: C, config: InternalSignerConfig<C>): Signer {\n switch (config.type) {\n case \"email\":\n case \"phone\":\n if (chain === \"solana\") {\n return new SolanaNonCustodialSigner(config);\n }\n if (chain === \"stellar\") {\n return new StellarNonCustodialSigner(config);\n }\n return new EVMNonCustodialSigner(config);\n case \"api-key\":\n return chain === \"solana\" ? new SolanaApiKeySigner(config) : new EVMApiKeySigner(config);\n\n case \"external-wallet\":\n if (chain === \"solana\") {\n return new SolanaExternalWalletSigner(config);\n }\n if (chain === \"stellar\") {\n return new StellarExternalWalletSigner(config);\n }\n return new EVMExternalWalletSigner(config);\n\n case \"passkey\":\n return new PasskeySigner(config);\n }\n}\n"]}