@crossmint/wallets-sdk 1.14.0 → 1.16.0

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 (359) hide show
  1. package/dist/api/__tests__/constants.d.cts +1 -1
  2. package/dist/api/__tests__/constants.d.ts +1 -1
  3. package/dist/api/__tests__/test-utils.cjs +1 -1
  4. package/dist/api/__tests__/test-utils.d.cts +1 -1
  5. package/dist/api/__tests__/test-utils.d.ts +1 -1
  6. package/dist/api/__tests__/test-utils.js +1 -1
  7. package/dist/api/client.cjs +1 -1
  8. package/dist/api/client.d.cts +1 -1
  9. package/dist/api/client.d.ts +1 -1
  10. package/dist/api/client.js +1 -1
  11. package/dist/api/gen/types.gen.d.cts +116 -47
  12. package/dist/api/gen/types.gen.d.ts +116 -47
  13. package/dist/api/index.cjs +1 -1
  14. package/dist/api/index.d.cts +1 -1
  15. package/dist/api/index.d.ts +1 -1
  16. package/dist/api/index.js +1 -1
  17. package/dist/api/types.d.cts +1 -1
  18. package/dist/api/types.d.ts +1 -1
  19. package/dist/chains/adapters/evm.cjs +1 -1
  20. package/dist/chains/adapters/evm.d.cts +1 -1
  21. package/dist/chains/adapters/evm.d.ts +1 -1
  22. package/dist/chains/adapters/evm.js +1 -1
  23. package/dist/chains/adapters/solana.cjs +1 -1
  24. package/dist/chains/adapters/solana.d.cts +1 -1
  25. package/dist/chains/adapters/solana.d.ts +1 -1
  26. package/dist/chains/adapters/solana.js +1 -1
  27. package/dist/chains/adapters/stellar.cjs +1 -1
  28. package/dist/chains/adapters/stellar.d.cts +1 -1
  29. package/dist/chains/adapters/stellar.d.ts +1 -1
  30. package/dist/chains/adapters/stellar.js +1 -1
  31. package/dist/chains/chain-adapter.cjs +1 -1
  32. package/dist/chains/chain-adapter.d.cts +1 -1
  33. package/dist/chains/chain-adapter.d.ts +1 -1
  34. package/dist/chains/chain-adapter.js +1 -1
  35. package/dist/chains/chains.cjs +1 -1
  36. package/dist/chains/chains.d.cts +2 -2
  37. package/dist/chains/chains.d.ts +2 -2
  38. package/dist/chains/chains.js +1 -1
  39. package/dist/chains/definitions/arc.cjs +1 -0
  40. package/dist/chains/definitions/arc.d.cts +44 -0
  41. package/dist/chains/definitions/arc.d.ts +44 -0
  42. package/dist/chains/definitions/arc.js +1 -0
  43. package/dist/chains/definitions/celoSepolia.cjs +1 -0
  44. package/dist/chains/definitions/celoSepolia.d.cts +44 -0
  45. package/dist/chains/definitions/celoSepolia.d.ts +44 -0
  46. package/dist/chains/definitions/celoSepolia.js +1 -0
  47. package/dist/chains/definitions/robinhoodChain.cjs +1 -0
  48. package/dist/chains/definitions/robinhoodChain.d.cts +44 -0
  49. package/dist/chains/definitions/robinhoodChain.d.ts +44 -0
  50. package/dist/chains/definitions/robinhoodChain.js +1 -0
  51. package/dist/chains/definitions/robinhoodChainTestnet.cjs +1 -0
  52. package/dist/chains/definitions/robinhoodChainTestnet.d.cts +44 -0
  53. package/dist/chains/definitions/robinhoodChainTestnet.d.ts +44 -0
  54. package/dist/chains/definitions/robinhoodChainTestnet.js +1 -0
  55. package/dist/{chunk-I76IKSS4.js → chunk-24CGMAY3.js} +1 -1
  56. package/dist/{chunk-EPB4F3KD.js → chunk-25TINDQ4.js} +1 -1
  57. package/dist/{chunk-NZO3JW3W.cjs → chunk-2G4Y25AJ.cjs} +1 -1
  58. package/dist/chunk-3RVLLQ4M.cjs +1 -0
  59. package/dist/{chunk-QR5XE2GS.js → chunk-3UROOLIH.js} +1 -1
  60. package/dist/chunk-4KOHNUNP.js +1 -0
  61. package/dist/chunk-4R2UUYLC.cjs +1 -0
  62. package/dist/{chunk-UUSMKX2G.cjs → chunk-53VKI7FJ.cjs} +1 -1
  63. package/dist/{chunk-WD2WP2BP.js → chunk-5IC6BHP5.js} +1 -1
  64. package/dist/{chunk-IJPCXBIY.cjs → chunk-5L5MJAFS.cjs} +1 -1
  65. package/dist/chunk-5SREMYFJ.cjs +1 -0
  66. package/dist/{chunk-GXSZQUII.js → chunk-62EHAJRH.js} +1 -1
  67. package/dist/chunk-62XSK3ZX.cjs +1 -0
  68. package/dist/chunk-63VNTHGQ.cjs +1 -0
  69. package/dist/chunk-66IZJXGV.js +1 -0
  70. package/dist/{chunk-5GOBTJ5R.js → chunk-6T4GBLXY.js} +1 -1
  71. package/dist/chunk-7CUHY3S4.js +1 -0
  72. package/dist/chunk-7HOXBHKP.cjs +1 -0
  73. package/dist/{chunk-AHVQSWYE.js → chunk-7KKHT5PF.js} +1 -1
  74. package/dist/{chunk-3O64K76B.js → chunk-A7DA5DSE.js} +1 -1
  75. package/dist/{chunk-ZAMIMEI6.js → chunk-AB2JJTW4.js} +1 -1
  76. package/dist/{chunk-VAM47V5T.js → chunk-AEO4REZV.js} +1 -1
  77. package/dist/chunk-AUO6R32H.cjs +1 -0
  78. package/dist/{chunk-44HFPLYO.js → chunk-AZAIXRGS.js} +1 -1
  79. package/dist/chunk-BHHXVRU6.cjs +1 -0
  80. package/dist/chunk-BHSOWQOR.js +1 -0
  81. package/dist/{chunk-LQTU43TT.cjs → chunk-BJC5DQQ3.cjs} +1 -1
  82. package/dist/{chunk-KJMRLUK5.js → chunk-BKN5HSDC.js} +1 -1
  83. package/dist/{chunk-B65XQBHF.js → chunk-BL7A7ROX.js} +1 -1
  84. package/dist/chunk-BV6IQIQK.js +1 -0
  85. package/dist/chunk-C6E6WC4P.js +1 -0
  86. package/dist/chunk-CGQCRDG7.js +1 -0
  87. package/dist/{chunk-3WLIEZQC.js → chunk-CXWFJGKI.js} +1 -1
  88. package/dist/chunk-CZC2MNVK.cjs +1 -0
  89. package/dist/chunk-D2QNNQ26.cjs +1 -0
  90. package/dist/chunk-D5IIHIEW.cjs +1 -0
  91. package/dist/{chunk-M6TKD2QY.cjs → chunk-D6UK5JAA.cjs} +1 -1
  92. package/dist/{chunk-6KISAN2W.cjs → chunk-DB3TFNM2.cjs} +1 -1
  93. package/dist/{chunk-ZWPYU5GI.js → chunk-FBOM4U3X.js} +1 -1
  94. package/dist/{chunk-DOSWSGKB.js → chunk-FTUJ5XHD.js} +1 -1
  95. package/dist/chunk-FUZ2TPGD.js +1 -0
  96. package/dist/{chunk-4NGMVSZJ.cjs → chunk-IQ6EAHDU.cjs} +1 -1
  97. package/dist/chunk-IU7J7IPE.cjs +1 -0
  98. package/dist/{chunk-WWXCXFMH.cjs → chunk-JAWHGOGP.cjs} +1 -1
  99. package/dist/{chunk-O6DY4JCK.js → chunk-JLWNRQ4S.js} +1 -1
  100. package/dist/chunk-KOHPRJDP.js +1 -0
  101. package/dist/{chunk-BP5DRG7E.cjs → chunk-KQFRFHM4.cjs} +1 -1
  102. package/dist/{chunk-OKD3F4SY.cjs → chunk-KQIDRPAB.cjs} +1 -1
  103. package/dist/{chunk-ONFGLJXO.cjs → chunk-KVMPBMNG.cjs} +1 -1
  104. package/dist/chunk-LUUUKDHQ.js +1 -0
  105. package/dist/{chunk-VGE4ZHHD.cjs → chunk-LXAEBSEY.cjs} +1 -1
  106. package/dist/chunk-NMUHOXYI.js +1 -0
  107. package/dist/{chunk-FABA5SLO.js → chunk-NQ3PROUV.js} +1 -1
  108. package/dist/chunk-OQFOUCTW.js +1 -0
  109. package/dist/chunk-OQFZL5LI.cjs +1 -0
  110. package/dist/{chunk-HBJDNGC5.cjs → chunk-P5VJ455G.cjs} +1 -1
  111. package/dist/{chunk-FCEXGWKA.cjs → chunk-PHIW7FUJ.cjs} +1 -1
  112. package/dist/{chunk-DBEVULTB.js → chunk-PKFCOQOM.js} +1 -1
  113. package/dist/{chunk-3XOTSFIM.cjs → chunk-PWVGLO7T.cjs} +1 -1
  114. package/dist/{chunk-A7RMCREW.cjs → chunk-Q6UT242Q.cjs} +1 -1
  115. package/dist/chunk-QLOW4D2N.js +1 -0
  116. package/dist/chunk-QNM7BGTP.js +1 -0
  117. package/dist/chunk-QYNWUGXV.js +1 -0
  118. package/dist/{chunk-WIW66KYR.cjs → chunk-R2XC4F3M.cjs} +1 -1
  119. package/dist/{chunk-ENIWDTYY.cjs → chunk-SDXHKREB.cjs} +1 -1
  120. package/dist/{chunk-TDIOBXZ3.cjs → chunk-SP5DQZ6D.cjs} +1 -1
  121. package/dist/{chunk-YITL3ZIZ.js → chunk-SWQSW2AD.js} +1 -1
  122. package/dist/{chunk-QFZJHVBS.cjs → chunk-T5LUBX5J.cjs} +2 -2
  123. package/dist/{chunk-IW4FVUP5.cjs → chunk-T7DD437D.cjs} +1 -1
  124. package/dist/chunk-TCDH5Q6Q.cjs +1 -0
  125. package/dist/chunk-U5DLRN5U.cjs +1 -0
  126. package/dist/{chunk-L7KSZSXA.js → chunk-UP6VFZQH.js} +1 -1
  127. package/dist/{chunk-O2BU2KJD.cjs → chunk-UX2FEVDY.cjs} +1 -1
  128. package/dist/chunk-V3LZ3MNU.js +1 -0
  129. package/dist/chunk-V5NY4W5H.js +1 -0
  130. package/dist/{chunk-OEMMPPUX.js → chunk-VHSQUXJK.js} +1 -1
  131. package/dist/chunk-VS6I4S7X.cjs +1 -0
  132. package/dist/{chunk-OYRRSNQL.js → chunk-WJDR3MG5.js} +1 -1
  133. package/dist/chunk-WVKODEVW.js +1 -0
  134. package/dist/{chunk-JLZUPEFS.cjs → chunk-XFCHACH7.cjs} +1 -1
  135. package/dist/chunk-Y7P2T5BP.cjs +1 -0
  136. package/dist/{chunk-ZXUBE7OW.js → chunk-YFNCXOVW.js} +1 -1
  137. package/dist/chunk-YWN6HKW7.cjs +1 -0
  138. package/dist/chunk-Z4ZDZYZ3.js +1 -0
  139. package/dist/{chunk-7ARRJO6U.cjs → chunk-ZHGXG7JM.cjs} +1 -1
  140. package/dist/chunk-ZPO3XSWU.cjs +1 -0
  141. package/dist/{chunk-25QMJP4S.js → chunk-ZSFPKH2C.js} +1 -1
  142. package/dist/{chunk-KYQMIHMF.cjs → chunk-ZUG5ROPF.cjs} +1 -1
  143. package/dist/index.cjs +1 -1
  144. package/dist/index.d.cts +2 -2
  145. package/dist/index.d.ts +2 -2
  146. package/dist/index.js +1 -1
  147. package/dist/logger/index.cjs +1 -1
  148. package/dist/logger/index.js +1 -1
  149. package/dist/logger/init.cjs +1 -1
  150. package/dist/logger/init.js +1 -1
  151. package/dist/sdk.cjs +1 -1
  152. package/dist/sdk.d.cts +1 -1
  153. package/dist/sdk.d.ts +1 -1
  154. package/dist/sdk.js +1 -1
  155. package/dist/signers/descriptors/api-key.cjs +1 -1
  156. package/dist/signers/descriptors/api-key.d.cts +1 -1
  157. package/dist/signers/descriptors/api-key.d.ts +1 -1
  158. package/dist/signers/descriptors/api-key.js +1 -1
  159. package/dist/signers/descriptors/device.cjs +1 -1
  160. package/dist/signers/descriptors/device.d.cts +1 -1
  161. package/dist/signers/descriptors/device.d.ts +1 -1
  162. package/dist/signers/descriptors/device.js +1 -1
  163. package/dist/signers/descriptors/email.cjs +1 -1
  164. package/dist/signers/descriptors/email.d.cts +1 -1
  165. package/dist/signers/descriptors/email.d.ts +1 -1
  166. package/dist/signers/descriptors/email.js +1 -1
  167. package/dist/signers/descriptors/external-wallet.cjs +1 -1
  168. package/dist/signers/descriptors/external-wallet.d.cts +1 -1
  169. package/dist/signers/descriptors/external-wallet.d.ts +1 -1
  170. package/dist/signers/descriptors/external-wallet.js +1 -1
  171. package/dist/signers/descriptors/index.cjs +1 -1
  172. package/dist/signers/descriptors/index.d.cts +1 -1
  173. package/dist/signers/descriptors/index.d.ts +1 -1
  174. package/dist/signers/descriptors/index.js +1 -1
  175. package/dist/signers/descriptors/passkey.cjs +1 -1
  176. package/dist/signers/descriptors/passkey.d.cts +1 -1
  177. package/dist/signers/descriptors/passkey.d.ts +1 -1
  178. package/dist/signers/descriptors/passkey.js +1 -1
  179. package/dist/signers/descriptors/phone.cjs +1 -1
  180. package/dist/signers/descriptors/phone.d.cts +1 -1
  181. package/dist/signers/descriptors/phone.d.ts +1 -1
  182. package/dist/signers/descriptors/phone.js +1 -1
  183. package/dist/signers/descriptors/server.cjs +1 -1
  184. package/dist/signers/descriptors/server.d.cts +1 -1
  185. package/dist/signers/descriptors/server.d.ts +1 -1
  186. package/dist/signers/descriptors/server.js +1 -1
  187. package/dist/signers/descriptors/types.d.cts +1 -1
  188. package/dist/signers/descriptors/types.d.ts +1 -1
  189. package/dist/signers/device.d.cts +1 -1
  190. package/dist/signers/device.d.ts +1 -1
  191. package/dist/signers/evm-api-key.d.cts +1 -1
  192. package/dist/signers/evm-api-key.d.ts +1 -1
  193. package/dist/signers/evm-external-wallet.d.cts +1 -1
  194. package/dist/signers/evm-external-wallet.d.ts +1 -1
  195. package/dist/signers/external-wallet-signer.d.cts +1 -1
  196. package/dist/signers/external-wallet-signer.d.ts +1 -1
  197. package/dist/signers/index.cjs +1 -1
  198. package/dist/signers/index.d.cts +1 -1
  199. package/dist/signers/index.d.ts +1 -1
  200. package/dist/signers/index.js +1 -1
  201. package/dist/signers/non-custodial/index.cjs +1 -1
  202. package/dist/signers/non-custodial/index.d.cts +1 -1
  203. package/dist/signers/non-custodial/index.d.ts +1 -1
  204. package/dist/signers/non-custodial/index.js +1 -1
  205. package/dist/signers/non-custodial/ncs-evm-signer.cjs +1 -1
  206. package/dist/signers/non-custodial/ncs-evm-signer.d.cts +1 -1
  207. package/dist/signers/non-custodial/ncs-evm-signer.d.ts +1 -1
  208. package/dist/signers/non-custodial/ncs-evm-signer.js +1 -1
  209. package/dist/signers/non-custodial/ncs-signer.cjs +1 -1
  210. package/dist/signers/non-custodial/ncs-signer.d.cts +1 -1
  211. package/dist/signers/non-custodial/ncs-signer.d.ts +1 -1
  212. package/dist/signers/non-custodial/ncs-signer.js +1 -1
  213. package/dist/signers/non-custodial/ncs-solana-signer.cjs +1 -1
  214. package/dist/signers/non-custodial/ncs-solana-signer.d.cts +1 -1
  215. package/dist/signers/non-custodial/ncs-solana-signer.d.ts +1 -1
  216. package/dist/signers/non-custodial/ncs-solana-signer.js +1 -1
  217. package/dist/signers/non-custodial/ncs-stellar-signer.cjs +1 -1
  218. package/dist/signers/non-custodial/ncs-stellar-signer.d.cts +1 -1
  219. package/dist/signers/non-custodial/ncs-stellar-signer.d.ts +1 -1
  220. package/dist/signers/non-custodial/ncs-stellar-signer.js +1 -1
  221. package/dist/signers/passkey.cjs +1 -1
  222. package/dist/signers/passkey.d.cts +1 -1
  223. package/dist/signers/passkey.d.ts +1 -1
  224. package/dist/signers/passkey.js +1 -1
  225. package/dist/signers/server/assemble-server-signer.cjs +1 -1
  226. package/dist/signers/server/assemble-server-signer.d.cts +1 -1
  227. package/dist/signers/server/assemble-server-signer.d.ts +1 -1
  228. package/dist/signers/server/assemble-server-signer.js +1 -1
  229. package/dist/signers/server/evm-server-signer.d.cts +1 -1
  230. package/dist/signers/server/evm-server-signer.d.ts +1 -1
  231. package/dist/signers/server/helpers/derive-server-signer.d.cts +1 -1
  232. package/dist/signers/server/helpers/derive-server-signer.d.ts +1 -1
  233. package/dist/signers/server/helpers/index.d.cts +1 -1
  234. package/dist/signers/server/helpers/index.d.ts +1 -1
  235. package/dist/signers/server/index.cjs +1 -1
  236. package/dist/signers/server/index.d.cts +1 -1
  237. package/dist/signers/server/index.d.ts +1 -1
  238. package/dist/signers/server/index.js +1 -1
  239. package/dist/signers/server/resolver.cjs +1 -1
  240. package/dist/signers/server/resolver.d.cts +13 -5
  241. package/dist/signers/server/resolver.d.ts +13 -5
  242. package/dist/signers/server/resolver.js +1 -1
  243. package/dist/signers/server/solana-server-signer.d.cts +1 -1
  244. package/dist/signers/server/solana-server-signer.d.ts +1 -1
  245. package/dist/signers/server/stellar-server-signer.d.cts +1 -1
  246. package/dist/signers/server/stellar-server-signer.d.ts +1 -1
  247. package/dist/signers/solana-api-key.d.cts +1 -1
  248. package/dist/signers/solana-api-key.d.ts +1 -1
  249. package/dist/signers/solana-external-wallet.cjs +1 -1
  250. package/dist/signers/solana-external-wallet.d.cts +1 -1
  251. package/dist/signers/solana-external-wallet.d.ts +1 -1
  252. package/dist/signers/solana-external-wallet.js +1 -1
  253. package/dist/signers/stellar-external-wallet.d.cts +1 -1
  254. package/dist/signers/stellar-external-wallet.d.ts +1 -1
  255. package/dist/signers/types.d.cts +1 -1
  256. package/dist/signers/types.d.ts +1 -1
  257. package/dist/{types-CnvI-xes.d.ts → types-D2ugRtLo.d.ts} +5 -3
  258. package/dist/{types-Bu9ogwHh.d.cts → types-r_5ltlhH.d.cts} +5 -3
  259. package/dist/utils/constants.cjs +1 -1
  260. package/dist/utils/constants.js +1 -1
  261. package/dist/utils/device-signers/IframeDeviceSignerKeyStorage.cjs +1 -1
  262. package/dist/utils/device-signers/IframeDeviceSignerKeyStorage.js +1 -1
  263. package/dist/utils/device-signers/createDeviceSigner.d.cts +1 -1
  264. package/dist/utils/device-signers/createDeviceSigner.d.ts +1 -1
  265. package/dist/utils/device-signers/index.cjs +1 -1
  266. package/dist/utils/device-signers/index.d.cts +1 -1
  267. package/dist/utils/device-signers/index.d.ts +1 -1
  268. package/dist/utils/device-signers/index.js +1 -1
  269. package/dist/utils/errors.cjs +1 -1
  270. package/dist/utils/errors.d.cts +1 -6
  271. package/dist/utils/errors.d.ts +1 -6
  272. package/dist/utils/errors.js +1 -1
  273. package/dist/utils/locators.cjs +1 -1
  274. package/dist/utils/locators.d.cts +1 -1
  275. package/dist/utils/locators.d.ts +1 -1
  276. package/dist/utils/locators.js +1 -1
  277. package/dist/utils/recovery.d.cts +1 -1
  278. package/dist/utils/recovery.d.ts +1 -1
  279. package/dist/utils/signer-locator.cjs +1 -1
  280. package/dist/utils/signer-locator.d.cts +4 -2
  281. package/dist/utils/signer-locator.d.ts +4 -2
  282. package/dist/utils/signer-locator.js +1 -1
  283. package/dist/utils/signer-mapping.d.cts +1 -1
  284. package/dist/utils/signer-mapping.d.ts +1 -1
  285. package/dist/utils/signer-validation.cjs +1 -1
  286. package/dist/utils/signer-validation.js +1 -1
  287. package/dist/wallets/__tests__/test-helpers.cjs +1 -1
  288. package/dist/wallets/__tests__/test-helpers.d.cts +1 -1
  289. package/dist/wallets/__tests__/test-helpers.d.ts +1 -1
  290. package/dist/wallets/__tests__/test-helpers.js +1 -1
  291. package/dist/wallets/evm.cjs +1 -1
  292. package/dist/wallets/evm.d.cts +1 -1
  293. package/dist/wallets/evm.d.ts +1 -1
  294. package/dist/wallets/evm.js +1 -1
  295. package/dist/wallets/services/balance-formatter.cjs +1 -1
  296. package/dist/wallets/services/balance-formatter.d.cts +1 -1
  297. package/dist/wallets/services/balance-formatter.d.ts +1 -1
  298. package/dist/wallets/services/balance-formatter.js +1 -1
  299. package/dist/wallets/services/device-recovery-service.cjs +1 -1
  300. package/dist/wallets/services/device-recovery-service.d.cts +1 -1
  301. package/dist/wallets/services/device-recovery-service.d.ts +1 -1
  302. package/dist/wallets/services/device-recovery-service.js +1 -1
  303. package/dist/wallets/services/operation-poller.cjs +1 -1
  304. package/dist/wallets/services/operation-poller.d.cts +1 -1
  305. package/dist/wallets/services/operation-poller.d.ts +1 -1
  306. package/dist/wallets/services/operation-poller.js +1 -1
  307. package/dist/wallets/services/signer-manager.cjs +1 -1
  308. package/dist/wallets/services/signer-manager.d.cts +29 -5
  309. package/dist/wallets/services/signer-manager.d.ts +29 -5
  310. package/dist/wallets/services/signer-manager.js +1 -1
  311. package/dist/wallets/solana.cjs +1 -1
  312. package/dist/wallets/solana.d.cts +1 -1
  313. package/dist/wallets/solana.d.ts +1 -1
  314. package/dist/wallets/solana.js +1 -1
  315. package/dist/wallets/stellar.cjs +1 -1
  316. package/dist/wallets/stellar.d.cts +1 -1
  317. package/dist/wallets/stellar.d.ts +1 -1
  318. package/dist/wallets/stellar.js +1 -1
  319. package/dist/wallets/types.d.cts +1 -1
  320. package/dist/wallets/types.d.ts +1 -1
  321. package/dist/wallets/wallet-factory.cjs +1 -1
  322. package/dist/wallets/wallet-factory.d.cts +1 -1
  323. package/dist/wallets/wallet-factory.d.ts +1 -1
  324. package/dist/wallets/wallet-factory.js +1 -1
  325. package/dist/wallets/wallet.cjs +1 -1
  326. package/dist/wallets/wallet.d.cts +24 -8
  327. package/dist/wallets/wallet.d.ts +24 -8
  328. package/dist/wallets/wallet.js +1 -1
  329. package/package.json +4 -4
  330. package/dist/chunk-2353RT2G.js +0 -1
  331. package/dist/chunk-3A5RIBRK.cjs +0 -1
  332. package/dist/chunk-3HMPVPJK.cjs +0 -1
  333. package/dist/chunk-7IGZIKN7.js +0 -1
  334. package/dist/chunk-BNK3HUH3.cjs +0 -1
  335. package/dist/chunk-C4DVSLXL.cjs +0 -1
  336. package/dist/chunk-C4RBNOH4.js +0 -1
  337. package/dist/chunk-CYAUQF2V.js +0 -1
  338. package/dist/chunk-DKFVM2DI.js +0 -1
  339. package/dist/chunk-GOAGKFGN.cjs +0 -1
  340. package/dist/chunk-HMMK6LYH.js +0 -1
  341. package/dist/chunk-HN2VCKKJ.js +0 -1
  342. package/dist/chunk-HR53AARS.cjs +0 -1
  343. package/dist/chunk-ITYURRZC.js +0 -1
  344. package/dist/chunk-K2FBJAUJ.cjs +0 -1
  345. package/dist/chunk-K4VMQHRR.js +0 -1
  346. package/dist/chunk-L4OZWDFZ.cjs +0 -1
  347. package/dist/chunk-MEDVUUYK.js +0 -1
  348. package/dist/chunk-PA5HV45F.js +0 -1
  349. package/dist/chunk-ROCANMZW.cjs +0 -1
  350. package/dist/chunk-SHTNFUX5.js +0 -1
  351. package/dist/chunk-SPPBXVSX.js +0 -1
  352. package/dist/chunk-SYGSYGLJ.cjs +0 -1
  353. package/dist/chunk-TJ5TFZ2D.cjs +0 -1
  354. package/dist/chunk-TM45QNB3.js +0 -1
  355. package/dist/chunk-U6VTYWAK.cjs +0 -1
  356. package/dist/chunk-UUHUFB3W.cjs +0 -1
  357. package/dist/chunk-UWX7ID4X.cjs +0 -1
  358. package/dist/chunk-WGJP5MZ7.cjs +0 -1
  359. package/dist/chunk-XTLNNY3T.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { WalletsTransactionV2025ResponseDtoClass } from '../api/gen/types.gen.js';
