@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,337 +0,0 @@
1
- import {
2
- compareSignerConfigs,
3
- normalizeValueForComparison
4
- } from "./chunk-4AV3GY27.js";
5
- import {
6
- Wallet
7
- } from "./chunk-J6AO2ZDU.js";
8
- import {
9
- assembleSigner
10
- } from "./chunk-RUUBB4EB.js";
11
- import {
12
- validateChainForEnvironment
13
- } from "./chunk-GNU6RIKU.js";
14
- import {
15
- WalletCreationError,
16
- WalletNotAvailableError
17
- } from "./chunk-36C7SCPK.js";
18
- import {
19
- walletsLogger
20
- } from "./chunk-JXXXM7AV.js";
21
- import {
22
- __async,
23
- __decorateClass,
24
- __spreadProps,
25
- __spreadValues
26
- } from "./chunk-JF4JR5QQ.js";
27
-
28
- // src/wallets/wallet-factory.ts
29
- import { WithLoggerContext } from "@crossmint/common-sdk-base";
30
- import { WebAuthnP256 } from "ox";
31
- var DELEGATED_SIGNER_MISMATCH_ERROR = "When 'delegatedSigners' is provided to a method that may fetch an existing wallet, each specified delegated signer must exist in that wallet's configuration.";
32
- var WalletFactory = class {
33
- constructor(apiClient) {
34
- this.apiClient = apiClient;
35
- }
36
- getOrCreateWallet(args) {
37
- return __async(this, null, function* () {
38
- if (this.apiClient.isServerSide) {
39
- walletsLogger.error("walletFactory.getOrCreateWallet.error", {
40
- error: "getOrCreateWallet can only be called from client-side code"
41
- });
42
- throw new WalletCreationError(
43
- "getOrCreateWallet can only be called from client-side code.\n- Make sure you're running this in the browser (or another client environment), not on your server.\n- Use your Crossmint Client API Key (not a server key)."
44
- );
45
- }
46
- args = __spreadProps(__spreadValues({}, args), { chain: validateChainForEnvironment(args.chain, this.apiClient.environment) });
47
- const locator = this.getWalletLocator(args);
48
- walletsLogger.info("walletFactory.getOrCreateWallet.start");
49
- const existingWallet = yield this.apiClient.getWallet(locator);
50
- if (existingWallet != null && !("error" in existingWallet)) {
51
- walletsLogger.info("walletFactory.getOrCreateWallet.existing", {
52
- address: existingWallet.address
53
- });
54
- return this.createWalletInstance(existingWallet, args);
55
- }
56
- walletsLogger.info("walletFactory.getOrCreateWallet.creating");
57
- return this.createWalletInternal(args);
58
- });
59
- }
60
- getWallet(walletLocator, args) {
61
- return __async(this, null, function* () {
62
- if (!this.apiClient.isServerSide) {
63
- walletsLogger.error("walletFactory.getWallet.error", {
64
- error: "getWallet is not supported on client side"
65
- });
66
- throw new WalletCreationError("getWallet is not supported on client side, use getOrCreateWallet instead");
67
- }
68
- args = __spreadProps(__spreadValues({}, args), { chain: validateChainForEnvironment(args.chain, this.apiClient.environment) });
69
- walletsLogger.info("walletFactory.getWallet.start");
70
- const existingWallet = yield this.apiClient.getWallet(walletLocator);
71
- if ("error" in existingWallet) {
72
- walletsLogger.warn("walletFactory.getWallet.notFound", {
73
- error: existingWallet.error
74
- });
75
- throw new WalletNotAvailableError(JSON.stringify(existingWallet));
76
- }
77
- walletsLogger.info("walletFactory.getWallet.success", {
78
- address: existingWallet.address
79
- });
80
- return this.createWalletInstance(existingWallet, args);
81
- });
82
- }
83
- createWallet(args) {
84
- return __async(this, null, function* () {
85
- args = __spreadProps(__spreadValues({}, args), { chain: validateChainForEnvironment(args.chain, this.apiClient.environment) });
86
- return this.createWalletInternal(args);
87
- });
88
- }
89
- createWalletInternal(args) {
90
- return __async(this, null, function* () {
91
- var _a, _b, _c, _d, _e;
92
- yield (_c = (_b = (_a = args.options) == null ? void 0 : _a.experimental_callbacks) == null ? void 0 : _b.onWalletCreationStart) == null ? void 0 : _c.call(_b);
93
- walletsLogger.info("walletFactory.createWallet.start");
94
- this.mutateSignerFromCustomAuth(args, true);
95
- const adminSigner = args.signer.type === "passkey" ? yield this.createPasskeyAdminSigner(args.signer) : args.signer;
96
- const walletResponse = yield this.apiClient.createWallet({
97
- type: "smart",
98
- chainType: this.getChainType(args.chain),
99
- config: __spreadValues(__spreadValues({
100
- adminSigner
101
- }, (args == null ? void 0 : args.plugins) ? { plugins: args.plugins } : {}), args.delegatedSigners != null ? { delegatedSigners: args.delegatedSigners } : {}),
102
- owner: (_d = args.owner) != null ? _d : void 0,
103
- alias: (_e = args.alias) != null ? _e : void 0
104
- });
105
- if ("error" in walletResponse) {
106
- walletsLogger.error("walletFactory.createWallet.error", {
107
- error: walletResponse.error
108
- });
109
- throw new WalletCreationError(JSON.stringify(walletResponse));
110
- }
111
- walletsLogger.info("walletFactory.createWallet.success", {
112
- address: walletResponse.address
113
- });
114
- return this.createWalletInstance(walletResponse, args);
115
- });
116
- }
117
- createWalletInstance(walletResponse, args) {
118
- this.validateExistingWalletConfig(walletResponse, args);
119
- const signerConfig = this.toInternalSignerConfig(walletResponse, args.signer, args.options);
120
- return new Wallet(
121
- {
122
- chain: args.chain,
123
- address: walletResponse.address,
124
- owner: walletResponse.owner,
125
- signer: assembleSigner(args.chain, signerConfig),
126
- options: args.options,
127
- alias: args.alias
128
- },
129
- this.apiClient
130
- );
131
- }
132
- toInternalSignerConfig(walletResponse, signerArgs, options) {
133
- var _a, _b, _c, _d, _e, _f;
134
- if (!(walletResponse.chainType === "evm" || walletResponse.chainType === "solana" || walletResponse.chainType === "stellar")) {
135
- throw new WalletCreationError(`Wallet type ${walletResponse.chainType} is not supported`);
136
- }
137
- if (signerArgs == null && ((_a = walletResponse.config) == null ? void 0 : _a.adminSigner) == null) {
138
- throw new WalletCreationError("Signer is required to create a wallet");
139
- }
140
- switch (signerArgs.type) {
141
- case "api-key": {
142
- if (((_b = walletResponse.config) == null ? void 0 : _b.adminSigner.type) !== "api-key") {
143
- throw new WalletCreationError("API key signer does not match the wallet's signer type");
144
- }
145
- return {
146
- type: "api-key",
147
- address: walletResponse.config.adminSigner.address,
148
- locator: walletResponse.config.adminSigner.locator
149
- };
150
- }
151
- case "external-wallet":
152
- if (((_c = walletResponse.config) == null ? void 0 : _c.adminSigner.type) !== "external-wallet") {
153
- throw new WalletCreationError("External wallet signer does not match the wallet's signer type");
154
- }
155
- return __spreadValues(__spreadValues({}, walletResponse.config.adminSigner), signerArgs);
156
- case "passkey":
157
- if (((_d = walletResponse.config) == null ? void 0 : _d.adminSigner.type) !== "passkey") {
158
- throw new WalletCreationError("Passkey signer does not match the wallet's signer type");
159
- }
160
- return {
161
- type: "passkey",
162
- id: walletResponse.config.adminSigner.id,
163
- name: walletResponse.config.adminSigner.name,
164
- locator: walletResponse.config.adminSigner.locator,
165
- onCreatePasskey: signerArgs.onCreatePasskey,
166
- onSignWithPasskey: signerArgs.onSignWithPasskey
167
- };
168
- case "email": {
169
- if (((_e = walletResponse.config) == null ? void 0 : _e.adminSigner.type) !== "email") {
170
- throw new WalletCreationError("Email signer does not match the wallet's signer type");
171
- }
172
- const { locator, email, address } = walletResponse.config.adminSigner;
173
- return {
174
- type: "email",
175
- email,
176
- locator,
177
- address,
178
- crossmint: this.apiClient.crossmint,
179
- onAuthRequired: signerArgs.onAuthRequired,
180
- clientTEEConnection: options == null ? void 0 : options.clientTEEConnection
181
- };
182
- }
183
- case "phone": {
184
- if (((_f = walletResponse.config) == null ? void 0 : _f.adminSigner.type) !== "phone") {
185
- throw new WalletCreationError("Phone signer does not match the wallet's signer type");
186
- }
187
- const { locator, phone, address } = walletResponse.config.adminSigner;
188
- return {
189
- type: "phone",
190
- phone,
191
- locator,
192
- address,
193
- crossmint: this.apiClient.crossmint,
194
- onAuthRequired: signerArgs.onAuthRequired,
195
- clientTEEConnection: options == null ? void 0 : options.clientTEEConnection
196
- };
197
- }
198
- default:
199
- throw new Error("Invalid signer type");
200
- }
201
- }
202
- getWalletLocator(args) {
203
- return `me:${this.getChainType(args.chain)}:smart` + (args.alias != null ? `:alias:${args.alias}` : "");
204
- }
205
- createPasskeyAdminSigner(signer) {
206
- return __async(this, null, function* () {
207
- var _a;
208
- if (signer.type !== "passkey") {
209
- throw new Error("Signer is not a passkey");
210
- }
211
- const passkeyName = (_a = signer.name) != null ? _a : `Crossmint Wallet ${Date.now()}`;
212
- const passkeyCredential = signer.onCreatePasskey ? yield signer.onCreatePasskey(passkeyName) : yield WebAuthnP256.createCredential({ name: passkeyName });
213
- return {
214
- type: "passkey",
215
- id: passkeyCredential.id,
216
- name: passkeyName,
217
- publicKey: {
218
- x: passkeyCredential.publicKey.x.toString(),
219
- y: passkeyCredential.publicKey.y.toString()
220
- }
221
- };
222
- });
223
- }
224
- mutateSignerFromCustomAuth(args, isNewWalletSigner = false) {
225
- var _a, _b;
226
- const { experimental_customAuth } = this.apiClient.crossmint;
227
- if (args.signer.type === "email" && (experimental_customAuth == null ? void 0 : experimental_customAuth.email) != null) {
228
- args.signer.email = (_a = args.signer.email) != null ? _a : experimental_customAuth.email;
229
- }
230
- if (args.signer.type === "phone" && (experimental_customAuth == null ? void 0 : experimental_customAuth.phone) != null) {
231
- args.signer.phone = (_b = args.signer.phone) != null ? _b : experimental_customAuth.phone;
232
- }
233
- if (args.signer.type === "external-wallet" && (experimental_customAuth == null ? void 0 : experimental_customAuth.externalWalletSigner) != null) {
234
- args.signer = isNewWalletSigner ? {
235
- type: "external-wallet",
236
- address: experimental_customAuth.externalWalletSigner.address
237
- } : experimental_customAuth.externalWalletSigner;
238
- }
239
- return;
240
- }
241
- validateExistingWalletConfig(existingWallet, args) {
242
- var _a;
243
- this.mutateSignerFromCustomAuth(args);
244
- if (args.owner != null && existingWallet.owner != null && normalizeValueForComparison(args.owner) !== normalizeValueForComparison(existingWallet.owner)) {
245
- throw new WalletCreationError("Wallet owner does not match existing wallet's linked user");
246
- }
247
- if (args.chain === "solana" && existingWallet.chainType !== "solana" || args.chain !== "solana" && existingWallet.chainType === "solana" || args.chain === "stellar" && existingWallet.chainType !== "stellar" || args.chain !== "stellar" && existingWallet.chainType === "stellar") {
248
- throw new WalletCreationError(
249
- `Wallet chain does not match existing wallet's chain. You must use chain: ${existingWallet.chainType}.`
250
- );
251
- }
252
- if (existingWallet.type !== "smart") {
253
- return;
254
- }
255
- const adminSignerArgs = args.signer;
256
- const existingWalletSigner = (_a = existingWallet == null ? void 0 : existingWallet.config) == null ? void 0 : _a.adminSigner;
257
- if (adminSignerArgs != null && existingWalletSigner != null) {
258
- if (adminSignerArgs.type !== existingWalletSigner.type) {
259
- throw new WalletCreationError(
260
- "The wallet signer type provided in the wallet config does not match the existing wallet's adminSigner type"
261
- );
262
- }
263
- compareSignerConfigs(adminSignerArgs, existingWalletSigner);
264
- }
265
- if (args.delegatedSigners != null) {
266
- this.validateDelegatedSigners(existingWallet, args.delegatedSigners);
267
- }
268
- }
269
- validateDelegatedSigners(existingWallet, inputDelegatedSigners) {
270
- var _a;
271
- const existingDelegatedSigners = (_a = existingWallet == null ? void 0 : existingWallet.config) == null ? void 0 : _a.delegatedSigners;
272
- if (inputDelegatedSigners.length === 0) {
273
- return;
274
- }
275
- if (existingDelegatedSigners == null || existingDelegatedSigners.length === 0) {
276
- throw new WalletCreationError(
277
- `${inputDelegatedSigners.length} delegated signer(s) specified, but wallet "${existingWallet.address}" has no delegated signers. ${DELEGATED_SIGNER_MISMATCH_ERROR}`
278
- );
279
- }
280
- for (const argSigner of inputDelegatedSigners) {
281
- const matchingExistingSigner = existingDelegatedSigners.find(
282
- (existingSigner) => existingSigner.locator === argSigner.signer
283
- );
284
- if (matchingExistingSigner == null) {
285
- const walletSigners = existingDelegatedSigners.map((s) => s.locator).join(", ");
286
- throw new WalletCreationError(
287
- `Delegated signer '${argSigner.signer}' does not exist in wallet "${existingWallet.address}". Available delegated signers: ${walletSigners}. ${DELEGATED_SIGNER_MISMATCH_ERROR}`
288
- );
289
- }
290
- }
291
- }
292
- getChainType(chain) {
293
- if (chain === "solana") {
294
- return "solana";
295
- }
296
- if (chain === "stellar") {
297
- return "stellar";
298
- }
299
- return "evm";
300
- }
301
- };
302
- __decorateClass([
303
- WithLoggerContext({
304
- logger: walletsLogger,
305
- methodName: "walletFactory.getOrCreateWallet",
306
- buildContext(_thisArg, args) {
307
- const walletArgs = args[0];
308
- return { chain: walletArgs.chain, signerType: walletArgs.signer.type };
309
- }
310
- })
311
- ], WalletFactory.prototype, "getOrCreateWallet", 1);
312
- __decorateClass([
313
- WithLoggerContext({
314
- logger: walletsLogger,
315
- methodName: "walletFactory.getWallet",
316
- buildContext(_thisArg, args) {
317
- const walletLocator = args[0];
318
- const walletArgs = args[1];
319
- return { walletLocator, chain: walletArgs.chain };
320
- }
321
- })
322
- ], WalletFactory.prototype, "getWallet", 1);
323
- __decorateClass([
324
- WithLoggerContext({
325
- logger: walletsLogger,
326
- methodName: "walletFactory.createWallet",
327
- buildContext(_thisArg, args) {
328
- const walletArgs = args[0];
329
- return { chain: walletArgs.chain, signerType: walletArgs.signer.type };
330
- }
331
- })
332
- ], WalletFactory.prototype, "createWallet", 1);
333
-
334
- export {
335
- WalletFactory
336
- };
337
- //# sourceMappingURL=chunk-VIL33DEX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/wallets/wallet-factory.ts"],"sourcesContent":["import { WithLoggerContext } from \"@crossmint/common-sdk-base\";\nimport { WebAuthnP256 } from \"ox\";\nimport { walletsLogger } from \"../logger\";\n\nimport type {\n AdminSignerConfig,\n ApiClient,\n CreateWalletParams,\n GetWalletSuccessResponse,\n RegisterSignerPasskeyParams,\n DelegatedSigner as DelegatedSignerResponse,\n} from \"../api\";\nimport { WalletCreationError, WalletNotAvailableError } from \"../utils/errors\";\nimport { type Chain, validateChainForEnvironment } from \"../chains/chains\";\nimport type { InternalSignerConfig, SignerConfigForChain } from \"../signers/types\";\nimport { Wallet } from \"./wallet\";\nimport { assembleSigner } from \"../signers\";\nimport type { DelegatedSigner, WalletArgsFor, WalletOptions } from \"./types\";\nimport { compareSignerConfigs, normalizeValueForComparison } from \"../utils/signer-validation\";\n\nconst DELEGATED_SIGNER_MISMATCH_ERROR =\n \"When 'delegatedSigners' is provided to a method that may fetch an existing wallet, each specified delegated signer must exist in that wallet's configuration.\";\n\nexport class WalletFactory {\n constructor(private readonly apiClient: ApiClient) {}\n\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"walletFactory.getOrCreateWallet\",\n buildContext(_thisArg: WalletFactory, args: unknown[]) {\n const walletArgs = args[0] as WalletArgsFor<Chain>;\n return { chain: walletArgs.chain, signerType: walletArgs.signer.type };\n },\n })\n public async getOrCreateWallet<C extends Chain>(args: WalletArgsFor<C>): Promise<Wallet<C>> {\n if (this.apiClient.isServerSide) {\n walletsLogger.error(\"walletFactory.getOrCreateWallet.error\", {\n error: \"getOrCreateWallet can only be called from client-side code\",\n });\n throw new WalletCreationError(\n \"getOrCreateWallet can only be called from client-side code.\\n- Make sure you're running this in the browser (or another client environment), not on your server.\\n- Use your Crossmint Client API Key (not a server key).\"\n );\n }\n\n args = { ...args, chain: validateChainForEnvironment(args.chain, this.apiClient.environment) };\n\n const locator = this.getWalletLocator<C>(args);\n walletsLogger.info(\"walletFactory.getOrCreateWallet.start\");\n\n const existingWallet = await this.apiClient.getWallet(locator);\n\n if (existingWallet != null && !(\"error\" in existingWallet)) {\n walletsLogger.info(\"walletFactory.getOrCreateWallet.existing\", {\n address: existingWallet.address,\n });\n return this.createWalletInstance(existingWallet, args);\n }\n\n walletsLogger.info(\"walletFactory.getOrCreateWallet.creating\");\n return this.createWalletInternal(args);\n }\n\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"walletFactory.getWallet\",\n buildContext(_thisArg: WalletFactory, args: unknown[]) {\n const walletLocator = args[0] as string;\n const walletArgs = args[1] as WalletArgsFor<Chain>;\n return { walletLocator, chain: walletArgs.chain };\n },\n })\n public async getWallet<C extends Chain>(walletLocator: string, args: WalletArgsFor<C>): Promise<Wallet<C>> {\n if (!this.apiClient.isServerSide) {\n walletsLogger.error(\"walletFactory.getWallet.error\", {\n error: \"getWallet is not supported on client side\",\n });\n throw new WalletCreationError(\"getWallet is not supported on client side, use getOrCreateWallet instead\");\n }\n\n args = { ...args, chain: validateChainForEnvironment(args.chain, this.apiClient.environment) };\n\n walletsLogger.info(\"walletFactory.getWallet.start\");\n\n const existingWallet = await this.apiClient.getWallet(walletLocator);\n if (\"error\" in existingWallet) {\n walletsLogger.warn(\"walletFactory.getWallet.notFound\", {\n error: existingWallet.error,\n });\n throw new WalletNotAvailableError(JSON.stringify(existingWallet));\n }\n\n walletsLogger.info(\"walletFactory.getWallet.success\", {\n address: existingWallet.address,\n });\n\n return this.createWalletInstance(existingWallet, args);\n }\n\n @WithLoggerContext({\n logger: walletsLogger,\n methodName: \"walletFactory.createWallet\",\n buildContext(_thisArg: WalletFactory, args: unknown[]) {\n const walletArgs = args[0] as WalletArgsFor<Chain>;\n return { chain: walletArgs.chain, signerType: walletArgs.signer.type };\n },\n })\n public async createWallet<C extends Chain>(args: WalletArgsFor<C>): Promise<Wallet<C>> {\n args = { ...args, chain: validateChainForEnvironment(args.chain, this.apiClient.environment) };\n return this.createWalletInternal(args);\n }\n\n private async createWalletInternal<C extends Chain>(args: WalletArgsFor<C>): Promise<Wallet<C>> {\n await args.options?.experimental_callbacks?.onWalletCreationStart?.();\n walletsLogger.info(\"walletFactory.createWallet.start\");\n\n this.mutateSignerFromCustomAuth(args, true);\n\n const adminSigner =\n args.signer.type === \"passkey\" ? await this.createPasskeyAdminSigner(args.signer) : args.signer;\n\n const walletResponse = await this.apiClient.createWallet({\n type: \"smart\",\n chainType: this.getChainType(args.chain),\n config: {\n adminSigner,\n ...(args?.plugins ? { plugins: args.plugins } : {}),\n ...(args.delegatedSigners != null ? { delegatedSigners: args.delegatedSigners } : {}),\n },\n owner: args.owner ?? undefined,\n alias: args.alias ?? undefined,\n } as CreateWalletParams);\n\n if (\"error\" in walletResponse) {\n walletsLogger.error(\"walletFactory.createWallet.error\", {\n error: walletResponse.error,\n });\n throw new WalletCreationError(JSON.stringify(walletResponse));\n }\n\n walletsLogger.info(\"walletFactory.createWallet.success\", {\n address: walletResponse.address,\n });\n\n return this.createWalletInstance(walletResponse, args);\n }\n\n private createWalletInstance<C extends Chain>(\n walletResponse: GetWalletSuccessResponse,\n args: WalletArgsFor<C>\n ): Wallet<C> {\n this.validateExistingWalletConfig(walletResponse, args);\n\n const signerConfig = this.toInternalSignerConfig(walletResponse, args.signer, args.options);\n return new Wallet(\n {\n chain: args.chain,\n address: walletResponse.address,\n owner: walletResponse.owner,\n signer: assembleSigner(args.chain, signerConfig),\n options: args.options,\n alias: args.alias,\n },\n this.apiClient\n );\n }\n\n private toInternalSignerConfig<C extends Chain>(\n walletResponse: GetWalletSuccessResponse,\n signerArgs: SignerConfigForChain<C>,\n options?: WalletOptions\n ): InternalSignerConfig<C> {\n if (\n !(\n walletResponse.chainType === \"evm\" ||\n walletResponse.chainType === \"solana\" ||\n walletResponse.chainType === \"stellar\"\n )\n ) {\n throw new WalletCreationError(`Wallet type ${walletResponse.chainType} is not supported`);\n }\n\n if (signerArgs == null && walletResponse.config?.adminSigner == null) {\n throw new WalletCreationError(\"Signer is required to create a wallet\");\n }\n\n switch (signerArgs.type) {\n case \"api-key\": {\n if (walletResponse.config?.adminSigner.type !== \"api-key\") {\n throw new WalletCreationError(\"API key signer does not match the wallet's signer type\");\n }\n\n return {\n type: \"api-key\",\n address: walletResponse.config.adminSigner.address,\n locator: walletResponse.config.adminSigner.locator,\n };\n }\n\n case \"external-wallet\":\n if (walletResponse.config?.adminSigner.type !== \"external-wallet\") {\n throw new WalletCreationError(\"External wallet signer does not match the wallet's signer type\");\n }\n\n return { ...walletResponse.config.adminSigner, ...signerArgs } as InternalSignerConfig<C>;\n\n case \"passkey\":\n if (walletResponse.config?.adminSigner.type !== \"passkey\") {\n throw new WalletCreationError(\"Passkey signer does not match the wallet's signer type\");\n }\n\n return {\n type: \"passkey\",\n id: walletResponse.config.adminSigner.id,\n name: walletResponse.config.adminSigner.name,\n locator: walletResponse.config.adminSigner.locator,\n onCreatePasskey: signerArgs.onCreatePasskey,\n onSignWithPasskey: signerArgs.onSignWithPasskey,\n };\n\n case \"email\": {\n if (walletResponse.config?.adminSigner.type !== \"email\") {\n throw new WalletCreationError(\"Email signer does not match the wallet's signer type\");\n }\n\n const { locator, email, address } = walletResponse.config.adminSigner;\n return {\n type: \"email\",\n email,\n locator,\n address,\n crossmint: this.apiClient.crossmint,\n onAuthRequired: signerArgs.onAuthRequired,\n clientTEEConnection: options?.clientTEEConnection,\n };\n }\n\n case \"phone\": {\n if (walletResponse.config?.adminSigner.type !== \"phone\") {\n throw new WalletCreationError(\"Phone signer does not match the wallet's signer type\");\n }\n\n const { locator, phone, address } = walletResponse.config.adminSigner;\n return {\n type: \"phone\",\n phone,\n locator,\n address,\n crossmint: this.apiClient.crossmint,\n onAuthRequired: signerArgs.onAuthRequired,\n clientTEEConnection: options?.clientTEEConnection,\n };\n }\n\n default:\n throw new Error(\"Invalid signer type\");\n }\n }\n\n private getWalletLocator<C extends Chain>(args: WalletArgsFor<C>): string {\n return `me:${this.getChainType(args.chain)}:smart` + (args.alias != null ? `:alias:${args.alias}` : \"\");\n }\n\n private async createPasskeyAdminSigner<C extends Chain>(\n signer: SignerConfigForChain<C>\n ): Promise<RegisterSignerPasskeyParams> {\n if (signer.type !== \"passkey\") {\n throw new Error(\"Signer is not a passkey\");\n }\n const passkeyName = signer.name ?? `Crossmint Wallet ${Date.now()}`;\n const passkeyCredential = signer.onCreatePasskey\n ? await signer.onCreatePasskey(passkeyName)\n : await WebAuthnP256.createCredential({ name: passkeyName });\n return {\n type: \"passkey\",\n id: passkeyCredential.id,\n name: passkeyName,\n publicKey: {\n x: passkeyCredential.publicKey.x.toString(),\n y: passkeyCredential.publicKey.y.toString(),\n },\n };\n }\n\n private mutateSignerFromCustomAuth<C extends Chain>(args: WalletArgsFor<C>, isNewWalletSigner = false): void {\n const { experimental_customAuth } = this.apiClient.crossmint;\n if (args.signer.type === \"email\" && experimental_customAuth?.email != null) {\n args.signer.email = args.signer.email ?? experimental_customAuth.email;\n }\n if (args.signer.type === \"phone\" && experimental_customAuth?.phone != null) {\n args.signer.phone = args.signer.phone ?? experimental_customAuth.phone;\n }\n if (args.signer.type === \"external-wallet\" && experimental_customAuth?.externalWalletSigner != null) {\n args.signer = isNewWalletSigner\n ? ({\n type: \"external-wallet\",\n address: experimental_customAuth.externalWalletSigner.address,\n } as SignerConfigForChain<C>)\n : (experimental_customAuth.externalWalletSigner as SignerConfigForChain<C>);\n }\n return;\n }\n\n private validateExistingWalletConfig<C extends Chain>(\n existingWallet: GetWalletSuccessResponse,\n args: WalletArgsFor<C>\n ): void {\n this.mutateSignerFromCustomAuth(args);\n\n if (\n args.owner != null &&\n existingWallet.owner != null &&\n normalizeValueForComparison(args.owner) !== normalizeValueForComparison(existingWallet.owner)\n ) {\n throw new WalletCreationError(\"Wallet owner does not match existing wallet's linked user\");\n }\n\n if (\n (args.chain === \"solana\" && existingWallet.chainType !== \"solana\") ||\n (args.chain !== \"solana\" && existingWallet.chainType === \"solana\") ||\n (args.chain === \"stellar\" && existingWallet.chainType !== \"stellar\") ||\n (args.chain !== \"stellar\" && existingWallet.chainType === \"stellar\")\n ) {\n throw new WalletCreationError(\n `Wallet chain does not match existing wallet's chain. You must use chain: ${existingWallet.chainType}.`\n );\n }\n\n if (existingWallet.type !== \"smart\") {\n return;\n }\n\n const adminSignerArgs = args.signer;\n const existingWalletSigner = (existingWallet?.config as any)?.adminSigner as AdminSignerConfig;\n\n if (adminSignerArgs != null && existingWalletSigner != null) {\n if (adminSignerArgs.type !== existingWalletSigner.type) {\n throw new WalletCreationError(\n \"The wallet signer type provided in the wallet config does not match the existing wallet's adminSigner type\"\n );\n }\n compareSignerConfigs(adminSignerArgs, existingWalletSigner);\n }\n\n if (args.delegatedSigners != null) {\n this.validateDelegatedSigners(existingWallet, args.delegatedSigners);\n }\n }\n\n private validateDelegatedSigners(\n existingWallet: GetWalletSuccessResponse,\n inputDelegatedSigners: Array<DelegatedSigner>\n ): void {\n const existingDelegatedSigners = (existingWallet?.config as any)?.delegatedSigners as\n | DelegatedSignerResponse[]\n | undefined;\n\n // If no delegated signers specified in input, no validation needed\n if (inputDelegatedSigners.length === 0) {\n return;\n }\n\n // If input has delegated signers but wallet has none, that's an error\n if (existingDelegatedSigners == null || existingDelegatedSigners.length === 0) {\n throw new WalletCreationError(\n `${inputDelegatedSigners.length} delegated signer(s) specified, but wallet \"${existingWallet.address}\" has no delegated signers. ${DELEGATED_SIGNER_MISMATCH_ERROR}`\n );\n }\n\n // Check that each input delegated signer exists in the wallet\n // (wallet can have additional signers that weren't specified in input)\n for (const argSigner of inputDelegatedSigners) {\n const matchingExistingSigner = existingDelegatedSigners.find(\n (existingSigner) => existingSigner.locator === argSigner.signer\n );\n\n if (matchingExistingSigner == null) {\n const walletSigners = existingDelegatedSigners.map((s) => s.locator).join(\", \");\n throw new WalletCreationError(\n `Delegated signer '${argSigner.signer}' does not exist in wallet \"${existingWallet.address}\". Available delegated signers: ${walletSigners}. ${DELEGATED_SIGNER_MISMATCH_ERROR}`\n );\n }\n }\n }\n\n private getChainType(chain: Chain): \"solana\" | \"evm\" | \"stellar\" {\n if (chain === \"solana\") {\n return \"solana\";\n }\n if (chain === \"stellar\") {\n return \"stellar\";\n }\n return \"evm\";\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,66 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
- var __typeError = (msg) => {
9
- throw TypeError(msg);
10
- };
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __decorateClass = (decorators, target, key, kind) => {
25
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
26
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
27
- if (decorator = decorators[i])
28
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
29
- if (kind && result) __defProp(target, key, result);
30
- return result;
31
- };
32
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
33
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
34
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
35
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
36
- var __async = (__this, __arguments, generator) => {
37
- return new Promise((resolve, reject) => {
38
- var fulfilled = (value) => {
39
- try {
40
- step(generator.next(value));
41
- } catch (e) {
42
- reject(e);
43
- }
44
- };
45
- var rejected = (value) => {
46
- try {
47
- step(generator.throw(value));
48
- } catch (e) {
49
- reject(e);
50
- }
51
- };
52
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
53
- step((generator = generator.apply(__this, __arguments)).next());
54
- });
55
- };
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
- exports.__spreadValues = __spreadValues; exports.__spreadProps = __spreadProps; exports.__decorateClass = __decorateClass; exports.__privateGet = __privateGet; exports.__privateAdd = __privateAdd; exports.__privateSet = __privateSet; exports.__async = __async;
66
- //# sourceMappingURL=chunk-W4VYO3P6.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,85 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
-
3
-
4
- var _chunkIZYJJUOEcjs = require('./chunk-IZYJJUOE.cjs');
5
-
6
-
7
- var _chunkBBUEX3DGcjs = require('./chunk-BBUEX3DG.cjs');
8
-
9
-
10
- var _chunkW4VYO3P6cjs = require('./chunk-W4VYO3P6.cjs');
11
-
12
- // src/signers/non-custodial/ncs-solana-signer.ts
13
- var _web3js = require('@solana/web3.js');
14
- var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);
15
- var SolanaNonCustodialSigner = class _SolanaNonCustodialSigner extends _chunkIZYJJUOEcjs.NonCustodialSigner {
16
- constructor(config) {
17
- super(config);
18
- }
19
- signMessage() {
20
- return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
21
- return yield Promise.reject(new Error("signMessage method not implemented for email signer"));
22
- });
23
- }
24
- signTransaction(transaction) {
25
- return _chunkW4VYO3P6cjs.__async.call(void 0, this, null, function* () {
26
- var _a;
27
- yield this.handleAuthRequired();
28
- const jwt = this.getJwtOrThrow();
29
- const transactionBytes = _bs582.default.decode(transaction);
30
- const deserializedTransaction = _web3js.VersionedTransaction.deserialize(transactionBytes);
31
- const messageData = deserializedTransaction.message.serialize();
32
- _chunkBBUEX3DGcjs.walletsLogger.info("sign: sending request", { keyType: "ed25519" });
33
- const startTime = Date.now();
34
- const res = yield (_a = this.config.clientTEEConnection) == null ? void 0 : _a.sendAction({
35
- event: "request:sign",
36
- responseEvent: "response:sign",
37
- data: {
38
- authData: {
39
- jwt,
40
- apiKey: this.config.crossmint.apiKey
41
- },
42
- data: {
43
- keyType: "ed25519",
44
- bytes: _bs582.default.encode(messageData),
45
- encoding: "base58"
46
- }
47
- },
48
- options: _chunkIZYJJUOEcjs.DEFAULT_EVENT_OPTIONS
49
- });
50
- _chunkBBUEX3DGcjs.walletsLogger.info("sign: response received", {
51
- status: res == null ? void 0 : res.status,
52
- durationMs: Date.now() - startTime
53
- });
54
- if ((res == null ? void 0 : res.status) === "error") {
55
- throw new Error(res.error);
56
- }
57
- if ((res == null ? void 0 : res.signature) == null) {
58
- throw new Error("Failed to sign transaction");
59
- }
60
- _SolanaNonCustodialSigner.verifyPublicKeyFormat(res.publicKey);
61
- return { signature: res.signature.bytes };
62
- });
63
- }
64
- static verifyPublicKeyFormat(publicKey) {
65
- if (publicKey == null) {
66
- throw new Error("No public key found");
67
- }
68
- if (publicKey.encoding !== "base58" || publicKey.keyType !== "ed25519" || publicKey.bytes == null) {
69
- throw new Error(
70
- "Not supported. Expected public key to be in base58 encoding and ed25519 key type. Got: " + JSON.stringify(publicKey)
71
- );
72
- }
73
- }
74
- getChainKeyParams() {
75
- return {
76
- scheme: "ed25519",
77
- encoding: "base58"
78
- };
79
- }
80
- };
81
-
82
-
83
-
84
- exports.SolanaNonCustodialSigner = SolanaNonCustodialSigner;
85
- //# sourceMappingURL=chunk-W5LNQWQD.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/signers/non-custodial/ncs-solana-signer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,SAAS,4BAA4B;AACrC,OAAO,YAAY;AAKZ,IAAM,2BAAN,MAAM,kCAAiC,mBAAmB;AAAA,EAC7D,YAAY,QAA+D;AACvE,UAAM,MAAM;AAAA,EAChB;AAAA,EAEM,cAAc;AAAA;AAChB,aAAO,MAAM,QAAQ,OAAO,IAAI,MAAM,qDAAqD,CAAC;AAAA,IAChG;AAAA;AAAA,EAEM,gBAAgB,aAAqD;AAAA;AAf/E;AAgBQ,YAAM,KAAK,mBAAmB;AAC9B,YAAM,MAAM,KAAK,cAAc;AAE/B,YAAM,mBAAmB,OAAO,OAAO,WAAW;AAClD,YAAM,0BAA0B,qBAAqB,YAAY,gBAAgB;AACjF,YAAM,cAAc,wBAAwB,QAAQ,UAAU;AAE9D,oBAAc,KAAK,yBAAyB,EAAE,SAAS,UAAU,CAAC;AAClE,YAAM,YAAY,KAAK,IAAI;AAC3B,YAAM,MAAM,OAAM,UAAK,OAAO,wBAAZ,mBAAiC,WAAW;AAAA,QAC1D,OAAO;AAAA,QACP,eAAe;AAAA,QACf,MAAM;AAAA,UACF,UAAU;AAAA,YACN;AAAA,YACA,QAAQ,KAAK,OAAO,UAAU;AAAA,UAClC;AAAA,UACA,MAAM;AAAA,YACF,SAAS;AAAA,YACT,OAAO,OAAO,OAAO,WAAW;AAAA,YAChC,UAAU;AAAA,UACd;AAAA,QACJ;AAAA,QACA,SAAS;AAAA,MACb;AACA,oBAAc,KAAK,2BAA2B;AAAA,QAC1C,QAAQ,2BAAK;AAAA,QACb,YAAY,KAAK,IAAI,IAAI;AAAA,MAC7B,CAAC;AAED,WAAI,2BAAK,YAAW,SAAS;AACzB,cAAM,IAAI,MAAM,IAAI,KAAK;AAAA,MAC7B;AAEA,WAAI,2BAAK,cAAa,MAAM;AACxB,cAAM,IAAI,MAAM,4BAA4B;AAAA,MAChD;AACA,gCAAyB,sBAAsB,IAAI,SAAS;AAC5D,aAAO,EAAE,WAAW,IAAI,UAAU,MAAM;AAAA,IAC5C;AAAA;AAAA,EAEA,OAAO,sBAAsB,WAAwE;AACjG,QAAI,aAAa,MAAM;AACnB,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AAEA,QAAI,UAAU,aAAa,YAAY,UAAU,YAAY,aAAa,UAAU,SAAS,MAAM;AAC/F,YAAM,IAAI;AAAA,QACN,4FACI,KAAK,UAAU,SAAS;AAAA,MAChC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEU,oBAA+D;AACrE,WAAO;AAAA,MACH,QAAQ;AAAA,MACR,UAAU;AAAA,IACd;AAAA,EACJ;AACJ","sourcesContent":["import { VersionedTransaction } from \"@solana/web3.js\";\nimport base58 from \"bs58\";\nimport type { EmailInternalSignerConfig, PhoneInternalSignerConfig } from \"../types\";\nimport { NonCustodialSigner, DEFAULT_EVENT_OPTIONS } from \"./ncs-signer\";\nimport { walletsLogger } from \"../../logger\";\n\nexport class SolanaNonCustodialSigner extends NonCustodialSigner {\n constructor(config: EmailInternalSignerConfig | PhoneInternalSignerConfig) {\n super(config);\n }\n\n async signMessage() {\n return await Promise.reject(new Error(\"signMessage method not implemented for email signer\"));\n }\n\n async signTransaction(transaction: string): Promise<{ signature: string }> {\n await this.handleAuthRequired();\n const jwt = this.getJwtOrThrow();\n\n const transactionBytes = base58.decode(transaction);\n const deserializedTransaction = VersionedTransaction.deserialize(transactionBytes);\n const messageData = deserializedTransaction.message.serialize();\n\n walletsLogger.info(\"sign: sending request\", { keyType: \"ed25519\" });\n const startTime = Date.now();\n const res = await this.config.clientTEEConnection?.sendAction({\n event: \"request:sign\",\n responseEvent: \"response:sign\",\n data: {\n authData: {\n jwt,\n apiKey: this.config.crossmint.apiKey,\n },\n data: {\n keyType: \"ed25519\",\n bytes: base58.encode(messageData),\n encoding: \"base58\",\n },\n },\n options: DEFAULT_EVENT_OPTIONS,\n });\n walletsLogger.info(\"sign: response received\", {\n status: res?.status,\n durationMs: Date.now() - startTime,\n });\n\n if (res?.status === \"error\") {\n throw new Error(res.error);\n }\n\n if (res?.signature == null) {\n throw new Error(\"Failed to sign transaction\");\n }\n SolanaNonCustodialSigner.verifyPublicKeyFormat(res.publicKey);\n return { signature: res.signature.bytes };\n }\n\n static verifyPublicKeyFormat(publicKey: { encoding: string; keyType: string; bytes: string } | null) {\n if (publicKey == null) {\n throw new Error(\"No public key found\");\n }\n\n if (publicKey.encoding !== \"base58\" || publicKey.keyType !== \"ed25519\" || publicKey.bytes == null) {\n throw new Error(\n \"Not supported. Expected public key to be in base58 encoding and ed25519 key type. Got: \" +\n JSON.stringify(publicKey)\n );\n }\n }\n\n protected getChainKeyParams(): { scheme: \"ed25519\"; encoding: \"base58\" } {\n return {\n scheme: \"ed25519\",\n encoding: \"base58\",\n };\n }\n}\n"]}