@crossmint/wallets-sdk 0.15.0 → 0.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 (83) hide show
  1. package/dist/api/client.cjs +1 -1
  2. package/dist/api/client.js +1 -1
  3. package/dist/api/gen/index.cjs +1 -1
  4. package/dist/api/gen/index.js +1 -1
  5. package/dist/api/index.cjs +1 -1
  6. package/dist/api/index.js +1 -1
  7. package/dist/chains/chains.cjs +1 -1
  8. package/dist/chains/chains.js +1 -1
  9. package/dist/{chunk-OMHEIZBY.cjs → chunk-24QTQKVA.cjs} +1 -1
  10. package/dist/chunk-2P6NJ7U2.js +1 -0
  11. package/dist/{chunk-R6E6KN4C.cjs → chunk-4EIG4JRP.cjs} +1 -1
  12. package/dist/{chunk-YRAYLQSM.cjs → chunk-4NDX2H2R.cjs} +1 -1
  13. package/dist/{chunk-I5COKXOT.js → chunk-5PSTTFQB.js} +1 -1
  14. package/dist/chunk-7GBHPWJU.js +1 -0
  15. package/dist/chunk-BA3N47CM.js +1 -0
  16. package/dist/{chunk-EQAR6LTS.js → chunk-C4PMI4MS.js} +1 -1
  17. package/dist/{chunk-LYNZIVUP.js → chunk-C63LHP55.js} +1 -1
  18. package/dist/{chunk-UK7Y4K7I.js → chunk-CTXVPAEY.js} +1 -1
  19. package/dist/{chunk-H4GLYBUW.js → chunk-DRPQAM4Y.js} +1 -1
  20. package/dist/chunk-DX7KHIGO.cjs +1 -0
  21. package/dist/{chunk-ZEG4DIXR.cjs → chunk-DYS44AV7.cjs} +1 -1
  22. package/dist/{chunk-YWYEMIXU.js → chunk-FAFHBH6K.js} +1 -1
  23. package/dist/{chunk-3DI3U4K4.cjs → chunk-FF4KHEVX.cjs} +1 -1
  24. package/dist/chunk-G2TQHZHW.js +1 -0
  25. package/dist/{chunk-QGIN7NAJ.cjs → chunk-HEJTKDXB.cjs} +1 -1
  26. package/dist/chunk-M4QLDOY7.cjs +1 -0
  27. package/dist/{chunk-72QAMZSK.cjs → chunk-NCEQCCOP.cjs} +2 -2
  28. package/dist/chunk-OMQMUTCD.js +1 -0
  29. package/dist/chunk-PBULCG62.cjs +1 -0
  30. package/dist/{chunk-XIKTZJF7.cjs → chunk-RBUZYVIB.cjs} +1 -1
  31. package/dist/chunk-S6OCTE4E.js +1 -0
  32. package/dist/{chunk-CU6FZ36V.cjs → chunk-UPIRHFWN.cjs} +1 -1
  33. package/dist/chunk-XEDNNS4D.cjs +1 -0
  34. package/dist/chunk-XV5GD5AT.js +1 -0
  35. package/dist/chunk-Z5LC25XK.cjs +1 -0
  36. package/dist/{chunk-2EEUFDPI.js → chunk-ZOHTLGQD.js} +1 -1
  37. package/dist/index.cjs +1 -1
  38. package/dist/index.js +1 -1
  39. package/dist/sdk.cjs +1 -1
  40. package/dist/sdk.js +1 -1
  41. package/dist/signers/index.cjs +1 -1
  42. package/dist/signers/index.js +1 -1
  43. package/dist/signers/non-custodial/index.cjs +1 -1
  44. package/dist/signers/non-custodial/index.js +1 -1
  45. package/dist/signers/non-custodial/ncs-evm-signer.cjs +1 -1
  46. package/dist/signers/non-custodial/ncs-evm-signer.js +1 -1
  47. package/dist/signers/non-custodial/ncs-signer.cjs +1 -1
  48. package/dist/signers/non-custodial/ncs-signer.d.cts +1 -0
  49. package/dist/signers/non-custodial/ncs-signer.d.ts +1 -0
  50. package/dist/signers/non-custodial/ncs-signer.js +1 -1
  51. package/dist/signers/non-custodial/ncs-solana-signer.cjs +1 -1
  52. package/dist/signers/non-custodial/ncs-solana-signer.js +1 -1
  53. package/dist/signers/non-custodial/ncs-stellar-signer.cjs +1 -1
  54. package/dist/signers/non-custodial/ncs-stellar-signer.js +1 -1
  55. package/dist/utils/constants.cjs +1 -1
  56. package/dist/utils/constants.js +1 -1
  57. package/dist/wallets/evm.cjs +1 -1
  58. package/dist/wallets/evm.js +1 -1
  59. package/dist/wallets/solana.cjs +1 -1
  60. package/dist/wallets/solana.js +1 -1
  61. package/dist/wallets/stellar.cjs +1 -1
  62. package/dist/wallets/stellar.js +1 -1
  63. package/dist/wallets/types.d.cts +29 -9
  64. package/dist/wallets/types.d.ts +29 -9
  65. package/dist/wallets/wallet-factory.cjs +1 -1
  66. package/dist/wallets/wallet-factory.js +1 -1
  67. package/dist/wallets/wallet.cjs +1 -1
  68. package/dist/wallets/wallet.d.cts +9 -5
  69. package/dist/wallets/wallet.d.ts +9 -5
  70. package/dist/wallets/wallet.js +1 -1
  71. package/package.json +5 -2
  72. package/dist/chunk-4AHJTJQB.js +0 -1
  73. package/dist/chunk-AO5APX3E.cjs +0 -1
  74. package/dist/chunk-B4YUFFUB.js +0 -1
  75. package/dist/chunk-G6GE57TP.cjs +0 -1
  76. package/dist/chunk-NC5TWZVI.js +0 -1
  77. package/dist/chunk-NIFBUVYY.js +0 -1
  78. package/dist/chunk-NZJHKQ7Z.js +0 -1
  79. package/dist/chunk-OTMDX6ML.cjs +0 -1
  80. package/dist/chunk-R4YN5XDW.cjs +0 -1
  81. package/dist/chunk-SRSNZIR3.js +0 -1
  82. package/dist/chunk-TGDATYOV.js +0 -1
  83. package/dist/chunk-XBEUK2S5.cjs +0 -1