2
2
  import { ApiClient } from '../api/client.js';
3
- import { L as WalletOptions, R as RecoverySignerConfigForChain, x as SignerConfigForChain, w as SignerAdapter, t as ServerSignerConfig, B as Balances, a7 as FundWalletResponse, a8 as GetTransactionsResponse, a9 as GetTransactionSuccessResponse, I as Transfers, aa as SendTokenTransactionOptions, a0 as UserLocator, T as Transaction, a3 as PrepareOnly, c as ApproveParams, ab as ApproveResult, A as AddSignerOptions, l as ExternalWalletRegistrationConfig, ac as AddSignerReturnType, v as Signer, s as RemoveSignerOptions, ad as RemoveSignerReturnType, y as SignerLocator, ae as WalletLocator, b as ApproveOptions, af as ApproveSignatureResponse, u as Signature } from '../types-CnvI-xes.js';
3
+ import { L as WalletOptions, R as RecoverySignerConfigForChain, x as SignerConfigForChain, w as SignerAdapter, t as ServerSignerConfig, B as Balances, a8 as FundWalletResponse, a9 as GetTransactionsResponse, aa as GetTransactionSuccessResponse, I as Transfers, ab as SendTokenTransactionOptions, a0 as UserLocator, T as Transaction, a4 as PrepareOnly, c as ApproveParams, ac as ApproveResult, A as AddSignerOptions, l as ExternalWalletRegistrationConfig, ad as AddSignerReturnType, v as Signer, s as RemoveSignerOptions, ae as RemoveSignerReturnType, y as SignerLocator, af as WalletLocator, b as ApproveOptions, ag as ApproveSignatureResponse, u as Signature } from '../types-D2ugRtLo.js';
4
4
  import { Chain } from '../chains/chains.js';
5
5
  import { SignerManager } from './services/signer-manager.js';
6
6
  import { PollingOptions } from './services/operation-poller.js';