@@ -1 +1 @@
1
- import"../../chunk-YDZRBHS3.js";import{a as c}from"../../chunk-2EEUFDPI.js";import{a as e}from"../../chunk-EQAR6LTS.js";import{a as d}from"../../chunk-LYNZIVUP.js";import{a,b}from"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{b as DEFAULT_EVENT_OPTIONS,d as EVMNonCustodialSigner,a as NonCustodialSigner,c as SolanaNonCustodialSigner,e as StellarNonCustodialSigner};
1
+ import"../../chunk-YDZRBHS3.js";import{a as c}from"../../chunk-ZOHTLGQD.js";import{a as e}from"../../chunk-C4PMI4MS.js";import{a as d}from"../../chunk-C63LHP55.js";import{a,b}from"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{b as DEFAULT_EVENT_OPTIONS,d as EVMNonCustodialSigner,a as NonCustodialSigner,c as SolanaNonCustodialSigner,e as StellarNonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYRAYLQSMcjs = require('../../chunk-YRAYLQSM.cjs');require('../../chunk-OMHEIZBY.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.EVMNonCustodialSigner = _chunkYRAYLQSMcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4NDX2H2Rcjs = require('../../chunk-4NDX2H2R.cjs');require('../../chunk-24QTQKVA.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.EVMNonCustodialSigner = _chunk4NDX2H2Rcjs.a;
@@ -1 +1 @@
1
- import{a}from"../../chunk-LYNZIVUP.js";import"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as EVMNonCustodialSigner};
1
+ import{a}from"../../chunk-C63LHP55.js";import"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as EVMNonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOMHEIZBYcjs = require('../../chunk-OMHEIZBY.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.DEFAULT_EVENT_OPTIONS = _chunkOMHEIZBYcjs.b; exports.NonCustodialSigner = _chunkOMHEIZBYcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk24QTQKVAcjs = require('../../chunk-24QTQKVA.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.DEFAULT_EVENT_OPTIONS = _chunk24QTQKVAcjs.b; exports.NonCustodialSigner = _chunk24QTQKVAcjs.a;
@@ -23,6 +23,7 @@ declare abstract class NonCustodialSigner implements Signer {
23
23
  private getTEEConnection;
24
24
  private initializeTEEConnection;
25
25
  protected handleAuthRequired(): Promise<void>;
26
+ ensureAuthenticated(): Promise<void>;
26
27
  protected getJwtOrThrow(): string;
27
28
  private createAuthPromise;
28
29
  private sendMessageWithOtp;
@@ -23,6 +23,7 @@ declare abstract class NonCustodialSigner implements Signer {
23
23
  private getTEEConnection;
24
24
  private initializeTEEConnection;
25
25
  protected handleAuthRequired(): Promise<void>;
26
+ ensureAuthenticated(): Promise<void>;
26
27
  protected getJwtOrThrow(): string;
27
28
  private createAuthPromise;
28
29
  private sendMessageWithOtp;
@@ -1 +1 @@
1
- import{a,b}from"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{b as DEFAULT_EVENT_OPTIONS,a as NonCustodialSigner};
1
+ import{a,b}from"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{b as DEFAULT_EVENT_OPTIONS,a as NonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkR6E6KN4Ccjs = require('../../chunk-R6E6KN4C.cjs');require('../../chunk-OMHEIZBY.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.SolanaNonCustodialSigner = _chunkR6E6KN4Ccjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4EIG4JRPcjs = require('../../chunk-4EIG4JRP.cjs');require('../../chunk-24QTQKVA.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.SolanaNonCustodialSigner = _chunk4EIG4JRPcjs.a;
@@ -1 +1 @@
1
- import{a}from"../../chunk-2EEUFDPI.js";import"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as SolanaNonCustodialSigner};
1
+ import{a}from"../../chunk-ZOHTLGQD.js";import"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as SolanaNonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXIKTZJF7cjs = require('../../chunk-XIKTZJF7.cjs');require('../../chunk-OMHEIZBY.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.StellarNonCustodialSigner = _chunkXIKTZJF7cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRBUZYVIBcjs = require('../../chunk-RBUZYVIB.cjs');require('../../chunk-24QTQKVA.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.StellarNonCustodialSigner = _chunkRBUZYVIBcjs.a;
@@ -1 +1 @@
1
- import{a}from"../../chunk-EQAR6LTS.js";import"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as StellarNonCustodialSigner};
1
+ import{a}from"../../chunk-C4PMI4MS.js";import"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as StellarNonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQGIN7NAJcjs = require('../chunk-QGIN7NAJ.cjs');require('../chunk-XALFCQKD.cjs');exports.SDK_NAME = _chunkQGIN7NAJcjs.c; exports.SDK_VERSION = _chunkQGIN7NAJcjs.b; exports.STATUS_POLLING_INTERVAL_MS = _chunkQGIN7NAJcjs.d; exports.WALLETS_SERVICE = _chunkQGIN7NAJcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkHEJTKDXBcjs = require('../chunk-HEJTKDXB.cjs');require('../chunk-XALFCQKD.cjs');exports.SDK_NAME = _chunkHEJTKDXBcjs.c; exports.SDK_VERSION = _chunkHEJTKDXBcjs.b; exports.STATUS_POLLING_INTERVAL_MS = _chunkHEJTKDXBcjs.d; exports.WALLETS_SERVICE = _chunkHEJTKDXBcjs.a;
@@ -1 +1 @@
1
- import{a,b,c,d}from"../chunk-NZJHKQ7Z.js";import"../chunk-BW7YYVZE.js";export{c as SDK_NAME,b as SDK_VERSION,d as STATUS_POLLING_INTERVAL_MS,a as WALLETS_SERVICE};
1
+ import{a,b,c,d}from"../chunk-7GBHPWJU.js";import"../chunk-BW7YYVZE.js";export{c as SDK_NAME,b as SDK_VERSION,d as STATUS_POLLING_INTERVAL_MS,a as WALLETS_SERVICE};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXBEUK2S5cjs = require('../chunk-XBEUK2S5.cjs');require('../chunk-G6GE57TP.cjs');require('../chunk-CU6FZ36V.cjs');require('../chunk-IR5WN6FQ.cjs');require('../chunk-GEY574TH.cjs');require('../chunk-QGIN7NAJ.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.EVMWallet = _chunkXBEUK2S5cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDX7KHIGOcjs = require('../chunk-DX7KHIGO.cjs');require('../chunk-M4QLDOY7.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-UPIRHFWN.cjs');require('../chunk-GEY574TH.cjs');require('../chunk-IR5WN6FQ.cjs');require('../chunk-HEJTKDXB.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.EVMWallet = _chunkDX7KHIGOcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-NIFBUVYY.js";import"../chunk-B4YUFFUB.js";import"../chunk-I5COKXOT.js";import"../chunk-KKQBZXFE.js";import"../chunk-S3DYQVRD.js";import"../chunk-NZJHKQ7Z.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as EVMWallet};
1
+ import{a}from"../chunk-G2TQHZHW.js";import"../chunk-BA3N47CM.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-M4ELAV7U.js";import"../chunk-5PSTTFQB.js";import"../chunk-S3DYQVRD.js";import"../chunk-KKQBZXFE.js";import"../chunk-7GBHPWJU.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as EVMWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOTMDX6MLcjs = require('../chunk-OTMDX6ML.cjs');require('../chunk-G6GE57TP.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-QGIN7NAJ.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.SolanaWallet = _chunkOTMDX6MLcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXEDNNS4Dcjs = require('../chunk-XEDNNS4D.cjs');require('../chunk-M4QLDOY7.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-HEJTKDXB.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.SolanaWallet = _chunkXEDNNS4Dcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-4AHJTJQB.js";import"../chunk-B4YUFFUB.js";import"../chunk-6PVKL5RC.js";import"../chunk-NZJHKQ7Z.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as SolanaWallet};
1
+ import{a}from"../chunk-2P6NJ7U2.js";import"../chunk-BA3N47CM.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-6PVKL5RC.js";import"../chunk-M4ELAV7U.js";import"../chunk-7GBHPWJU.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as SolanaWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkR4YN5XDWcjs = require('../chunk-R4YN5XDW.cjs');require('../chunk-G6GE57TP.cjs');require('../chunk-QGIN7NAJ.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.StellarWallet = _chunkR4YN5XDWcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkPBULCG62cjs = require('../chunk-PBULCG62.cjs');require('../chunk-M4QLDOY7.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-HEJTKDXB.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.StellarWallet = _chunkPBULCG62cjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-SRSNZIR3.js";import"../chunk-B4YUFFUB.js";import"../chunk-NZJHKQ7Z.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as StellarWallet};
1
+ import{a}from"../chunk-OMQMUTCD.js";import"../chunk-BA3N47CM.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-M4ELAV7U.js";import"../chunk-7GBHPWJU.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as StellarWallet};
@@ -18,6 +18,12 @@ type TransactionInputOptions = PrepareOnly & {
18
18
  experimental_signer?: string;
19
19
  };
20
20
  type SignatureInputOptions = PrepareOnly;
21
+ type AddDelegatedSignerOptions = PrepareOnly;
22
+ type AddDelegatedSignerReturnType<C extends Chain> = C extends "solana" | "stellar" ? {
23
+ transactionId: string;
24
+ } : {
25
+ signatureId: string;
26
+ };
21
27
  type SignMessageInput = {
22
28
  message: string;
23
29
  options?: SignatureInputOptions;
@@ -55,8 +61,11 @@ type StellarTransactionInput = ({
55
61
  }) & {
56
62
  options?: TransactionInputOptions;
57
63
  };
58
- type SolanaTransactionInput = {
64
+ type SolanaTransactionInput = ({
59
65
  transaction: VersionedTransaction;
66
+ } | {
67
+ serializedTransaction: string;
68
+ }) & {
60
69
  additionalSigners?: Keypair[];
61
70
  options?: TransactionInputOptions;
62
71
  };
@@ -89,18 +98,29 @@ type WalletArgsFor<C extends Chain> = {
89
98
  options?: WalletOptions;
90
99
  delegatedSigners?: Array<DelegatedSigner>;
91
100
  };
92
- type TokenBalance = {
101
+ type ChainExtras = {
102
+ solana: {
103
+ mintHash?: string;
104
+ };
105
+ stellar: {
106
+ contractId?: string;
107
+ };
108
+ evm: {
109
+ contractAddress?: string;
110
+ };
111
+ };
112
+ type ChainToExtrasKey<C extends Chain> = C extends "solana" ? "solana" : C extends "stellar" ? "stellar" : "evm";
113
+ type TokenBalance<C extends Chain = Chain> = {
93
114
  symbol: "sol" | "eth" | "usdc" | string;
94
115
  name: string;
95
116
  amount: string;
96
- contractAddress?: string;
97
117
  decimals?: number;
98
118
  rawAmount?: string;
99
- };
100
- type Balances = {
101
- nativeToken: TokenBalance;
102
- usdc: TokenBalance;
103
- tokens: TokenBalance[];
119
+ } & ChainExtras[ChainToExtrasKey<C>];
120
+ type Balances<C extends Chain = Chain> = {
121
+ nativeToken: TokenBalance<C>;
122
+ usdc: TokenBalance<C>;
123
+ tokens: TokenBalance<C>[];
104
124
  };
105
125
  type UserLocator = {
106
126
  email: string;
@@ -142,4 +162,4 @@ type Approval = (BaseSignResult | PasskeySignResult) & {
142
162
  signer: string;
143
163
  };
144
164
 
145
- export type { Approval, ApproveOptions, ApproveParams, ApproveResult, Balances, Callbacks, DelegatedSigner, EVMTransactionInput, FormattedEVMTransaction, PendingApproval, PrepareOnly, SignMessageInput, SignTypedDataInput, Signature, SignatureInputOptions, SolanaTransactionInput, StellarTransactionInput, StellarWalletPlugin, TokenBalance, Transaction, TransactionInputOptions, UserLocator, WalletArgsFor, WalletOptions, WalletPlugin };
165
+ export type { AddDelegatedSignerOptions, AddDelegatedSignerReturnType, Approval, ApproveOptions, ApproveParams, ApproveResult, Balances, Callbacks, DelegatedSigner, EVMTransactionInput, FormattedEVMTransaction, PendingApproval, PrepareOnly, SignMessageInput, SignTypedDataInput, Signature, SignatureInputOptions, SolanaTransactionInput, StellarTransactionInput, StellarWalletPlugin, TokenBalance, Transaction, TransactionInputOptions, UserLocator, WalletArgsFor, WalletOptions, WalletPlugin };
@@ -18,6 +18,12 @@ type TransactionInputOptions = PrepareOnly & {
18
18
  experimental_signer?: string;
19
19
  };
20
20
  type SignatureInputOptions = PrepareOnly;
21
+ type AddDelegatedSignerOptions = PrepareOnly;
22
+ type AddDelegatedSignerReturnType<C extends Chain> = C extends "solana" | "stellar" ? {
23
+ transactionId: string;
24
+ } : {
25
+ signatureId: string;
26
+ };
21
27
  type SignMessageInput = {
22
28
  message: string;
23
29
  options?: SignatureInputOptions;
@@ -55,8 +61,11 @@ type StellarTransactionInput = ({
55
61
  }) & {
56
62
  options?: TransactionInputOptions;
57
63
  };
58
- type SolanaTransactionInput = {
64
+ type SolanaTransactionInput = ({
59
65
  transaction: VersionedTransaction;
66
+ } | {
67
+ serializedTransaction: string;
68
+ }) & {
60
69
  additionalSigners?: Keypair[];
61
70
  options?: TransactionInputOptions;
62
71
  };
@@ -89,18 +98,29 @@ type WalletArgsFor<C extends Chain> = {
89
98
  options?: WalletOptions;
90
99
  delegatedSigners?: Array<DelegatedSigner>;
91
100
  };
92
- type TokenBalance = {
101
+ type ChainExtras = {
102
+ solana: {
103
+ mintHash?: string;
104
+ };
105
+ stellar: {
106
+ contractId?: string;
107
+ };
108
+ evm: {
109
+ contractAddress?: string;
110
+ };
111
+ };
112
+ type ChainToExtrasKey<C extends Chain> = C extends "solana" ? "solana" : C extends "stellar" ? "stellar" : "evm";
113
+ type TokenBalance<C extends Chain = Chain> = {
93
114
  symbol: "sol" | "eth" | "usdc" | string;
94
115
  name: string;
95
116
  amount: string;
96
- contractAddress?: string;
97
117
  decimals?: number;
98
118
  rawAmount?: string;
99
- };
100
- type Balances = {
101
- nativeToken: TokenBalance;
102
- usdc: TokenBalance;
103
- tokens: TokenBalance[];
119
+ } & ChainExtras[ChainToExtrasKey<C>];
120
+ type Balances<C extends Chain = Chain> = {
121
+ nativeToken: TokenBalance<C>;
122
+ usdc: TokenBalance<C>;
123
+ tokens: TokenBalance<C>[];
104
124
  };
105
125
  type UserLocator = {
106
126
  email: string;
@@ -142,4 +162,4 @@ type Approval = (BaseSignResult | PasskeySignResult) & {
142
162
  signer: string;
143
163
  };
144
164
 
145
- export type { Approval, ApproveOptions, ApproveParams, ApproveResult, Balances, Callbacks, DelegatedSigner, EVMTransactionInput, FormattedEVMTransaction, PendingApproval, PrepareOnly, SignMessageInput, SignTypedDataInput, Signature, SignatureInputOptions, SolanaTransactionInput, StellarTransactionInput, StellarWalletPlugin, TokenBalance, Transaction, TransactionInputOptions, UserLocator, WalletArgsFor, WalletOptions, WalletPlugin };
165
+ export type { AddDelegatedSignerOptions, AddDelegatedSignerReturnType, Approval, ApproveOptions, ApproveParams, ApproveResult, Balances, Callbacks, DelegatedSigner, EVMTransactionInput, FormattedEVMTransaction, PendingApproval, PrepareOnly, SignMessageInput, SignTypedDataInput, Signature, SignatureInputOptions, SolanaTransactionInput, StellarTransactionInput, StellarWalletPlugin, TokenBalance, Transaction, TransactionInputOptions, UserLocator, WalletArgsFor, WalletOptions, WalletPlugin };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk72QAMZSKcjs = require('../chunk-72QAMZSK.cjs');require('../chunk-G6GE57TP.cjs');require('../chunk-23BRREJG.cjs');require('../chunk-AO5APX3E.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-R6E6KN4C.cjs');require('../chunk-XIKTZJF7.cjs');require('../chunk-YRAYLQSM.cjs');require('../chunk-OMHEIZBY.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-YZ4HRYSL.cjs');require('../chunk-M4TOGGLV.cjs');require('../chunk-YWPTI2QO.cjs');require('../chunk-4KXOWU5E.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-C3T63EC7.cjs');require('../chunk-QGIN7NAJ.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.WalletFactory = _chunk72QAMZSKcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNCEQCCOPcjs = require('../chunk-NCEQCCOP.cjs');require('../chunk-23BRREJG.cjs');require('../chunk-M4QLDOY7.cjs');require('../chunk-Z5LC25XK.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-YWPTI2QO.cjs');require('../chunk-4KXOWU5E.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-C3T63EC7.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-HEJTKDXB.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-YZ4HRYSL.cjs');require('../chunk-M4TOGGLV.cjs');require('../chunk-XALFCQKD.cjs');exports.WalletFactory = _chunkNCEQCCOPcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-H4GLYBUW.js";import"../chunk-B4YUFFUB.js";import"../chunk-BHGNJYYE.js";import"../chunk-TGDATYOV.js";import"../chunk-YDZRBHS3.js";import"../chunk-2EEUFDPI.js";import"../chunk-EQAR6LTS.js";import"../chunk-LYNZIVUP.js";import"../chunk-NC5TWZVI.js";import"../chunk-JUSY5XEE.js";import"../chunk-M4ELAV7U.js";import"../chunk-LW6JSI4J.js";import"../chunk-3APSOOE3.js";import"../chunk-UBOWSXW3.js";import"../chunk-IGBQEAD5.js";import"../chunk-6PVKL5RC.js";import"../chunk-2SHDBC47.js";import"../chunk-NZJHKQ7Z.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as WalletFactory};
1
+ import{a}from"../chunk-DRPQAM4Y.js";import"../chunk-BHGNJYYE.js";import"../chunk-BA3N47CM.js";import"../chunk-XV5GD5AT.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-UBOWSXW3.js";import"../chunk-IGBQEAD5.js";import"../chunk-6PVKL5RC.js";import"../chunk-2SHDBC47.js";import"../chunk-M4ELAV7U.js";import"../chunk-7GBHPWJU.js";import"../chunk-PSXRNSOE.js";import"../chunk-LW6JSI4J.js";import"../chunk-3APSOOE3.js";import"../chunk-BW7YYVZE.js";export{a as WalletFactory};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkG6GE57TPcjs = require('../chunk-G6GE57TP.cjs');require('../chunk-QGIN7NAJ.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.Wallet = _chunkG6GE57TPcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkM4QLDOY7cjs = require('../chunk-M4QLDOY7.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-HEJTKDXB.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.Wallet = _chunkM4QLDOY7cjs.a;
@@ -1,7 +1,7 @@
1
1
  import { ApiClient } from '../api/client.cjs';
2
2
  import { GetTransactionsResponse, GetTransactionSuccessResponse, Activity, RegisterSignerPasskeyParams, WalletLocator, ApproveSignatureResponse } from '../api/types.cjs';
3
3
  import { WalletNftsResponseDto, WalletsTransactionV2025ResponseDto } from '../api/gen/types.gen.cjs';
4
- import { WalletOptions, Balances, TransactionInputOptions, UserLocator, Transaction, PrepareOnly, ApproveParams, ApproveResult, DelegatedSigner, ApproveOptions, Signature } from './types.cjs';
4
+ import { WalletOptions, Balances, TransactionInputOptions, UserLocator, Transaction, PrepareOnly, ApproveParams, ApproveResult, AddDelegatedSignerOptions, AddDelegatedSignerReturnType, DelegatedSigner, ApproveOptions, Signature } from './types.cjs';
5
5
  import { Chain } from '../chains/chains.cjs';
6
6
  import { Signer } from '../signers/types.cjs';
7
7
  import '@crossmint/common-sdk-base';
@@ -40,10 +40,10 @@ declare class Wallet<C extends Chain> {
40
40
  * Get the wallet balances - always includes USDC and native token (ETH/SOL)
41
41
  * @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)
42
42
  * @param {Chain[]} chains - The chains (optional)
43
- * @returns {Promise<Balances>} The balances returns nativeToken, usdc, tokens
43
+ * @returns {Promise<Balances<C>>} The balances returns nativeToken, usdc, tokens
44
44
  * @throws {Error} If the balances cannot be retrieved
45
45
  */
46
- balances(tokens?: string[], chains?: Chain[]): Promise<Balances>;
46
+ balances(tokens?: string[], chains?: Chain[]): Promise<Balances<C>>;
47
47
  /**
48
48
  * Transform the API balance response to the new structure
49
49
  * @private
@@ -115,12 +115,16 @@ declare class Wallet<C extends Chain> {
115
115
  /**
116
116
  * Add a delegated signer to the wallet
117
117
  * @param signer - The signer. For Solana, it must be a string. For EVM, it can be a string or a passkey.
118
+ * @param options - The options for the operation
119
+ * @param options.experimental_prepareOnly - If true, returns the transaction/signature ID without auto-approving
118
120
  */
119
- addDelegatedSigner(params: {
121
+ addDelegatedSigner<T extends AddDelegatedSignerOptions | undefined = undefined>(params: {
120
122
  signer: string | RegisterSignerPasskeyParams;
121
- }): Promise<void>;
123
+ options?: T;
124
+ }): Promise<T extends PrepareOnly<true> ? AddDelegatedSignerReturnType<C> : void>;
122
125
  delegatedSigners(): Promise<DelegatedSigner[]>;
123
126
  protected get walletLocator(): WalletLocator;
127
+ protected preAuthIfNeeded(): Promise<void>;
124
128
  protected get isSolanaWallet(): boolean;
125
129
  protected approveTransactionAndWait(transactionId: string, options?: ApproveOptions): Promise<{
126
130
  hash: string;
@@ -1,7 +1,7 @@
1
1
  import { ApiClient } from '../api/client.js';
2
2
  import { GetTransactionsResponse, GetTransactionSuccessResponse, Activity, RegisterSignerPasskeyParams, WalletLocator, ApproveSignatureResponse } from '../api/types.js';
3
3
  import { WalletNftsResponseDto, WalletsTransactionV2025ResponseDto } from '../api/gen/types.gen.js';
4
- import { WalletOptions, Balances, TransactionInputOptions, UserLocator, Transaction, PrepareOnly, ApproveParams, ApproveResult, DelegatedSigner, ApproveOptions, Signature } from './types.js';
4
+ import { WalletOptions, Balances, TransactionInputOptions, UserLocator, Transaction, PrepareOnly, ApproveParams, ApproveResult, AddDelegatedSignerOptions, AddDelegatedSignerReturnType, DelegatedSigner, ApproveOptions, Signature } from './types.js';
5
5
  import { Chain } from '../chains/chains.js';
6
6
  import { Signer } from '../signers/types.js';
7
7
  import '@crossmint/common-sdk-base';
@@ -40,10 +40,10 @@ declare class Wallet<C extends Chain> {
40
40
  * Get the wallet balances - always includes USDC and native token (ETH/SOL)
41
41
  * @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)
42
42
  * @param {Chain[]} chains - The chains (optional)
43
- * @returns {Promise<Balances>} The balances returns nativeToken, usdc, tokens
43
+ * @returns {Promise<Balances<C>>} The balances returns nativeToken, usdc, tokens
44
44
  * @throws {Error} If the balances cannot be retrieved
45
45
  */
46
- balances(tokens?: string[], chains?: Chain[]): Promise<Balances>;
46
+ balances(tokens?: string[], chains?: Chain[]): Promise<Balances<C>>;
47
47
  /**
48
48
  * Transform the API balance response to the new structure
49
49
  * @private
@@ -115,12 +115,16 @@ declare class Wallet<C extends Chain> {
115
115
  /**
116
116
  * Add a delegated signer to the wallet
117
117
  * @param signer - The signer. For Solana, it must be a string. For EVM, it can be a string or a passkey.
118
+ * @param options - The options for the operation
119
+ * @param options.experimental_prepareOnly - If true, returns the transaction/signature ID without auto-approving
118
120
  */
119
- addDelegatedSigner(params: {
121
+ addDelegatedSigner<T extends AddDelegatedSignerOptions | undefined = undefined>(params: {
120
122
  signer: string | RegisterSignerPasskeyParams;
121
- }): Promise<void>;
123
+ options?: T;
124
+ }): Promise<T extends PrepareOnly<true> ? AddDelegatedSignerReturnType<C> : void>;
122
125
  delegatedSigners(): Promise<DelegatedSigner[]>;
123
126
  protected get walletLocator(): WalletLocator;
127
+ protected preAuthIfNeeded(): Promise<void>;
124
128
  protected get isSolanaWallet(): boolean;
125
129
  protected approveTransactionAndWait(transactionId: string, options?: ApproveOptions): Promise<{
126
130
  hash: string;
@@ -1 +1 @@
1
- import{a}from"../chunk-B4YUFFUB.js";import"../chunk-NZJHKQ7Z.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as Wallet};
1
+ import{a}from"../chunk-BA3N47CM.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-M4ELAV7U.js";import"../chunk-7GBHPWJU.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as Wallet};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/wallets-sdk",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -28,7 +28,7 @@
28
28
  "viem": "2.33.1",
29
29
  "@crossmint/client-sdk-window": "1.0.5",
30
30
  "@crossmint/client-signers": "0.0.20",
31
- "@crossmint/common-sdk-base": "0.9.5"
31
+ "@crossmint/common-sdk-base": "0.9.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@hey-api/openapi-ts": "0.69.2",
@@ -36,6 +36,9 @@
36
36
  "typedoc-plugin-frontmatter": "1.0.0",
37
37
  "typedoc-plugin-markdown": "4.2.3"
38
38
  },
39
+ "peerDependencies": {
40
+ "@solana/web3.js": "^1.98.1"
41
+ },
39
42
  "scripts": {
40
43
  "build": "pnpm generate && tsup",
41
44
  "dev": "tsup --watch",
@@ -1 +0,0 @@
1
- import{a as t}from"./chunk-B4YUFFUB.js";import{a as l}from"./chunk-6PVKL5RC.js";import{r as p}from"./chunk-PSXRNSOE.js";import{f as s}from"./chunk-BW7YYVZE.js";import m from"bs58";import{isValidSolanaAddress as T}from"@crossmint/common-sdk-base";var d=class u extends t{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:t.getOptions(n)},t.getApiClient(n))}static from(n){if(!T(n.address))throw new Error("Wallet is not a Solana wallet");return new u(n)}sendTransaction(n){return s(this,null,function*(){var e,r;let a=yield this.createTransaction(n);if((e=n.options)!=null&&e.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:a.id};let i={additionalSigners:(r=n.additionalSigners)==null?void 0:r.map(o=>new l({type:"external-wallet",address:o.publicKey.toString(),locator:`external-wallet:${o.publicKey.toString()}`,onSignTransaction:c=>(c.sign([o]),Promise.resolve(c))}))};return yield this.approveTransactionAndWait(a.id,i)})}createTransaction(S){return s(this,arguments,function*({transaction:n,options:a}){var r;let i=(r=a==null?void 0:a.experimental_signer)!=null?r:this.signer.locator(),e=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:m.encode(n.serialize()),signer:i}});if("error"in e)throw new p(JSON.stringify(e));return e})}};export{d as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkR6E6KN4Ccjs = require('./chunk-R6E6KN4C.cjs');var _chunkXIKTZJF7cjs = require('./chunk-XIKTZJF7.cjs');var _chunkYRAYLQSMcjs = require('./chunk-YRAYLQSM.cjs');var _chunkYZ4HRYSLcjs = require('./chunk-YZ4HRYSL.cjs');var _chunkM4TOGGLVcjs = require('./chunk-M4TOGGLV.cjs');var _chunkYWPTI2QOcjs = require('./chunk-YWPTI2QO.cjs');var _chunk4KXOWU5Ecjs = require('./chunk-4KXOWU5E.cjs');var _chunkHRSVFJNDcjs = require('./chunk-HRSVFJND.cjs');var _chunkC3T63EC7cjs = require('./chunk-C3T63EC7.cjs');function E(r,e){switch(e.type){case"email":case"phone":return r==="solana"?new (0, _chunkR6E6KN4Ccjs.a)(e):r==="stellar"?new (0, _chunkXIKTZJF7cjs.a)(e):new (0, _chunkYRAYLQSMcjs.a)(e);case"api-key":return r==="solana"?new (0, _chunk4KXOWU5Ecjs.a)(e):new (0, _chunkYZ4HRYSLcjs.a)(e);case"external-wallet":return r==="solana"?new (0, _chunkHRSVFJNDcjs.a)(e):r==="stellar"?new (0, _chunkC3T63EC7cjs.a)(e):new (0, _chunkM4TOGGLVcjs.a)(e);case"passkey":return new (0, _chunkYWPTI2QOcjs.a)(e)}}exports.a = E;
@@ -1 +0,0 @@
1
- import{d as O}from"./chunk-NZJHKQ7Z.js";import{c as L,d as P,i as E,m as N,p as x,q as _,r as $,s as W,t as R,u as F,v as I,w as k,x as B}from"./chunk-PSXRNSOE.js";import{a as T,b as A,c,d as b,e as C,f as o}from"./chunk-BW7YYVZE.js";import{isValidAddress as G}from"@crossmint/common-sdk-base";var f,l,J=class{constructor(e,r){b(this,f);b(this,l);let{chain:t,address:n,owner:s,signer:d,options:g}=e;C(this,l,r),this.chain=t,this.address=n,this.owner=s,this.signer=d,C(this,f,g)}static getApiClient(e){return e.apiClient}static getOptions(e){return e.options}get apiClient(){return c(this,l)}get options(){return c(this,f)}experimental_apiClient(){return c(this,l)}balances(e,r){return o(this,null,function*(){let t;switch(this.chain){case"solana":t="sol";break;case"stellar":t="xlm";break;default:t="eth";break}let n=[t,"usdc",...e!=null?e:[]],s=yield c(this,l).getBalance(this.address,{chains:r!=null?r:[this.chain],tokens:n});if("error"in s)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(s.message)}`);return this.transformBalanceResponse(s,t,e)})}transformBalanceResponse(e,r,t){let n=a=>{var m,w,v,y,S;let u=(m=a.chains)==null?void 0:m[this.chain],h=u!=null&&"contractAddress"in u?u.contractAddress:void 0;return{symbol:(w=a.symbol)!=null?w:"",name:(v=a.name)!=null?v:"",amount:(y=a.amount)!=null?y:"0",contractAddress:h,decimals:a.decimals,rawAmount:(S=a.rawAmount)!=null?S:"0"}},s=e.find(a=>a.symbol===r),d=e.find(a=>a.symbol==="usdc"),g=e.filter(a=>a.symbol!==r&&a.symbol!=="usdc"),i=a=>({symbol:a,name:a,amount:"0",contractAddress:void 0,decimals:0,rawAmount:"0"});return{nativeToken:s!=null?n(s):i(r),usdc:d!=null?n(d):i("usdc"),tokens:g.map(n)}}experimental_nfts(e){return o(this,null,function*(){return yield c(this,l).experimental_getNfts(A(T({},e),{chain:this.chain,address:this.address}))})}experimental_transactions(){return o(this,null,function*(){let e=yield c(this,l).getTransactions(this.walletLocator);if("error"in e)throw new Error(`Failed to get transactions: ${JSON.stringify(e.message)}`);return e})}experimental_transaction(e){return o(this,null,function*(){let r=yield c(this,l).getTransaction(this.walletLocator,e);if("error"in r)throw new Error(`Failed to get transaction: ${JSON.stringify(r.error)}`);return r})}experimental_activity(){return o(this,null,function*(){let e=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in e)throw new Error(`Failed to get activity: ${JSON.stringify(e.message)}`);return e})}send(e,r,t,n){return o(this,null,function*(){let s=H(e),d=M(r,this.chain),g=T({recipient:s,amount:t},(n==null?void 0:n.experimental_signer)!=null?{signer:n.experimental_signer}:{}),i=yield c(this,l).send(this.walletLocator,d,g);if("message"in i)throw new $(`Failed to send token: ${JSON.stringify(i.message)}`);return n!=null&&n.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:i.id}:yield this.approveTransactionAndWait(i.id)})}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(e.transactionId!=null)return yield this.approveTransactionAndWait(e.transactionId,e.options);if(e.signatureId!=null)return yield this.approveSignatureAndWait(e.signatureId,e.options);throw new Error("Either transactionId or signatureId must be provided")})}addDelegatedSigner(e){return o(this,null,function*(){var t;let r=yield c(this,l).registerSigner(this.walletLocator,{signer:e.signer,chain:this.chain==="solana"||this.chain==="stellar"?void 0:this.chain});if("error"in r)throw new Error(`Failed to register signer: ${JSON.stringify(r.message)}`);if("transaction"in r&&r.transaction!=null){let n=r.transaction.id;yield this.approveTransactionAndWait(n)}else if("chains"in r){let n=(t=r.chains)==null?void 0:t[this.chain];if((n==null?void 0:n.status)==="awaiting-approval"){yield this.approveSignatureAndWait(n.id);return}if((n==null?void 0:n.status)==="pending"){yield this.waitForSignature(n.id);return}}})}delegatedSigners(){return o(this,null,function*(){var r,t,n;let e=yield c(this,l).getWallet(this.walletLocator);if("error"in e)throw new P(JSON.stringify(e));if(e.type!=="smart"||e.chainType!=="evm"&&e.chainType!=="solana"&&e.chainType!=="stellar")throw new L(`Wallet type ${e.type} not supported`);return(n=(t=(r=e==null?void 0:e.config)==null?void 0:r.delegatedSigners)==null?void 0:t.map(s=>{let d=s.locator.indexOf(":");return{signer:`external-wallet:${d>=0?s.locator.slice(d+1):s.locator}`}}))!=null?n:[]})}get walletLocator(){return c(this,l).isServerSide?this.address:this.chain==="stellar"?"me:stellar:smart":this.chain==="solana"?"me:solana:smart":"me:evm:smart"}get isSolanaWallet(){return this.chain==="solana"}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 i,a;if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let t=yield c(this,l).getSignature(this.walletLocator,e);if("error"in t)throw new x(JSON.stringify(t));if(this.signer.type==="api-key")return t;if((r==null?void 0:r.experimental_approval)!=null){let u=[r.experimental_approval];return yield this.executeApproveSignatureWithErrorHandling(e,u)}let n=(i=t.approvals)==null?void 0:i.pending;if(n==null)return t;let s=[...(a=r==null?void 0:r.additionalSigners)!=null?a:[],this.signer],g=(yield Promise.all(n.map(u=>{let h=s.find(m=>m.locator()===u.signer.locator);if(h==null)throw new E(`Signer ${u.signer} not found in pending approvals`);return h.signMessage(u.message)}))).map(u=>A(T({},u),{signer:this.signer.locator()}));return yield this.executeApproveSignatureWithErrorHandling(e,g)})}approveTransactionInternal(e,r){return o(this,null,function*(){var i,a,u,h,m;let t=yield c(this,l).getTransaction(this.walletLocator,e);if("error"in t)throw new W(JSON.stringify(t));if(yield(u=(a=(i=c(this,f))==null?void 0:i.experimental_callbacks)==null?void 0:a.onTransactionStart)==null?void 0:u.call(a),this.signer.type==="api-key")return t;if((r==null?void 0:r.experimental_approval)!=null){let w=[r.experimental_approval];return yield this.executeApproveTransactionWithErrorHandling(e,w)}let n=(h=t.approvals)==null?void 0:h.pending;if(n==null)return t;let s=[...(m=r==null?void 0:r.additionalSigners)!=null?m:[],this.signer],g=(yield Promise.all(n.map(w=>{let v=s.find(S=>S.locator()===w.signer.locator);if(v==null)throw new E(`Signer ${w.signer} not found in pending approvals`);let y=t.chainType==="solana"&&"transaction"in t.onChain?t.onChain.transaction:w.message;return v.signTransaction(y)}))).map(w=>A(T({},w),{signer:this.signer.locator()}));return yield this.executeApproveTransactionWithErrorHandling(e,g)})}executeApproveTransactionWithErrorHandling(e,r){return o(this,null,function*(){let t=yield c(this,l).approveTransaction(this.walletLocator,e,{approvals:r});if(t.error)throw new B(JSON.stringify(t));return t})}executeApproveSignatureWithErrorHandling(e,r){return o(this,null,function*(){let t=yield c(this,l).approveSignature(this.walletLocator,e,{approvals:r});if(t.error)throw new _(JSON.stringify(t));return t})}waitForSignature(e){return o(this,null,function*(){let r=null;do if(yield new Promise(t=>setTimeout(t,O)),r=yield c(this,l).getSignature(this.walletLocator,e),"error"in r)throw new x(JSON.stringify(r));while(r===null||r.status==="pending");if(r.status==="failed")throw new N("Signature signing failed");if(!r.outputSignature)throw new x("Signature not available");return{signature:r.outputSignature,signatureId:e}})}waitForTransaction(d){return o(this,arguments,function*(e,r=6e4,{backoffMultiplier:t=1.1,maxBackoffMs:n=2e3,initialBackoffMs:s=O}={}){var u;let g=Date.now(),i;do{if(Date.now()-g>r)throw new R("Transaction confirmation timeout");if(i=yield c(this,l).getTransaction(this.walletLocator,e),i.error)throw new W(JSON.stringify(i));yield this.sleep(s),s=Math.min(s*t,n)}while(i.status==="pending");if(i.status==="failed")throw new F(`Transaction sending failed: ${JSON.stringify(i.error)}`);if(i.status==="awaiting-approval")throw new I("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let a=i.onChain.txId;if(a==null)throw new k("Transaction hash not found on transaction response");return{hash:a,explorerLink:(u=i.onChain.explorerLink)!=null?u:"",transactionId:i.id}})}sleep(e){return o(this,null,function*(){return new Promise(r=>setTimeout(r,e))})}};f=new WeakMap,l=new WeakMap;function H(p){if(typeof p=="string")return p;if("email"in p)return`email:${p.email}`;if("x"in p)return`x:${p.x}`;if("twitter"in p)return`twitter:${p.twitter}`;if("phone"in p)return`phoneNumber:${p.phone}`;if("userId"in p)return`userId:${p.userId}`;throw new Error("Invalid recipient locator")}function M(p,e){return G(p)?`${e}:${p}`:`${e}:${p.toLowerCase()}`}export{J as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQGIN7NAJcjs = require('./chunk-QGIN7NAJ.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var f,l,J= exports.a =class{constructor(e,r){_chunkXALFCQKDcjs.d.call(void 0, this,f);_chunkXALFCQKDcjs.d.call(void 0, this,l);let{chain:t,address:n,owner:s,signer:d,options:g}=e;_chunkXALFCQKDcjs.e.call(void 0, this,l,r),this.chain=t,this.address=n,this.owner=s,this.signer=d,_chunkXALFCQKDcjs.e.call(void 0, this,f,g)}static getApiClient(e){return e.apiClient}static getOptions(e){return e.options}get apiClient(){return _chunkXALFCQKDcjs.c.call(void 0, this,l)}get options(){return _chunkXALFCQKDcjs.c.call(void 0, this,f)}experimental_apiClient(){return _chunkXALFCQKDcjs.c.call(void 0, this,l)}balances(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t;switch(this.chain){case"solana":t="sol";break;case"stellar":t="xlm";break;default:t="eth";break}let n=[t,"usdc",...e!=null?e:[]],s=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getBalance(this.address,{chains:r!=null?r:[this.chain],tokens:n});if("error"in s)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(s.message)}`);return this.transformBalanceResponse(s,t,e)})}transformBalanceResponse(e,r,t){let n=a=>{var m,w,v,y,S;let u=(m=a.chains)==null?void 0:m[this.chain],h=u!=null&&"contractAddress"in u?u.contractAddress:void 0;return{symbol:(w=a.symbol)!=null?w:"",name:(v=a.name)!=null?v:"",amount:(y=a.amount)!=null?y:"0",contractAddress:h,decimals:a.decimals,rawAmount:(S=a.rawAmount)!=null?S:"0"}},s=e.find(a=>a.symbol===r),d=e.find(a=>a.symbol==="usdc"),g=e.filter(a=>a.symbol!==r&&a.symbol!=="usdc"),i=a=>({symbol:a,name:a,amount:"0",contractAddress:void 0,decimals:0,rawAmount:"0"});return{nativeToken:s!=null?n(s):i(r),usdc:d!=null?n(d):i("usdc"),tokens:g.map(n)}}experimental_nfts(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield _chunkXALFCQKDcjs.c.call(void 0, this,l).experimental_getNfts(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},e),{chain:this.chain,address:this.address}))})}experimental_transactions(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let e=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getTransactions(this.walletLocator);if("error"in e)throw new Error(`Failed to get transactions: ${JSON.stringify(e.message)}`);return e})}experimental_transaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getTransaction(this.walletLocator,e);if("error"in r)throw new Error(`Failed to get transaction: ${JSON.stringify(r.error)}`);return r})}experimental_activity(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let e=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in e)throw new Error(`Failed to get activity: ${JSON.stringify(e.message)}`);return e})}send(e,r,t,n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let s=H(e),d=M(r,this.chain),g=_chunkXALFCQKDcjs.a.call(void 0, {recipient:s,amount:t},(n==null?void 0:n.experimental_signer)!=null?{signer:n.experimental_signer}:{}),i=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).send(this.walletLocator,d,g);if("message"in i)throw new (0, _chunkO4FVTK7Xcjs.r)(`Failed to send token: ${JSON.stringify(i.message)}`);return n!=null&&n.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:i.id}:yield this.approveTransactionAndWait(i.id)})}approveTransaction(e){return _chunkXALFCQKDcjs.f.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 _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(e.transactionId!=null)return yield this.approveTransactionAndWait(e.transactionId,e.options);if(e.signatureId!=null)return yield this.approveSignatureAndWait(e.signatureId,e.options);throw new Error("Either transactionId or signatureId must be provided")})}addDelegatedSigner(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var t;let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).registerSigner(this.walletLocator,{signer:e.signer,chain:this.chain==="solana"||this.chain==="stellar"?void 0:this.chain});if("error"in r)throw new Error(`Failed to register signer: ${JSON.stringify(r.message)}`);if("transaction"in r&&r.transaction!=null){let n=r.transaction.id;yield this.approveTransactionAndWait(n)}else if("chains"in r){let n=(t=r.chains)==null?void 0:t[this.chain];if((n==null?void 0:n.status)==="awaiting-approval"){yield this.approveSignatureAndWait(n.id);return}if((n==null?void 0:n.status)==="pending"){yield this.waitForSignature(n.id);return}}})}delegatedSigners(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r,t,n;let e=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getWallet(this.walletLocator);if("error"in e)throw new (0, _chunkO4FVTK7Xcjs.d)(JSON.stringify(e));if(e.type!=="smart"||e.chainType!=="evm"&&e.chainType!=="solana"&&e.chainType!=="stellar")throw new (0, _chunkO4FVTK7Xcjs.c)(`Wallet type ${e.type} not supported`);return(n=(t=(r=e==null?void 0:e.config)==null?void 0:r.delegatedSigners)==null?void 0:t.map(s=>{let d=s.locator.indexOf(":");return{signer:`external-wallet:${d>=0?s.locator.slice(d+1):s.locator}`}}))!=null?n:[]})}get walletLocator(){return _chunkXALFCQKDcjs.c.call(void 0, this,l).isServerSide?this.address:this.chain==="stellar"?"me:stellar:smart":this.chain==="solana"?"me:solana:smart":"me:evm:smart"}get isSolanaWallet(){return this.chain==="solana"}approveTransactionAndWait(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.approveTransactionInternal(e,r),yield this.sleep(1e3),yield this.waitForTransaction(e)})}approveSignatureAndWait(e,r){return _chunkXALFCQKDcjs.f.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 _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i,a;if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getSignature(this.walletLocator,e);if("error"in t)throw new (0, _chunkO4FVTK7Xcjs.p)(JSON.stringify(t));if(this.signer.type==="api-key")return t;if((r==null?void 0:r.experimental_approval)!=null){let u=[r.experimental_approval];return yield this.executeApproveSignatureWithErrorHandling(e,u)}let n=(i=t.approvals)==null?void 0:i.pending;if(n==null)return t;let s=[...(a=r==null?void 0:r.additionalSigners)!=null?a:[],this.signer],g=(yield Promise.all(n.map(u=>{let h=s.find(m=>m.locator()===u.signer.locator);if(h==null)throw new (0, _chunkO4FVTK7Xcjs.i)(`Signer ${u.signer} not found in pending approvals`);return h.signMessage(u.message)}))).map(u=>_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},u),{signer:this.signer.locator()}));return yield this.executeApproveSignatureWithErrorHandling(e,g)})}approveTransactionInternal(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i,a,u,h,m;let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getTransaction(this.walletLocator,e);if("error"in t)throw new (0, _chunkO4FVTK7Xcjs.s)(JSON.stringify(t));if(yield(u=(a=(i=_chunkXALFCQKDcjs.c.call(void 0, this,f))==null?void 0:i.experimental_callbacks)==null?void 0:a.onTransactionStart)==null?void 0:u.call(a),this.signer.type==="api-key")return t;if((r==null?void 0:r.experimental_approval)!=null){let w=[r.experimental_approval];return yield this.executeApproveTransactionWithErrorHandling(e,w)}let n=(h=t.approvals)==null?void 0:h.pending;if(n==null)return t;let s=[...(m=r==null?void 0:r.additionalSigners)!=null?m:[],this.signer],g=(yield Promise.all(n.map(w=>{let v=s.find(S=>S.locator()===w.signer.locator);if(v==null)throw new (0, _chunkO4FVTK7Xcjs.i)(`Signer ${w.signer} not found in pending approvals`);let y=t.chainType==="solana"&&"transaction"in t.onChain?t.onChain.transaction:w.message;return v.signTransaction(y)}))).map(w=>_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},w),{signer:this.signer.locator()}));return yield this.executeApproveTransactionWithErrorHandling(e,g)})}executeApproveTransactionWithErrorHandling(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).approveTransaction(this.walletLocator,e,{approvals:r});if(t.error)throw new (0, _chunkO4FVTK7Xcjs.x)(JSON.stringify(t));return t})}executeApproveSignatureWithErrorHandling(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).approveSignature(this.walletLocator,e,{approvals:r});if(t.error)throw new (0, _chunkO4FVTK7Xcjs.q)(JSON.stringify(t));return t})}waitForSignature(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=null;do if(yield new Promise(t=>setTimeout(t,_chunkQGIN7NAJcjs.d)),r=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getSignature(this.walletLocator,e),"error"in r)throw new (0, _chunkO4FVTK7Xcjs.p)(JSON.stringify(r));while(r===null||r.status==="pending");if(r.status==="failed")throw new (0, _chunkO4FVTK7Xcjs.m)("Signature signing failed");if(!r.outputSignature)throw new (0, _chunkO4FVTK7Xcjs.p)("Signature not available");return{signature:r.outputSignature,signatureId:e}})}waitForTransaction(d){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*(e,r=6e4,{backoffMultiplier:t=1.1,maxBackoffMs:n=2e3,initialBackoffMs:s=_chunkQGIN7NAJcjs.d}={}){var u;let g=Date.now(),i;do{if(Date.now()-g>r)throw new (0, _chunkO4FVTK7Xcjs.t)("Transaction confirmation timeout");if(i=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getTransaction(this.walletLocator,e),i.error)throw new (0, _chunkO4FVTK7Xcjs.s)(JSON.stringify(i));yield this.sleep(s),s=Math.min(s*t,n)}while(i.status==="pending");if(i.status==="failed")throw new (0, _chunkO4FVTK7Xcjs.u)(`Transaction sending failed: ${JSON.stringify(i.error)}`);if(i.status==="awaiting-approval")throw new (0, _chunkO4FVTK7Xcjs.v)("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let a=i.onChain.txId;if(a==null)throw new (0, _chunkO4FVTK7Xcjs.w)("Transaction hash not found on transaction response");return{hash:a,explorerLink:(u=i.onChain.explorerLink)!=null?u:"",transactionId:i.id}})}sleep(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return new Promise(r=>setTimeout(r,e))})}};f=new WeakMap,l=new WeakMap;function H(p){if(typeof p=="string")return p;if("email"in p)return`email:${p.email}`;if("x"in p)return`x:${p.x}`;if("twitter"in p)return`twitter:${p.twitter}`;if("phone"in p)return`phoneNumber:${p.phone}`;if("userId"in p)return`userId:${p.userId}`;throw new Error("Invalid recipient locator")}function M(p,e){return _commonsdkbase.isValidAddress.call(void 0, p)?`${e}:${p}`:`${e}:${p.toLowerCase()}`}exports.a = J;
@@ -1 +0,0 @@
1
- import{a as m}from"./chunk-JUSY5XEE.js";import{a as d}from"./chunk-M4ELAV7U.js";import{a as l,b as u,f as a}from"./chunk-BW7YYVZE.js";import{validateAPIKey as f}from"@crossmint/common-sdk-base";var p=class{constructor(e){this.config=e;this._needsAuth=!0;this._authPromise=null;this._initializationPromise=null;this.initialize(),this.type=this.config.type}locator(){return this.config.locator}address(){return this.config.address}initialize(){return a(this,null,function*(){if(this.config.clientTEEConnection==null){let e=f(this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new m({environment:e.environment});this.config.clientTEEConnection=yield i.initialize()}})}getTEEConnection(){return a(this,null,function*(){if(this.config.clientTEEConnection==null){if(this._initializationPromise)return yield this._initializationPromise,this.config.clientTEEConnection;this._initializationPromise=this.initializeTEEConnection();try{yield this._initializationPromise}finally{this._initializationPromise=null}}return this.config.clientTEEConnection})}initializeTEEConnection(){return a(this,null,function*(){console.warn("TEE connection is not initialized, initializing now...");let e=f(this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new m({environment:e.environment});if(this.config.clientTEEConnection=yield i.initialize(),this.config.clientTEEConnection==null)throw new Error("Failed to initialize TEE connection");console.log("TEE connection initialized successfully")})}handleAuthRequired(){return a(this,null,function*(){var s,c;let e=yield this.getTEEConnection();if(this.config.onAuthRequired==null)throw new Error(`${this.type} signer requires the onAuthRequired callback to handle OTP verification. This callback manages the authentication flow (sending OTP and verifying user input). If using our React/React Native SDK, this is handled automatically by the provider. For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`);let i=yield e.sendAction({event:"request:get-status",responseEvent:"response:get-status",data:{authData:{jwt:(c=(s=this.config.crossmint.experimental_customAuth)==null?void 0:s.jwt)!=null?c:"",apiKey:this.config.crossmint.apiKey}},options:u(l({},g),{maxRetries:5})});if((i==null?void 0:i.status)!=="success")throw new Error(i==null?void 0:i.error);if(i.signerStatus==="ready"){this._needsAuth=!1;return}else this._needsAuth=!0;let{promise:n,resolve:o,reject:r}=this.createAuthPromise();if(this._authPromise={promise:n,resolve:o,reject:r},this.config.onAuthRequired)try{yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>a(this,null,function*(){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>{var t;return(t=this._authPromise)==null?void 0:t.reject(new d)})),r(new d)}))}catch(t){r(t)}try{yield n}catch(t){throw t}})}getJwtOrThrow(){var i;let e=(i=this.config.crossmint.experimental_customAuth)==null?void 0:i.jwt;if(e==null)throw new Error("JWT is required");return e}createAuthPromise(){let e,i;return{promise:new Promise((o,r)=>{e=o,i=r}),resolve:e,reject:i}}sendMessageWithOtp(){return a(this,null,function*(){var o,r,s;let e=yield this.getTEEConnection(),i=this.getAuthId(),n=yield e.sendAction({event:"request:start-onboarding",responseEvent:"response:start-onboarding",data:{authData:{jwt:(r=(o=this.config.crossmint.experimental_customAuth)==null?void 0:o.jwt)!=null?r:"",apiKey:this.config.crossmint.apiKey},data:{authId:i}},options:u(l({},g),{maxRetries:3})});if((n==null?void 0:n.status)==="success"&&n.signerStatus==="ready"){this._needsAuth=!1;return}(n==null?void 0:n.status)==="error"&&(console.error("[sendMessageWithOtp] Failed to send OTP:",n),(s=this._authPromise)==null||s.reject(new Error(n.error||"Failed to initiate OTP process.")))})}getAuthId(){return this.config.type==="email"?`email:${this.config.email}`:`phone:${this.config.phone}`}verifyOtp(e){return a(this,null,function*(){var n,o,r,s,c;let i=yield this.getTEEConnection();try{let t=yield i.sendAction({event:"request:complete-onboarding",responseEvent:"response:complete-onboarding",data:{authData:{jwt:(o=(n=this.config.crossmint.experimental_customAuth)==null?void 0:n.jwt)!=null?o:"",apiKey:this.config.crossmint.apiKey},data:{onboardingAuthentication:{encryptedOtp:e}}},options:u(l({},g),{maxRetries:3})});if((t==null?void 0:t.status)==="success"){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),h=>this.verifyOtp(h),()=>{var h;return(h=this._authPromise)==null?void 0:h.reject(new d)})),(r=this._authPromise)==null||r.resolve();return}console.error("[verifyOtp] Failed to validate OTP:",t),this._needsAuth=!0;let E=(t==null?void 0:t.status)==="error"?t.error:"Failed to validate encrypted OTP";(s=this._authPromise)==null||s.reject(new Error(E))}catch(t){throw console.error("[verifyOtp] Error sending OTP validation request:",t),this._needsAuth=!0,(c=this._authPromise)==null||c.reject(t),t}})}},g={timeoutMs:1e4,intervalMs:5e3};export{p as a,g as b};
@@ -1 +0,0 @@
1
- import{a as c}from"./chunk-B4YUFFUB.js";import{a as f}from"./chunk-I5COKXOT.js";import{k as p,o as u,r as y}from"./chunk-PSXRNSOE.js";import{f as s}from"./chunk-BW7YYVZE.js";import{createPublicClient as S,encodeFunctionData as x,http as I}from"viem";import{isValidEvmAddress as E}from"@crossmint/common-sdk-base";var m=class w extends c{constructor(t){super({chain:t.chain,address:t.address,owner:t.owner,signer:t.signer,options:c.getOptions(t)},c.getApiClient(t))}static from(t){if(!E(t.address))throw new Error("Wallet is not an EVM wallet");return new w(t)}sendTransaction(t){return s(this,null,function*(){var i;let n=this.buildTransaction(t),e=yield this.createTransaction(n,t.options);return(i=t.options)!=null&&i.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:e.id}:yield this.approveTransactionAndWait(e.id)})}signMessage(t){return s(this,null,function*(){var e;let n=yield this.apiClient.createSignature(this.walletLocator,{type:"message",params:{message:t.message,signer:this.signer.locator(),chain:this.chain}});if("error"in n)throw new u(JSON.stringify(n));return(e=t.options)!=null&&e.experimental_prepareOnly?{signature:void 0,signatureId:n.id}:yield this.approveSignatureAndWait(n.id)})}signTypedData(t){return s(this,null,function*(){var T;let{domain:n,message:e,primaryType:i,types:r,chain:a}=t;if(!n||!e||!r||!a)throw new p("Invalid typed data");let{name:d,version:l,chainId:g,verifyingContract:h,salt:C}=n;if(!d||!l||!g||!h)throw new p("Invalid typed data domain");let o=yield this.apiClient.createSignature(this.walletLocator,{type:"typed-data",params:{typedData:{domain:{name:d,version:l,chainId:Number(g),verifyingContract:h,salt:C},message:e,primaryType:i,types:r},signer:this.signer.locator(),chain:a}});if("error"in o)throw new u(JSON.stringify(o));return(T=t.options)!=null&&T.experimental_prepareOnly?{signature:void 0,signatureId:o.id}:yield this.approveSignatureAndWait(o.id)})}getViemClient(t){var n;return S({transport:(n=t==null?void 0:t.transport)!=null?n:I(),chain:f(this.chain)})}createTransaction(t,n){return s(this,null,function*(){var r;let e=(r=n==null?void 0:n.experimental_signer)!=null?r:this.signer.locator(),i=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:e,chain:this.chain,calls:[t]}});if("error"in i)throw new y(JSON.stringify(i));return i})}buildTransaction(t){var n,e,i,r,a;if("transaction"in t)return{transaction:t.transaction};if(t.abi==null)return{to:t.to,value:(e=(n=t.value)==null?void 0:n.toString())!=null?e:"0",data:(i=t.data)!=null?i:"0x"};if(!t.functionName)throw new Error("Function name is required");return{to:t.to,value:(a=(r=t.value)==null?void 0:r.toString())!=null?a:"0",data:x({abi:t.abi,functionName:t.functionName,args:t.args})}}};export{m as a};
@@ -1 +0,0 @@
1
- var s="@crossmint/wallets-sdk",t="0.15.0";var r="WALLETS_SDK",c=t,a=s,d=500;export{r as a,c as b,a as c,d};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkG6GE57TPcjs = require('./chunk-G6GE57TP.cjs');var _chunkHRSVFJNDcjs = require('./chunk-HRSVFJND.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _commonsdkbase = require('@crossmint/common-sdk-base');var d=class u extends _chunkG6GE57TPcjs.a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:_chunkG6GE57TPcjs.a.getOptions(n)},_chunkG6GE57TPcjs.a.getApiClient(n))}static from(n){if(!_commonsdkbase.isValidSolanaAddress.call(void 0, n.address))throw new Error("Wallet is not a Solana wallet");return new u(n)}sendTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var e,r;let a=yield this.createTransaction(n);if((e=n.options)!=null&&e.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:a.id};let i={additionalSigners:(r=n.additionalSigners)==null?void 0:r.map(o=>new (0, _chunkHRSVFJNDcjs.a)({type:"external-wallet",address:o.publicKey.toString(),locator:`external-wallet:${o.publicKey.toString()}`,onSignTransaction:c=>(c.sign([o]),Promise.resolve(c))}))};return yield this.approveTransactionAndWait(a.id,i)})}createTransaction(S){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*({transaction:n,options:a}){var r;let i=(r=a==null?void 0:a.experimental_signer)!=null?r:this.signer.locator(),e=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:_bs582.default.encode(n.serialize()),signer:i}});if("error"in e)throw new (0, _chunkO4FVTK7Xcjs.r)(JSON.stringify(e));return e})}};exports.a = d;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkG6GE57TPcjs = require('./chunk-G6GE57TP.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var d=class u extends _chunkG6GE57TPcjs.a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:_chunkG6GE57TPcjs.a.getOptions(n)},_chunkG6GE57TPcjs.a.getApiClient(n))}static from(n){if(!_commonsdkbase.isValidStellarAddress.call(void 0, n.address))throw new Error("Wallet is not a Stellar wallet");return new u(n)}sendTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r;let t=yield this.createTransaction(n);if((r=n.options)!=null&&r.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:t.id};let e={};return yield this.approveTransactionAndWait(t.id,e)})}createTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var c;let{contractId:t,options:e}=n,r=(c=e==null?void 0:e.experimental_signer)!=null?c:this.signer.locator(),i;if("transaction"in n)i={type:"serialized-transaction",serializedTransaction:n.transaction,contractId:t};else{let{method:T,memo:p,args:h}=n;i={type:"contract-call",contractId:t,method:T,memo:p!=null?{type:"text",value:p}:void 0,args:h}}let s=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:i,signer:r}});if("error"in s)throw new (0, _chunkO4FVTK7Xcjs.r)(JSON.stringify(s));return s})}};exports.a = d;
@@ -1 +0,0 @@
1
- import{a}from"./chunk-B4YUFFUB.js";import{r as l}from"./chunk-PSXRNSOE.js";import{f as o}from"./chunk-BW7YYVZE.js";import{isValidStellarAddress as f}from"@crossmint/common-sdk-base";var d=class u extends a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:a.getOptions(n)},a.getApiClient(n))}static from(n){if(!f(n.address))throw new Error("Wallet is not a Stellar wallet");return new u(n)}sendTransaction(n){return o(this,null,function*(){var r;let t=yield this.createTransaction(n);if((r=n.options)!=null&&r.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:t.id};let e={};return yield this.approveTransactionAndWait(t.id,e)})}createTransaction(n){return o(this,null,function*(){var c;let{contractId:t,options:e}=n,r=(c=e==null?void 0:e.experimental_signer)!=null?c:this.signer.locator(),i;if("transaction"in n)i={type:"serialized-transaction",serializedTransaction:n.transaction,contractId:t};else{let{method:T,memo:p,args:h}=n;i={type:"contract-call",contractId:t,method:T,memo:p!=null?{type:"text",value:p}:void 0,args:h}}let s=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:i,signer:r}});if("error"in s)throw new l(JSON.stringify(s));return s})}};export{d as a};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-2EEUFDPI.js";import{a}from"./chunk-EQAR6LTS.js";import{a as t}from"./chunk-LYNZIVUP.js";import{a as s}from"./chunk-LW6JSI4J.js";import{a as i}from"./chunk-3APSOOE3.js";import{a as o}from"./chunk-UBOWSXW3.js";import{a as m}from"./chunk-IGBQEAD5.js";import{a as l}from"./chunk-6PVKL5RC.js";import{a as p}from"./chunk-2SHDBC47.js";function d(r,e){switch(e.type){case"email":case"phone":return r==="solana"?new n(e):r==="stellar"?new a(e):new t(e);case"api-key":return r==="solana"?new m(e):new s(e);case"external-wallet":return r==="solana"?new l(e):r==="stellar"?new p(e):new i(e);case"passkey":return new o(e)}}export{d as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkG6GE57TPcjs = require('./chunk-G6GE57TP.cjs');var _chunkCU6FZ36Vcjs = require('./chunk-CU6FZ36V.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _viem = require('viem');var _commonsdkbase = require('@crossmint/common-sdk-base');var m=class w extends _chunkG6GE57TPcjs.a{constructor(t){super({chain:t.chain,address:t.address,owner:t.owner,signer:t.signer,options:_chunkG6GE57TPcjs.a.getOptions(t)},_chunkG6GE57TPcjs.a.getApiClient(t))}static from(t){if(!_commonsdkbase.isValidEvmAddress.call(void 0, t.address))throw new Error("Wallet is not an EVM wallet");return new w(t)}sendTransaction(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i;let n=this.buildTransaction(t),e=yield this.createTransaction(n,t.options);return(i=t.options)!=null&&i.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:e.id}:yield this.approveTransactionAndWait(e.id)})}signMessage(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var e;let n=yield this.apiClient.createSignature(this.walletLocator,{type:"message",params:{message:t.message,signer:this.signer.locator(),chain:this.chain}});if("error"in n)throw new (0, _chunkO4FVTK7Xcjs.o)(JSON.stringify(n));return(e=t.options)!=null&&e.experimental_prepareOnly?{signature:void 0,signatureId:n.id}:yield this.approveSignatureAndWait(n.id)})}signTypedData(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var T;let{domain:n,message:e,primaryType:i,types:r,chain:a}=t;if(!n||!e||!r||!a)throw new (0, _chunkO4FVTK7Xcjs.k)("Invalid typed data");let{name:d,version:l,chainId:g,verifyingContract:h,salt:C}=n;if(!d||!l||!g||!h)throw new (0, _chunkO4FVTK7Xcjs.k)("Invalid typed data domain");let o=yield this.apiClient.createSignature(this.walletLocator,{type:"typed-data",params:{typedData:{domain:{name:d,version:l,chainId:Number(g),verifyingContract:h,salt:C},message:e,primaryType:i,types:r},signer:this.signer.locator(),chain:a}});if("error"in o)throw new (0, _chunkO4FVTK7Xcjs.o)(JSON.stringify(o));return(T=t.options)!=null&&T.experimental_prepareOnly?{signature:void 0,signatureId:o.id}:yield this.approveSignatureAndWait(o.id)})}getViemClient(t){var n;return _viem.createPublicClient.call(void 0, {transport:(n=t==null?void 0:t.transport)!=null?n:_viem.http.call(void 0, ),chain:_chunkCU6FZ36Vcjs.a.call(void 0, this.chain)})}createTransaction(t,n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r;let e=(r=n==null?void 0:n.experimental_signer)!=null?r:this.signer.locator(),i=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:e,chain:this.chain,calls:[t]}});if("error"in i)throw new (0, _chunkO4FVTK7Xcjs.r)(JSON.stringify(i));return i})}buildTransaction(t){var n,e,i,r,a;if("transaction"in t)return{transaction:t.transaction};if(t.abi==null)return{to:t.to,value:(e=(n=t.value)==null?void 0:n.toString())!=null?e:"0",data:(i=t.data)!=null?i:"0x"};if(!t.functionName)throw new Error("Function name is required");return{to:t.to,value:(a=(r=t.value)==null?void 0:r.toString())!=null?a:"0",data:_viem.encodeFunctionData.call(void 0, {abi:t.abi,functionName:t.functionName,args:t.args})}}};exports.a = m;