@@ -23,7 +23,8 @@ type WalletContructorType<C extends Chain> = {
23
23
  options?: WalletOptions;
24
24
  /** The wallet's recovery signer(s). Wallets on chains that support a single recovery signer take one entry. */
25
25
  recovery: RecoverySignerConfigForChain<C> | Array<RecoverySignerConfigForChain<C>>;
26
- apiRecoveryServerSignerAddress?: string;
26
+ /** Addresses of the API-sourced server recovery signers, so legacy derivations can be recognised. */
27
+ apiRecoveryServerSignerAddresses?: string[];
27
28
  apiDelegatedServerSignerAddresses?: string[];
28
29
  signers?: SignerConfigForChain<C>[];
29
30
  signer?: SignerAdapter;
@@ -56,9 +57,9 @@ declare class Wallet<C extends Chain> {
56
57
  private initDefaultSigner;
57
58
  protected static getApiClient<C extends Chain>(wallet: Wallet<C>): ApiClient;
58
59
  protected static getOptions<C extends Chain>(wallet: Wallet<C>): WalletOptions | undefined;
59
- protected static getRecovery<C extends Chain>(wallet: Wallet<C>): Array<RecoverySignerConfigForChain<C>>;
60
+ protected static getRecoverySigners<C extends Chain>(wallet: Wallet<C>): Array<RecoverySignerConfigForChain<C>>;
60
61
  protected static getInitialSigners<C extends Chain>(wallet: Wallet<C>): SignerConfigForChain<C>[];
61
- protected static getApiRecoveryServerSignerAddress<C extends Chain>(wallet: Wallet<C>): string | undefined;
62
+ protected static getApiRecoveryServerSignerAddresses<C extends Chain>(wallet: Wallet<C>): string[];
62
63
  protected static getApiDelegatedServerSignerAddresses<C extends Chain>(wallet: Wallet<C>): string[];
63
64
  get apiClient(): ApiClient;
64
65
  protected get options(): WalletOptions | undefined;
@@ -67,13 +68,20 @@ declare class Wallet<C extends Chain> {
67
68
  * Resolve a ServerSignerConfig to an API locator string.
68
69
  */
69
70
  protected resolveServerSignerApiLocator(signer: ServerSignerConfig): string;
71
+ /**
72
+ * Get the primary recovery signer config. Use {@link recoveryMethods} for the full list on wallets
73
+ * created with several recovery signers.
74
+ * @returns The recovery signer config
75
+ * @experimental This API is experimental and may change in the future
76
+ */
77
+ get recovery(): SignerConfigForChain<C>;
70
78
  /**
71
79
  * Get every recovery signer config of the wallet. Wallets on chains that support a single recovery
72
80
  * signer always return one entry.
73
81
  * @returns The recovery signer configs
74
82
  * @experimental This API is experimental and may change in the future
75
83
  */
76
- get recovery(): Array<RecoverySignerConfigForChain<C>>;
84
+ get recoveryMethods(): Array<RecoverySignerConfigForChain<C>>;
77
85
  /**
78
86
  * Get the wallet balances - always includes USDC and native token (ETH/SOL)
79
87
  * @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)
@@ -157,7 +165,9 @@ declare class Wallet<C extends Chain> {
157
165
  approve<T extends ApproveParams>(params: T): Promise<ApproveResult<T>>;
158
166
  /**
159
167
  * Add a signer to the wallet.
160
- * Always uses the recovery signer internally to approve the registration.
168
+ * Always uses a recovery method internally to approve the registration: the active signer when it is one of
169
+ * the recovery methods, or the wallet's single recovery method. Wallets with several recovery methods must
170
+ * select one via {@link useSigner} first; an operational signer cannot authorize this.
161
171
  * If the signer being added is the current operational signer, it will be reassembled with the new locator.
162
172
  * Otherwise, the original signer is restored after the operation.
163
173
  * @param signer - The signer configuration object
@@ -172,7 +182,7 @@ declare class Wallet<C extends Chain> {
172
182
  private completeSignerRegistration;
173
183
  /**
174
184
  * Remove a signer from the wallet.
175
- * Always uses the recovery signer internally to approve the removal.
185
+ * Always uses a recovery method internally to approve the removal, selected as in {@link addSigner}.
176
186
  * @param signer - The signer to remove, provided as a signer config object
177
187
  * @param options - The options for the operation
178
188
  * @param options.prepareOnly - If true, returns the operation ID without auto-approving
@@ -253,9 +263,15 @@ declare class Wallet<C extends Chain> {
253
263
  protected get signerManager(): SignerManager<C>;
254
264
  protected preAuthIfNeeded(): Promise<void>;
255
265
  /**
256
- * Check if a signer config matches the wallet's recovery signer.
266
+ * Check if a signer config matches any of the wallet's recovery signers.
257
267
  */
258
268
  private isRecoverySigner;
269
+ /**
270
+ * Find the recovery signer that `signerConfig` refers to and, for signer types that need the
271
+ * caller's fuller config to operate (e.g. an onSign callback or a server secret), adopt it in
272
+ * place of the stored one. Returns the index of the matched recovery signer, or null.
273
+ */
274
+ private matchRecoverySigner;
259
275
  protected resolveChainForEnvironment(): C;
260
276
  protected approveTransactionAndWait(transactionId: string, options?: ApproveOptions): Promise<{
261
277
  hash: string;
@@ -1 +1 @@
1
- import{a}from"../chunk-HN2VCKKJ.js";import"../chunk-HMMK6LYH.js";import"../chunk-KJMRLUK5.js";import"../chunk-ZXUBE7OW.js";import"../chunk-C4RBNOH4.js";import"../chunk-TOAFCAVT.js";import"../chunk-CYAUQF2V.js";import"../chunk-5LNDUSMZ.js";import"../chunk-NZXYWQE5.js";import"../chunk-ITYURRZC.js";import"../chunk-IOSADDL5.js";import"../chunk-MEDVUUYK.js";import"../chunk-VAM47V5T.js";import"../chunk-OEMMPPUX.js";import"../chunk-DBEVULTB.js";import"../chunk-QR5XE2GS.js";import"../chunk-EPB4F3KD.js";import"../chunk-YITL3ZIZ.js";import"../chunk-TM45QNB3.js";import"../chunk-SPPBXVSX.js";import"../chunk-O6DY4JCK.js";import"../chunk-DOSWSGKB.js";import"../chunk-GXSZQUII.js";import"../chunk-L52GDMSH.js";import"../chunk-I76IKSS4.js";import"../chunk-QM3BB4E2.js";import"../chunk-TSJUK3ED.js";import"../chunk-277G6KNG.js";import"../chunk-IQ3QQ4M6.js";import"../chunk-GXUPHO44.js";import"../chunk-YDZRBHS3.js";import"../chunk-L7KSZSXA.js";import"../chunk-25QMJP4S.js";import"../chunk-ZWPYU5GI.js";import"../chunk-3O64K76B.js";import"../chunk-IHMMTMFG.js";import"../chunk-FJPAMX7L.js";import"../chunk-E3H6RZHM.js";import"../chunk-EM3D5Q3A.js";import"../chunk-AHVQSWYE.js";import"../chunk-K7BPGUFU.js";import"../chunk-DCKFFFPG.js";import"../chunk-MN2BGRRJ.js";import"../chunk-FQ5F3VYJ.js";import"../chunk-HAQMNZO5.js";import"../chunk-2YLRFJ66.js";import"../chunk-ZAMIMEI6.js";import"../chunk-MLROTECD.js";import"../chunk-OYRRSNQL.js";import"../chunk-5GOBTJ5R.js";import"../chunk-3WLIEZQC.js";import"../chunk-FABA5SLO.js";import"../chunk-B4GYB3XY.js";import"../chunk-OQZTL6ZG.js";import"../chunk-PA5HV45F.js";import"../chunk-KUP7H7X2.js";import"../chunk-FT5EVMLB.js";import"../chunk-SVIKBM3S.js";import"../chunk-KKQBZXFE.js";import"../chunk-S3DYQVRD.js";import"../chunk-DKFVM2DI.js";import"../chunk-455NK5LB.js";import"../chunk-44HFPLYO.js";import"../chunk-2353RT2G.js";import"../chunk-NU7VF7MC.js";export{a as Wallet};
1
+ import{a}from"../chunk-LUUUKDHQ.js";import"../chunk-BHSOWQOR.js";import"../chunk-BKN5HSDC.js";import"../chunk-YFNCXOVW.js";import"../chunk-QNM7BGTP.js";import"../chunk-OQFOUCTW.js";import"../chunk-TOAFCAVT.js";import"../chunk-V3LZ3MNU.js";import"../chunk-IOSADDL5.js";import"../chunk-5LNDUSMZ.js";import"../chunk-NZXYWQE5.js";import"../chunk-QYNWUGXV.js";import"../chunk-25TINDQ4.js";import"../chunk-SWQSW2AD.js";import"../chunk-WVKODEVW.js";import"../chunk-AEO4REZV.js";import"../chunk-VHSQUXJK.js";import"../chunk-PKFCOQOM.js";import"../chunk-3UROOLIH.js";import"../chunk-BV6IQIQK.js";import"../chunk-JLWNRQ4S.js";import"../chunk-FTUJ5XHD.js";import"../chunk-62EHAJRH.js";import"../chunk-L52GDMSH.js";import"../chunk-24CGMAY3.js";import"../chunk-QM3BB4E2.js";import"../chunk-TSJUK3ED.js";import"../chunk-IQ3QQ4M6.js";import"../chunk-GXUPHO44.js";import"../chunk-277G6KNG.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZSFPKH2C.js";import"../chunk-FBOM4U3X.js";import"../chunk-UP6VFZQH.js";import"../chunk-A7DA5DSE.js";import"../chunk-IHMMTMFG.js";import"../chunk-FJPAMX7L.js";import"../chunk-E3H6RZHM.js";import"../chunk-EM3D5Q3A.js";import"../chunk-7KKHT5PF.js";import"../chunk-K7BPGUFU.js";import"../chunk-DCKFFFPG.js";import"../chunk-MN2BGRRJ.js";import"../chunk-FQ5F3VYJ.js";import"../chunk-HAQMNZO5.js";import"../chunk-2YLRFJ66.js";import"../chunk-AB2JJTW4.js";import"../chunk-MLROTECD.js";import"../chunk-WJDR3MG5.js";import"../chunk-6T4GBLXY.js";import"../chunk-CXWFJGKI.js";import"../chunk-NQ3PROUV.js";import"../chunk-B4GYB3XY.js";import"../chunk-OQZTL6ZG.js";import"../chunk-NMUHOXYI.js";import"../chunk-V5NY4W5H.js";import"../chunk-CGQCRDG7.js";import"../chunk-KKQBZXFE.js";import"../chunk-S3DYQVRD.js";import"../chunk-KUP7H7X2.js";import"../chunk-FT5EVMLB.js";import"../chunk-QLOW4D2N.js";import"../chunk-SVIKBM3S.js";import"../chunk-C6E6WC4P.js";import"../chunk-KOHPRJDP.js";import"../chunk-455NK5LB.js";import"../chunk-AZAIXRGS.js";import"../chunk-FUZ2TPGD.js";import"../chunk-NU7VF7MC.js";export{a as Wallet};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/wallets-sdk",
3
- "version": "1.14.0",
3
+ "version": "1.16.0",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -30,11 +30,11 @@
30
30
  "ox": "0.6.9",
31
31
  "tweetnacl": "1.0.3",
32
32
  "viem": "2.33.1",
33
- "@crossmint/client-sdk-window": "1.1.1",
34
33
  "@crossmint/client-signers": "0.3.0",
34
+ "@crossmint/client-sdk-window": "1.1.1",
35
35
  "@crossmint/client-signers-cryptography": "0.0.5",
36
- "@crossmint/common-sdk-auth": "1.1.18",
37
- "@crossmint/common-sdk-base": "0.11.0"
36
+ "@crossmint/common-sdk-base": "0.12.0",
37
+ "@crossmint/common-sdk-auth": "1.1.20"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@hey-api/openapi-ts": "0.69.2",
@@ -1 +0,0 @@
1
- var s="@crossmint/wallets-sdk",t="1.14.0";var c="WALLETS_SDK",r=t,a=s,d=200;export{c as a,r as b,a as c,d};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL4OZWDFZcjs = require('./chunk-L4OZWDFZ.cjs');var _chunkGOAGKFGNcjs = require('./chunk-GOAGKFGN.cjs');var _chunkTDIOBXZ3cjs = require('./chunk-TDIOBXZ3.cjs');var _chunkDSIFRRBScjs = require('./chunk-DSIFRRBS.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var m=409,l=class l extends _chunkL4OZWDFZcjs.a{constructor(e){super({chain:e.chain,address:e.address,owner:e.owner,options:_chunkL4OZWDFZcjs.a.getOptions(e),alias:e.alias,recovery:_chunkL4OZWDFZcjs.a.getRecovery(e),apiRecoveryServerSignerAddress:_chunkL4OZWDFZcjs.a.getApiRecoveryServerSignerAddress(e),apiDelegatedServerSignerAddresses:_chunkL4OZWDFZcjs.a.getApiDelegatedServerSignerAddresses(e),signer:e.signer,signers:_chunkL4OZWDFZcjs.a.getInitialSigners(e)},_chunkL4OZWDFZcjs.a.getApiClient(e))}static from(e){if(!_commonsdkbase.isValidStellarAddress.call(void 0, e.address))throw new Error("Wallet is not a Stellar wallet");return new l(e)}sendTransaction(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var d;_chunkTDIOBXZ3cjs.a.info("stellarWallet.sendTransaction.start"),yield this.preAuthIfNeeded();let r=yield this.createTransaction(e);if((d=e.options)!=null&&d.prepareOnly)return _chunkTDIOBXZ3cjs.a.info("stellarWallet.sendTransaction.prepared",{transactionId:r.id}),{hash:void 0,explorerLink:void 0,transactionId:r.id};let a={},n=yield this.approveTransactionAndWait(r.id,a);return _chunkTDIOBXZ3cjs.a.info("stellarWallet.sendTransaction.success",{transactionId:r.id,hash:n.hash}),n})}upgrade(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){_chunkTDIOBXZ3cjs.a.info("stellarWallet.upgrade.start"),yield this.preAuthIfNeeded();let r=yield this.createWalletLifecycleTransaction("upgrade-wallet",e);if(r!=null){if(e!=null&&e.prepareOnly)return _chunkTDIOBXZ3cjs.a.info("stellarWallet.upgrade.prepared",{transactionId:r}),{hash:void 0,explorerLink:void 0,transactionId:r};yield this.approveTransactionAndWait(r),_chunkTDIOBXZ3cjs.a.info("stellarWallet.upgrade.phase1.success",{transactionId:r})}else _chunkTDIOBXZ3cjs.a.info("stellarWallet.upgrade.phase1.skipped",{reason:"wallet already locked from a prior upgrade"});let a=yield this.migrateInternal({signer:e==null?void 0:e.signer,prepareOnly:e==null?void 0:e.prepareOnly});return _chunkTDIOBXZ3cjs.a.info("stellarWallet.upgrade.success",{transactionId:a.transactionId,hash:a.hash}),a})}migrate(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){return yield this.preAuthIfNeeded(),yield this.migrateInternal(e)})}migrateInternal(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){_chunkTDIOBXZ3cjs.a.info("stellarWallet.migrate.start");let r=yield this.createWalletLifecycleTransaction("migrate-wallet",e);if(r==null)throw new (0, _chunkGOAGKFGNcjs.I)("Failed to create migrate-wallet transaction");if(e!=null&&e.prepareOnly)return _chunkTDIOBXZ3cjs.a.info("stellarWallet.migrate.prepared",{transactionId:r}),{hash:void 0,explorerLink:void 0,transactionId:r};let a=yield this.approveTransactionAndWait(r);return _chunkTDIOBXZ3cjs.a.info("stellarWallet.migrate.success",{transactionId:r,hash:a.hash}),a})}createTransaction(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let{contractId:r,options:a}=e,n=this.resolveStellarSigner(a==null?void 0:a.signer),d="transaction"in e?{type:"serialized-transaction",serializedTransaction:e.transaction,contractId:r}:{type:"contract-call",contractId:r,method:e.method,memo:e.memo!=null?{type:"text",value:e.memo}:void 0,args:e.args},p=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:d,signer:n}});if("error"in p)throw new (0, _chunkGOAGKFGNcjs.I)(JSON.stringify(p));return p})}createWalletLifecycleTransaction(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let a=(r==null?void 0:r.signer)!=null?this.resolveStellarSigner(r.signer):void 0,n=yield this.apiClient.createTransaction(this.walletLocator,{params:_chunkDSIFRRBScjs.a.call(void 0, {transaction:{type:e}},a!=null?{signer:a}:{})});if("error"in n){if(e==="upgrade-wallet"&&y(n))return null;throw new (0, _chunkGOAGKFGNcjs.I)(JSON.stringify(n))}return n.id})}resolveStellarSigner(e){return e==null?this.signerManager.require().locator():typeof e=="string"?e:this.resolveServerSignerApiLocator(e)}};_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"stellarWallet.sendTransaction",buildContext(e){return{chain:e.chain,address:e.address}}})],l.prototype,"sendTransaction",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"stellarWallet.upgrade",buildContext(e){return{chain:e.chain,address:e.address}}})],l.prototype,"upgrade",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"stellarWallet.migrate",buildContext(e){return{chain:e.chain,address:e.address}}})],l.prototype,"migrate",1);var h=l;function y(o){return typeof o=="object"&&o!==null&&"statusCode"in o&&o.statusCode===m}exports.a = h;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkM6TKD2QYcjs = require('./chunk-M6TKD2QY.cjs');var _chunkIW4FVUP5cjs = require('./chunk-IW4FVUP5.cjs');var _chunkOKD3F4SYcjs = require('./chunk-OKD3F4SY.cjs');var _chunk4NGMVSZJcjs = require('./chunk-4NGMVSZJ.cjs');var _chunkHBJDNGC5cjs = require('./chunk-HBJDNGC5.cjs');var _chunkQFZJHVBScjs = require('./chunk-QFZJHVBS.cjs');var _chunkUWX7ID4Xcjs = require('./chunk-UWX7ID4X.cjs');var _chunkGOAGKFGNcjs = require('./chunk-GOAGKFGN.cjs');function u(r){switch(r){case"email":return _chunkHBJDNGC5cjs.a;case"phone":return _chunkM6TKD2QYcjs.a;case"passkey":return _chunkUWX7ID4Xcjs.a;case"device":return _chunk4NGMVSZJcjs.a;case"api-key":return _chunkOKD3F4SYcjs.a;case"server":return _chunkIW4FVUP5cjs.a;case"external-wallet":return _chunkQFZJHVBScjs.b;default:throw new (0, _chunkGOAGKFGNcjs.k)(`Unknown signer type: ${r}`)}}exports.a = u;
@@ -1 +0,0 @@
1
- import{a as o}from"./chunk-HN2VCKKJ.js";import{a as W}from"./chunk-PA5HV45F.js";import{D as f,I as w,z as l}from"./chunk-DKFVM2DI.js";import{a as n}from"./chunk-44HFPLYO.js";import{c as u,h as p}from"./chunk-NU7VF7MC.js";import{createPublicClient as O,encodeFunctionData as x,http as E}from"viem";import{isValidEvmAddress as A,WithLoggerContext as h}from"@crossmint/common-sdk-base";var c=class c extends o{constructor(e){super({chain:e.chain,address:e.address,owner:e.owner,options:o.getOptions(e),alias:e.alias,recovery:o.getRecovery(e),apiRecoveryServerSignerAddress:o.getApiRecoveryServerSignerAddress(e),apiDelegatedServerSignerAddresses:o.getApiDelegatedServerSignerAddresses(e),signer:e.signer,signers:o.getInitialSigners(e)},o.getApiClient(e))}static from(e){if(!A(e.address))throw new Error("Wallet is not an EVM wallet");return new c(e)}sendTransaction(e){return p(this,null,function*(){var i;n.info("evmWallet.sendTransaction.start"),yield this.preAuthIfNeeded();let t=this.buildTransaction(e),r=yield this.createTransaction(t,e.options);if((i=e.options)!=null&&i.prepareOnly)return n.info("evmWallet.sendTransaction.prepared",{transactionId:r.id}),{hash:void 0,explorerLink:void 0,transactionId:r.id};let a=yield this.approveTransactionAndWait(r.id);return n.info("evmWallet.sendTransaction.success",{transactionId:r.id,hash:a.hash}),a})}signMessage(e){return p(this,null,function*(){var i;n.info("evmWallet.signMessage.start"),yield this.preAuthIfNeeded();let t=this.signerManager.require(),r=yield this.apiClient.createSignature(this.walletLocator,{type:"message",params:{message:e.message,signer:t.locator(),chain:this.chain}});if("error"in r)throw n.error("evmWallet.signMessage.error",{error:r}),new f(JSON.stringify(r));if((i=e.options)!=null&&i.prepareOnly)return n.info("evmWallet.signMessage.prepared",{signatureId:r.id}),{signature:void 0,signatureId:r.id};let a=yield this.approveSignatureAndWait(r.id);return n.info("evmWallet.signMessage.success",{signatureId:r.id}),a})}signTypedData(e){return p(this,null,function*(){var C;n.info("evmWallet.signTypedData.start"),yield this.preAuthIfNeeded();let t=this.signerManager.require(),{domain:r,message:a,primaryType:i,types:g,chain:T}=e;if(!r||!a||!g||!T)throw n.error("evmWallet.signTypedData.error",{error:"Invalid typed data"}),new l("Invalid typed data");let{name:m,version:v,chainId:S,verifyingContract:I,salt:b}=r;if(!m||!v||!S||!I)throw n.error("evmWallet.signTypedData.error",{error:"Invalid typed data domain"}),new l("Invalid typed data domain");let d=yield this.apiClient.createSignature(this.walletLocator,{type:"typed-data",params:{typedData:{domain:{name:m,version:v,chainId:Number(S),verifyingContract:I,salt:b},message:y(a),primaryType:i,types:g},signer:t.locator(),chain:T}});if("error"in d)throw n.error("evmWallet.signTypedData.error",{error:d}),new f(JSON.stringify(d));if((C=e.options)!=null&&C.prepareOnly)return n.info("evmWallet.signTypedData.prepared",{signatureId:d.id}),{signature:void 0,signatureId:d.id};let D=yield this.approveSignatureAndWait(d.id);return n.info("evmWallet.signTypedData.success",{signatureId:d.id}),D})}getViemClient(e){var t;return O({transport:(t=e==null?void 0:e.transport)!=null?t:E(),chain:W(this.chain)})}createTransaction(e,t){return p(this,null,function*(){let r;(t==null?void 0:t.signer)==null?r=this.signerManager.require().locator():typeof t.signer=="string"?r=t.signer:r=this.resolveServerSignerApiLocator(t.signer);let a=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:r,chain:this.chain,calls:[e]}});if("error"in a)throw new w(JSON.stringify(a));return a})}buildTransaction(e){var t,r,a,i,g;if("transaction"in e)return{transaction:e.transaction};if(e.abi==null)return{to:e.to,value:(r=(t=e.value)==null?void 0:t.toString())!=null?r:"0",data:(a=e.data)!=null?a:"0x"};if(!e.functionName)throw new Error("Function name is required");return{to:e.to,value:(g=(i=e.value)==null?void 0:i.toString())!=null?g:"0",data:x({abi:e.abi,functionName:e.functionName,args:e.args})}}};u([h({logger:n,methodName:"evmWallet.sendTransaction",buildContext(e){return{chain:e.chain,address:e.address}}})],c.prototype,"sendTransaction",1),u([h({logger:n,methodName:"evmWallet.signMessage",buildContext(e){return{chain:e.chain,address:e.address}}})],c.prototype,"signMessage",1),u([h({logger:n,methodName:"evmWallet.signTypedData",buildContext(e){return{chain:e.chain,address:e.address}}})],c.prototype,"signTypedData",1);var M=c;function y(s){return typeof s=="bigint"?s.toString():Array.isArray(s)?s.map(y):s!==null&&typeof s=="object"?Object.fromEntries(Object.entries(s).map(([e,t])=>[e,y(t)])):s}export{M as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNZO3JW3Wcjs = require('./chunk-NZO3JW3W.cjs');var _chunkIJPCXBIYcjs = require('./chunk-IJPCXBIY.cjs');var _chunkONFGLJXOcjs = require('./chunk-ONFGLJXO.cjs');var _chunkENU3EKBGcjs = require('./chunk-ENU3EKBG.cjs');var i={evm:_chunkNZO3JW3Wcjs.a,solana:_chunkIJPCXBIYcjs.a,stellar:_chunkONFGLJXOcjs.a};function h(e){return i[_chunkENU3EKBGcjs.a.call(void 0, e)]}function g(e){return Object.prototype.hasOwnProperty.call(i,e)}exports.a = h; exports.b = g;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBNK3HUH3cjs = require('./chunk-BNK3HUH3.cjs');var _chunkENU3EKBGcjs = require('./chunk-ENU3EKBG.cjs');var _chunkDSIFRRBScjs = require('./chunk-DSIFRRBS.cjs');function d(s,n){var e,l,r,i,a;let t=(e=s.chains)==null?void 0:e[n],o=_chunkBNK3HUH3cjs.a.call(void 0, n).balanceTokenFields(t);return _chunkDSIFRRBScjs.a.call(void 0, {symbol:(l=s.symbol)!=null?l:"",name:(r=s.name)!=null?r:"",amount:(i=s.amount)!=null?i:"0",decimals:s.decimals,rawAmount:(a=s.rawAmount)!=null?a:"0"},o)}function h(s,n){let t={symbol:s,name:s,amount:"0",decimals:0,rawAmount:"0"},o=_chunkBNK3HUH3cjs.a.call(void 0, n).emptyBalanceTokenFields();return _chunkDSIFRRBScjs.a.call(void 0, _chunkDSIFRRBScjs.a.call(void 0, {},t),o)}function B(s,n,t){var r,i,a,f,p;if(n==null)return!0;let o=((r=s.symbol)!=null?r:"").toLowerCase();if(n.has(o))return!0;let e=(i=s.chains)==null?void 0:i[t];if(e==null)return!1;let l=_chunkENU3EKBGcjs.a.call(void 0, t);if(l==="solana"&&"mintHash"in e){let c=(a=e.mintHash)==null?void 0:a.toLowerCase();return c!=null&&(n.has(c)||n.has(`solana:${c}`))}if(l==="stellar"&&"contractId"in e){let c=(f=e.contractId)==null?void 0:f.toLowerCase();return c!=null&&(n.has(c)||n.has(`stellar:${c}`))}if("contractAddress"in e){let c=(p=e.contractAddress)==null?void 0:p.toLowerCase();return c!=null&&(n.has(c)||n.has(`${t}:${c}`))}return!1}function T(s,n,t,o){let e=s.find(a=>a.symbol===t),l=s.find(a=>a.symbol==="usdc"),r=o!=null?new Set(o.map(a=>a.toLowerCase())):null,i=s.filter(a=>a.symbol!==t&&a.symbol!=="usdc"&&B(a,r,n));return{nativeToken:e!=null?d(e,n):h(t,n),usdc:l!=null?d(l,n):h("usdc",n),tokens:i.map(a=>d(a,n))}}exports.a = T;
@@ -1 +0,0 @@
1
- import{a as b}from"./chunk-MEDVUUYK.js";import{a as x}from"./chunk-GXSZQUII.js";import{f as R}from"./chunk-DCKFFFPG.js";import{b as A,c as P}from"./chunk-B4GYB3XY.js";import{a as w}from"./chunk-44HFPLYO.js";import{d as r,e as o,f as t,g as F,h}from"./chunk-NU7VF7MC.js";import{ApiClientError as W}from"@crossmint/common-sdk-base";var a,n,p,g,S,C,u,d,v,f,m,O,E=class{constructor(e){o(this,m);o(this,a);o(this,n);o(this,p);o(this,g);o(this,S);o(this,C);o(this,u);o(this,d);o(this,v);o(this,f);t(this,p,e.apiClient),t(this,g,e.options),t(this,S,e.chain),t(this,C,e.walletAddress),t(this,u,e.walletLocator),t(this,d,e.serverSignerResolver),t(this,n,e.recovery),t(this,v,e.initialSigners),t(this,f,e.signers),t(this,a,e.signer)}get activeSigner(){return r(this,a)}setActiveSigner(e){t(this,a,e)}get recovery(){return r(this,n)}descriptorContext(){var e,i,s,l,c;return{chain:r(this,S),walletAddress:r(this,C),crossmint:r(this,p).crossmint,clientTEEConnection:(e=r(this,g))==null?void 0:e.clientTEEConnection,resetSignerFrame:(i=r(this,g))==null?void 0:i.resetSignerFrame,onAuthRequired:(l=(s=r(this,g))==null?void 0:s.callbacks)==null?void 0:l.onAuthRequired,deviceSignerKeyStorage:(c=r(this,g))==null?void 0:c.deviceSignerKeyStorage,serverSigners:r(this,d)}}adoptRecoveryConfig(e){t(this,n,e)}stripSecretFromRecovery(){let e=r(this,d).resolvedRecoveryAddress;r(this,n)!=null&&r(this,n).type==="server"&&!R(r(this,n))&&e!=null&&t(this,n,{type:"server",address:e})}assemble(e,i){return h(this,null,function*(){var l,c;let s=x(r(this,S),e,(l=r(this,g))==null?void 0:l.deviceSignerKeyStorage);if(i!=null&&i.isAdminSigner)s.status="active";else{let y=yield this.getSignerState(s.locator());s.status=(c=y.signer)==null?void 0:c.status}return s})}require(){if(r(this,a)==null){if(r(this,v).length>1)throw new Error("No signer is set. This wallet has multiple signers configured. Call wallet.useSigner() to select which signer to use before signing operations.");let e=b(r(this,n).type),i=e.signerUnavailableReason();throw i!=null?new Error(i):e.canAutoAssemble(r(this,n),this.descriptorContext())?new Error("This wallet is read-only because no signer was provided. Operations that require signing (send, approve, addSigner, etc.) are not available."):new Error("No signer is set. This wallet requires calling wallet.useSigner() before signing operations.")}return r(this,a)}withRecoverySigner(e){return h(this,null,function*(){var y;let i=r(this,a);if(R(r(this,n))&&!r(this,d).hasRecoveryResolution)throw new Error('Cannot assemble server signer: no secret available. Call wallet.useSigner({ type: "server", secret: ... }) first with the recovery server secret.');let s=b(r(this,n).type),l=this.descriptorContext();if(r(this,n)!=null&&r(this,n).type==="external-wallet"&&!s.canAutoAssemble(r(this,n),l))throw new Error('Cannot assemble external wallet signer: no onSign callback available. Call wallet.useSigner({ type: "external-wallet", address: "0x...", onSign: async (tx) => ... }) first.');let c=s.buildInternalConfig(r(this,n),l);t(this,a,x(r(this,S),c,(y=r(this,g))==null?void 0:y.deviceSignerKeyStorage));try{return yield e()}finally{t(this,a,i)}})}getSignerState(e){return h(this,null,function*(){let i=null;try{i=yield r(this,p).getSigner(r(this,u).call(this),e)}catch(l){return w.warn("wallet.signers.getSignerState.fetchFailed",{signerLocator:e,error:l}),{response:null,signer:null,pendingOperation:null}}if(i==null||typeof i!="object"||"error"in i)return w.warn("wallet.signers.getSignerState.errorResponse",{signerLocator:e,response:i}),{response:null,signer:null,pendingOperation:null};let s=A(i,r(this,S));return{response:i,signer:s,pendingOperation:P(i,r(this,S))}})}signerIsRegistered(e){return h(this,null,function*(){return(yield r(this,f).call(this)).some(s=>s.locator===e)})}isSignerApproved(e){return h(this,null,function*(){try{let i=yield F(this,m,O).call(this,e);return this.isApprovedSignerStatus(i==null?void 0:i.status)}catch(i){if(i instanceof W&&i.status===404)return!1;throw w.error("wallet.signers.isSignerApproved.failed",{signerLocator:e,error:i}),i}})}isApprovedSignerStatus(e){return e==="success"||e==="active"}};a=new WeakMap,n=new WeakMap,p=new WeakMap,g=new WeakMap,S=new WeakMap,C=new WeakMap,u=new WeakMap,d=new WeakMap,v=new WeakMap,f=new WeakMap,m=new WeakSet,O=function(e){return h(this,null,function*(){let i=yield r(this,p).getSigner(r(this,u).call(this),e);if(i==null||typeof i!="object"||"error"in i)throw new Error(`Failed to fetch the approval state of signer ${e}`);return A(i,r(this,S))})};export{E as a};
@@ -1 +0,0 @@
1
- import{a as P}from"./chunk-NZXYWQE5.js";import{a as v}from"./chunk-IOSADDL5.js";import{x as w}from"./chunk-DKFVM2DI.js";import{a as l}from"./chunk-44HFPLYO.js";import{c as m,h as n}from"./chunk-NU7VF7MC.js";import{getEnvironmentForKey as K,APIKeyEnvironmentPrefix as h,WithLoggerContext as u}from"@crossmint/common-sdk-base";import{WebAuthnP256 as b}from"ox";var R={[h.DEVELOPMENT]:"https://development.devicekey.store",[h.STAGING]:"https://staging.devicekey.store",[h.PRODUCTION]:"https://devicekey.store"},E=6e4,L="indexeddb-fatal",c=class extends v{constructor(e){super(e);this.iframePromise=null;this.reloading=null;this.biometricRequestHandler=null;this.biometricListener=null;if(typeof window!="undefined"&&!P())throw new w("Device signer requires a browser with third-party storage partitioning (Chrome \u2265 115, Firefox \u2265 103, or Safari). Without storage partitioning, different embedders of the same iframe can share IndexedDB, allowing cross-site key access. See https://developer.chrome.com/blog/storage-partitioning");let r=K(e);if(r==null)throw new Error("Unable to determine environment from API key");this.iframeUrl=R[r]}setBiometricRequestHandler(e){this.biometricRequestHandler=e}generateKey(){return n(this,arguments,function*(e={biometricPolicy:"none"}){return(yield this.rpc("generateKey",e)).publicKeyBase64})}mapAddressToKey(e,r){return n(this,null,function*(){yield this.rpc("mapAddressToKey",{address:e,publicKeyBase64:r})})}getKey(e){return n(this,null,function*(){return(yield this.rpc("getKey",{address:e})).publicKeyBase64})}hasKey(e){return n(this,null,function*(){return(yield this.rpc("hasKey",{publicKeyBase64:e})).hasKey})}signMessage(e,r){return n(this,null,function*(){return yield this.rpc("signMessage",{address:e,message:r})})}deleteKey(e){return n(this,null,function*(){yield this.rpc("deleteKey",{address:e})})}destroy(){this.biometricListener!=null&&(window.removeEventListener("message",this.biometricListener),this.biometricListener=null),this.iframePromise!=null&&(this.iframePromise.then(e=>e.remove()).catch(()=>{}),this.iframePromise=null)}rpc(e,r){return n(this,null,function*(){let i=yield this.sendRpc(e,r);if(i.fatal){l.warn(`[IframeDeviceSignerKeyStorage] Recoverable IDB error on "${e}", reloading iframe and retrying`),yield this.reloadIframe();let t=yield this.sendRpc(e,r);if(t.fatal)throw new Error(`Device signer IDB fatal error on "${e}" persisted after iframe reload`);return t.value}return i.value})}sendRpc(e,r){return n(this,null,function*(){let t=(yield this.getIframe()).contentWindow;if(t==null)throw new Error("Device signer iframe has no contentWindow");let g=crypto.randomUUID(),a=new URL(this.iframeUrl).origin;return new Promise((s,o)=>{let f=setTimeout(()=>{window.removeEventListener("message",p),o(new Error(`Device signer RPC "${e}" timed out after ${E}ms`))},E);function p(y){let d=y.data;d==null||d.id!==g||y.origin===a&&(clearTimeout(f),window.removeEventListener("message",p),d.type==="error"&&d.code===L?s({fatal:!0}):d.type==="error"?o(new Error(d.error)):s({value:d.result,fatal:!1}))}window.addEventListener("message",p),t.postMessage({type:e,id:g,payload:r},this.iframeUrl)})})}reloadIframe(){return n(this,null,function*(){if(this.reloading!=null)return this.reloading;let e=n(this,null,function*(){try{this.destroy(),yield this.getIframe()}finally{this.reloading=null}});return this.reloading=e,e})}setupBiometricListener(e){let r=new URL(this.iframeUrl).origin;this.biometricListener=i=>n(this,null,function*(){if(i.origin!==r)return;let t=i.data;if((t==null?void 0:t.type)!=="biometric-request")return;let g=e.contentWindow;if(g!=null)try{this.biometricRequestHandler!=null&&(yield this.biometricRequestHandler(t.action));let a=null;if(t.action==="createCredential"){let s=t.payload,o=yield b.createCredential({name:s.name});a={id:o.id,publicKey:{x:`0x${o.publicKey.x.toString(16)}`,y:`0x${o.publicKey.y.toString(16)}`}}}else if(t.action==="sign"){let s=t.payload,{signature:o,metadata:f}=yield b.sign({credentialId:s.credentialId,challenge:s.challenge});a={signature:{r:`0x${o.r.toString(16)}`,s:`0x${o.s.toString(16)}`},metadata:f}}g.postMessage({type:"biometric-response",id:t.id,result:a},this.iframeUrl)}catch(a){let s=a instanceof Error?a.message:"Unknown biometric error";g.postMessage({type:"biometric-response",id:t.id,error:s},this.iframeUrl)}}),window.addEventListener("message",this.biometricListener)}getIframe(){return this.iframePromise==null&&(this.iframePromise=this.createIframe().catch(e=>{throw this.iframePromise=null,e})),this.iframePromise}createIframe(){let e=document.createElement("iframe");return e.src=this.iframeUrl,Object.assign(e.style,{position:"absolute",opacity:"0",pointerEvents:"none",width:"0",height:"0",border:"none",top:"-9999px",left:"-9999px"}),new Promise((r,i)=>{e.onload=()=>{this.setupBiometricListener(e),r(e)},e.onerror=()=>i(new Error("Failed to load device signer iframe")),document.body.appendChild(e)})}getDeviceName(){var t;if(typeof navigator=="undefined")return"Unknown Device";let e=navigator.userAgent,r=this.parseDevice(e),i=this.parseBrowser(e);return r!=null&&i!=null?`${i} on ${r}`:(t=r!=null?r:i)!=null?t:"Unknown Device"}parseDevice(e){return/iPad/.test(e)?"iPad":/iPhone/.test(e)?"iPhone":/Macintosh|Mac OS X/.test(e)?"Mac":/Windows/.test(e)?"Windows":/Android/.test(e)?"Android":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"ChromeOS":null}parseBrowser(e){return/Edg\//.test(e)?"Edge":/OPR\/|Opera/.test(e)?"Opera":typeof navigator!="undefined"&&"brave"in navigator?"Brave":/Chrome\//.test(e)?"Chrome":/Safari\//.test(e)&&!/Chrome\//.test(e)?"Safari":/Firefox\//.test(e)?"Firefox":null}};m([u({logger:l,methodName:"deviceSignerKeyStorage.generateKey"})],c.prototype,"generateKey",1),m([u({logger:l,methodName:"deviceSignerKeyStorage.mapAddressToKey"})],c.prototype,"mapAddressToKey",1),m([u({logger:l,methodName:"deviceSignerKeyStorage.getKey"})],c.prototype,"getKey",1),m([u({logger:l,methodName:"deviceSignerKeyStorage.hasKey"})],c.prototype,"hasKey",1),m([u({logger:l,methodName:"deviceSignerKeyStorage.signMessage"})],c.prototype,"signMessage",1),m([u({logger:l,methodName:"deviceSignerKeyStorage.deleteKey"})],c.prototype,"deleteKey",1);export{c as a};
@@ -1 +0,0 @@
1
- import{CrossmintSDKError as e,JWTDecryptionError as X,JWTExpiredError as H,JWTIdentifierError as j,JWTInvalidError as $,NotAuthorizedError as q,WalletErrorCode as n}from"@crossmint/common-sdk-base";import{NotAuthorizedError as Ir,JWTExpiredError as Er,JWTInvalidError as Nr,JWTDecryptionError as pr,JWTIdentifierError as ur}from"@crossmint/common-sdk-base";var u=class extends e{constructor(t,r){super(t,n.API_KEY_INVALID,r)}},x=class extends e{constructor(t,r){super(t,n.ENVIRONMENT_INVALID,r)}},A=class extends e{constructor(t,r){super(t,n.WALLET_CREATION_FAILED,r)}},_=class extends e{constructor(t,r){super(t,n.WALLET_TYPE_INVALID,r)}},g=class extends e{constructor(t,r){super(t,n.WALLET_NOT_AVAILABLE,r)}},R=class extends e{constructor(t,r){super(t,n.WALLET_NOT_AVAILABLE,r)}},d=class extends e{constructor(t,r){super(t,n.WALLET_CREATION_FAILED,r)}},a=class extends e{constructor(t,r){super(t,n.WALLET_TYPE_INVALID,r)}},l=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},T=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},D=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},sr="DEVICE_SIGNER_NOT_SUPPORTED",L=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},S=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},Q=10,O=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},o=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},c=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},i=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},I=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},E=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},N=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},p=class extends e{constructor(t,r){super(t,n.SIGNER_INVALID,r)}},C=class extends e{constructor(t,r){super(t,n.ENVIRONMENT_INVALID,r)}},G=class extends e{constructor(t,r){super(t,n.MESSAGE_INVALID,r)}},w=class extends e{constructor(t,r){super(t,n.MESSAGE_INVALID,r)}},V=class extends e{constructor(t,r){super(t,n.SIGNING_FAILED,r)}},h=class extends e{constructor(t,r){super(t,n.SIGNING_FAILED,r)}},W=class extends e{constructor(t,r){super(t,n.SIGNING_FAILED,r)}},y=class extends e{constructor(t,r){super(t,n.NO_SIGNATURE,r)}},J=class extends e{constructor(t,r){super(t,n.NO_SIGNATURE,r)}},f=class extends e{constructor(t,r){super(t,n.SIGNING_FAILED,r)}},P=class extends e{constructor(t,r){super(t,n.SIGNING_FAILED,r)}},v=class extends e{constructor(t,r){super(t,n.NO_TRANSACTION,r)}},F=class extends e{constructor(t,r){super(t,n.NO_TRANSACTION,r)}},M=class extends e{constructor(t,r){super(t,n.NO_TRANSACTION,r)}},U=class extends e{constructor(t,r){super(t,n.TRANSACTION_FAILED,r)}},Y=class extends e{constructor(t,r){super(t,n.TRANSACTION_FAILED,r)}},b=class extends e{constructor(t,r){super(t,n.TRANSACTION_FAILED,r)}},B=class extends e{constructor(t,r){super(t,n.TRANSACTION_FAILED,r)}},z=class extends e{constructor(t,r){super(t,n.TRANSACTION_FAILED,r)}},K=class extends e{constructor(t,r){super(t,n.TRANSACTION_FAILED,r)}},k=class extends e{constructor(t,r){super(t,n.RECIPIENT_ADDRESS_INVALID,r)}};function m(s){return typeof s=="object"&&s!=null}function er(s){var r;if(!m(s)||s.code==null)return;let t=JSON.stringify(s);switch(s.code){case"ERROR_JWT_EXPIRED":throw new H(s.expiredAt,t);case"ERROR_JWT_INVALID":throw new $(t);case"ERROR_JWT_DECRYPTION":throw new X(t);case"ERROR_JWT_IDENTIFIER_ERROR":throw new j(s.identifierKey,t);case"ERROR_JWT_AUDIENCE_MISMATCH":throw new q((r=s.message)!=null?r:"JWT audience mismatch",t)}}function nr(s){if(!m(s)||s.code==null)return;let t=JSON.stringify(s),r=s.message;switch(s.code){case"SIGNER_LIMIT_EXCEEDED":throw new o(r!=null?r:`A wallet can have at most ${Q} recovery signers`,t);case"RECOVERY_DUPLICATE_SIGNER":throw new c(r!=null?r:"The recovery list contains the same signer more than once",t);case"RECOVERY_SIGNER_CONFLICT":throw new i(r!=null?r:"A recovery signer cannot also be registered as an operational signer",t);case"SIGNER_REQUIRED":throw new I(r!=null?r:"This wallet has multiple recovery signers, so the signer to authorize with must be specified explicitly",t);case"RECOVERY_NOT_SUPPORTED_ON_CHAIN":throw new E(r!=null?r:"Multiple recovery signers are not supported on this chain yet",t);case"NOT_SUPPORTED_ON_API_VERSION":throw new N(r!=null?r:"Multiple recovery signers are not supported on this API version",t);case"RECOVERY_ADMIN_SIGNER_CONFLICT":throw new p(r!=null?r:"Only one of `adminSigner` and `recovery` can be provided",t)}}export{u as a,x as b,A as c,_ as d,g as e,R as f,d as g,a as h,l as i,T as j,D as k,sr as l,L as m,S as n,Q as o,O as p,o as q,c as r,i as s,I as t,E as u,N as v,p as w,C as x,G as y,w as z,V as A,h as B,W as C,y as D,J as E,f as F,P as G,v as H,F as I,M as J,U as K,Y as L,b as M,B as N,z as O,K as P,k as Q,er as R,nr as S,Ir as T,Er as U,Nr as V,pr as W,ur as X};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _commonsdkbase = require('@crossmint/common-sdk-base');var u=class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.API_KEY_INVALID,r)}},x= exports.b =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.ENVIRONMENT_INVALID,r)}},A= exports.c =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.WALLET_CREATION_FAILED,r)}},_= exports.d =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.WALLET_TYPE_INVALID,r)}},g= exports.e =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.WALLET_NOT_AVAILABLE,r)}},R= exports.f =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.WALLET_NOT_AVAILABLE,r)}},d= exports.g =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.WALLET_CREATION_FAILED,r)}},a= exports.h =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.WALLET_TYPE_INVALID,r)}},l= exports.i =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},T= exports.j =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},D= exports.k =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},tr= exports.l ="DEVICE_SIGNER_NOT_SUPPORTED",L= exports.m =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},S= exports.n =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},Q= exports.o =10,O= exports.p =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},o= exports.q =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},c= exports.r =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},i= exports.s =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},I= exports.t =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},E= exports.u =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},N= exports.v =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},p= exports.w =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNER_INVALID,r)}},C= exports.x =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.ENVIRONMENT_INVALID,r)}},G= exports.y =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.MESSAGE_INVALID,r)}},w= exports.z =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.MESSAGE_INVALID,r)}},V= exports.A =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNING_FAILED,r)}},h= exports.B =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNING_FAILED,r)}},W= exports.C =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNING_FAILED,r)}},y= exports.D =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.NO_SIGNATURE,r)}},J= exports.E =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.NO_SIGNATURE,r)}},f= exports.F =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNING_FAILED,r)}},P= exports.G =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.SIGNING_FAILED,r)}},v= exports.H =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.NO_TRANSACTION,r)}},F= exports.I =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.NO_TRANSACTION,r)}},M= exports.J =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.NO_TRANSACTION,r)}},U= exports.K =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.TRANSACTION_FAILED,r)}},Y= exports.L =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.TRANSACTION_FAILED,r)}},b= exports.M =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.TRANSACTION_FAILED,r)}},B= exports.N =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.TRANSACTION_FAILED,r)}},z= exports.O =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.TRANSACTION_FAILED,r)}},K= exports.P =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.TRANSACTION_FAILED,r)}},k= exports.Q =class extends _commonsdkbase.CrossmintSDKError{constructor(t,r){super(t,_commonsdkbase.WalletErrorCode.RECIPIENT_ADDRESS_INVALID,r)}};function m(s){return typeof s=="object"&&s!=null}function sr(s){var r;if(!m(s)||s.code==null)return;let t=JSON.stringify(s);switch(s.code){case"ERROR_JWT_EXPIRED":throw new (0, _commonsdkbase.JWTExpiredError)(s.expiredAt,t);case"ERROR_JWT_INVALID":throw new (0, _commonsdkbase.JWTInvalidError)(t);case"ERROR_JWT_DECRYPTION":throw new (0, _commonsdkbase.JWTDecryptionError)(t);case"ERROR_JWT_IDENTIFIER_ERROR":throw new (0, _commonsdkbase.JWTIdentifierError)(s.identifierKey,t);case"ERROR_JWT_AUDIENCE_MISMATCH":throw new (0, _commonsdkbase.NotAuthorizedError)((r=s.message)!=null?r:"JWT audience mismatch",t)}}function er(s){if(!m(s)||s.code==null)return;let t=JSON.stringify(s),r=s.message;switch(s.code){case"SIGNER_LIMIT_EXCEEDED":throw new o(r!=null?r:`A wallet can have at most ${Q} recovery signers`,t);case"RECOVERY_DUPLICATE_SIGNER":throw new c(r!=null?r:"The recovery list contains the same signer more than once",t);case"RECOVERY_SIGNER_CONFLICT":throw new i(r!=null?r:"A recovery signer cannot also be registered as an operational signer",t);case"SIGNER_REQUIRED":throw new I(r!=null?r:"This wallet has multiple recovery signers, so the signer to authorize with must be specified explicitly",t);case"RECOVERY_NOT_SUPPORTED_ON_CHAIN":throw new E(r!=null?r:"Multiple recovery signers are not supported on this chain yet",t);case"NOT_SUPPORTED_ON_API_VERSION":throw new N(r!=null?r:"Multiple recovery signers are not supported on this API version",t);case"RECOVERY_ADMIN_SIGNER_CONFLICT":throw new p(r!=null?r:"Only one of `adminSigner` and `recovery` can be provided",t)}}exports.a = u; exports.b = x; exports.c = A; exports.d = _; exports.e = g; exports.f = R; exports.g = d; exports.h = a; exports.i = l; exports.j = T; exports.k = D; exports.l = tr; exports.m = L; exports.n = S; exports.o = Q; exports.p = O; exports.q = o; exports.r = c; exports.s = i; exports.t = I; exports.u = E; exports.v = N; exports.w = p; exports.x = C; exports.y = G; exports.z = w; exports.A = V; exports.B = h; exports.C = W; exports.D = y; exports.E = J; exports.F = f; exports.G = P; exports.H = v; exports.I = F; exports.J = M; exports.K = U; exports.L = Y; exports.M = b; exports.N = B; exports.O = z; exports.P = K; exports.Q = k; exports.R = sr; exports.S = er; exports.T = _commonsdkbase.NotAuthorizedError; exports.U = _commonsdkbase.JWTExpiredError; exports.V = _commonsdkbase.JWTInvalidError; exports.W = _commonsdkbase.JWTDecryptionError; exports.X = _commonsdkbase.JWTIdentifierError;
@@ -1 +0,0 @@
1
- import{a as m}from"./chunk-OYRRSNQL.js";import{a as C}from"./chunk-OQZTL6ZG.js";import{a as u}from"./chunk-NU7VF7MC.js";function d(s,n){var e,l,r,i,a;let t=(e=s.chains)==null?void 0:e[n],o=m(n).balanceTokenFields(t);return u({symbol:(l=s.symbol)!=null?l:"",name:(r=s.name)!=null?r:"",amount:(i=s.amount)!=null?i:"0",decimals:s.decimals,rawAmount:(a=s.rawAmount)!=null?a:"0"},o)}function h(s,n){let t={symbol:s,name:s,amount:"0",decimals:0,rawAmount:"0"},o=m(n).emptyBalanceTokenFields();return u(u({},t),o)}function B(s,n,t){var r,i,a,f,p;if(n==null)return!0;let o=((r=s.symbol)!=null?r:"").toLowerCase();if(n.has(o))return!0;let e=(i=s.chains)==null?void 0:i[t];if(e==null)return!1;let l=C(t);if(l==="solana"&&"mintHash"in e){let c=(a=e.mintHash)==null?void 0:a.toLowerCase();return c!=null&&(n.has(c)||n.has(`solana:${c}`))}if(l==="stellar"&&"contractId"in e){let c=(f=e.contractId)==null?void 0:f.toLowerCase();return c!=null&&(n.has(c)||n.has(`stellar:${c}`))}if("contractAddress"in e){let c=(p=e.contractAddress)==null?void 0:p.toLowerCase();return c!=null&&(n.has(c)||n.has(`${t}:${c}`))}return!1}function g(s,n,t,o){let e=s.find(a=>a.symbol===t),l=s.find(a=>a.symbol==="usdc"),r=o!=null?new Set(o.map(a=>a.toLowerCase())):null,i=s.filter(a=>a.symbol!==t&&a.symbol!=="usdc"&&B(a,r,n));return{nativeToken:e!=null?d(e,n):h(t,n),usdc:l!=null?d(l,n):h("usdc",n),tokens:i.map(a=>d(a,n))}}export{g as a};
@@ -1 +0,0 @@
1
- import{a as de}from"./chunk-HMMK6LYH.js";import{a as he}from"./chunk-KJMRLUK5.js";import{a as ue,b as Se}from"./chunk-ZXUBE7OW.js";import{a as pe}from"./chunk-C4RBNOH4.js";import{a as le}from"./chunk-ITYURRZC.js";import{a as N}from"./chunk-MEDVUUYK.js";import{a as _}from"./chunk-SPPBXVSX.js";import{a as ce,b as ge}from"./chunk-DOSWSGKB.js";import{a as oe}from"./chunk-3O64K76B.js";import{f as U}from"./chunk-DCKFFFPG.js";import{a as se,b as ae}from"./chunk-OYRRSNQL.js";import{b as ne}from"./chunk-B4GYB3XY.js";import{f as ie}from"./chunk-PA5HV45F.js";import{E as X,F as Y,H as Z,I as ee,J as re,O as te,R as $,d as B,e as V,j as G,l as z,m as Q,n as K}from"./chunk-DKFVM2DI.js";import{a as s}from"./chunk-44HFPLYO.js";import{a as y,b as J,c as P,d as i,e as C,f as m,g as F,h as o}from"./chunk-NU7VF7MC.js";import{WithLoggerContext as E}from"@crossmint/common-sdk-base";var O,c,R,x,l,S,W,M,k,I,A,ve,fe,H,j,T=class{constructor(e,r){C(this,A);C(this,O);C(this,c);C(this,R);C(this,x);C(this,l);C(this,S);C(this,W,[]);C(this,M);C(this,k);C(this,I,null);let{chain:t,address:n,owner:a,options:h,alias:u,recovery:d,apiRecoveryServerSignerAddress:g,apiDelegatedServerSignerAddresses:p,signers:w,signer:v}=e;m(this,c,r),this.chain=t,this.address=n,this.owner=a,m(this,O,h),this.alias=u;let b=Array.isArray(d)?d:[d],L=b[0],D=null;g!=null?D=g:L.type==="server"&&U(L)&&(D=L.address),m(this,M,b),m(this,W,p!=null?p:[]),m(this,R,w!=null?w:[]),m(this,x,new le({chain:t,projectId:i(this,c).projectId,environment:i(this,c).environment,apiRecoveryAddress:D,apiDelegatedAddresses:i(this,W),knownOnChainAddresses:()=>[...i(this,R).filter(f=>f.type==="server"&&U(f)).map(f=>f.address),...i(this,W)]})),m(this,l,new pe({apiClient:r,options:h,chain:t,walletAddress:this.address,walletLocator:()=>this.walletLocator,serverSignerResolver:i(this,x),recovery:L,initialSigners:i(this,R),signers:()=>this.signers(),signer:v})),m(this,S,new he({chain:t,walletAddress:this.address,options:h,signerManager:i(this,l),serverSignerResolver:i(this,x),signers:()=>this.signers(),addSigner:f=>this.addSigner(f),removeSigner:f=>this.removeSigner({type:"device",locator:f}),approveSignature:f=>this.approveSignatureAndWait(f),approveTransaction:f=>this.approveTransactionAndWait(f)})),m(this,k,this.initDefaultSigner())}get signer(){return i(this,l).activeSigner}waitForInit(){return o(this,null,function*(){yield i(this,k)})}initDefaultSigner(){return o(this,null,function*(){if(i(this,l).activeSigner!=null||(yield i(this,S).initDeviceSigner(),i(this,l).activeSigner!=null||i(this,S).needsRecovery))return;let e=i(this,R).length===0?i(this,l).recovery:i(this,R).length===1?i(this,R)[0]:null;if(e==null)return;let r=N(e.type),t=i(this,l).descriptorContext();if(!r.canAutoAssemble(e,t))return;let n=e===i(this,l).recovery;try{let a=r.buildInternalConfig(e,t);i(this,l).setActiveSigner(yield i(this,l).assemble(a,{isAdminSigner:n}))}catch(a){s.warn("wallet.initDefaultSigner.autoAssemblyFailed",{recoveryType:i(this,l).recovery.type,signerCount:i(this,R).length,error:a})}})}static getApiClient(e){return e.apiClient}static getOptions(e){return e.options}static getRecovery(e){return e.recovery}static getInitialSigners(e){return i(e,R)}static getApiRecoveryServerSignerAddress(e){var r;return(r=i(e,x).apiRecoveryAddress)!=null?r:void 0}static getApiDelegatedServerSignerAddresses(e){return i(e,W)}get apiClient(){return i(this,c)}get options(){return i(this,O)}get chainAdapter(){return se(this.chain)}resolveServerSignerApiLocator(e){return i(this,x).apiLocator(e)}get recovery(){return[i(this,l).recovery,...i(this,M).slice(1)]}balances(e){return o(this,null,function*(){s.info("wallet.balances.start");let r=this.resolveChainForEnvironment(),t=this.chainAdapter.nativeToken,n=[t,"usdc",...e!=null?e:[]],a=yield i(this,c).getBalance(this.address,{chains:[r],tokens:n});if("error"in a)throw s.error("wallet.balances.error",{error:a}),new Error(`Failed to get balances for wallet: ${JSON.stringify(a.message)}`);return s.info("wallet.balances.success"),de(a,this.chain,t,e)})}stagingFund(e,r){return o(this,null,function*(){s.info("wallet.stagingFund.start",{amount:e,chain:r!=null?r:this.chain});let t=yield this.apiClient.fundWallet(this.address,{amount:e,token:"usdxm",chain:r!=null?r:this.chain});if("error"in t)throw s.error("wallet.stagingFund.error",{error:t}),new Error(`Failed to fund wallet: ${JSON.stringify(t.message)}`);return s.info("wallet.stagingFund.success"),t})}nfts(e){return o(this,null,function*(){let r=this.resolveChainForEnvironment(),t=yield i(this,c).getNfts(J(y({},e),{chain:r,address:this.address}));if(t!=null&&typeof t=="object"&&"error"in t)throw s.error("wallet.nfts.error",{error:t}),new Error(`Failed to get nfts: ${JSON.stringify(t.message)}`);return t})}transactions(){return o(this,null,function*(){let e=yield i(this,c).getTransactions(this.walletLocator);if("error"in e)throw new Error(`Failed to get transactions: ${JSON.stringify(e.message)}`);return e})}transaction(e){return o(this,null,function*(){let r=yield i(this,c).getTransaction(this.walletLocator,e);if("error"in r)throw new Error(`Failed to get transaction: ${JSON.stringify(r.message)}`);return r})}transfers(e){return o(this,null,function*(){let r=this.resolveChainForEnvironment(),t=yield this.apiClient.getTransfers(this.walletLocator,{chain:r,tokens:e.tokens,status:e.status});if("error"in t)throw new Error(`Failed to get transfers: ${JSON.stringify(t.message)}`);return t})}send(e,r,t,n){return o(this,null,function*(){let a=Number(t);if(Number.isNaN(a)||!Number.isFinite(a)||a<=0)throw new Z(`Invalid transfer amount: "${t}". Amount must be a positive number greater than zero.`);let h=ce(e),u=this.resolveChainForEnvironment(),d=ge(r,u);s.info("wallet.send.start",y({recipient:h,token:d,amount:t},(n==null?void 0:n.transactionType)!=null?{transactionType:n.transactionType}:{})),yield this.preAuthIfNeeded();let g=i(this,l).require(),p;(n==null?void 0:n.signer)==null?p=g.locator():typeof n.signer=="string"?p=n.signer:p=this.resolveServerSignerApiLocator(n.signer);let w=y({recipient:h,amount:t,signer:p},(n==null?void 0:n.transactionType)!=null?{transactionType:n.transactionType}:{}),v=yield i(this,c).send(this.walletLocator,d,w);if("message"in v)throw s.error("wallet.send.error",{error:v}),new ee(`Failed to send token: ${JSON.stringify(v.message)}`);if((n==null?void 0:n.prepareOnly)===!0)return s.info("wallet.send.prepared",{transactionId:v.id}),{hash:void 0,explorerLink:void 0,transactionId:v.id};let b=yield this.approveTransactionAndWait(v.id);return s.info("wallet.send.success",{transactionId:v.id,hash:b.hash}),b})}approveTransaction(e){return o(this,null,function*(){return console.warn("approveTransaction is deprecated. Use approve instead. This method will be removed in the next major version."),yield this.approve(e)})}approve(e){return o(this,null,function*(){if(s.info("wallet.approve.start",{transactionId:e.transactionId,signatureId:e.signatureId}),yield this.preAuthIfNeeded(),e.transactionId!=null){let r=yield this.approveTransactionAndWait(e.transactionId,e.options);return s.info("wallet.approve.success",{transactionId:e.transactionId}),r}if(e.signatureId!=null){let r=yield this.approveSignatureAndWait(e.signatureId,e.options);return s.info("wallet.approve.success",{signatureId:e.signatureId}),r}throw s.error("wallet.approve.error",{error:"Either transactionId or signatureId must be provided"}),new Error("Either transactionId or signatureId must be provided")})}addSigner(e,r){return o(this,null,function*(){s.info("wallet.addSigner.start");let t=typeof e=="object"&&"type"in e&&e.type==="server"?this.resolveServerSignerApiLocator(e):e;return i(this,l).withRecoverySigner(()=>o(this,null,function*(){var v;let n=typeof t=="string"?t:_(t),a=yield i(this,l).getSignerState(n);if(a.signer!=null){if(i(this,l).isApprovedSignerStatus(a.signer.status))return(r==null?void 0:r.scopes)!=null&&s.warn("wallet.addSigner.scopesIgnored",{reason:"signer already approved",signerLocator:n}),s.info("wallet.addSigner.alreadyApproved"),this.completeSignerRegistration(a.signer,null,r);if(a.pendingOperation!=null){if((r==null?void 0:r.scopes)!=null)throw new Error("Cannot apply scopes when resuming a pending signer registration. Remove the pending signer and register it again with the desired scopes.");return s.info("wallet.addSigner.resuming",{operationType:a.pendingOperation.type,operationId:a.pendingOperation.id}),this.completeSignerRegistration(a.signer,a.pendingOperation,r)}}let h=typeof t=="string"?t:N(t.type).addSignerPayload(t,i(this,l).descriptorContext()),d=this.chain!=="solana"&&this.chain!=="stellar"?(v=r==null?void 0:r.deployImmediately)!=null?v:!0:void 0,g=yield i(this,c).registerSigner(this.walletLocator,y(y({signer:h,chain:this.chainAdapter.addSignerChain(this.chain)},(r==null?void 0:r.scopes)!=null&&{scopes:r.scopes}),d!=null&&{deployImmediately:d}));if("error"in g)throw s.error("wallet.addSigner.error",{error:g}),g.code===z?new Q(g.message):new G(`Failed to register signer: ${JSON.stringify(g.message)}`);let p=ne(g,this.chain);if(p==null)throw new Error(`No approval found for chain ${this.chain} in register signer response`);let w=this.chainAdapter.extractAddSignerOperation(g,this.chain,{locator:n,type:e.type});return this.completeSignerRegistration(p,w,r)}))})}completeSignerRegistration(e,r,t){return o(this,null,function*(){if(t!=null&&t.prepareOnly){if(r==null)return y({},e);switch(r.type){case"transaction":{let n={transactionId:r.id};return s.info("wallet.addSigner.prepared",n),y(y({},e),n)}case"signature":{let n={signatureId:r.id};return s.info("wallet.addSigner.prepared",n),y(y({},e),n)}default:{let n=r.type;throw new Error(`Unknown pending operation type: ${n}`)}}}if(r!=null)switch(r.type){case"transaction":yield this.approveTransactionAndWait(r.id),s.info("wallet.addSigner.success",{transactionId:r.id});break;case"signature":yield this.approveSignatureAndWait(r.id),s.info("wallet.addSigner.success",{signatureId:r.id});break;default:{let n=r.type;throw new Error(`Unknown pending operation type: ${n}`)}}else s.info("wallet.addSigner.success");return J(y({},e),{status:"success"})})}removeSigner(e,r){return o(this,null,function*(){let t=this.resolveSignerLocator(e);return s.info("wallet.removeSigner.start",{signerLocator:t}),i(this,l).withRecoverySigner(()=>o(this,null,function*(){let n=yield i(this,c).removeSigner(this.walletLocator,t,{chain:this.chainAdapter.addSignerChain(this.chain)});if("error"in n)throw s.error("wallet.removeSigner.error",{error:n}),new Error(`Failed to remove signer: ${JSON.stringify(n)}`);let a=n.id;return r!=null&&r.prepareOnly?(s.info("wallet.removeSigner.prepared",{transactionId:a}),{transactionId:a,status:void 0}):(yield this.approveTransactionAndWait(a),s.info("wallet.removeSigner.success",{transactionId:a}),{transactionId:a,status:"success"})}))})}useSigner(e){return o(this,null,function*(){s.info("wallet.useSigner.start"),e.type==="server"&&i(this,x).resetDelegatedCache(),N(e.type).validateConfig(e);let r=!1;e.type==="device"?yield i(this,S).resolveAvailability(e):r=yield this.resolveNonDeviceSigner(e);let t=N(e.type).buildInternalConfig(e,i(this,l).descriptorContext()),n=_(e);i(this,l).setActiveSigner(yield i(this,l).assemble(t,{isAdminSigner:r})),s.info("wallet.useSigner.success",{signerLocator:n})})}resolveNonDeviceSigner(e){return o(this,null,function*(){if(e.type!=="passkey"&&e.type!=="server"&&this.isRecoverySigner(e))return i(this,S).onSignerSelected(),!0;if(e.type==="passkey"&&this.isPasskeyMissingId(e)&&!(yield this.tryAutoSelectPasskey(e))){if(this.isRecoverySigner(e))return i(this,S).onSignerSelected(),!0;throw new Error("No passkey signer is registered on this wallet.")}if(e.type==="server")return this.resolveServerSigner(e);let r=this.resolveSignerLocator(e);if(yield this.signerIsRegistered(r))return i(this,S).onSignerSelected(),!1;if(this.isRecoverySigner(e))return i(this,S).onSignerSelected(),!0;throw new Error(`Signer "${r}" is not registered in this wallet.`)})}resolveServerSigner(e){return o(this,null,function*(){let t=(yield this.signers()).map(a=>a.locator),n=i(this,x).resolveForUseSigner(e,t,()=>this.isRecoverySigner(e));switch(n.kind){case"delegated":return i(this,S).onSignerSelected(),!1;case"recovery":return i(this,l).stripSecretFromRecovery(),i(this,S).onSignerSelected(),!0;case"unregistered":throw new Error(n.message)}})}tryAutoSelectPasskey(e){return o(this,null,function*(){let t=(yield this.signers()).filter(n=>n.type==="passkey");if(t.length===0)return!1;if(t.length>1)throw new Error('Multiple passkey signers are registered on this wallet. Please specify the credential id: wallet.useSigner({ type: "passkey", id: "<credential-id>" })');return e.id=t[0].locator.replace("passkey:",""),!0})}resolveSignerLocator(e){return e.type==="server"?this.resolveServerSignerApiLocator(e):_(e)}isPasskeyMissingId(e){return e.id==null||e.id===""}signerIsRegistered(e){return o(this,null,function*(){return i(this,l).signerIsRegistered(e)})}isSignerApproved(e){return o(this,null,function*(){return i(this,l).isSignerApproved(e)})}needsRecovery(){return i(this,S).needsRecovery}recover(){return o(this,null,function*(){yield i(this,S).recover()})}signers(){return o(this,null,function*(){var a,h;s.info("wallet.signers.start");let e=yield i(this,c).getWallet(this.walletLocator);if("error"in e)throw s.error("wallet.signers.error",{error:e}),new V(JSON.stringify(e));if(!ye(e)){let u=e.type!=="smart"?`Wallet type ${e.type} not supported`:`Wallet chain type ${e.chainType} not supported`;throw s.error("wallet.signers.error",{error:u}),new B(u)}let r=(h=(a=e==null?void 0:e.config)==null?void 0:a.delegatedSigners)!=null?h:[],n=(yield Promise.all(r.map(u=>o(this,null,function*(){try{return(yield i(this,l).getSignerState(u.locator)).signer}catch(d){return s.warn("wallet.signers.mapSigner.failed",{locator:u.locator,error:d}),null}})))).filter(u=>u!=null);return s.info("wallet.signers.success",{count:n.length}),n})}get walletLocator(){if(i(this,c).isServerSide)return this.address;{let e=this.chainAdapter.walletLocatorPrefix,r=this.alias!=null?`:alias:${this.alias}`:"";return e+r}}get signerManager(){return i(this,l)}preAuthIfNeeded(){return o(this,null,function*(){yield i(this,k),i(this,I)==null&&m(this,I,this.recover());try{yield i(this,I)}finally{m(this,I,null)}let e=i(this,l).require();e instanceof oe&&(yield e.ensureAuthenticated())})}isRecoverySigner(e){let r=i(this,l).recovery;if(r==null||r.type!==e.type)return!1;let t=N(e.type);return t.matchesRecovery(e,r,i(this,l).descriptorContext())?(t.adoptsRecoveryConfigOnMatch&&i(this,l).adoptRecoveryConfig(e),!0):!1}resolveChainForEnvironment(){let e=ie(this.chain,i(this,c).environment);return e!==this.chain&&(this.chain=e),this.chain}approveTransactionAndWait(e,r){return o(this,null,function*(){return yield this.approveTransactionInternal(e,r),yield this.sleep(1e3),yield this.waitForTransaction(e)})}approveSignatureAndWait(e,r){return o(this,null,function*(){let t=yield this.approveSignatureInternal(e,r);return!("error"in t)&&t.status==="success"&&t.outputSignature!=null?{signature:t.outputSignature,signatureId:e}:(yield this.sleep(1e3),yield this.waitForSignature(e))})}approveSignatureInternal(e,r){return o(this,null,function*(){var d,g;if(!this.chainAdapter.supportsSignatures)throw new Error("Approving signatures is only supported for EVM smart wallets");let t=i(this,l).require(),n=yield i(this,c).getSignature(this.walletLocator,e);if("error"in n)throw $(n),new X(JSON.stringify(n));if(t.type==="api-key")return n;if((r==null?void 0:r.approval)!=null){let p=[r.approval];return yield this.executeApproveSignatureWithErrorHandling(e,p)}let a=(d=n.approvals)==null?void 0:d.pending;if(a==null||a.length===0)return n;let h=[...(g=r==null?void 0:r.additionalSigners)!=null?g:[],t],u=yield F(this,A,j).call(this,F(this,A,H).call(this,a),h,(p,w)=>p.signMessage(w.message));return yield this.executeApproveSignatureWithErrorHandling(e,u)})}approveTransactionInternal(e,r){return o(this,null,function*(){var d,g,p,w,v;let t=yield i(this,c).getTransaction(this.walletLocator,e);if("error"in t)throw $(t),new re(JSON.stringify(t));yield(p=(g=(d=i(this,O))==null?void 0:d.callbacks)==null?void 0:g.onTransactionStart)==null?void 0:p.call(g);let n=i(this,l).require();if(n.type==="api-key")return t;if((r==null?void 0:r.approval)!=null){let b=[r.approval];return yield this.executeApproveTransactionWithErrorHandling(e,b)}let a=(w=t.approvals)==null?void 0:w.pending;if(a==null||a.length===0)return t;let h=[...(v=r==null?void 0:r.additionalSigners)!=null?v:[],n],u=yield F(this,A,j).call(this,F(this,A,H).call(this,a),h,(b,L)=>{let D=b.type==="device",f=t.chainType==="solana"&&"transaction"in t.onChain&&!D?t.onChain.transaction:L.message;return b.signTransaction(f)});return yield this.executeApproveTransactionWithErrorHandling(e,u)})}executeApproveTransactionWithErrorHandling(e,r){return o(this,null,function*(){s.info("wallet.approve: submitting approval to API",{transactionId:e});let t=yield i(this,c).approveTransaction(this.walletLocator,e,{approvals:r});if(t.error)throw $(t),new te(JSON.stringify(t));return t})}executeApproveSignatureWithErrorHandling(e,r){return o(this,null,function*(){let t=yield i(this,c).approveSignature(this.walletLocator,e,{approvals:r});if(t.error)throw $(t),new Y(JSON.stringify(t));return t})}waitForSignature(e){return o(this,null,function*(){return yield Se(i(this,c),this.walletLocator,e)})}waitForTransaction(n){return o(this,arguments,function*(e,r=6e4,t={}){return yield ue(i(this,c),this.walletLocator,e,y({timeoutMs:r},t))})}sleep(e){return o(this,null,function*(){return new Promise(r=>setTimeout(r,e))})}};O=new WeakMap,c=new WeakMap,R=new WeakMap,x=new WeakMap,l=new WeakMap,S=new WeakMap,W=new WeakMap,M=new WeakMap,k=new WeakMap,I=new WeakMap,A=new WeakSet,ve=function(e){return o(this,null,function*(){let r=yield i(this,S).tryResolveLocallyAvailableSigner(e);return r!=null&&s.info("wallet.approve.deviceSignerRecoveredViaFallback",{signerLocator:e}),r})},fe=function(e,r){return o(this,null,function*(){var n;let t=e.find(a=>a.locator()===r);if(t==null&&(t=(n=yield F(this,A,ve).call(this,r))!=null?n:void 0),t==null)throw new G(`Signer ${r} not found in pending approvals`);return t})},H=function(e){return e.map(r=>{if(r.signer.type==="quorum")throw new K(`This wallet requires approval from a quorum signer (${r.signer.locator}), which is not yet supported by this SDK version`);return r})},j=function(e,r,t){return o(this,null,function*(){return yield Promise.all(e.map(n=>o(this,null,function*(){let a=yield F(this,A,fe).call(this,r,n.signer.locator),h=yield t(a,n);return J(y({},h),{signer:a.locator()})})))})},P([E({logger:s,methodName:"wallet.balances",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"balances",1),P([E({logger:s,methodName:"wallet.stagingFund",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"stagingFund",1),P([E({logger:s,methodName:"wallet.send",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"send",1),P([E({logger:s,methodName:"wallet.approve",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"approve",1),P([E({logger:s,methodName:"wallet.addSigner",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"addSigner",1),P([E({logger:s,methodName:"wallet.removeSigner",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"removeSigner",1),P([E({logger:s,methodName:"wallet.useSigner",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"useSigner",1),P([E({logger:s,methodName:"wallet.recover",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"recover",1),P([E({logger:s,methodName:"wallet.signers",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"signers",1);function ye(q){return q.type==="smart"&&ae(q.chainType)}export{T as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkO2BU2KJDcjs = require('./chunk-O2BU2KJD.cjs');var _chunkWWXCXFMHcjs = require('./chunk-WWXCXFMH.cjs');var _chunkKYQMIHMFcjs = require('./chunk-KYQMIHMF.cjs');var _chunkBP5DRG7Ecjs = require('./chunk-BP5DRG7E.cjs');var _chunkVGE4ZHHDcjs = require('./chunk-VGE4ZHHD.cjs');var _chunk5FVDLMWWcjs = require('./chunk-5FVDLMWW.cjs');var _chunkXWQC6G7Ncjs = require('./chunk-XWQC6G7N.cjs');var _chunkR4SBFRTMcjs = require('./chunk-R4SBFRTM.cjs');var _chunkHYWIWJ6Hcjs = require('./chunk-HYWIWJ6H.cjs');var _chunk3XOTSFIMcjs = require('./chunk-3XOTSFIM.cjs');var _chunkCDHMNLZ6cjs = require('./chunk-CDHMNLZ6.cjs');var _chunkGOAGKFGNcjs = require('./chunk-GOAGKFGN.cjs');var _chunkDSIFRRBScjs = require('./chunk-DSIFRRBS.cjs');function c(r,e,n){switch(e.type){case"email":case"phone":return r==="solana"?new (0, _chunkBP5DRG7Ecjs.a)(e):r==="stellar"?new (0, _chunkWWXCXFMHcjs.a)(e):new (0, _chunkKYQMIHMFcjs.a)(e);case"api-key":return r==="solana"?new (0, _chunkCDHMNLZ6cjs.a)(e):new (0, _chunkR4SBFRTMcjs.a)(e);case"external-wallet":return r==="solana"?new (0, _chunkVGE4ZHHDcjs.a)(e):r==="stellar"?new (0, _chunk5FVDLMWWcjs.a)(e):new (0, _chunkHYWIWJ6Hcjs.a)(e);case"server":return _chunkO2BU2KJDcjs.a.call(void 0, r,e);case"passkey":return new (0, _chunk3XOTSFIMcjs.a)(e);case"device":if(n==null)throw new (0, _chunkGOAGKFGNcjs.g)("Device signer key storage is required for device signers");return new (0, _chunkXWQC6G7Ncjs.a)(e,n)}}function b(r,e,n,a){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){if(!e.startsWith("device:"))return null;let w=e.replace("device:","");return(yield a.hasKey(w))?c(r,{type:"device",locator:e,address:n},a):null})}exports.a = c; exports.b = b;
@@ -1 +0,0 @@
1
- import{c as B}from"./chunk-TSJUK3ED.js";import{a as v}from"./chunk-FJPAMX7L.js";import{f as D}from"./chunk-DCKFFFPG.js";import{d,e as S,f as n,g as h}from"./chunk-NU7VF7MC.js";var y,c,A,u,f,C,g,t,o,k,w,a,K=class{constructor(r){S(this,o);S(this,y);S(this,c);S(this,A);S(this,u);S(this,f);S(this,C);S(this,g,null);S(this,t,null);n(this,y,r.chain),n(this,c,r.projectId),n(this,A,r.environment),n(this,u,r.apiRecoveryAddress),n(this,f,r.apiDelegatedAddresses),n(this,C,r.knownOnChainAddresses)}deriveCandidates(r){return B(r,d(this,y),d(this,c),d(this,A))}resolveDerivation(r){var l;if(D(r)){if(d(this,t)!=null)return d(this,t);throw new Error('Cannot resolve server signer derivation: no secret available and no cached recovery resolution. Call wallet.useSigner({ type: "server", secret: ... }) first.')}let{primary:e,legacy:i}=this.deriveCandidates(r),s=(l=d(this,g))!=null?l:d(this,t);if(s!=null){let p=s.derivedAddress;if(p===e.derivedAddress||i!=null&&p===i.derivedAddress)return v(e.derivedKeyBytes,i==null?void 0:i.derivedKeyBytes),s}if(i!=null){if(i.derivedAddress===d(this,u))return v(e.derivedKeyBytes),i;if(d(this,C).call(this).includes(i.derivedAddress))return v(e.derivedKeyBytes),i;v(i.derivedKeyBytes)}return e}apiLocator(r){let e=this.resolveDerivation(r);return e!==d(this,g)&&e!==d(this,t)&&v(e.derivedKeyBytes),`server:${e.derivedAddress}`}resolveForUseSigner(r,e,i){let{primary:s,legacy:l}=this.deriveCandidates(r);if(h(this,o,k).call(this,s,l,e)!=null)return{kind:"delegated"};if(i())return h(this,o,w).call(this,s,l),{kind:"recovery"};let p=l!=null?`"server:${s.derivedAddress}" or "server:${l.derivedAddress}"`:`"server:${s.derivedAddress}"`;return v(s.derivedKeyBytes,l==null?void 0:l.derivedKeyBytes),{kind:"unregistered",message:`Signer ${p} is not registered in this wallet.`}}keyMaterialForAssembly(r){let e=this.resolveDerivation(r),i=new Uint8Array(e.derivedKeyBytes);return e!==d(this,g)&&e!==d(this,t)&&v(e.derivedKeyBytes),{derivedKeyBytes:i,derivedAddress:e.derivedAddress}}candidateAddresses(r){if(D(r))return[r.address];let{primary:e,legacy:i}=this.deriveCandidates(r),s=[e.derivedAddress];return i!=null&&s.push(i.derivedAddress),v(e.derivedKeyBytes,i==null?void 0:i.derivedKeyBytes),s}resetDelegatedCache(){var r;v((r=d(this,g))==null?void 0:r.derivedKeyBytes),n(this,g,null)}get hasRecoveryResolution(){return d(this,t)!=null}get resolvedRecoveryAddress(){var r,e;return(e=(r=d(this,t))==null?void 0:r.derivedAddress)!=null?e:null}get apiRecoveryAddress(){return d(this,u)}get apiDelegatedAddresses(){return d(this,f)}};y=new WeakMap,c=new WeakMap,A=new WeakMap,u=new WeakMap,f=new WeakMap,C=new WeakMap,g=new WeakMap,t=new WeakMap,o=new WeakSet,k=function(r,e,i){return i.includes(`server:${r.derivedAddress}`)?(n(this,g,r),h(this,o,a).call(this,r,e),r):e!=null&&i.includes(`server:${e.derivedAddress}`)?(n(this,g,e),h(this,o,a).call(this,e,r),e):null},w=function(r,e){return d(this,u)!=null&&e!=null&&e.derivedAddress===d(this,u)?(n(this,t,e),h(this,o,a).call(this,e,r),e):(n(this,t,r),h(this,o,a).call(this,r,e),r)},a=function(r,e){e!=null&&e!==r&&v(e.derivedKeyBytes)};export{K as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUE3WVHTMcjs = require('./chunk-UE3WVHTM.cjs');var _chunk5X4EOJFGcjs = require('./chunk-5X4EOJFG.cjs');var _chunkHRUMWG2Fcjs = require('./chunk-HRUMWG2F.cjs');var _chunkIR5WN6FQcjs = require('./chunk-IR5WN6FQ.cjs');var _chunkGEY574THcjs = require('./chunk-GEY574TH.cjs');var _chunkGOAGKFGNcjs = require('./chunk-GOAGKFGN.cjs');var _chunkTDIOBXZ3cjs = require('./chunk-TDIOBXZ3.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var _chains = require('viem/chains');var w=[_commonsdkbase.BlockchainIncludingTestnet.ABSTRACT_TESTNET,_commonsdkbase.BlockchainIncludingTestnet.ARBITRUM_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.BASE_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.CURTIS,_commonsdkbase.BlockchainIncludingTestnet.ETHEREUM_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.FLOW_TESTNET,_commonsdkbase.BlockchainIncludingTestnet.MANTLE_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.MODE_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.OPTIMISM_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.PLUME_TESTNET,_commonsdkbase.BlockchainIncludingTestnet.POLYGON_AMOY,_commonsdkbase.BlockchainIncludingTestnet.SCROLL_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.SEI_ATLANTIC_2_TESTNET,_commonsdkbase.BlockchainIncludingTestnet.STORY_TESTNET,_commonsdkbase.BlockchainIncludingTestnet.WORLD_CHAIN_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.ZORA_SEPOLIA,_commonsdkbase.BlockchainIncludingTestnet.ARC_TESTNET,_commonsdkbase.BlockchainIncludingTestnet.TEMPO_TESTNET],D=[_commonsdkbase.BlockchainIncludingTestnet.ABSTRACT,_commonsdkbase.BlockchainIncludingTestnet.APECHAIN,_commonsdkbase.BlockchainIncludingTestnet.ARBITRUM,_commonsdkbase.BlockchainIncludingTestnet.ARBITRUMNOVA,_commonsdkbase.BlockchainIncludingTestnet.BASE,_commonsdkbase.BlockchainIncludingTestnet.BSC,_commonsdkbase.BlockchainIncludingTestnet.ETHEREUM,_commonsdkbase.BlockchainIncludingTestnet.FLOW,_commonsdkbase.BlockchainIncludingTestnet.MANTLE,_commonsdkbase.BlockchainIncludingTestnet.MODE,_commonsdkbase.BlockchainIncludingTestnet.OPTIMISM,_commonsdkbase.BlockchainIncludingTestnet.PLUME,_commonsdkbase.BlockchainIncludingTestnet.POLYGON,_commonsdkbase.BlockchainIncludingTestnet.SCROLL,_commonsdkbase.BlockchainIncludingTestnet.SEI_PACIFIC_1,_commonsdkbase.BlockchainIncludingTestnet.SHAPE,_commonsdkbase.BlockchainIncludingTestnet.STORY,_commonsdkbase.BlockchainIncludingTestnet.TEMPO,_commonsdkbase.BlockchainIncludingTestnet.WORLDCHAIN,_commonsdkbase.BlockchainIncludingTestnet.ZORA];function X(t){switch(t){case _commonsdkbase.BlockchainIncludingTestnet.BASE_SEPOLIA:return _chains.baseSepolia;case _commonsdkbase.BlockchainIncludingTestnet.BASE:return _chains.base;case _commonsdkbase.BlockchainIncludingTestnet.POLYGON_AMOY:return _chains.polygonAmoy;case _commonsdkbase.BlockchainIncludingTestnet.POLYGON:return _chains.polygon;case _commonsdkbase.BlockchainIncludingTestnet.OPTIMISM_SEPOLIA:return _chains.optimismSepolia;case _commonsdkbase.BlockchainIncludingTestnet.OPTIMISM:return _chains.optimism;case _commonsdkbase.BlockchainIncludingTestnet.ARBITRUM_SEPOLIA:return _chains.arbitrumSepolia;case _commonsdkbase.BlockchainIncludingTestnet.ARBITRUM:return _chains.arbitrum;case _commonsdkbase.BlockchainIncludingTestnet.ARBITRUMNOVA:return _chains.arbitrumNova;case _commonsdkbase.BlockchainIncludingTestnet.STORY_TESTNET:return _chunkGEY574THcjs.a;case _commonsdkbase.BlockchainIncludingTestnet.STORY:return _chunkIR5WN6FQcjs.a;case _commonsdkbase.BlockchainIncludingTestnet.MODE_SEPOLIA:return _chains.modeTestnet;case _commonsdkbase.BlockchainIncludingTestnet.MODE:return _chains.mode;case _commonsdkbase.BlockchainIncludingTestnet.BSC:return _chains.bsc;case _commonsdkbase.BlockchainIncludingTestnet.SHAPE:return _chains.shape;case _commonsdkbase.BlockchainIncludingTestnet.ZORA:return _chains.zora;case _commonsdkbase.BlockchainIncludingTestnet.ZORA_SEPOLIA:return _chains.zoraSepolia;case _commonsdkbase.BlockchainIncludingTestnet.ETHEREUM_SEPOLIA:return _chains.sepolia;case _commonsdkbase.BlockchainIncludingTestnet.ETHEREUM:return _chains.mainnet;case _commonsdkbase.BlockchainIncludingTestnet.FLOW:return _chains.flowMainnet;case _commonsdkbase.BlockchainIncludingTestnet.FLOW_TESTNET:return _chains.flowTestnet;case _commonsdkbase.BlockchainIncludingTestnet.PLUME_TESTNET:return _chains.plumeTestnet;case _commonsdkbase.BlockchainIncludingTestnet.PLUME:return _chains.plume;case _commonsdkbase.BlockchainIncludingTestnet.ARC_TESTNET:return _chunkHRUMWG2Fcjs.a;case _commonsdkbase.BlockchainIncludingTestnet.TEMPO:return _chunkUE3WVHTMcjs.a;case _commonsdkbase.BlockchainIncludingTestnet.TEMPO_TESTNET:return _chunk5X4EOJFGcjs.a;case _commonsdkbase.BlockchainIncludingTestnet.ABSTRACT:case _commonsdkbase.BlockchainIncludingTestnet.ABSTRACT_TESTNET:case _commonsdkbase.BlockchainIncludingTestnet.APECHAIN:case _commonsdkbase.BlockchainIncludingTestnet.MANTLE:case _commonsdkbase.BlockchainIncludingTestnet.MANTLE_SEPOLIA:case _commonsdkbase.BlockchainIncludingTestnet.SCROLL:case _commonsdkbase.BlockchainIncludingTestnet.SCROLL_SEPOLIA:case _commonsdkbase.BlockchainIncludingTestnet.SEI_PACIFIC_1:case _commonsdkbase.BlockchainIncludingTestnet.SEI_ATLANTIC_2_TESTNET:case _commonsdkbase.BlockchainIncludingTestnet.CURTIS:case _commonsdkbase.BlockchainIncludingTestnet.WORLDCHAIN:case _commonsdkbase.BlockchainIncludingTestnet.WORLD_CHAIN_SEPOLIA:throw new Error(`Chain ${t} is not yet supported in toViemChain function. Please add the appropriate viem chain definition.`);default:throw new Error(`Unknown chain: ${t}`)}}function I(t){return w.includes(t)}function C(t){return D.includes(t)}var Y={[_commonsdkbase.BlockchainIncludingTestnet.ABSTRACT]:_commonsdkbase.BlockchainIncludingTestnet.ABSTRACT_TESTNET,[_commonsdkbase.BlockchainIncludingTestnet.APECHAIN]:_commonsdkbase.BlockchainIncludingTestnet.CURTIS,[_commonsdkbase.BlockchainIncludingTestnet.ARBITRUM]:_commonsdkbase.BlockchainIncludingTestnet.ARBITRUM_SEPOLIA,[_commonsdkbase.BlockchainIncludingTestnet.BASE]:_commonsdkbase.BlockchainIncludingTestnet.BASE_SEPOLIA,[_commonsdkbase.BlockchainIncludingTestnet.ETHEREUM]:_commonsdkbase.BlockchainIncludingTestnet.ETHEREUM_SEPOLIA,[_commonsdkbase.BlockchainIncludingTestnet.FLOW]:_commonsdkbase.BlockchainIncludingTestnet.FLOW_TESTNET,[_commonsdkbase.BlockchainIncludingTestnet.MANTLE]:_commonsdkbase.BlockchainIncludingTestnet.MANTLE_SEPOLIA,[_commonsdkbase.BlockchainIncludingTestnet.MODE]:_commonsdkbase.BlockchainIncludingTestnet.MODE_SEPOLIA,[_commonsdkbase.BlockchainIncludingTestnet.OPTIMISM]:_commonsdkbase.BlockchainIncludingTestnet.OPTIMISM_SEPOLIA,[_commonsdkbase.BlockchainIncludingTestnet.PLUME]:_commonsdkbase.BlockchainIncludingTestnet.PLUME_TESTNET,[_commonsdkbase.BlockchainIncludingTestnet.POLYGON]:_commonsdkbase.BlockchainIncludingTestnet.POLYGON_AMOY,[_commonsdkbase.BlockchainIncludingTestnet.SCROLL]:_commonsdkbase.BlockchainIncludingTestnet.SCROLL_SEPOLIA,[_commonsdkbase.BlockchainIncludingTestnet.SEI_PACIFIC_1]:_commonsdkbase.BlockchainIncludingTestnet.SEI_ATLANTIC_2_TESTNET,[_commonsdkbase.BlockchainIncludingTestnet.STORY]:_commonsdkbase.BlockchainIncludingTestnet.STORY_TESTNET,[_commonsdkbase.BlockchainIncludingTestnet.WORLDCHAIN]:_commonsdkbase.BlockchainIncludingTestnet.WORLD_CHAIN_SEPOLIA,[_commonsdkbase.BlockchainIncludingTestnet.ZORA]:_commonsdkbase.BlockchainIncludingTestnet.ZORA_SEPOLIA,[_commonsdkbase.BlockchainIncludingTestnet.TEMPO]:_commonsdkbase.BlockchainIncludingTestnet.TEMPO_TESTNET};function g(t){return Y[t]}function F(t){return t==="solana"||t==="stellar"||I(t)||C(t)}function ee(t,a){if(!F(t))throw new (0, _chunkGOAGKFGNcjs.c)(`Unknown chain "${t}". Please use a supported chain name (e.g. "base-sepolia", "polygon", "solana", "stellar").`);if(t==="solana"||t==="stellar")return t;let r=t,T=a===_commonsdkbase.APIKeyEnvironmentPrefix.PRODUCTION;if(T&&I(r))throw new (0, _chunkGOAGKFGNcjs.b)(`Chain "${t}" is a testnet chain and cannot be used in production. Please use a mainnet chain instead.`);if(!T&&C(r)){let n=g(r);if(n!=null)return _chunkTDIOBXZ3cjs.a.debug("validateChainForEnvironment.autoConverted",{chain:t,convertedTo:n,environment:a,message:`Chain "${t}" is a mainnet chain and cannot be used in ${a} environment. Automatically converted to "${n}".`}),n;_chunkTDIOBXZ3cjs.a.debug("validateChainForEnvironment.mismatch",{chain:t,environment:a,message:`Chain "${t}" is a mainnet chain and should not be used in ${a} environment. No testnet equivalent is available. Please use a testnet chain instead.`})}return t}exports.a = X; exports.b = I; exports.c = C; exports.d = g; exports.e = F; exports.f = ee;
@@ -1 +0,0 @@
1
- import{a as _}from"./chunk-HN2VCKKJ.js";import{a as O}from"./chunk-5LNDUSMZ.js";import{a as w}from"./chunk-SPPBXVSX.js";import{b as S,c as E}from"./chunk-O6DY4JCK.js";import{a as W}from"./chunk-3KAXLLXJ.js";import{b as x,c as b}from"./chunk-TSJUK3ED.js";import{f as k}from"./chunk-PA5HV45F.js";import{S as N,e as D,g as C,l as T,o as P,p as $,q as K,u as L}from"./chunk-DKFVM2DI.js";import{a as h}from"./chunk-44HFPLYO.js";import{a as f,b as u,c as F,h as p}from"./chunk-NU7VF7MC.js";import{WithLoggerContext as j}from"@crossmint/common-sdk-base";import{WebAuthnP256 as G}from"ox";var q="When 'signers' is provided to a method that may fetch an existing wallet, each specified signer must exist in that wallet's configuration.",R=class{constructor(e){this.apiClient=e}getWallet(e,r){return p(this,null,function*(){let t,i;if(typeof e=="string"){if(!this.apiClient.isServerSide)throw new C("getWallet with walletLocator is only available on the server side. Use getWallet(args) instead.");if(r==null)throw new C("Wallet configuration is required when using walletLocator: https://docs.crossmint.com/sdk-reference/wallets/type-aliases/WalletArgsFor");t=e,i=r}else{if(this.apiClient.isServerSide)throw new C("getWallet on server side requires a walletLocator parameter. Use getWallet(walletLocator, args) instead.");i=e,t=this.getWalletLocator(i)}let n=u(f({},i),{chain:k(i.chain,this.apiClient.environment)});h.info("walletFactory.getWallet.start");let s=yield this.apiClient.getWallet(t);if("error"in s)throw h.warn("walletFactory.getWallet.notFound",{error:s.error}),new D(JSON.stringify(s));return h.info("walletFactory.getWallet.success",{address:s.address}),yield this.createWalletInstance(s,n)})}createWallet(e){return p(this,null,function*(){var d,y,g,v,m,I;let r=u(f({},e),{chain:k(e.chain,this.apiClient.environment)});if(yield(g=(y=(d=r.options)==null?void 0:d.callbacks)==null?void 0:y.onWalletCreationStart)==null?void 0:g.call(y),h.info("walletFactory.createWallet.start"),!this.apiClient.isServerSide&&r.owner!=null)throw h.error("walletFactory.createWallet.error",{error:"Owner field cannot be specified in client-side createWallet calls"}),new C("Owner field cannot be specified in client-side createWallet calls. Owner is determined from JWT authentication.");let t=(v=r.signers)!=null?v:[],i=((m=r.options)==null?void 0:m.deviceSignerKeyStorage)!=null&&!t.some(A=>A.type==="device"),n=i?[...t,{type:"device"}]:t,s=yield this.registerSigners(n,r.chain,(I=r.options)==null?void 0:I.deviceSignerKeyStorage),o=this.validatedRecoverySignerList(r.recovery,r.chain),a=[];for(let A of o)a.push(yield this.resolveRecoverySigner(A,r.chain));let l=Array.isArray(r.recovery)?{recovery:a}:{adminSigner:a[0]},c=yield this.createSmartWallet(r,l,s,i);if("error"in c)throw h.error("walletFactory.createWallet.error",{error:c.error}),N(c),new C(JSON.stringify(c));return h.info("walletFactory.createWallet.success",{address:c.address}),yield this.createWalletInstance(c,r)})}createSmartWallet(e,r,t,i){return p(this,null,function*(){let n=l=>{var c,d;return{type:"smart",chainType:this.getChainType(e.chain),config:f(f(f({},r),e.plugins?{plugins:e.plugins}:{}),l!=null?{delegatedSigners:l}:{}),owner:(c=e.owner)!=null?c:void 0,alias:(d=e.alias)!=null?d:void 0}},s=yield this.apiClient.createWallet(n(t));if(!(i&&"error"in s&&s.code===T))return s;h.info("walletFactory.createWallet.deviceSignerUnsupported.retryWithoutDeviceSigner",{chain:e.chain});let a=t.filter(l=>!this.isBuiltDeviceSigner(l));return yield this.apiClient.createWallet(n(a))})}validatedRecoverySignerList(e,r){let t=W(e);if(!Array.isArray(e))return t;if(r!=="solana"&&r!=="stellar")throw new L(`Multiple recovery signers are not supported on ${r} yet. Pass a single recovery signer.`);if(t.length===0)throw new $("At least one recovery signer is required");if(t.length>P)throw new K(`A wallet can have at most ${P} recovery signers, but ${t.length} were provided`);return t}resolveRecoverySigner(e,r){return p(this,null,function*(){if(e.type==="passkey"&&e.id==null)return yield this.createPasskeySigner(e);if(e.type==="server"){let{derivedAddress:t}=x(e,r,this.apiClient.projectId,this.apiClient.environment);return{type:"server",address:t}}return e})}isBuiltDeviceSigner(e){let r=e.signer;return typeof r=="object"&&r!=null&&r.type==="device"}mergePhoneChannel(e,r){return e.type!=="phone"||(r==null?void 0:r.type)!=="phone"||r.channel==null?e:u(f({},e),{channel:r.channel})}createWalletInstance(e,r){return p(this,null,function*(){var y;this.validateExistingWalletConfig(e,r);let t=r,i=e.config,n=(y=i.recovery)!=null?y:[i.adminSigner],s=this.mergeRecoverySigners(n,W(t.recovery),r.chain),o=i.delegatedSigners,a=o;if(a!=null&&a.length===1&&(a[0].type==="server"||a[0].type==="external-wallet"))a=t.signers;else if(a!=null){let g=t.signers;a=a.map(v=>this.mergePhoneChannel(v,g==null?void 0:g.find(m=>m.type==="phone"&&v.type==="phone"&&w(m)===v.locator)))}let l=n.filter(g=>g.type==="server"&&"address"in g&&!("secret"in g)).map(g=>g.address)[0],c=(o!=null?o:[]).filter(g=>g.type==="server"&&"address"in g&&!("secret"in g)).map(g=>g.address),d=new _({chain:r.chain,address:e.address,owner:e.owner,options:r.options,alias:r.alias,recovery:s,apiRecoveryServerSignerAddress:l,apiDelegatedServerSignerAddresses:c,signers:a!=null?a:[]},this.apiClient);return yield d.waitForInit(),d})}mergeRecoverySigners(e,r,t){let i=[...r],n=new Map,s=[(o,a)=>this.matchesRecoverySigner(o,a,t),(o,a)=>o.type===a.type];for(let o of s)e.forEach((a,l)=>{if(n.has(l))return;let c=i.findIndex(d=>o(d,a));c!==-1&&n.set(l,i.splice(c,1)[0])});return e.map((o,a)=>{let l=n.get(a);return l==null?o:l.type==="server"||l.type==="external-wallet"?l:this.mergePhoneChannel(o,l)})}matchesRecoverySigner(e,r,t){if(e.type!==r.type)return!1;if(e.type==="email"&&"email"in r)return S(e.email)===S(r.email);if(e.type==="phone"&&"phone"in r)return e.phone===r.phone;if(e.type==="external-wallet"&&"address"in r)return e.address===r.address;if(e.type==="server"&&"address"in r){if(!("secret"in e))return e.address===r.address;let{primary:i,legacy:n}=b(e,t,this.apiClient.projectId,this.apiClient.environment);return i.derivedAddress===r.address||(n==null?void 0:n.derivedAddress)===r.address}return!0}getWalletLocator(e){return`me:${this.getChainType(e.chain)}:smart`+(e.alias!=null?`:alias:${e.alias}`:"")}createPasskeySigner(e){return p(this,null,function*(){var i;if(e.type!=="passkey")throw new Error("Signer is not a passkey");let r=(i=e.name)!=null?i:`Crossmint Wallet ${Date.now()}`,t=e.onCreatePasskey?yield e.onCreatePasskey(r):yield G.createCredential({name:r});return{type:"passkey",id:t.id,name:r,publicKey:{x:t.publicKey.x.toString(),y:t.publicKey.y.toString()}}})}validateExistingWalletConfig(e,r){var i;if(r.owner!=null&&e.owner!=null&&S(r.owner)!==S(e.owner))throw new C("Wallet owner does not match existing wallet's linked user");if(r.chain==="solana"&&e.chainType!=="solana"||r.chain!=="solana"&&e.chainType==="solana"||r.chain==="stellar"&&e.chainType!=="stellar"||r.chain!=="stellar"&&e.chainType==="stellar")throw new C(`Wallet chain does not match existing wallet's chain. You must use chain: ${e.chainType}.`);if(e.type!=="smart")return;let t=r;if(t.recovery!=null||t.signers!=null){let n=e.config,s=(i=n==null?void 0:n.recovery)!=null?i:(n==null?void 0:n.adminSigner)!=null?[n.adminSigner]:[],o=[...s];for(let l of W(t.recovery)){if(s.length===0)break;let c=o.findIndex(y=>this.matchesRecoverySigner(l,y,r.chain)),d=c===-1?o.find(y=>y.type===l.type):o[c];if(d==null)throw new C("The wallet recovery signer type does not match the existing wallet's recovery signer type");E(l,d),c!==-1&&o.splice(c,1)}let a=t.signers;a!=null&&this.validateSigners(e,a,r.chain)}}validateSigners(e,r,t){let i=e.config,n=i==null?void 0:i.delegatedSigners;if(r.length!==0){if(n==null||n.length===0)throw new C(`${r.length} signer(s) specified, but wallet "${e.address}" has no signers. ${q}`);for(let s of r){let o=n.find(a=>{if(this.isMatchingPasskeySigner(s,a,i)||a.type==="device"&&s.type==="device")return!0;if(s.type==="server"){let{primary:l,legacy:c}=b(s,t,this.apiClient.projectId,this.apiClient.environment);return a.locator===`server:${l.derivedAddress}`||c!=null&&a.locator===`server:${c.derivedAddress}`}return a.locator===w(s)});if(o==null){let a=n.map(l=>l.locator).join(", ");throw new C(`Signer '${s.type}' does not exist in wallet "${e.address}". Available signers: ${a}. ${q}`)}E(s,o)}}}isMatchingPasskeySigner(e,r,t){var n,s;let i=((s=(n=t.delegatedSigners)==null?void 0:n.filter(o=>o.type==="passkey").length)!=null?s:0)+(t.adminSigner.type==="passkey"?1:0);if(e.type==="passkey"){if(e.id==null&&i===1)return r.type==="passkey";if(e.id==null&&i>1)throw new C("When creating a wallet with multiple passkeys, you must provide the passkey ID for each passkey.")}return!1}registerSigners(e,r,t){return p(this,null,function*(){var i;return yield Promise.all((i=e==null?void 0:e.map(n=>p(this,null,function*(){if(n.type==="passkey")return n.id==null?{signer:yield this.createPasskeySigner(n)}:{signer:n};if(n.type==="device"){if(n.publicKey!=null)return{signer:{type:"device",publicKey:n.publicKey,name:n.name}};if(n.locator!=null)return{signer:n.locator};if(t==null)throw new C("Device signer key storage is required for device signers");let s=yield O(t);return{signer:{type:"device",publicKey:s.publicKey,name:s.name}}}if(n.type==="server"&&r!=null){let{derivedAddress:s}=x(n,r,this.apiClient.projectId,this.apiClient.environment);return{signer:`server:${s}`}}return{signer:w(n)}})))!=null?i:[])})}getChainType(e){return e==="solana"?"solana":e==="stellar"?"stellar":"evm"}};F([j({logger:h,methodName:"walletFactory.getWallet",buildContext(e,r){if(typeof r[0]=="string"){let i=r[1];return{walletLocator:r[0],chain:i==null?void 0:i.chain}}let t=r[0];return{chain:t==null?void 0:t.chain}}})],R.prototype,"getWallet",1),F([j({logger:h,methodName:"walletFactory.createWallet",buildContext(e,r){return{chain:r[0].chain}}})],R.prototype,"createWallet",1);export{R as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkC4DVSLXLcjs = require('./chunk-C4DVSLXL.cjs');var _chunk6KISAN2Wcjs = require('./chunk-6KISAN2W.cjs');var _chunkLQTU43TTcjs = require('./chunk-LQTU43TT.cjs');var _chunkU6VTYWAKcjs = require('./chunk-U6VTYWAK.cjs');var _chunkROCANMZWcjs = require('./chunk-ROCANMZW.cjs');var _chunk3HMPVPJKcjs = require('./chunk-3HMPVPJK.cjs');var _chunkUUHUFB3Wcjs = require('./chunk-UUHUFB3W.cjs');var _chunkWIW66KYRcjs = require('./chunk-WIW66KYR.cjs');var _chunk7ARRJO6Ucjs = require('./chunk-7ARRJO6U.cjs');var _chunkQPCZFIUVcjs = require('./chunk-QPCZFIUV.cjs');var _chunkBNK3HUH3cjs = require('./chunk-BNK3HUH3.cjs');var _chunkJNKTRQPScjs = require('./chunk-JNKTRQPS.cjs');var _chunkK2FBJAUJcjs = require('./chunk-K2FBJAUJ.cjs');var _chunkGOAGKFGNcjs = require('./chunk-GOAGKFGN.cjs');var _chunkTDIOBXZ3cjs = require('./chunk-TDIOBXZ3.cjs');var _chunkDSIFRRBScjs = require('./chunk-DSIFRRBS.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var O,c,R,x,l,S,W,M,k,I,A,ve,fe,H,j,T= exports.a =class{constructor(e,r){_chunkDSIFRRBScjs.e.call(void 0, this,A);_chunkDSIFRRBScjs.e.call(void 0, this,O);_chunkDSIFRRBScjs.e.call(void 0, this,c);_chunkDSIFRRBScjs.e.call(void 0, this,R);_chunkDSIFRRBScjs.e.call(void 0, this,x);_chunkDSIFRRBScjs.e.call(void 0, this,l);_chunkDSIFRRBScjs.e.call(void 0, this,S);_chunkDSIFRRBScjs.e.call(void 0, this,W,[]);_chunkDSIFRRBScjs.e.call(void 0, this,M);_chunkDSIFRRBScjs.e.call(void 0, this,k);_chunkDSIFRRBScjs.e.call(void 0, this,I,null);let{chain:t,address:n,owner:a,options:h,alias:u,recovery:d,apiRecoveryServerSignerAddress:g,apiDelegatedServerSignerAddresses:p,signers:w,signer:v}=e;_chunkDSIFRRBScjs.f.call(void 0, this,c,r),this.chain=t,this.address=n,this.owner=a,_chunkDSIFRRBScjs.f.call(void 0, this,O,h),this.alias=u;let b=Array.isArray(d)?d:[d],L=b[0],D=null;g!=null?D=g:L.type==="server"&&_chunkQPCZFIUVcjs.f.call(void 0, L)&&(D=L.address),_chunkDSIFRRBScjs.f.call(void 0, this,M,b),_chunkDSIFRRBScjs.f.call(void 0, this,W,p!=null?p:[]),_chunkDSIFRRBScjs.f.call(void 0, this,R,w!=null?w:[]),_chunkDSIFRRBScjs.f.call(void 0, this,x,new (0, _chunkROCANMZWcjs.a)({chain:t,projectId:_chunkDSIFRRBScjs.d.call(void 0, this,c).projectId,environment:_chunkDSIFRRBScjs.d.call(void 0, this,c).environment,apiRecoveryAddress:D,apiDelegatedAddresses:_chunkDSIFRRBScjs.d.call(void 0, this,W),knownOnChainAddresses:()=>[..._chunkDSIFRRBScjs.d.call(void 0, this,R).filter(f=>f.type==="server"&&_chunkQPCZFIUVcjs.f.call(void 0, f)).map(f=>f.address),..._chunkDSIFRRBScjs.d.call(void 0, this,W)]})),_chunkDSIFRRBScjs.f.call(void 0, this,l,new (0, _chunkU6VTYWAKcjs.a)({apiClient:r,options:h,chain:t,walletAddress:this.address,walletLocator:()=>this.walletLocator,serverSignerResolver:_chunkDSIFRRBScjs.d.call(void 0, this,x),recovery:L,initialSigners:_chunkDSIFRRBScjs.d.call(void 0, this,R),signers:()=>this.signers(),signer:v})),_chunkDSIFRRBScjs.f.call(void 0, this,S,new (0, _chunk6KISAN2Wcjs.a)({chain:t,walletAddress:this.address,options:h,signerManager:_chunkDSIFRRBScjs.d.call(void 0, this,l),serverSignerResolver:_chunkDSIFRRBScjs.d.call(void 0, this,x),signers:()=>this.signers(),addSigner:f=>this.addSigner(f),removeSigner:f=>this.removeSigner({type:"device",locator:f}),approveSignature:f=>this.approveSignatureAndWait(f),approveTransaction:f=>this.approveTransactionAndWait(f)})),_chunkDSIFRRBScjs.f.call(void 0, this,k,this.initDefaultSigner())}get signer(){return _chunkDSIFRRBScjs.d.call(void 0, this,l).activeSigner}waitForInit(){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){yield _chunkDSIFRRBScjs.d.call(void 0, this,k)})}initDefaultSigner(){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){if(_chunkDSIFRRBScjs.d.call(void 0, this,l).activeSigner!=null||(yield _chunkDSIFRRBScjs.d.call(void 0, this,S).initDeviceSigner(),_chunkDSIFRRBScjs.d.call(void 0, this,l).activeSigner!=null||_chunkDSIFRRBScjs.d.call(void 0, this,S).needsRecovery))return;let e=_chunkDSIFRRBScjs.d.call(void 0, this,R).length===0?_chunkDSIFRRBScjs.d.call(void 0, this,l).recovery:_chunkDSIFRRBScjs.d.call(void 0, this,R).length===1?_chunkDSIFRRBScjs.d.call(void 0, this,R)[0]:null;if(e==null)return;let r=_chunk3HMPVPJKcjs.a.call(void 0, e.type),t=_chunkDSIFRRBScjs.d.call(void 0, this,l).descriptorContext();if(!r.canAutoAssemble(e,t))return;let n=e===_chunkDSIFRRBScjs.d.call(void 0, this,l).recovery;try{let a=r.buildInternalConfig(e,t);_chunkDSIFRRBScjs.d.call(void 0, this,l).setActiveSigner(yield _chunkDSIFRRBScjs.d.call(void 0, this,l).assemble(a,{isAdminSigner:n}))}catch(a){_chunkTDIOBXZ3cjs.a.warn("wallet.initDefaultSigner.autoAssemblyFailed",{recoveryType:_chunkDSIFRRBScjs.d.call(void 0, this,l).recovery.type,signerCount:_chunkDSIFRRBScjs.d.call(void 0, this,R).length,error:a})}})}static getApiClient(e){return e.apiClient}static getOptions(e){return e.options}static getRecovery(e){return e.recovery}static getInitialSigners(e){return _chunkDSIFRRBScjs.d.call(void 0, e,R)}static getApiRecoveryServerSignerAddress(e){var r;return(r=_chunkDSIFRRBScjs.d.call(void 0, e,x).apiRecoveryAddress)!=null?r:void 0}static getApiDelegatedServerSignerAddresses(e){return _chunkDSIFRRBScjs.d.call(void 0, e,W)}get apiClient(){return _chunkDSIFRRBScjs.d.call(void 0, this,c)}get options(){return _chunkDSIFRRBScjs.d.call(void 0, this,O)}get chainAdapter(){return _chunkBNK3HUH3cjs.a.call(void 0, this.chain)}resolveServerSignerApiLocator(e){return _chunkDSIFRRBScjs.d.call(void 0, this,x).apiLocator(e)}get recovery(){return[_chunkDSIFRRBScjs.d.call(void 0, this,l).recovery,..._chunkDSIFRRBScjs.d.call(void 0, this,M).slice(1)]}balances(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){_chunkTDIOBXZ3cjs.a.info("wallet.balances.start");let r=this.resolveChainForEnvironment(),t=this.chainAdapter.nativeToken,n=[t,"usdc",...e!=null?e:[]],a=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).getBalance(this.address,{chains:[r],tokens:n});if("error"in a)throw _chunkTDIOBXZ3cjs.a.error("wallet.balances.error",{error:a}),new Error(`Failed to get balances for wallet: ${JSON.stringify(a.message)}`);return _chunkTDIOBXZ3cjs.a.info("wallet.balances.success"),_chunkC4DVSLXLcjs.a.call(void 0, a,this.chain,t,e)})}stagingFund(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){_chunkTDIOBXZ3cjs.a.info("wallet.stagingFund.start",{amount:e,chain:r!=null?r:this.chain});let t=yield this.apiClient.fundWallet(this.address,{amount:e,token:"usdxm",chain:r!=null?r:this.chain});if("error"in t)throw _chunkTDIOBXZ3cjs.a.error("wallet.stagingFund.error",{error:t}),new Error(`Failed to fund wallet: ${JSON.stringify(t.message)}`);return _chunkTDIOBXZ3cjs.a.info("wallet.stagingFund.success"),t})}nfts(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let r=this.resolveChainForEnvironment(),t=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).getNfts(_chunkDSIFRRBScjs.b.call(void 0, _chunkDSIFRRBScjs.a.call(void 0, {},e),{chain:r,address:this.address}));if(t!=null&&typeof t=="object"&&"error"in t)throw _chunkTDIOBXZ3cjs.a.error("wallet.nfts.error",{error:t}),new Error(`Failed to get nfts: ${JSON.stringify(t.message)}`);return t})}transactions(){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let e=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).getTransactions(this.walletLocator);if("error"in e)throw new Error(`Failed to get transactions: ${JSON.stringify(e.message)}`);return e})}transaction(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let r=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).getTransaction(this.walletLocator,e);if("error"in r)throw new Error(`Failed to get transaction: ${JSON.stringify(r.message)}`);return r})}transfers(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let r=this.resolveChainForEnvironment(),t=yield this.apiClient.getTransfers(this.walletLocator,{chain:r,tokens:e.tokens,status:e.status});if("error"in t)throw new Error(`Failed to get transfers: ${JSON.stringify(t.message)}`);return t})}send(e,r,t,n){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let a=Number(t);if(Number.isNaN(a)||!Number.isFinite(a)||a<=0)throw new (0, _chunkGOAGKFGNcjs.H)(`Invalid transfer amount: "${t}". Amount must be a positive number greater than zero.`);let h=_chunkWIW66KYRcjs.a.call(void 0, e),u=this.resolveChainForEnvironment(),d=_chunkWIW66KYRcjs.b.call(void 0, r,u);_chunkTDIOBXZ3cjs.a.info("wallet.send.start",_chunkDSIFRRBScjs.a.call(void 0, {recipient:h,token:d,amount:t},(n==null?void 0:n.transactionType)!=null?{transactionType:n.transactionType}:{})),yield this.preAuthIfNeeded();let g=_chunkDSIFRRBScjs.d.call(void 0, this,l).require(),p;(n==null?void 0:n.signer)==null?p=g.locator():typeof n.signer=="string"?p=n.signer:p=this.resolveServerSignerApiLocator(n.signer);let w=_chunkDSIFRRBScjs.a.call(void 0, {recipient:h,amount:t,signer:p},(n==null?void 0:n.transactionType)!=null?{transactionType:n.transactionType}:{}),v=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).send(this.walletLocator,d,w);if("message"in v)throw _chunkTDIOBXZ3cjs.a.error("wallet.send.error",{error:v}),new (0, _chunkGOAGKFGNcjs.I)(`Failed to send token: ${JSON.stringify(v.message)}`);if((n==null?void 0:n.prepareOnly)===!0)return _chunkTDIOBXZ3cjs.a.info("wallet.send.prepared",{transactionId:v.id}),{hash:void 0,explorerLink:void 0,transactionId:v.id};let b=yield this.approveTransactionAndWait(v.id);return _chunkTDIOBXZ3cjs.a.info("wallet.send.success",{transactionId:v.id,hash:b.hash}),b})}approveTransaction(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){return console.warn("approveTransaction is deprecated. Use approve instead. This method will be removed in the next major version."),yield this.approve(e)})}approve(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){if(_chunkTDIOBXZ3cjs.a.info("wallet.approve.start",{transactionId:e.transactionId,signatureId:e.signatureId}),yield this.preAuthIfNeeded(),e.transactionId!=null){let r=yield this.approveTransactionAndWait(e.transactionId,e.options);return _chunkTDIOBXZ3cjs.a.info("wallet.approve.success",{transactionId:e.transactionId}),r}if(e.signatureId!=null){let r=yield this.approveSignatureAndWait(e.signatureId,e.options);return _chunkTDIOBXZ3cjs.a.info("wallet.approve.success",{signatureId:e.signatureId}),r}throw _chunkTDIOBXZ3cjs.a.error("wallet.approve.error",{error:"Either transactionId or signatureId must be provided"}),new Error("Either transactionId or signatureId must be provided")})}addSigner(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){_chunkTDIOBXZ3cjs.a.info("wallet.addSigner.start");let t=typeof e=="object"&&"type"in e&&e.type==="server"?this.resolveServerSignerApiLocator(e):e;return _chunkDSIFRRBScjs.d.call(void 0, this,l).withRecoverySigner(()=>_chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var v;let n=typeof t=="string"?t:_chunkUUHUFB3Wcjs.a.call(void 0, t),a=yield _chunkDSIFRRBScjs.d.call(void 0, this,l).getSignerState(n);if(a.signer!=null){if(_chunkDSIFRRBScjs.d.call(void 0, this,l).isApprovedSignerStatus(a.signer.status))return(r==null?void 0:r.scopes)!=null&&_chunkTDIOBXZ3cjs.a.warn("wallet.addSigner.scopesIgnored",{reason:"signer already approved",signerLocator:n}),_chunkTDIOBXZ3cjs.a.info("wallet.addSigner.alreadyApproved"),this.completeSignerRegistration(a.signer,null,r);if(a.pendingOperation!=null){if((r==null?void 0:r.scopes)!=null)throw new Error("Cannot apply scopes when resuming a pending signer registration. Remove the pending signer and register it again with the desired scopes.");return _chunkTDIOBXZ3cjs.a.info("wallet.addSigner.resuming",{operationType:a.pendingOperation.type,operationId:a.pendingOperation.id}),this.completeSignerRegistration(a.signer,a.pendingOperation,r)}}let h=typeof t=="string"?t:_chunk3HMPVPJKcjs.a.call(void 0, t.type).addSignerPayload(t,_chunkDSIFRRBScjs.d.call(void 0, this,l).descriptorContext()),d=this.chain!=="solana"&&this.chain!=="stellar"?(v=r==null?void 0:r.deployImmediately)!=null?v:!0:void 0,g=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).registerSigner(this.walletLocator,_chunkDSIFRRBScjs.a.call(void 0, _chunkDSIFRRBScjs.a.call(void 0, {signer:h,chain:this.chainAdapter.addSignerChain(this.chain)},(r==null?void 0:r.scopes)!=null&&{scopes:r.scopes}),d!=null&&{deployImmediately:d}));if("error"in g)throw _chunkTDIOBXZ3cjs.a.error("wallet.addSigner.error",{error:g}),g.code===_chunkGOAGKFGNcjs.l?new (0, _chunkGOAGKFGNcjs.m)(g.message):new (0, _chunkGOAGKFGNcjs.j)(`Failed to register signer: ${JSON.stringify(g.message)}`);let p=_chunkJNKTRQPScjs.b.call(void 0, g,this.chain);if(p==null)throw new Error(`No approval found for chain ${this.chain} in register signer response`);let w=this.chainAdapter.extractAddSignerOperation(g,this.chain,{locator:n,type:e.type});return this.completeSignerRegistration(p,w,r)}))})}completeSignerRegistration(e,r,t){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){if(t!=null&&t.prepareOnly){if(r==null)return _chunkDSIFRRBScjs.a.call(void 0, {},e);switch(r.type){case"transaction":{let n={transactionId:r.id};return _chunkTDIOBXZ3cjs.a.info("wallet.addSigner.prepared",n),_chunkDSIFRRBScjs.a.call(void 0, _chunkDSIFRRBScjs.a.call(void 0, {},e),n)}case"signature":{let n={signatureId:r.id};return _chunkTDIOBXZ3cjs.a.info("wallet.addSigner.prepared",n),_chunkDSIFRRBScjs.a.call(void 0, _chunkDSIFRRBScjs.a.call(void 0, {},e),n)}default:{let n=r.type;throw new Error(`Unknown pending operation type: ${n}`)}}}if(r!=null)switch(r.type){case"transaction":yield this.approveTransactionAndWait(r.id),_chunkTDIOBXZ3cjs.a.info("wallet.addSigner.success",{transactionId:r.id});break;case"signature":yield this.approveSignatureAndWait(r.id),_chunkTDIOBXZ3cjs.a.info("wallet.addSigner.success",{signatureId:r.id});break;default:{let n=r.type;throw new Error(`Unknown pending operation type: ${n}`)}}else _chunkTDIOBXZ3cjs.a.info("wallet.addSigner.success");return _chunkDSIFRRBScjs.b.call(void 0, _chunkDSIFRRBScjs.a.call(void 0, {},e),{status:"success"})})}removeSigner(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let t=this.resolveSignerLocator(e);return _chunkTDIOBXZ3cjs.a.info("wallet.removeSigner.start",{signerLocator:t}),_chunkDSIFRRBScjs.d.call(void 0, this,l).withRecoverySigner(()=>_chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let n=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).removeSigner(this.walletLocator,t,{chain:this.chainAdapter.addSignerChain(this.chain)});if("error"in n)throw _chunkTDIOBXZ3cjs.a.error("wallet.removeSigner.error",{error:n}),new Error(`Failed to remove signer: ${JSON.stringify(n)}`);let a=n.id;return r!=null&&r.prepareOnly?(_chunkTDIOBXZ3cjs.a.info("wallet.removeSigner.prepared",{transactionId:a}),{transactionId:a,status:void 0}):(yield this.approveTransactionAndWait(a),_chunkTDIOBXZ3cjs.a.info("wallet.removeSigner.success",{transactionId:a}),{transactionId:a,status:"success"})}))})}useSigner(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){_chunkTDIOBXZ3cjs.a.info("wallet.useSigner.start"),e.type==="server"&&_chunkDSIFRRBScjs.d.call(void 0, this,x).resetDelegatedCache(),_chunk3HMPVPJKcjs.a.call(void 0, e.type).validateConfig(e);let r=!1;e.type==="device"?yield _chunkDSIFRRBScjs.d.call(void 0, this,S).resolveAvailability(e):r=yield this.resolveNonDeviceSigner(e);let t=_chunk3HMPVPJKcjs.a.call(void 0, e.type).buildInternalConfig(e,_chunkDSIFRRBScjs.d.call(void 0, this,l).descriptorContext()),n=_chunkUUHUFB3Wcjs.a.call(void 0, e);_chunkDSIFRRBScjs.d.call(void 0, this,l).setActiveSigner(yield _chunkDSIFRRBScjs.d.call(void 0, this,l).assemble(t,{isAdminSigner:r})),_chunkTDIOBXZ3cjs.a.info("wallet.useSigner.success",{signerLocator:n})})}resolveNonDeviceSigner(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){if(e.type!=="passkey"&&e.type!=="server"&&this.isRecoverySigner(e))return _chunkDSIFRRBScjs.d.call(void 0, this,S).onSignerSelected(),!0;if(e.type==="passkey"&&this.isPasskeyMissingId(e)&&!(yield this.tryAutoSelectPasskey(e))){if(this.isRecoverySigner(e))return _chunkDSIFRRBScjs.d.call(void 0, this,S).onSignerSelected(),!0;throw new Error("No passkey signer is registered on this wallet.")}if(e.type==="server")return this.resolveServerSigner(e);let r=this.resolveSignerLocator(e);if(yield this.signerIsRegistered(r))return _chunkDSIFRRBScjs.d.call(void 0, this,S).onSignerSelected(),!1;if(this.isRecoverySigner(e))return _chunkDSIFRRBScjs.d.call(void 0, this,S).onSignerSelected(),!0;throw new Error(`Signer "${r}" is not registered in this wallet.`)})}resolveServerSigner(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let t=(yield this.signers()).map(a=>a.locator),n=_chunkDSIFRRBScjs.d.call(void 0, this,x).resolveForUseSigner(e,t,()=>this.isRecoverySigner(e));switch(n.kind){case"delegated":return _chunkDSIFRRBScjs.d.call(void 0, this,S).onSignerSelected(),!1;case"recovery":return _chunkDSIFRRBScjs.d.call(void 0, this,l).stripSecretFromRecovery(),_chunkDSIFRRBScjs.d.call(void 0, this,S).onSignerSelected(),!0;case"unregistered":throw new Error(n.message)}})}tryAutoSelectPasskey(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let t=(yield this.signers()).filter(n=>n.type==="passkey");if(t.length===0)return!1;if(t.length>1)throw new Error('Multiple passkey signers are registered on this wallet. Please specify the credential id: wallet.useSigner({ type: "passkey", id: "<credential-id>" })');return e.id=t[0].locator.replace("passkey:",""),!0})}resolveSignerLocator(e){return e.type==="server"?this.resolveServerSignerApiLocator(e):_chunkUUHUFB3Wcjs.a.call(void 0, e)}isPasskeyMissingId(e){return e.id==null||e.id===""}signerIsRegistered(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){return _chunkDSIFRRBScjs.d.call(void 0, this,l).signerIsRegistered(e)})}isSignerApproved(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){return _chunkDSIFRRBScjs.d.call(void 0, this,l).isSignerApproved(e)})}needsRecovery(){return _chunkDSIFRRBScjs.d.call(void 0, this,S).needsRecovery}recover(){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){yield _chunkDSIFRRBScjs.d.call(void 0, this,S).recover()})}signers(){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var a,h;_chunkTDIOBXZ3cjs.a.info("wallet.signers.start");let e=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).getWallet(this.walletLocator);if("error"in e)throw _chunkTDIOBXZ3cjs.a.error("wallet.signers.error",{error:e}),new (0, _chunkGOAGKFGNcjs.e)(JSON.stringify(e));if(!ye(e)){let u=e.type!=="smart"?`Wallet type ${e.type} not supported`:`Wallet chain type ${e.chainType} not supported`;throw _chunkTDIOBXZ3cjs.a.error("wallet.signers.error",{error:u}),new (0, _chunkGOAGKFGNcjs.d)(u)}let r=(h=(a=e==null?void 0:e.config)==null?void 0:a.delegatedSigners)!=null?h:[],n=(yield Promise.all(r.map(u=>_chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){try{return(yield _chunkDSIFRRBScjs.d.call(void 0, this,l).getSignerState(u.locator)).signer}catch(d){return _chunkTDIOBXZ3cjs.a.warn("wallet.signers.mapSigner.failed",{locator:u.locator,error:d}),null}})))).filter(u=>u!=null);return _chunkTDIOBXZ3cjs.a.info("wallet.signers.success",{count:n.length}),n})}get walletLocator(){if(_chunkDSIFRRBScjs.d.call(void 0, this,c).isServerSide)return this.address;{let e=this.chainAdapter.walletLocatorPrefix,r=this.alias!=null?`:alias:${this.alias}`:"";return e+r}}get signerManager(){return _chunkDSIFRRBScjs.d.call(void 0, this,l)}preAuthIfNeeded(){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){yield _chunkDSIFRRBScjs.d.call(void 0, this,k),_chunkDSIFRRBScjs.d.call(void 0, this,I)==null&&_chunkDSIFRRBScjs.f.call(void 0, this,I,this.recover());try{yield _chunkDSIFRRBScjs.d.call(void 0, this,I)}finally{_chunkDSIFRRBScjs.f.call(void 0, this,I,null)}let e=_chunkDSIFRRBScjs.d.call(void 0, this,l).require();e instanceof _chunk7ARRJO6Ucjs.a&&(yield e.ensureAuthenticated())})}isRecoverySigner(e){let r=_chunkDSIFRRBScjs.d.call(void 0, this,l).recovery;if(r==null||r.type!==e.type)return!1;let t=_chunk3HMPVPJKcjs.a.call(void 0, e.type);return t.matchesRecovery(e,r,_chunkDSIFRRBScjs.d.call(void 0, this,l).descriptorContext())?(t.adoptsRecoveryConfigOnMatch&&_chunkDSIFRRBScjs.d.call(void 0, this,l).adoptRecoveryConfig(e),!0):!1}resolveChainForEnvironment(){let e=_chunkK2FBJAUJcjs.f.call(void 0, this.chain,_chunkDSIFRRBScjs.d.call(void 0, this,c).environment);return e!==this.chain&&(this.chain=e),this.chain}approveTransactionAndWait(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){return yield this.approveTransactionInternal(e,r),yield this.sleep(1e3),yield this.waitForTransaction(e)})}approveSignatureAndWait(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let t=yield this.approveSignatureInternal(e,r);return!("error"in t)&&t.status==="success"&&t.outputSignature!=null?{signature:t.outputSignature,signatureId:e}:(yield this.sleep(1e3),yield this.waitForSignature(e))})}approveSignatureInternal(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var d,g;if(!this.chainAdapter.supportsSignatures)throw new Error("Approving signatures is only supported for EVM smart wallets");let t=_chunkDSIFRRBScjs.d.call(void 0, this,l).require(),n=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).getSignature(this.walletLocator,e);if("error"in n)throw _chunkGOAGKFGNcjs.R.call(void 0, n),new (0, _chunkGOAGKFGNcjs.E)(JSON.stringify(n));if(t.type==="api-key")return n;if((r==null?void 0:r.approval)!=null){let p=[r.approval];return yield this.executeApproveSignatureWithErrorHandling(e,p)}let a=(d=n.approvals)==null?void 0:d.pending;if(a==null||a.length===0)return n;let h=[...(g=r==null?void 0:r.additionalSigners)!=null?g:[],t],u=yield _chunkDSIFRRBScjs.g.call(void 0, this,A,j).call(this,_chunkDSIFRRBScjs.g.call(void 0, this,A,H).call(this,a),h,(p,w)=>p.signMessage(w.message));return yield this.executeApproveSignatureWithErrorHandling(e,u)})}approveTransactionInternal(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var d,g,p,w,v;let t=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).getTransaction(this.walletLocator,e);if("error"in t)throw _chunkGOAGKFGNcjs.R.call(void 0, t),new (0, _chunkGOAGKFGNcjs.J)(JSON.stringify(t));yield(p=(g=(d=_chunkDSIFRRBScjs.d.call(void 0, this,O))==null?void 0:d.callbacks)==null?void 0:g.onTransactionStart)==null?void 0:p.call(g);let n=_chunkDSIFRRBScjs.d.call(void 0, this,l).require();if(n.type==="api-key")return t;if((r==null?void 0:r.approval)!=null){let b=[r.approval];return yield this.executeApproveTransactionWithErrorHandling(e,b)}let a=(w=t.approvals)==null?void 0:w.pending;if(a==null||a.length===0)return t;let h=[...(v=r==null?void 0:r.additionalSigners)!=null?v:[],n],u=yield _chunkDSIFRRBScjs.g.call(void 0, this,A,j).call(this,_chunkDSIFRRBScjs.g.call(void 0, this,A,H).call(this,a),h,(b,L)=>{let D=b.type==="device",f=t.chainType==="solana"&&"transaction"in t.onChain&&!D?t.onChain.transaction:L.message;return b.signTransaction(f)});return yield this.executeApproveTransactionWithErrorHandling(e,u)})}executeApproveTransactionWithErrorHandling(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){_chunkTDIOBXZ3cjs.a.info("wallet.approve: submitting approval to API",{transactionId:e});let t=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).approveTransaction(this.walletLocator,e,{approvals:r});if(t.error)throw _chunkGOAGKFGNcjs.R.call(void 0, t),new (0, _chunkGOAGKFGNcjs.O)(JSON.stringify(t));return t})}executeApproveSignatureWithErrorHandling(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let t=yield _chunkDSIFRRBScjs.d.call(void 0, this,c).approveSignature(this.walletLocator,e,{approvals:r});if(t.error)throw _chunkGOAGKFGNcjs.R.call(void 0, t),new (0, _chunkGOAGKFGNcjs.F)(JSON.stringify(t));return t})}waitForSignature(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){return yield _chunkLQTU43TTcjs.b.call(void 0, _chunkDSIFRRBScjs.d.call(void 0, this,c),this.walletLocator,e)})}waitForTransaction(n){return _chunkDSIFRRBScjs.h.call(void 0, this,arguments,function*(e,r=6e4,t={}){return yield _chunkLQTU43TTcjs.a.call(void 0, _chunkDSIFRRBScjs.d.call(void 0, this,c),this.walletLocator,e,_chunkDSIFRRBScjs.a.call(void 0, {timeoutMs:r},t))})}sleep(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){return new Promise(r=>setTimeout(r,e))})}};O=new WeakMap,c=new WeakMap,R=new WeakMap,x=new WeakMap,l=new WeakMap,S=new WeakMap,W=new WeakMap,M=new WeakMap,k=new WeakMap,I=new WeakMap,A=new WeakSet,ve=function(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let r=yield _chunkDSIFRRBScjs.d.call(void 0, this,S).tryResolveLocallyAvailableSigner(e);return r!=null&&_chunkTDIOBXZ3cjs.a.info("wallet.approve.deviceSignerRecoveredViaFallback",{signerLocator:e}),r})},fe=function(e,r){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var n;let t=e.find(a=>a.locator()===r);if(t==null&&(t=(n=yield _chunkDSIFRRBScjs.g.call(void 0, this,A,ve).call(this,r))!=null?n:void 0),t==null)throw new (0, _chunkGOAGKFGNcjs.j)(`Signer ${r} not found in pending approvals`);return t})},H=function(e){return e.map(r=>{if(r.signer.type==="quorum")throw new (0, _chunkGOAGKFGNcjs.n)(`This wallet requires approval from a quorum signer (${r.signer.locator}), which is not yet supported by this SDK version`);return r})},j=function(e,r,t){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){return yield Promise.all(e.map(n=>_chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let a=yield _chunkDSIFRRBScjs.g.call(void 0, this,A,fe).call(this,r,n.signer.locator),h=yield t(a,n);return _chunkDSIFRRBScjs.b.call(void 0, _chunkDSIFRRBScjs.a.call(void 0, {},h),{signer:a.locator()})})))})},_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"wallet.balances",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"balances",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"wallet.stagingFund",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"stagingFund",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"wallet.send",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"send",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"wallet.approve",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"approve",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"wallet.addSigner",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"addSigner",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"wallet.removeSigner",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"removeSigner",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"wallet.useSigner",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"useSigner",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"wallet.recover",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"recover",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"wallet.signers",buildContext(e){return{chain:e.chain,address:e.address}}})],T.prototype,"signers",1);function ye(q){return q.type==="smart"&&_chunkBNK3HUH3cjs.b.call(void 0, q.chainType)}exports.a = T;
@@ -1 +0,0 @@
1
- import{a as p}from"./chunk-VAM47V5T.js";import{a as c}from"./chunk-OEMMPPUX.js";import{a as i}from"./chunk-DBEVULTB.js";import{a as t}from"./chunk-QR5XE2GS.js";import{a as o}from"./chunk-EPB4F3KD.js";import{b as n}from"./chunk-YITL3ZIZ.js";import{a as s}from"./chunk-TM45QNB3.js";import{k as e}from"./chunk-DKFVM2DI.js";function h(r){switch(r){case"email":return o;case"phone":return p;case"passkey":return s;case"device":return t;case"api-key":return i;case"server":return c;case"external-wallet":return n;default:throw new e(`Unknown signer type: ${r}`)}}export{h as a};
@@ -1 +0,0 @@
1
- import{a as O}from"./chunk-KUP7H7X2.js";import{a as l}from"./chunk-FT5EVMLB.js";import{a as o}from"./chunk-SVIKBM3S.js";import{a as S}from"./chunk-KKQBZXFE.js";import{a as A}from"./chunk-S3DYQVRD.js";import{b as i,c as s}from"./chunk-DKFVM2DI.js";import{a as E}from"./chunk-44HFPLYO.js";import{APIKeyEnvironmentPrefix as M,BlockchainIncludingTestnet as e}from"@crossmint/common-sdk-base";import{baseSepolia as m,base as _,polygonAmoy as L,polygon as P,optimismSepolia as u,optimism as c,arbitrumSepolia as R,arbitrum as N,arbitrumNova as p,modeTestnet as h,mode as d,mainnet as f,bsc as W,shape as U,zora as V,zoraSepolia as B,sepolia as y,flowMainnet as H,flowTestnet as v,plume as x,plumeTestnet as b}from"viem/chains";var w=[e.ABSTRACT_TESTNET,e.ARBITRUM_SEPOLIA,e.BASE_SEPOLIA,e.CURTIS,e.ETHEREUM_SEPOLIA,e.FLOW_TESTNET,e.MANTLE_SEPOLIA,e.MODE_SEPOLIA,e.OPTIMISM_SEPOLIA,e.PLUME_TESTNET,e.POLYGON_AMOY,e.SCROLL_SEPOLIA,e.SEI_ATLANTIC_2_TESTNET,e.STORY_TESTNET,e.WORLD_CHAIN_SEPOLIA,e.ZORA_SEPOLIA,e.ARC_TESTNET,e.TEMPO_TESTNET],D=[e.ABSTRACT,e.APECHAIN,e.ARBITRUM,e.ARBITRUMNOVA,e.BASE,e.BSC,e.ETHEREUM,e.FLOW,e.MANTLE,e.MODE,e.OPTIMISM,e.PLUME,e.POLYGON,e.SCROLL,e.SEI_PACIFIC_1,e.SHAPE,e.STORY,e.TEMPO,e.WORLDCHAIN,e.ZORA];function ee(t){switch(t){case e.BASE_SEPOLIA:return m;case e.BASE:return _;case e.POLYGON_AMOY:return L;case e.POLYGON:return P;case e.OPTIMISM_SEPOLIA:return u;case e.OPTIMISM:return c;case e.ARBITRUM_SEPOLIA:return R;case e.ARBITRUM:return N;case e.ARBITRUMNOVA:return p;case e.STORY_TESTNET:return A;case e.STORY:return S;case e.MODE_SEPOLIA:return h;case e.MODE:return d;case e.BSC:return W;case e.SHAPE:return U;case e.ZORA:return V;case e.ZORA_SEPOLIA:return B;case e.ETHEREUM_SEPOLIA:return y;case e.ETHEREUM:return f;case e.FLOW:return H;case e.FLOW_TESTNET:return v;case e.PLUME_TESTNET:return b;case e.PLUME:return x;case e.ARC_TESTNET:return o;case e.TEMPO:return O;case e.TEMPO_TESTNET:return l;case e.ABSTRACT:case e.ABSTRACT_TESTNET:case e.APECHAIN:case e.MANTLE:case e.MANTLE_SEPOLIA:case e.SCROLL:case e.SCROLL_SEPOLIA:case e.SEI_PACIFIC_1:case e.SEI_ATLANTIC_2_TESTNET:case e.CURTIS:case e.WORLDCHAIN:case e.WORLD_CHAIN_SEPOLIA:throw new Error(`Chain ${t} is not yet supported in toViemChain function. Please add the appropriate viem chain definition.`);default:throw new Error(`Unknown chain: ${t}`)}}function I(t){return w.includes(t)}function C(t){return D.includes(t)}var Y={[e.ABSTRACT]:e.ABSTRACT_TESTNET,[e.APECHAIN]:e.CURTIS,[e.ARBITRUM]:e.ARBITRUM_SEPOLIA,[e.BASE]:e.BASE_SEPOLIA,[e.ETHEREUM]:e.ETHEREUM_SEPOLIA,[e.FLOW]:e.FLOW_TESTNET,[e.MANTLE]:e.MANTLE_SEPOLIA,[e.MODE]:e.MODE_SEPOLIA,[e.OPTIMISM]:e.OPTIMISM_SEPOLIA,[e.PLUME]:e.PLUME_TESTNET,[e.POLYGON]:e.POLYGON_AMOY,[e.SCROLL]:e.SCROLL_SEPOLIA,[e.SEI_PACIFIC_1]:e.SEI_ATLANTIC_2_TESTNET,[e.STORY]:e.STORY_TESTNET,[e.WORLDCHAIN]:e.WORLD_CHAIN_SEPOLIA,[e.ZORA]:e.ZORA_SEPOLIA,[e.TEMPO]:e.TEMPO_TESTNET};function g(t){return Y[t]}function F(t){return t==="solana"||t==="stellar"||I(t)||C(t)}function te(t,a){if(!F(t))throw new s(`Unknown chain "${t}". Please use a supported chain name (e.g. "base-sepolia", "polygon", "solana", "stellar").`);if(t==="solana"||t==="stellar")return t;let r=t,T=a===M.PRODUCTION;if(T&&I(r))throw new i(`Chain "${t}" is a testnet chain and cannot be used in production. Please use a mainnet chain instead.`);if(!T&&C(r)){let n=g(r);if(n!=null)return E.debug("validateChainForEnvironment.autoConverted",{chain:t,convertedTo:n,environment:a,message:`Chain "${t}" is a mainnet chain and cannot be used in ${a} environment. Automatically converted to "${n}".`}),n;E.debug("validateChainForEnvironment.mismatch",{chain:t,environment:a,message:`Chain "${t}" is a mainnet chain and should not be used in ${a} environment. No testnet equivalent is available. Please use a testnet chain instead.`})}return t}export{ee as a,I as b,C as c,g as d,F as e,te as f};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQ66YRLSWcjs = require('./chunk-Q66YRLSW.cjs');var _chunkLWA3SX6Zcjs = require('./chunk-LWA3SX6Z.cjs');var _chunkQPCZFIUVcjs = require('./chunk-QPCZFIUV.cjs');var _chunkDSIFRRBScjs = require('./chunk-DSIFRRBS.cjs');var y,c,A,u,f,C,g,t,o,k,w,a,K= exports.a =class{constructor(r){_chunkDSIFRRBScjs.e.call(void 0, this,o);_chunkDSIFRRBScjs.e.call(void 0, this,y);_chunkDSIFRRBScjs.e.call(void 0, this,c);_chunkDSIFRRBScjs.e.call(void 0, this,A);_chunkDSIFRRBScjs.e.call(void 0, this,u);_chunkDSIFRRBScjs.e.call(void 0, this,f);_chunkDSIFRRBScjs.e.call(void 0, this,C);_chunkDSIFRRBScjs.e.call(void 0, this,g,null);_chunkDSIFRRBScjs.e.call(void 0, this,t,null);_chunkDSIFRRBScjs.f.call(void 0, this,y,r.chain),_chunkDSIFRRBScjs.f.call(void 0, this,c,r.projectId),_chunkDSIFRRBScjs.f.call(void 0, this,A,r.environment),_chunkDSIFRRBScjs.f.call(void 0, this,u,r.apiRecoveryAddress),_chunkDSIFRRBScjs.f.call(void 0, this,f,r.apiDelegatedAddresses),_chunkDSIFRRBScjs.f.call(void 0, this,C,r.knownOnChainAddresses)}deriveCandidates(r){return _chunkQ66YRLSWcjs.c.call(void 0, r,_chunkDSIFRRBScjs.d.call(void 0, this,y),_chunkDSIFRRBScjs.d.call(void 0, this,c),_chunkDSIFRRBScjs.d.call(void 0, this,A))}resolveDerivation(r){var l;if(_chunkQPCZFIUVcjs.f.call(void 0, r)){if(_chunkDSIFRRBScjs.d.call(void 0, this,t)!=null)return _chunkDSIFRRBScjs.d.call(void 0, this,t);throw new Error('Cannot resolve server signer derivation: no secret available and no cached recovery resolution. Call wallet.useSigner({ type: "server", secret: ... }) first.')}let{primary:e,legacy:i}=this.deriveCandidates(r),s=(l=_chunkDSIFRRBScjs.d.call(void 0, this,g))!=null?l:_chunkDSIFRRBScjs.d.call(void 0, this,t);if(s!=null){let p=s.derivedAddress;if(p===e.derivedAddress||i!=null&&p===i.derivedAddress)return _chunkLWA3SX6Zcjs.a.call(void 0, e.derivedKeyBytes,i==null?void 0:i.derivedKeyBytes),s}if(i!=null){if(i.derivedAddress===_chunkDSIFRRBScjs.d.call(void 0, this,u))return _chunkLWA3SX6Zcjs.a.call(void 0, e.derivedKeyBytes),i;if(_chunkDSIFRRBScjs.d.call(void 0, this,C).call(this).includes(i.derivedAddress))return _chunkLWA3SX6Zcjs.a.call(void 0, e.derivedKeyBytes),i;_chunkLWA3SX6Zcjs.a.call(void 0, i.derivedKeyBytes)}return e}apiLocator(r){let e=this.resolveDerivation(r);return e!==_chunkDSIFRRBScjs.d.call(void 0, this,g)&&e!==_chunkDSIFRRBScjs.d.call(void 0, this,t)&&_chunkLWA3SX6Zcjs.a.call(void 0, e.derivedKeyBytes),`server:${e.derivedAddress}`}resolveForUseSigner(r,e,i){let{primary:s,legacy:l}=this.deriveCandidates(r);if(_chunkDSIFRRBScjs.g.call(void 0, this,o,k).call(this,s,l,e)!=null)return{kind:"delegated"};if(i())return _chunkDSIFRRBScjs.g.call(void 0, this,o,w).call(this,s,l),{kind:"recovery"};let p=l!=null?`"server:${s.derivedAddress}" or "server:${l.derivedAddress}"`:`"server:${s.derivedAddress}"`;return _chunkLWA3SX6Zcjs.a.call(void 0, s.derivedKeyBytes,l==null?void 0:l.derivedKeyBytes),{kind:"unregistered",message:`Signer ${p} is not registered in this wallet.`}}keyMaterialForAssembly(r){let e=this.resolveDerivation(r),i=new Uint8Array(e.derivedKeyBytes);return e!==_chunkDSIFRRBScjs.d.call(void 0, this,g)&&e!==_chunkDSIFRRBScjs.d.call(void 0, this,t)&&_chunkLWA3SX6Zcjs.a.call(void 0, e.derivedKeyBytes),{derivedKeyBytes:i,derivedAddress:e.derivedAddress}}candidateAddresses(r){if(_chunkQPCZFIUVcjs.f.call(void 0, r))return[r.address];let{primary:e,legacy:i}=this.deriveCandidates(r),s=[e.derivedAddress];return i!=null&&s.push(i.derivedAddress),_chunkLWA3SX6Zcjs.a.call(void 0, e.derivedKeyBytes,i==null?void 0:i.derivedKeyBytes),s}resetDelegatedCache(){var r;_chunkLWA3SX6Zcjs.a.call(void 0, (r=_chunkDSIFRRBScjs.d.call(void 0, this,g))==null?void 0:r.derivedKeyBytes),_chunkDSIFRRBScjs.f.call(void 0, this,g,null)}get hasRecoveryResolution(){return _chunkDSIFRRBScjs.d.call(void 0, this,t)!=null}get resolvedRecoveryAddress(){var r,e;return(e=(r=_chunkDSIFRRBScjs.d.call(void 0, this,t))==null?void 0:r.derivedAddress)!=null?e:null}get apiRecoveryAddress(){return _chunkDSIFRRBScjs.d.call(void 0, this,u)}get apiDelegatedAddresses(){return _chunkDSIFRRBScjs.d.call(void 0, this,f)}};y=new WeakMap,c=new WeakMap,A=new WeakMap,u=new WeakMap,f=new WeakMap,C=new WeakMap,g=new WeakMap,t=new WeakMap,o=new WeakSet,k=function(r,e,i){return i.includes(`server:${r.derivedAddress}`)?(_chunkDSIFRRBScjs.f.call(void 0, this,g,r),_chunkDSIFRRBScjs.g.call(void 0, this,o,a).call(this,r,e),r):e!=null&&i.includes(`server:${e.derivedAddress}`)?(_chunkDSIFRRBScjs.f.call(void 0, this,g,e),_chunkDSIFRRBScjs.g.call(void 0, this,o,a).call(this,e,r),e):null},w=function(r,e){return _chunkDSIFRRBScjs.d.call(void 0, this,u)!=null&&e!=null&&e.derivedAddress===_chunkDSIFRRBScjs.d.call(void 0, this,u)?(_chunkDSIFRRBScjs.f.call(void 0, this,t,e),_chunkDSIFRRBScjs.g.call(void 0, this,o,a).call(this,e,r),e):(_chunkDSIFRRBScjs.f.call(void 0, this,t,r),_chunkDSIFRRBScjs.g.call(void 0, this,o,a).call(this,r,e),r)},a=function(r,e){e!=null&&e!==r&&_chunkLWA3SX6Zcjs.a.call(void 0, e.derivedKeyBytes)};exports.a = K;
@@ -1 +0,0 @@
1
- import{a as i}from"./chunk-HN2VCKKJ.js";import{I as u}from"./chunk-DKFVM2DI.js";import{a as t}from"./chunk-44HFPLYO.js";import{a as f,c,h as s}from"./chunk-NU7VF7MC.js";import{isValidStellarAddress as T,WithLoggerContext as g}from"@crossmint/common-sdk-base";var m=409,l=class l extends i{constructor(e){super({chain:e.chain,address:e.address,owner:e.owner,options:i.getOptions(e),alias:e.alias,recovery:i.getRecovery(e),apiRecoveryServerSignerAddress:i.getApiRecoveryServerSignerAddress(e),apiDelegatedServerSignerAddresses:i.getApiDelegatedServerSignerAddresses(e),signer:e.signer,signers:i.getInitialSigners(e)},i.getApiClient(e))}static from(e){if(!T(e.address))throw new Error("Wallet is not a Stellar wallet");return new l(e)}sendTransaction(e){return s(this,null,function*(){var d;t.info("stellarWallet.sendTransaction.start"),yield this.preAuthIfNeeded();let r=yield this.createTransaction(e);if((d=e.options)!=null&&d.prepareOnly)return t.info("stellarWallet.sendTransaction.prepared",{transactionId:r.id}),{hash:void 0,explorerLink:void 0,transactionId:r.id};let a={},n=yield this.approveTransactionAndWait(r.id,a);return t.info("stellarWallet.sendTransaction.success",{transactionId:r.id,hash:n.hash}),n})}upgrade(e){return s(this,null,function*(){t.info("stellarWallet.upgrade.start"),yield this.preAuthIfNeeded();let r=yield this.createWalletLifecycleTransaction("upgrade-wallet",e);if(r!=null){if(e!=null&&e.prepareOnly)return t.info("stellarWallet.upgrade.prepared",{transactionId:r}),{hash:void 0,explorerLink:void 0,transactionId:r};yield this.approveTransactionAndWait(r),t.info("stellarWallet.upgrade.phase1.success",{transactionId:r})}else t.info("stellarWallet.upgrade.phase1.skipped",{reason:"wallet already locked from a prior upgrade"});let a=yield this.migrateInternal({signer:e==null?void 0:e.signer,prepareOnly:e==null?void 0:e.prepareOnly});return t.info("stellarWallet.upgrade.success",{transactionId:a.transactionId,hash:a.hash}),a})}migrate(e){return s(this,null,function*(){return yield this.preAuthIfNeeded(),yield this.migrateInternal(e)})}migrateInternal(e){return s(this,null,function*(){t.info("stellarWallet.migrate.start");let r=yield this.createWalletLifecycleTransaction("migrate-wallet",e);if(r==null)throw new u("Failed to create migrate-wallet transaction");if(e!=null&&e.prepareOnly)return t.info("stellarWallet.migrate.prepared",{transactionId:r}),{hash:void 0,explorerLink:void 0,transactionId:r};let a=yield this.approveTransactionAndWait(r);return t.info("stellarWallet.migrate.success",{transactionId:r,hash:a.hash}),a})}createTransaction(e){return s(this,null,function*(){let{contractId:r,options:a}=e,n=this.resolveStellarSigner(a==null?void 0:a.signer),d="transaction"in e?{type:"serialized-transaction",serializedTransaction:e.transaction,contractId:r}:{type:"contract-call",contractId:r,method:e.method,memo:e.memo!=null?{type:"text",value:e.memo}:void 0,args:e.args},p=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:d,signer:n}});if("error"in p)throw new u(JSON.stringify(p));return p})}createWalletLifecycleTransaction(e,r){return s(this,null,function*(){let a=(r==null?void 0:r.signer)!=null?this.resolveStellarSigner(r.signer):void 0,n=yield this.apiClient.createTransaction(this.walletLocator,{params:f({transaction:{type:e}},a!=null?{signer:a}:{})});if("error"in n){if(e==="upgrade-wallet"&&y(n))return null;throw new u(JSON.stringify(n))}return n.id})}resolveStellarSigner(e){return e==null?this.signerManager.require().locator():typeof e=="string"?e:this.resolveServerSignerApiLocator(e)}};c([g({logger:t,methodName:"stellarWallet.sendTransaction",buildContext(e){return{chain:e.chain,address:e.address}}})],l.prototype,"sendTransaction",1),c([g({logger:t,methodName:"stellarWallet.upgrade",buildContext(e){return{chain:e.chain,address:e.address}}})],l.prototype,"upgrade",1),c([g({logger:t,methodName:"stellarWallet.migrate",buildContext(e){return{chain:e.chain,address:e.address}}})],l.prototype,"migrate",1);var h=l;function y(o){return typeof o=="object"&&o!==null&&"statusCode"in o&&o.statusCode===m}export{h as a};
@@ -1 +0,0 @@
1
- import{a as r}from"./chunk-O6DY4JCK.js";function o(e){return e.type==="external-wallet"?`external-wallet:${e.address}`:e.type==="email"&&e.email?`email:${r(e.email)}`:e.type==="phone"&&e.phone?`phone:${e.phone}`:e.type==="passkey"&&"id"in e?`passkey:${e.id}`:e.type==="api-key"?"api-key":e.type==="device"?"locator"in e&&e.locator!=null?e.locator:"device:":e.type}function p(e){let t=e.indexOf(":");return t===-1?{type:e,value:""}:{type:e.substring(0,t),value:e.substring(t+1)}}export{o as a,p as b};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkL4OZWDFZcjs = require('./chunk-L4OZWDFZ.cjs');var _chunkVGE4ZHHDcjs = require('./chunk-VGE4ZHHD.cjs');var _chunkGOAGKFGNcjs = require('./chunk-GOAGKFGN.cjs');var _chunkTDIOBXZ3cjs = require('./chunk-TDIOBXZ3.cjs');var _chunkDSIFRRBScjs = require('./chunk-DSIFRRBS.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _commonsdkbase = require('@crossmint/common-sdk-base');var o=class o extends _chunkL4OZWDFZcjs.a{constructor(e){super({chain:e.chain,address:e.address,owner:e.owner,options:_chunkL4OZWDFZcjs.a.getOptions(e),alias:e.alias,recovery:_chunkL4OZWDFZcjs.a.getRecovery(e),apiRecoveryServerSignerAddress:_chunkL4OZWDFZcjs.a.getApiRecoveryServerSignerAddress(e),apiDelegatedServerSignerAddresses:_chunkL4OZWDFZcjs.a.getApiDelegatedServerSignerAddresses(e),signer:e.signer,signers:_chunkL4OZWDFZcjs.a.getInitialSigners(e)},_chunkL4OZWDFZcjs.a.getApiClient(e))}static from(e){if(!_commonsdkbase.isValidSolanaAddress.call(void 0, e.address))throw new Error("Wallet is not a Solana wallet");return new o(e)}sendTransaction(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var l,p;_chunkTDIOBXZ3cjs.a.info("solanaWallet.sendTransaction.start"),yield this.preAuthIfNeeded();let n=yield this.createTransaction(e);if((l=e.options)!=null&&l.prepareOnly)return _chunkTDIOBXZ3cjs.a.info("solanaWallet.sendTransaction.prepared",{transactionId:n.id}),{hash:void 0,explorerLink:void 0,transactionId:n.id};let i={additionalSigners:(p=e.additionalSigners)==null?void 0:p.map(d=>new (0, _chunkVGE4ZHHDcjs.a)({type:"external-wallet",address:d.publicKey.toString(),locator:`external-wallet:${d.publicKey.toString()}`,onSign:g=>(g.sign([d]),Promise.resolve(g))}))},a=yield this.approveTransactionAndWait(n.id,i);return _chunkTDIOBXZ3cjs.a.info("solanaWallet.sendTransaction.success",{transactionId:n.id,hash:a.hash}),a})}createTransaction(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var a;let n;((a=e.options)==null?void 0:a.signer)==null?n=this.signerManager.require().locator():typeof e.options.signer=="string"?n=e.options.signer:n=this.resolveServerSignerApiLocator(e.options.signer);let s;"serializedTransaction"in e?s=e.serializedTransaction:s=_bs582.default.encode(e.transaction.serialize());let i=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:s,signer:n}});if("error"in i)throw new (0, _chunkGOAGKFGNcjs.I)(JSON.stringify(i));return i})}};_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"solanaWallet.sendTransaction",buildContext(e){return{chain:e.chain,address:e.address}}})],o.prototype,"sendTransaction",1);var f=o;exports.a = f;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL4OZWDFZcjs = require('./chunk-L4OZWDFZ.cjs');var _chunkK2FBJAUJcjs = require('./chunk-K2FBJAUJ.cjs');var _chunkGOAGKFGNcjs = require('./chunk-GOAGKFGN.cjs');var _chunkTDIOBXZ3cjs = require('./chunk-TDIOBXZ3.cjs');var _chunkDSIFRRBScjs = require('./chunk-DSIFRRBS.cjs');var _viem = require('viem');var _commonsdkbase = require('@crossmint/common-sdk-base');var c=class c extends _chunkL4OZWDFZcjs.a{constructor(e){super({chain:e.chain,address:e.address,owner:e.owner,options:_chunkL4OZWDFZcjs.a.getOptions(e),alias:e.alias,recovery:_chunkL4OZWDFZcjs.a.getRecovery(e),apiRecoveryServerSignerAddress:_chunkL4OZWDFZcjs.a.getApiRecoveryServerSignerAddress(e),apiDelegatedServerSignerAddresses:_chunkL4OZWDFZcjs.a.getApiDelegatedServerSignerAddresses(e),signer:e.signer,signers:_chunkL4OZWDFZcjs.a.getInitialSigners(e)},_chunkL4OZWDFZcjs.a.getApiClient(e))}static from(e){if(!_commonsdkbase.isValidEvmAddress.call(void 0, e.address))throw new Error("Wallet is not an EVM wallet");return new c(e)}sendTransaction(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var i;_chunkTDIOBXZ3cjs.a.info("evmWallet.sendTransaction.start"),yield this.preAuthIfNeeded();let t=this.buildTransaction(e),r=yield this.createTransaction(t,e.options);if((i=e.options)!=null&&i.prepareOnly)return _chunkTDIOBXZ3cjs.a.info("evmWallet.sendTransaction.prepared",{transactionId:r.id}),{hash:void 0,explorerLink:void 0,transactionId:r.id};let a=yield this.approveTransactionAndWait(r.id);return _chunkTDIOBXZ3cjs.a.info("evmWallet.sendTransaction.success",{transactionId:r.id,hash:a.hash}),a})}signMessage(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var i;_chunkTDIOBXZ3cjs.a.info("evmWallet.signMessage.start"),yield this.preAuthIfNeeded();let t=this.signerManager.require(),r=yield this.apiClient.createSignature(this.walletLocator,{type:"message",params:{message:e.message,signer:t.locator(),chain:this.chain}});if("error"in r)throw _chunkTDIOBXZ3cjs.a.error("evmWallet.signMessage.error",{error:r}),new (0, _chunkGOAGKFGNcjs.D)(JSON.stringify(r));if((i=e.options)!=null&&i.prepareOnly)return _chunkTDIOBXZ3cjs.a.info("evmWallet.signMessage.prepared",{signatureId:r.id}),{signature:void 0,signatureId:r.id};let a=yield this.approveSignatureAndWait(r.id);return _chunkTDIOBXZ3cjs.a.info("evmWallet.signMessage.success",{signatureId:r.id}),a})}signTypedData(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var C;_chunkTDIOBXZ3cjs.a.info("evmWallet.signTypedData.start"),yield this.preAuthIfNeeded();let t=this.signerManager.require(),{domain:r,message:a,primaryType:i,types:g,chain:T}=e;if(!r||!a||!g||!T)throw _chunkTDIOBXZ3cjs.a.error("evmWallet.signTypedData.error",{error:"Invalid typed data"}),new (0, _chunkGOAGKFGNcjs.z)("Invalid typed data");let{name:m,version:v,chainId:S,verifyingContract:I,salt:b}=r;if(!m||!v||!S||!I)throw _chunkTDIOBXZ3cjs.a.error("evmWallet.signTypedData.error",{error:"Invalid typed data domain"}),new (0, _chunkGOAGKFGNcjs.z)("Invalid typed data domain");let d=yield this.apiClient.createSignature(this.walletLocator,{type:"typed-data",params:{typedData:{domain:{name:m,version:v,chainId:Number(S),verifyingContract:I,salt:b},message:y(a),primaryType:i,types:g},signer:t.locator(),chain:T}});if("error"in d)throw _chunkTDIOBXZ3cjs.a.error("evmWallet.signTypedData.error",{error:d}),new (0, _chunkGOAGKFGNcjs.D)(JSON.stringify(d));if((C=e.options)!=null&&C.prepareOnly)return _chunkTDIOBXZ3cjs.a.info("evmWallet.signTypedData.prepared",{signatureId:d.id}),{signature:void 0,signatureId:d.id};let D=yield this.approveSignatureAndWait(d.id);return _chunkTDIOBXZ3cjs.a.info("evmWallet.signTypedData.success",{signatureId:d.id}),D})}getViemClient(e){var t;return _viem.createPublicClient.call(void 0, {transport:(t=e==null?void 0:e.transport)!=null?t:_viem.http.call(void 0, ),chain:_chunkK2FBJAUJcjs.a.call(void 0, this.chain)})}createTransaction(e,t){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let r;(t==null?void 0:t.signer)==null?r=this.signerManager.require().locator():typeof t.signer=="string"?r=t.signer:r=this.resolveServerSignerApiLocator(t.signer);let a=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:r,chain:this.chain,calls:[e]}});if("error"in a)throw new (0, _chunkGOAGKFGNcjs.I)(JSON.stringify(a));return a})}buildTransaction(e){var t,r,a,i,g;if("transaction"in e)return{transaction:e.transaction};if(e.abi==null)return{to:e.to,value:(r=(t=e.value)==null?void 0:t.toString())!=null?r:"0",data:(a=e.data)!=null?a:"0x"};if(!e.functionName)throw new Error("Function name is required");return{to:e.to,value:(g=(i=e.value)==null?void 0:i.toString())!=null?g:"0",data:_viem.encodeFunctionData.call(void 0, {abi:e.abi,functionName:e.functionName,args:e.args})}}};_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"evmWallet.sendTransaction",buildContext(e){return{chain:e.chain,address:e.address}}})],c.prototype,"sendTransaction",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"evmWallet.signMessage",buildContext(e){return{chain:e.chain,address:e.address}}})],c.prototype,"signMessage",1),_chunkDSIFRRBScjs.c.call(void 0, [_commonsdkbase.WithLoggerContext.call(void 0, {logger:_chunkTDIOBXZ3cjs.a,methodName:"evmWallet.signTypedData",buildContext(e){return{chain:e.chain,address:e.address}}})],c.prototype,"signTypedData",1);var M=c;function y(s){return typeof s=="bigint"?s.toString():Array.isArray(s)?s.map(y):s!==null&&typeof s=="object"?Object.fromEntries(Object.entries(s).map(([e,t])=>[e,y(t)])):s}exports.a = M;
@@ -1 +0,0 @@
1
- var a={type:"passkey",validateConfig(){},buildInternalConfig(n){let e=n,i="id"in e&&e.id?e.id:"";return{type:"passkey",id:i,locator:`passkey:${i}`,name:"name"in e?e.name:void 0,publicKey:"publicKey"in e?e.publicKey:void 0,onCreatePasskey:e.onCreatePasskey,onSignWithPasskey:e.onSignWithPasskey}},canAutoAssemble(){return!0},addSignerPayload(n){return n},matchesRecovery(n,e){return!0},adoptsRecoveryConfigOnMatch:!1,signerUnavailableReason:()=>null};export{a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3HMPVPJKcjs = require('./chunk-3HMPVPJK.cjs');var _chunkHR53AARScjs = require('./chunk-HR53AARS.cjs');var _chunkQPCZFIUVcjs = require('./chunk-QPCZFIUV.cjs');var _chunkJNKTRQPScjs = require('./chunk-JNKTRQPS.cjs');var _chunkTDIOBXZ3cjs = require('./chunk-TDIOBXZ3.cjs');var _chunkDSIFRRBScjs = require('./chunk-DSIFRRBS.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var a,n,p,g,S,C,u,d,v,f,m,O,E= exports.a =class{constructor(e){_chunkDSIFRRBScjs.e.call(void 0, this,m);_chunkDSIFRRBScjs.e.call(void 0, this,a);_chunkDSIFRRBScjs.e.call(void 0, this,n);_chunkDSIFRRBScjs.e.call(void 0, this,p);_chunkDSIFRRBScjs.e.call(void 0, this,g);_chunkDSIFRRBScjs.e.call(void 0, this,S);_chunkDSIFRRBScjs.e.call(void 0, this,C);_chunkDSIFRRBScjs.e.call(void 0, this,u);_chunkDSIFRRBScjs.e.call(void 0, this,d);_chunkDSIFRRBScjs.e.call(void 0, this,v);_chunkDSIFRRBScjs.e.call(void 0, this,f);_chunkDSIFRRBScjs.f.call(void 0, this,p,e.apiClient),_chunkDSIFRRBScjs.f.call(void 0, this,g,e.options),_chunkDSIFRRBScjs.f.call(void 0, this,S,e.chain),_chunkDSIFRRBScjs.f.call(void 0, this,C,e.walletAddress),_chunkDSIFRRBScjs.f.call(void 0, this,u,e.walletLocator),_chunkDSIFRRBScjs.f.call(void 0, this,d,e.serverSignerResolver),_chunkDSIFRRBScjs.f.call(void 0, this,n,e.recovery),_chunkDSIFRRBScjs.f.call(void 0, this,v,e.initialSigners),_chunkDSIFRRBScjs.f.call(void 0, this,f,e.signers),_chunkDSIFRRBScjs.f.call(void 0, this,a,e.signer)}get activeSigner(){return _chunkDSIFRRBScjs.d.call(void 0, this,a)}setActiveSigner(e){_chunkDSIFRRBScjs.f.call(void 0, this,a,e)}get recovery(){return _chunkDSIFRRBScjs.d.call(void 0, this,n)}descriptorContext(){var e,i,s,l,c;return{chain:_chunkDSIFRRBScjs.d.call(void 0, this,S),walletAddress:_chunkDSIFRRBScjs.d.call(void 0, this,C),crossmint:_chunkDSIFRRBScjs.d.call(void 0, this,p).crossmint,clientTEEConnection:(e=_chunkDSIFRRBScjs.d.call(void 0, this,g))==null?void 0:e.clientTEEConnection,resetSignerFrame:(i=_chunkDSIFRRBScjs.d.call(void 0, this,g))==null?void 0:i.resetSignerFrame,onAuthRequired:(l=(s=_chunkDSIFRRBScjs.d.call(void 0, this,g))==null?void 0:s.callbacks)==null?void 0:l.onAuthRequired,deviceSignerKeyStorage:(c=_chunkDSIFRRBScjs.d.call(void 0, this,g))==null?void 0:c.deviceSignerKeyStorage,serverSigners:_chunkDSIFRRBScjs.d.call(void 0, this,d)}}adoptRecoveryConfig(e){_chunkDSIFRRBScjs.f.call(void 0, this,n,e)}stripSecretFromRecovery(){let e=_chunkDSIFRRBScjs.d.call(void 0, this,d).resolvedRecoveryAddress;_chunkDSIFRRBScjs.d.call(void 0, this,n)!=null&&_chunkDSIFRRBScjs.d.call(void 0, this,n).type==="server"&&!_chunkQPCZFIUVcjs.f.call(void 0, _chunkDSIFRRBScjs.d.call(void 0, this,n))&&e!=null&&_chunkDSIFRRBScjs.f.call(void 0, this,n,{type:"server",address:e})}assemble(e,i){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var l,c;let s=_chunkHR53AARScjs.a.call(void 0, _chunkDSIFRRBScjs.d.call(void 0, this,S),e,(l=_chunkDSIFRRBScjs.d.call(void 0, this,g))==null?void 0:l.deviceSignerKeyStorage);if(i!=null&&i.isAdminSigner)s.status="active";else{let y=yield this.getSignerState(s.locator());s.status=(c=y.signer)==null?void 0:c.status}return s})}require(){if(_chunkDSIFRRBScjs.d.call(void 0, this,a)==null){if(_chunkDSIFRRBScjs.d.call(void 0, this,v).length>1)throw new Error("No signer is set. This wallet has multiple signers configured. Call wallet.useSigner() to select which signer to use before signing operations.");let e=_chunk3HMPVPJKcjs.a.call(void 0, _chunkDSIFRRBScjs.d.call(void 0, this,n).type),i=e.signerUnavailableReason();throw i!=null?new Error(i):e.canAutoAssemble(_chunkDSIFRRBScjs.d.call(void 0, this,n),this.descriptorContext())?new Error("This wallet is read-only because no signer was provided. Operations that require signing (send, approve, addSigner, etc.) are not available."):new Error("No signer is set. This wallet requires calling wallet.useSigner() before signing operations.")}return _chunkDSIFRRBScjs.d.call(void 0, this,a)}withRecoverySigner(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){var y;let i=_chunkDSIFRRBScjs.d.call(void 0, this,a);if(_chunkQPCZFIUVcjs.f.call(void 0, _chunkDSIFRRBScjs.d.call(void 0, this,n))&&!_chunkDSIFRRBScjs.d.call(void 0, this,d).hasRecoveryResolution)throw new Error('Cannot assemble server signer: no secret available. Call wallet.useSigner({ type: "server", secret: ... }) first with the recovery server secret.');let s=_chunk3HMPVPJKcjs.a.call(void 0, _chunkDSIFRRBScjs.d.call(void 0, this,n).type),l=this.descriptorContext();if(_chunkDSIFRRBScjs.d.call(void 0, this,n)!=null&&_chunkDSIFRRBScjs.d.call(void 0, this,n).type==="external-wallet"&&!s.canAutoAssemble(_chunkDSIFRRBScjs.d.call(void 0, this,n),l))throw new Error('Cannot assemble external wallet signer: no onSign callback available. Call wallet.useSigner({ type: "external-wallet", address: "0x...", onSign: async (tx) => ... }) first.');let c=s.buildInternalConfig(_chunkDSIFRRBScjs.d.call(void 0, this,n),l);_chunkDSIFRRBScjs.f.call(void 0, this,a,_chunkHR53AARScjs.a.call(void 0, _chunkDSIFRRBScjs.d.call(void 0, this,S),c,(y=_chunkDSIFRRBScjs.d.call(void 0, this,g))==null?void 0:y.deviceSignerKeyStorage));try{return yield e()}finally{_chunkDSIFRRBScjs.f.call(void 0, this,a,i)}})}getSignerState(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let i=null;try{i=yield _chunkDSIFRRBScjs.d.call(void 0, this,p).getSigner(_chunkDSIFRRBScjs.d.call(void 0, this,u).call(this),e)}catch(l){return _chunkTDIOBXZ3cjs.a.warn("wallet.signers.getSignerState.fetchFailed",{signerLocator:e,error:l}),{response:null,signer:null,pendingOperation:null}}if(i==null||typeof i!="object"||"error"in i)return _chunkTDIOBXZ3cjs.a.warn("wallet.signers.getSignerState.errorResponse",{signerLocator:e,response:i}),{response:null,signer:null,pendingOperation:null};let s=_chunkJNKTRQPScjs.b.call(void 0, i,_chunkDSIFRRBScjs.d.call(void 0, this,S));return{response:i,signer:s,pendingOperation:_chunkJNKTRQPScjs.c.call(void 0, i,_chunkDSIFRRBScjs.d.call(void 0, this,S))}})}signerIsRegistered(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){return(yield _chunkDSIFRRBScjs.d.call(void 0, this,f).call(this)).some(s=>s.locator===e)})}isSignerApproved(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){try{let i=yield _chunkDSIFRRBScjs.g.call(void 0, this,m,O).call(this,e);return this.isApprovedSignerStatus(i==null?void 0:i.status)}catch(i){if(i instanceof _commonsdkbase.ApiClientError&&i.status===404)return!1;throw _chunkTDIOBXZ3cjs.a.error("wallet.signers.isSignerApproved.failed",{signerLocator:e,error:i}),i}})}isApprovedSignerStatus(e){return e==="success"||e==="active"}};a=new WeakMap,n=new WeakMap,p=new WeakMap,g=new WeakMap,S=new WeakMap,C=new WeakMap,u=new WeakMap,d=new WeakMap,v=new WeakMap,f=new WeakMap,m=new WeakSet,O=function(e){return _chunkDSIFRRBScjs.h.call(void 0, this,null,function*(){let i=yield _chunkDSIFRRBScjs.d.call(void 0, this,p).getSigner(_chunkDSIFRRBScjs.d.call(void 0, this,u).call(this),e);if(i==null||typeof i!="object"||"error"in i)throw new Error(`Failed to fetch the approval state of signer ${e}`);return _chunkJNKTRQPScjs.b.call(void 0, i,_chunkDSIFRRBScjs.d.call(void 0, this,S))})};exports.a = E;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFCEXGWKAcjs = require('./chunk-FCEXGWKA.cjs');function n(e){return e.type==="external-wallet"?`external-wallet:${e.address}`:e.type==="email"&&e.email?`email:${_chunkFCEXGWKAcjs.a.call(void 0, e.email)}`:e.type==="phone"&&e.phone?`phone:${e.phone}`:e.type==="passkey"&&"id"in e?`passkey:${e.id}`:e.type==="api-key"?"api-key":e.type==="device"?"locator"in e&&e.locator!=null?e.locator:"device:":e.type}function o(e){let t=e.indexOf(":");return t===-1?{type:e,value:""}:{type:e.substring(0,t),value:e.substring(t+1)}}exports.a = n; exports.b = o;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var o={type:"passkey",validateConfig(){},buildInternalConfig(n){let e=n,i="id"in e&&e.id?e.id:"";return{type:"passkey",id:i,locator:`passkey:${i}`,name:"name"in e?e.name:void 0,publicKey:"publicKey"in e?e.publicKey:void 0,onCreatePasskey:e.onCreatePasskey,onSignWithPasskey:e.onSignWithPasskey}},canAutoAssemble(){return!0},addSignerPayload(n){return n},matchesRecovery(n,e){return!0},adoptsRecoveryConfigOnMatch:!1,signerUnavailableReason:()=>null};exports.a = o;