@crossmint/wallets-sdk 0.18.15 → 0.20.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 (99) hide show
  1. package/dist/api/__tests__/test-utils.cjs +5 -5
  2. package/dist/api/__tests__/test-utils.js +3 -3
  3. package/dist/api/client.cjs +4 -4
  4. package/dist/api/client.js +3 -3
  5. package/dist/api/gen/types.gen.d.cts +8 -0
  6. package/dist/api/gen/types.gen.d.ts +8 -0
  7. package/dist/api/index.cjs +5 -5
  8. package/dist/api/index.js +4 -4
  9. package/dist/chains/chains.cjs +15 -3
  10. package/dist/chains/chains.d.cts +15 -1
  11. package/dist/chains/chains.d.ts +15 -1
  12. package/dist/chains/chains.js +16 -4
  13. package/dist/chains/definitions/tempoTestnet.cjs +2 -2
  14. package/dist/chains/definitions/tempoTestnet.d.cts +4 -4
  15. package/dist/chains/definitions/tempoTestnet.d.ts +4 -4
  16. package/dist/chains/definitions/tempoTestnet.js +1 -1
  17. package/dist/{chunk-5YX2BE4I.js → chunk-24DGWV3E.js} +10 -5
  18. package/dist/{chunk-OOVNMAQF.js → chunk-2APY4BUJ.js} +74 -24
  19. package/dist/{chunk-PRQOFWLH.cjs → chunk-2XDIXELO.cjs} +12 -3
  20. package/dist/{chunk-PADJ2CIV.cjs → chunk-4ID6ZK4A.cjs} +96 -46
  21. package/dist/{chunk-JDAWNKQ7.cjs → chunk-6LVFMXDR.cjs} +29 -24
  22. package/dist/{chunk-AUNZEGWS.cjs → chunk-6S7BKBVM.cjs} +7 -7
  23. package/dist/{chunk-SCU5YLUT.js → chunk-7EXE5FZJ.js} +10 -1
  24. package/dist/{chunk-WQDGFD34.js → chunk-7OW5LYR6.js} +2 -2
  25. package/dist/{chunk-IZJUOXOZ.js → chunk-AXQLP7Z6.js} +4 -4
  26. package/dist/{chunk-PHIXNAMT.js → chunk-AZQFMK3I.js} +10 -1
  27. package/dist/{chunk-CJWHHO4B.js → chunk-BQN5PNZK.js} +1 -1
  28. package/dist/{chunk-LFUXRLJR.js → chunk-DF3SZX2E.js} +1 -1
  29. package/dist/{chunk-OWRKZD7H.cjs → chunk-GEHZRAAJ.cjs} +69 -3
  30. package/dist/{chunk-VM6OLXBS.js → chunk-GWLAO3PX.js} +32 -9
  31. package/dist/{chunk-77HEKAFB.cjs → chunk-GXEWWYHT.cjs} +12 -3
  32. package/dist/{chunk-GSDBCRGH.js → chunk-IAZHXIFV.js} +3 -3
  33. package/dist/{chunk-BMXG52BZ.cjs → chunk-KVYY4QDB.cjs} +36 -13
  34. package/dist/{chunk-ZM437XPQ.js → chunk-MUIINXJY.js} +16 -4
  35. package/dist/{chunk-YZOPFNY3.js → chunk-MZBMV54C.js} +2 -2
  36. package/dist/{chunk-6H6ZBJC2.cjs → chunk-NN2NBBTN.cjs} +4 -4
  37. package/dist/{chunk-AKJOFUXU.cjs → chunk-PRNZJUHI.cjs} +9 -9
  38. package/dist/{chunk-AKAJ7UHQ.cjs → chunk-RJY4GT2D.cjs} +12 -3
  39. package/dist/{chunk-TOTOITTM.js → chunk-SAZ76VGQ.js} +2 -2
  40. package/dist/{chunk-QCTTQ4XE.cjs → chunk-SEV3UBGK.cjs} +32 -20
  41. package/dist/{chunk-OTI3LX45.cjs → chunk-TNASR6QE.cjs} +9 -9
  42. package/dist/{chunk-PJTTM5QQ.cjs → chunk-TQKCX7VN.cjs} +1 -1
  43. package/dist/{chunk-WMUNQJYD.cjs → chunk-VKXKQ5YI.cjs} +3 -3
  44. package/dist/{chunk-XVFUAZJY.js → chunk-WBTM7E5O.js} +69 -3
  45. package/dist/{chunk-YT64AZL6.cjs → chunk-XM4Y4HS5.cjs} +6 -6
  46. package/dist/{chunk-V65OBC5I.js → chunk-YDFIY5ER.js} +3 -3
  47. package/dist/{chunk-4ZFP3ST7.js → chunk-ZKWJY2VO.js} +10 -1
  48. package/dist/{chunk-NFQT5TFO.cjs → chunk-ZLPFQ56Q.cjs} +12 -12
  49. package/dist/index.cjs +18 -18
  50. package/dist/index.js +17 -17
  51. package/dist/logger/index.cjs +3 -3
  52. package/dist/logger/index.js +2 -2
  53. package/dist/logger/init.cjs +3 -3
  54. package/dist/logger/init.js +2 -2
  55. package/dist/sdk.cjs +18 -13
  56. package/dist/sdk.js +17 -12
  57. package/dist/signers/index.cjs +8 -8
  58. package/dist/signers/index.d.cts +1 -1
  59. package/dist/signers/index.d.ts +1 -1
  60. package/dist/signers/index.js +7 -7
  61. package/dist/signers/non-custodial/index.cjs +7 -7
  62. package/dist/signers/non-custodial/index.js +6 -6
  63. package/dist/signers/non-custodial/ncs-evm-signer.cjs +5 -5
  64. package/dist/signers/non-custodial/ncs-evm-signer.js +4 -4
  65. package/dist/signers/non-custodial/ncs-signer.cjs +4 -4
  66. package/dist/signers/non-custodial/ncs-signer.js +3 -3
  67. package/dist/signers/non-custodial/ncs-solana-signer.cjs +5 -5
  68. package/dist/signers/non-custodial/ncs-solana-signer.js +4 -4
  69. package/dist/signers/non-custodial/ncs-stellar-signer.cjs +5 -5
  70. package/dist/signers/non-custodial/ncs-stellar-signer.js +4 -4
  71. package/dist/utils/constants.cjs +2 -2
  72. package/dist/utils/constants.js +1 -1
  73. package/dist/wallets/__tests__/test-helpers.cjs +15 -8
  74. package/dist/wallets/__tests__/test-helpers.d.cts +2 -1
  75. package/dist/wallets/__tests__/test-helpers.d.ts +2 -1
  76. package/dist/wallets/__tests__/test-helpers.js +14 -7
  77. package/dist/wallets/evm.cjs +12 -12
  78. package/dist/wallets/evm.d.cts +20 -0
  79. package/dist/wallets/evm.d.ts +20 -0
  80. package/dist/wallets/evm.js +11 -11
  81. package/dist/wallets/solana.cjs +14 -9
  82. package/dist/wallets/solana.d.cts +6 -1
  83. package/dist/wallets/solana.d.ts +6 -1
  84. package/dist/wallets/solana.js +13 -8
  85. package/dist/wallets/stellar.cjs +14 -9
  86. package/dist/wallets/stellar.d.cts +6 -1
  87. package/dist/wallets/stellar.d.ts +6 -1
  88. package/dist/wallets/stellar.js +13 -8
  89. package/dist/wallets/types.d.cts +6 -2
  90. package/dist/wallets/types.d.ts +6 -2
  91. package/dist/wallets/wallet-factory.cjs +15 -10
  92. package/dist/wallets/wallet-factory.d.cts +1 -0
  93. package/dist/wallets/wallet-factory.d.ts +1 -0
  94. package/dist/wallets/wallet-factory.js +14 -9
  95. package/dist/wallets/wallet.cjs +13 -8
  96. package/dist/wallets/wallet.d.cts +7 -2
  97. package/dist/wallets/wallet.d.ts +7 -2
  98. package/dist/wallets/wallet.js +12 -7
  99. package/package.json +7 -7
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPADJ2CIVcjs = require('./chunk-PADJ2CIV.cjs');
3
+ var _chunk4ID6ZK4Acjs = require('./chunk-4ID6ZK4A.cjs');
4
4
 
5
5
 
6
6
  var _chunkXC2V34TScjs = require('./chunk-XC2V34TS.cjs');
7
7
 
8
8
 
9
- var _chunkWMUNQJYDcjs = require('./chunk-WMUNQJYD.cjs');
9
+ var _chunkVKXKQ5YIcjs = require('./chunk-VKXKQ5YI.cjs');
10
10
 
11
11
 
12
12
 
@@ -14,7 +14,7 @@ var _chunkUO2J2ZB2cjs = require('./chunk-UO2J2ZB2.cjs');
14
14
 
15
15
  // src/wallets/stellar.ts
16
16
  var _commonsdkbase = require('@crossmint/common-sdk-base');
17
- var _StellarWallet = class _StellarWallet extends _chunkPADJ2CIVcjs.Wallet {
17
+ var _StellarWallet = class _StellarWallet extends _chunk4ID6ZK4Acjs.Wallet {
18
18
  constructor(wallet) {
19
19
  super(
20
20
  {
@@ -22,10 +22,10 @@ var _StellarWallet = class _StellarWallet extends _chunkPADJ2CIVcjs.Wallet {
22
22
  address: wallet.address,
23
23
  owner: wallet.owner,
24
24
  signer: wallet.signer,
25
- options: _chunkPADJ2CIVcjs.Wallet.getOptions(wallet),
25
+ options: _chunk4ID6ZK4Acjs.Wallet.getOptions(wallet),
26
26
  alias: wallet.alias
27
27
  },
28
- _chunkPADJ2CIVcjs.Wallet.getApiClient(wallet)
28
+ _chunk4ID6ZK4Acjs.Wallet.getApiClient(wallet)
29
29
  );
30
30
  }
31
31
  static from(wallet) {
@@ -37,11 +37,11 @@ var _StellarWallet = class _StellarWallet extends _chunkPADJ2CIVcjs.Wallet {
37
37
  sendTransaction(params) {
38
38
  return _chunkUO2J2ZB2cjs.__async.call(void 0, this, null, function* () {
39
39
  var _a;
40
- _chunkWMUNQJYDcjs.walletsLogger.info("stellarWallet.sendTransaction.start");
40
+ _chunkVKXKQ5YIcjs.walletsLogger.info("stellarWallet.sendTransaction.start");
41
41
  yield this.preAuthIfNeeded();
42
42
  const createdTransaction = yield this.createTransaction(params);
43
43
  if ((_a = params.options) == null ? void 0 : _a.experimental_prepareOnly) {
44
- _chunkWMUNQJYDcjs.walletsLogger.info("stellarWallet.sendTransaction.prepared", {
44
+ _chunkVKXKQ5YIcjs.walletsLogger.info("stellarWallet.sendTransaction.prepared", {
45
45
  transactionId: createdTransaction.id
46
46
  });
47
47
  return {
@@ -52,7 +52,7 @@ var _StellarWallet = class _StellarWallet extends _chunkPADJ2CIVcjs.Wallet {
52
52
  }
53
53
  const options = {};
54
54
  const result = yield this.approveTransactionAndWait(createdTransaction.id, options);
55
- _chunkWMUNQJYDcjs.walletsLogger.info("stellarWallet.sendTransaction.success", {
55
+ _chunkVKXKQ5YIcjs.walletsLogger.info("stellarWallet.sendTransaction.success", {
56
56
  transactionId: createdTransaction.id,
57
57
  hash: result.hash
58
58
  });
@@ -96,7 +96,7 @@ var _StellarWallet = class _StellarWallet extends _chunkPADJ2CIVcjs.Wallet {
96
96
  };
97
97
  _chunkUO2J2ZB2cjs.__decorateClass.call(void 0, [
98
98
  _commonsdkbase.WithLoggerContext.call(void 0, {
99
- logger: _chunkWMUNQJYDcjs.walletsLogger,
99
+ logger: _chunkVKXKQ5YIcjs.walletsLogger,
100
100
  methodName: "stellarWallet.sendTransaction",
101
101
  buildContext(thisArg) {
102
102
  return { chain: thisArg.chain, address: thisArg.address };
@@ -1,7 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkBMXG52BZcjs = require('./chunk-BMXG52BZ.cjs');
4
+ var _chunkKVYY4QDBcjs = require('./chunk-KVYY4QDB.cjs');
5
+
6
+
7
+ var _chunkVKXKQ5YIcjs = require('./chunk-VKXKQ5YI.cjs');
5
8
 
6
9
 
7
10
  var _chunkUO2J2ZB2cjs = require('./chunk-UO2J2ZB2.cjs');
@@ -9,7 +12,7 @@ var _chunkUO2J2ZB2cjs = require('./chunk-UO2J2ZB2.cjs');
9
12
  // src/signers/non-custodial/ncs-evm-signer.ts
10
13
  var _ox = require('ox');
11
14
  var _viem = require('viem');
12
- var EVMNonCustodialSigner = class _EVMNonCustodialSigner extends _chunkBMXG52BZcjs.NonCustodialSigner {
15
+ var EVMNonCustodialSigner = class _EVMNonCustodialSigner extends _chunkKVYY4QDBcjs.NonCustodialSigner {
13
16
  constructor(config) {
14
17
  super(config);
15
18
  }
@@ -31,6 +34,8 @@ var EVMNonCustodialSigner = class _EVMNonCustodialSigner extends _chunkBMXG52BZc
31
34
  yield this.handleAuthRequired();
32
35
  const jwt = this.getJwtOrThrow();
33
36
  const hexString = raw.replace("0x", "");
37
+ _chunkVKXKQ5YIcjs.walletsLogger.info("sign: sending request", { keyType: "secp256k1" });
38
+ const startTime = Date.now();
34
39
  const res = yield (_a = this.config.clientTEEConnection) == null ? void 0 : _a.sendAction({
35
40
  event: "request:sign",
36
41
  responseEvent: "response:sign",
@@ -45,7 +50,11 @@ var EVMNonCustodialSigner = class _EVMNonCustodialSigner extends _chunkBMXG52BZc
45
50
  encoding: "hex"
46
51
  }
47
52
  },
48
- options: _chunkBMXG52BZcjs.DEFAULT_EVENT_OPTIONS
53
+ options: _chunkKVYY4QDBcjs.DEFAULT_EVENT_OPTIONS
54
+ });
55
+ _chunkVKXKQ5YIcjs.walletsLogger.info("sign: response received", {
56
+ status: res == null ? void 0 : res.status,
57
+ durationMs: Date.now() - startTime
49
58
  });
50
59
  if ((res == null ? void 0 : res.status) === "error") {
51
60
  throw new Error(res.error);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Wallet
3
- } from "./chunk-OOVNMAQF.js";
3
+ } from "./chunk-2APY4BUJ.js";
4
4
  import {
5
5
  SolanaExternalWalletSigner
6
6
  } from "./chunk-PIFD6KNH.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-SGINWAB6.js";
10
10
  import {
11
11
  walletsLogger
12
- } from "./chunk-LFUXRLJR.js";
12
+ } from "./chunk-DF3SZX2E.js";
13
13
  import {
14
14
  __async,
15
15
  __decorateClass
@@ -4,17 +4,21 @@
4
4
  var _chunkRBHGZDDXcjs = require('./chunk-RBHGZDDX.cjs');
5
5
 
6
6
 
7
- var _chunkPADJ2CIVcjs = require('./chunk-PADJ2CIV.cjs');
7
+ var _chunk4ID6ZK4Acjs = require('./chunk-4ID6ZK4A.cjs');
8
8
 
9
9
 
10
- var _chunkYT64AZL6cjs = require('./chunk-YT64AZL6.cjs');
10
+ var _chunkXM4Y4HS5cjs = require('./chunk-XM4Y4HS5.cjs');
11
+
12
+
13
+ var _chunkGEHZRAAJcjs = require('./chunk-GEHZRAAJ.cjs');
11
14
 
12
15
 
13
16
 
14
17
  var _chunkXC2V34TScjs = require('./chunk-XC2V34TS.cjs');
15
18
 
16
19
 
17
- var _chunkWMUNQJYDcjs = require('./chunk-WMUNQJYD.cjs');
20
+ var _chunkVKXKQ5YIcjs = require('./chunk-VKXKQ5YI.cjs');
21
+
18
22
 
19
23
 
20
24
 
@@ -32,53 +36,61 @@ var WalletFactory = class {
32
36
  getOrCreateWallet(args) {
33
37
  return _chunkUO2J2ZB2cjs.__async.call(void 0, this, null, function* () {
34
38
  if (this.apiClient.isServerSide) {
35
- _chunkWMUNQJYDcjs.walletsLogger.error("walletFactory.getOrCreateWallet.error", {
39
+ _chunkVKXKQ5YIcjs.walletsLogger.error("walletFactory.getOrCreateWallet.error", {
36
40
  error: "getOrCreateWallet can only be called from client-side code"
37
41
  });
38
42
  throw new (0, _chunkXC2V34TScjs.WalletCreationError)(
39
43
  "getOrCreateWallet can only be called from client-side code.\n- Make sure you're running this in the browser (or another client environment), not on your server.\n- Use your Crossmint Client API Key (not a server key)."
40
44
  );
41
45
  }
46
+ args = _chunkUO2J2ZB2cjs.__spreadProps.call(void 0, _chunkUO2J2ZB2cjs.__spreadValues.call(void 0, {}, args), { chain: _chunkGEHZRAAJcjs.validateChainForEnvironment.call(void 0, args.chain, this.apiClient.environment) });
42
47
  const locator = this.getWalletLocator(args);
43
- _chunkWMUNQJYDcjs.walletsLogger.info("walletFactory.getOrCreateWallet.start");
48
+ _chunkVKXKQ5YIcjs.walletsLogger.info("walletFactory.getOrCreateWallet.start");
44
49
  const existingWallet = yield this.apiClient.getWallet(locator);
45
50
  if (existingWallet != null && !("error" in existingWallet)) {
46
- _chunkWMUNQJYDcjs.walletsLogger.info("walletFactory.getOrCreateWallet.existing", {
51
+ _chunkVKXKQ5YIcjs.walletsLogger.info("walletFactory.getOrCreateWallet.existing", {
47
52
  address: existingWallet.address
48
53
  });
49
54
  return this.createWalletInstance(existingWallet, args);
50
55
  }
51
- _chunkWMUNQJYDcjs.walletsLogger.info("walletFactory.getOrCreateWallet.creating");
52
- return this.createWallet(args);
56
+ _chunkVKXKQ5YIcjs.walletsLogger.info("walletFactory.getOrCreateWallet.creating");
57
+ return this.createWalletInternal(args);
53
58
  });
54
59
  }
55
60
  getWallet(walletLocator, args) {
56
61
  return _chunkUO2J2ZB2cjs.__async.call(void 0, this, null, function* () {
57
62
  if (!this.apiClient.isServerSide) {
58
- _chunkWMUNQJYDcjs.walletsLogger.error("walletFactory.getWallet.error", {
63
+ _chunkVKXKQ5YIcjs.walletsLogger.error("walletFactory.getWallet.error", {
59
64
  error: "getWallet is not supported on client side"
60
65
  });
61
66
  throw new (0, _chunkXC2V34TScjs.WalletCreationError)("getWallet is not supported on client side, use getOrCreateWallet instead");
62
67
  }
63
- _chunkWMUNQJYDcjs.walletsLogger.info("walletFactory.getWallet.start");
68
+ args = _chunkUO2J2ZB2cjs.__spreadProps.call(void 0, _chunkUO2J2ZB2cjs.__spreadValues.call(void 0, {}, args), { chain: _chunkGEHZRAAJcjs.validateChainForEnvironment.call(void 0, args.chain, this.apiClient.environment) });
69
+ _chunkVKXKQ5YIcjs.walletsLogger.info("walletFactory.getWallet.start");
64
70
  const existingWallet = yield this.apiClient.getWallet(walletLocator);
65
71
  if ("error" in existingWallet) {
66
- _chunkWMUNQJYDcjs.walletsLogger.warn("walletFactory.getWallet.notFound", {
72
+ _chunkVKXKQ5YIcjs.walletsLogger.warn("walletFactory.getWallet.notFound", {
67
73
  error: existingWallet.error
68
74
  });
69
75
  throw new (0, _chunkXC2V34TScjs.WalletNotAvailableError)(JSON.stringify(existingWallet));
70
76
  }
71
- _chunkWMUNQJYDcjs.walletsLogger.info("walletFactory.getWallet.success", {
77
+ _chunkVKXKQ5YIcjs.walletsLogger.info("walletFactory.getWallet.success", {
72
78
  address: existingWallet.address
73
79
  });
74
80
  return this.createWalletInstance(existingWallet, args);
75
81
  });
76
82
  }
77
83
  createWallet(args) {
84
+ return _chunkUO2J2ZB2cjs.__async.call(void 0, this, null, function* () {
85
+ args = _chunkUO2J2ZB2cjs.__spreadProps.call(void 0, _chunkUO2J2ZB2cjs.__spreadValues.call(void 0, {}, args), { chain: _chunkGEHZRAAJcjs.validateChainForEnvironment.call(void 0, args.chain, this.apiClient.environment) });
86
+ return this.createWalletInternal(args);
87
+ });
88
+ }
89
+ createWalletInternal(args) {
78
90
  return _chunkUO2J2ZB2cjs.__async.call(void 0, this, null, function* () {
79
91
  var _a, _b, _c, _d, _e;
80
92
  yield (_c = (_b = (_a = args.options) == null ? void 0 : _a.experimental_callbacks) == null ? void 0 : _b.onWalletCreationStart) == null ? void 0 : _c.call(_b);
81
- _chunkWMUNQJYDcjs.walletsLogger.info("walletFactory.createWallet.start");
93
+ _chunkVKXKQ5YIcjs.walletsLogger.info("walletFactory.createWallet.start");
82
94
  this.mutateSignerFromCustomAuth(args, true);
83
95
  const adminSigner = args.signer.type === "passkey" ? yield this.createPasskeyAdminSigner(args.signer) : args.signer;
84
96
  const walletResponse = yield this.apiClient.createWallet({
@@ -91,12 +103,12 @@ var WalletFactory = class {
91
103
  alias: (_e = args.alias) != null ? _e : void 0
92
104
  });
93
105
  if ("error" in walletResponse) {
94
- _chunkWMUNQJYDcjs.walletsLogger.error("walletFactory.createWallet.error", {
106
+ _chunkVKXKQ5YIcjs.walletsLogger.error("walletFactory.createWallet.error", {
95
107
  error: walletResponse.error
96
108
  });
97
109
  throw new (0, _chunkXC2V34TScjs.WalletCreationError)(JSON.stringify(walletResponse));
98
110
  }
99
- _chunkWMUNQJYDcjs.walletsLogger.info("walletFactory.createWallet.success", {
111
+ _chunkVKXKQ5YIcjs.walletsLogger.info("walletFactory.createWallet.success", {
100
112
  address: walletResponse.address
101
113
  });
102
114
  return this.createWalletInstance(walletResponse, args);
@@ -105,12 +117,12 @@ var WalletFactory = class {
105
117
  createWalletInstance(walletResponse, args) {
106
118
  this.validateExistingWalletConfig(walletResponse, args);
107
119
  const signerConfig = this.toInternalSignerConfig(walletResponse, args.signer, args.options);
108
- return new (0, _chunkPADJ2CIVcjs.Wallet)(
120
+ return new (0, _chunk4ID6ZK4Acjs.Wallet)(
109
121
  {
110
122
  chain: args.chain,
111
123
  address: walletResponse.address,
112
124
  owner: walletResponse.owner,
113
- signer: _chunkYT64AZL6cjs.assembleSigner.call(void 0, args.chain, signerConfig),
125
+ signer: _chunkXM4Y4HS5cjs.assembleSigner.call(void 0, args.chain, signerConfig),
114
126
  options: args.options,
115
127
  alias: args.alias
116
128
  },
@@ -289,7 +301,7 @@ var WalletFactory = class {
289
301
  };
290
302
  _chunkUO2J2ZB2cjs.__decorateClass.call(void 0, [
291
303
  _commonsdkbase.WithLoggerContext.call(void 0, {
292
- logger: _chunkWMUNQJYDcjs.walletsLogger,
304
+ logger: _chunkVKXKQ5YIcjs.walletsLogger,
293
305
  methodName: "walletFactory.getOrCreateWallet",
294
306
  buildContext(_thisArg, args) {
295
307
  const walletArgs = args[0];
@@ -299,7 +311,7 @@ _chunkUO2J2ZB2cjs.__decorateClass.call(void 0, [
299
311
  ], WalletFactory.prototype, "getOrCreateWallet", 1);
300
312
  _chunkUO2J2ZB2cjs.__decorateClass.call(void 0, [
301
313
  _commonsdkbase.WithLoggerContext.call(void 0, {
302
- logger: _chunkWMUNQJYDcjs.walletsLogger,
314
+ logger: _chunkVKXKQ5YIcjs.walletsLogger,
303
315
  methodName: "walletFactory.getWallet",
304
316
  buildContext(_thisArg, args) {
305
317
  const walletLocator = args[0];
@@ -310,7 +322,7 @@ _chunkUO2J2ZB2cjs.__decorateClass.call(void 0, [
310
322
  ], WalletFactory.prototype, "getWallet", 1);
311
323
  _chunkUO2J2ZB2cjs.__decorateClass.call(void 0, [
312
324
  _commonsdkbase.WithLoggerContext.call(void 0, {
313
- logger: _chunkWMUNQJYDcjs.walletsLogger,
325
+ logger: _chunkVKXKQ5YIcjs.walletsLogger,
314
326
  methodName: "walletFactory.createWallet",
315
327
  buildContext(_thisArg, args) {
316
328
  const walletArgs = args[0];
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkPADJ2CIVcjs = require('./chunk-PADJ2CIV.cjs');
3
+ var _chunk4ID6ZK4Acjs = require('./chunk-4ID6ZK4A.cjs');
4
4
 
5
5
 
6
6
  var _chunkQ5KNPVYIcjs = require('./chunk-Q5KNPVYI.cjs');
@@ -9,7 +9,7 @@ var _chunkQ5KNPVYIcjs = require('./chunk-Q5KNPVYI.cjs');
9
9
  var _chunkXC2V34TScjs = require('./chunk-XC2V34TS.cjs');
10
10
 
11
11
 
12
- var _chunkWMUNQJYDcjs = require('./chunk-WMUNQJYD.cjs');
12
+ var _chunkVKXKQ5YIcjs = require('./chunk-VKXKQ5YI.cjs');
13
13
 
14
14
 
15
15
 
@@ -18,7 +18,7 @@ var _chunkUO2J2ZB2cjs = require('./chunk-UO2J2ZB2.cjs');
18
18
  // src/wallets/solana.ts
19
19
  var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);
20
20
  var _commonsdkbase = require('@crossmint/common-sdk-base');
21
- var _SolanaWallet = class _SolanaWallet extends _chunkPADJ2CIVcjs.Wallet {
21
+ var _SolanaWallet = class _SolanaWallet extends _chunk4ID6ZK4Acjs.Wallet {
22
22
  constructor(wallet) {
23
23
  super(
24
24
  {
@@ -26,10 +26,10 @@ var _SolanaWallet = class _SolanaWallet extends _chunkPADJ2CIVcjs.Wallet {
26
26
  address: wallet.address,
27
27
  owner: wallet.owner,
28
28
  signer: wallet.signer,
29
- options: _chunkPADJ2CIVcjs.Wallet.getOptions(wallet),
29
+ options: _chunk4ID6ZK4Acjs.Wallet.getOptions(wallet),
30
30
  alias: wallet.alias
31
31
  },
32
- _chunkPADJ2CIVcjs.Wallet.getApiClient(wallet)
32
+ _chunk4ID6ZK4Acjs.Wallet.getApiClient(wallet)
33
33
  );
34
34
  }
35
35
  static from(wallet) {
@@ -41,11 +41,11 @@ var _SolanaWallet = class _SolanaWallet extends _chunkPADJ2CIVcjs.Wallet {
41
41
  sendTransaction(params) {
42
42
  return _chunkUO2J2ZB2cjs.__async.call(void 0, this, null, function* () {
43
43
  var _a, _b;
44
- _chunkWMUNQJYDcjs.walletsLogger.info("solanaWallet.sendTransaction.start");
44
+ _chunkVKXKQ5YIcjs.walletsLogger.info("solanaWallet.sendTransaction.start");
45
45
  yield this.preAuthIfNeeded();
46
46
  const createdTransaction = yield this.createTransaction(params);
47
47
  if ((_a = params.options) == null ? void 0 : _a.experimental_prepareOnly) {
48
- _chunkWMUNQJYDcjs.walletsLogger.info("solanaWallet.sendTransaction.prepared", {
48
+ _chunkVKXKQ5YIcjs.walletsLogger.info("solanaWallet.sendTransaction.prepared", {
49
49
  transactionId: createdTransaction.id
50
50
  });
51
51
  return {
@@ -69,7 +69,7 @@ var _SolanaWallet = class _SolanaWallet extends _chunkPADJ2CIVcjs.Wallet {
69
69
  additionalSigners: _additionalSigners
70
70
  };
71
71
  const result = yield this.approveTransactionAndWait(createdTransaction.id, options);
72
- _chunkWMUNQJYDcjs.walletsLogger.info("solanaWallet.sendTransaction.success", {
72
+ _chunkVKXKQ5YIcjs.walletsLogger.info("solanaWallet.sendTransaction.success", {
73
73
  transactionId: createdTransaction.id,
74
74
  hash: result.hash
75
75
  });
@@ -101,7 +101,7 @@ var _SolanaWallet = class _SolanaWallet extends _chunkPADJ2CIVcjs.Wallet {
101
101
  };
102
102
  _chunkUO2J2ZB2cjs.__decorateClass.call(void 0, [
103
103
  _commonsdkbase.WithLoggerContext.call(void 0, {
104
- logger: _chunkWMUNQJYDcjs.walletsLogger,
104
+ logger: _chunkVKXKQ5YIcjs.walletsLogger,
105
105
  methodName: "solanaWallet.sendTransaction",
106
106
  buildContext(thisArg) {
107
107
  return { chain: thisArg.chain, address: thisArg.address };
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});// package.json
2
2
  var name = "@crossmint/wallets-sdk";
3
- var version = "0.18.15";
3
+ var version = "0.20.0";
4
4
 
5
5
  // src/utils/constants.ts
6
6
  var WALLETS_SERVICE = "WALLETS_SDK";
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkPJTTM5QQcjs = require('./chunk-PJTTM5QQ.cjs');
4
+ var _chunkTQKCX7VNcjs = require('./chunk-TQKCX7VN.cjs');
5
5
 
6
6
  // src/logger/init.ts
7
7
 
@@ -20,8 +20,8 @@ function initWalletsLogger(apiKey) {
20
20
  }
21
21
  const { environment, projectId } = validationResult;
22
22
  walletsLogger.init({
23
- packageName: _chunkPJTTM5QQcjs.SDK_NAME,
24
- packageVersion: _chunkPJTTM5QQcjs.SDK_VERSION,
23
+ packageName: _chunkTQKCX7VNcjs.SDK_NAME,
24
+ packageVersion: _chunkTQKCX7VNcjs.SDK_VERSION,
25
25
  environment,
26
26
  projectId,
27
27
  platform
@@ -6,13 +6,19 @@ import {
6
6
  } from "./chunk-3U6UAYOV.js";
7
7
  import {
8
8
  tempoTestnet
9
- } from "./chunk-IZJUOXOZ.js";
9
+ } from "./chunk-AXQLP7Z6.js";
10
10
  import {
11
11
  arcTestnet
12
12
  } from "./chunk-ZBLW42YE.js";
13
+ import {
14
+ InvalidEnvironmentError
15
+ } from "./chunk-SGINWAB6.js";
16
+ import {
17
+ walletsLogger
18
+ } from "./chunk-DF3SZX2E.js";
13
19
 
14
20
  // src/chains/chains.ts
15
- import { BlockchainIncludingTestnet as Blockchain } from "@crossmint/common-sdk-base";
21
+ import { APIKeyEnvironmentPrefix, BlockchainIncludingTestnet as Blockchain } from "@crossmint/common-sdk-base";
16
22
  import {
17
23
  baseSepolia,
18
24
  base,
@@ -144,7 +150,67 @@ function toViemChain(chain) {
144
150
  throw new Error(`Unknown chain: ${chain}`);
145
151
  }
146
152
  }
153
+ function isTestnetChain(chain) {
154
+ return TESTNET_AA_CHAINS.includes(chain);
155
+ }
156
+ function isMainnetChain(chain) {
157
+ return PRODUCTION_AA_CHAINS.includes(chain);
158
+ }
159
+ var MAINNET_TO_TESTNET_MAP = {
160
+ [Blockchain.ABSTRACT]: Blockchain.ABSTRACT_TESTNET,
161
+ [Blockchain.APECHAIN]: Blockchain.CURTIS,
162
+ [Blockchain.ARBITRUM]: Blockchain.ARBITRUM_SEPOLIA,
163
+ [Blockchain.BASE]: Blockchain.BASE_SEPOLIA,
164
+ [Blockchain.FLOW]: Blockchain.FLOW_TESTNET,
165
+ [Blockchain.MANTLE]: Blockchain.MANTLE_SEPOLIA,
166
+ [Blockchain.MODE]: Blockchain.MODE_SEPOLIA,
167
+ [Blockchain.OPTIMISM]: Blockchain.OPTIMISM_SEPOLIA,
168
+ [Blockchain.PLUME]: Blockchain.PLUME_TESTNET,
169
+ [Blockchain.POLYGON]: Blockchain.POLYGON_AMOY,
170
+ [Blockchain.SCROLL]: Blockchain.SCROLL_SEPOLIA,
171
+ [Blockchain.SEI_PACIFIC_1]: Blockchain.SEI_ATLANTIC_2_TESTNET,
172
+ [Blockchain.STORY]: Blockchain.STORY_TESTNET,
173
+ [Blockchain.WORLDCHAIN]: Blockchain.WORLD_CHAIN_SEPOLIA,
174
+ [Blockchain.ZORA]: Blockchain.ZORA_SEPOLIA
175
+ };
176
+ function mainnetToTestnet(chain) {
177
+ return MAINNET_TO_TESTNET_MAP[chain];
178
+ }
179
+ function validateChainForEnvironment(chain, environment) {
180
+ if (chain === "solana" || chain === "stellar") {
181
+ return chain;
182
+ }
183
+ const evmChain = chain;
184
+ const isProductionEnv = environment === APIKeyEnvironmentPrefix.PRODUCTION;
185
+ if (isProductionEnv && isTestnetChain(evmChain)) {
186
+ throw new InvalidEnvironmentError(
187
+ `Chain "${chain}" is a testnet chain and cannot be used in production. Please use a mainnet chain instead.`
188
+ );
189
+ }
190
+ if (!isProductionEnv && isMainnetChain(evmChain)) {
191
+ const testnetEquivalent = mainnetToTestnet(evmChain);
192
+ if (testnetEquivalent != null) {
193
+ walletsLogger.debug("validateChainForEnvironment.autoConverted", {
194
+ chain,
195
+ convertedTo: testnetEquivalent,
196
+ environment,
197
+ message: `Chain "${chain}" is a mainnet chain and cannot be used in ${environment} environment. Automatically converted to "${testnetEquivalent}".`
198
+ });
199
+ return testnetEquivalent;
200
+ }
201
+ walletsLogger.debug("validateChainForEnvironment.mismatch", {
202
+ chain,
203
+ environment,
204
+ message: `Chain "${chain}" is a mainnet chain and should not be used in ${environment} environment. No testnet equivalent is available. Please use a testnet chain instead.`
205
+ });
206
+ }
207
+ return chain;
208
+ }
147
209
 
148
210
  export {
149
- toViemChain
211
+ toViemChain,
212
+ isTestnetChain,
213
+ isMainnetChain,
214
+ mainnetToTestnet,
215
+ validateChainForEnvironment
150
216
  };
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPRQOFWLHcjs = require('./chunk-PRQOFWLH.cjs');
3
+ var _chunk2XDIXELOcjs = require('./chunk-2XDIXELO.cjs');
4
4
 
5
5
 
6
- var _chunkAKAJ7UHQcjs = require('./chunk-AKAJ7UHQ.cjs');
6
+ var _chunkRJY4GT2Dcjs = require('./chunk-RJY4GT2D.cjs');
7
7
 
8
8
 
9
- var _chunk77HEKAFBcjs = require('./chunk-77HEKAFB.cjs');
9
+ var _chunkGXEWWYHTcjs = require('./chunk-GXEWWYHT.cjs');
10
10
 
11
11
 
12
12
  var _chunkJSWTGW46cjs = require('./chunk-JSWTGW46.cjs');
@@ -32,12 +32,12 @@ function assembleSigner(chain, config) {
32
32
  case "email":
33
33
  case "phone":
34
34
  if (chain === "solana") {
35
- return new (0, _chunk77HEKAFBcjs.SolanaNonCustodialSigner)(config);
35
+ return new (0, _chunkGXEWWYHTcjs.SolanaNonCustodialSigner)(config);
36
36
  }
37
37
  if (chain === "stellar") {
38
- return new (0, _chunkPRQOFWLHcjs.StellarNonCustodialSigner)(config);
38
+ return new (0, _chunk2XDIXELOcjs.StellarNonCustodialSigner)(config);
39
39
  }
40
- return new (0, _chunkAKAJ7UHQcjs.EVMNonCustodialSigner)(config);
40
+ return new (0, _chunkRJY4GT2Dcjs.EVMNonCustodialSigner)(config);
41
41
  case "api-key":
42
42
  return chain === "solana" ? new (0, _chunkXOCC3MPKcjs.SolanaApiKeySigner)(config) : new (0, _chunkJSWTGW46cjs.EVMApiKeySigner)(config);
43
43
  case "external-wallet":
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  StellarNonCustodialSigner
3
- } from "./chunk-PHIXNAMT.js";
3
+ } from "./chunk-AZQFMK3I.js";
4
4
  import {
5
5
  EVMNonCustodialSigner
6
- } from "./chunk-SCU5YLUT.js";
6
+ } from "./chunk-7EXE5FZJ.js";
7
7
  import {
8
8
  SolanaNonCustodialSigner
9
- } from "./chunk-4ZFP3ST7.js";
9
+ } from "./chunk-ZKWJY2VO.js";
10
10
  import {
11
11
  EVMApiKeySigner
12
12
  } from "./chunk-7GOUUPS4.js";
@@ -1,7 +1,10 @@
1
1
  import {
2
2
  DEFAULT_EVENT_OPTIONS,
3
3
  NonCustodialSigner
4
- } from "./chunk-VM6OLXBS.js";
4
+ } from "./chunk-GWLAO3PX.js";
5
+ import {
6
+ walletsLogger
7
+ } from "./chunk-DF3SZX2E.js";
5
8
  import {
6
9
  __async
7
10
  } from "./chunk-ASE2FXWP.js";
@@ -26,6 +29,8 @@ var SolanaNonCustodialSigner = class _SolanaNonCustodialSigner extends NonCustod
26
29
  const transactionBytes = base58.decode(transaction);
27
30
  const deserializedTransaction = VersionedTransaction.deserialize(transactionBytes);
28
31
  const messageData = deserializedTransaction.message.serialize();
32
+ walletsLogger.info("sign: sending request", { keyType: "ed25519" });
33
+ const startTime = Date.now();
29
34
  const res = yield (_a = this.config.clientTEEConnection) == null ? void 0 : _a.sendAction({
30
35
  event: "request:sign",
31
36
  responseEvent: "response:sign",
@@ -42,6 +47,10 @@ var SolanaNonCustodialSigner = class _SolanaNonCustodialSigner extends NonCustod
42
47
  },
43
48
  options: DEFAULT_EVENT_OPTIONS
44
49
  });
50
+ walletsLogger.info("sign: response received", {
51
+ status: res == null ? void 0 : res.status,
52
+ durationMs: Date.now() - startTime
53
+ });
45
54
  if ((res == null ? void 0 : res.status) === "error") {
46
55
  throw new Error(res.error);
47
56
  }
@@ -3,11 +3,11 @@
3
3
  var _chunkXC2V34TScjs = require('./chunk-XC2V34TS.cjs');
4
4
 
5
5
 
6
- var _chunkWMUNQJYDcjs = require('./chunk-WMUNQJYD.cjs');
6
+ var _chunkVKXKQ5YIcjs = require('./chunk-VKXKQ5YI.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkPJTTM5QQcjs = require('./chunk-PJTTM5QQ.cjs');
10
+ var _chunkTQKCX7VNcjs = require('./chunk-TQKCX7VN.cjs');
11
11
 
12
12
 
13
13
  var _chunkUO2J2ZB2cjs = require('./chunk-UO2J2ZB2.cjs');
@@ -22,7 +22,7 @@ var ApiClient = class extends _commonsdkbase.CrossmintApiClient {
22
22
  constructor(crossmint) {
23
23
  super(crossmint, {
24
24
  internalConfig: {
25
- sdkMetadata: { name: _chunkPJTTM5QQcjs.SDK_NAME, version: _chunkPJTTM5QQcjs.SDK_VERSION }
25
+ sdkMetadata: { name: _chunkTQKCX7VNcjs.SDK_NAME, version: _chunkTQKCX7VNcjs.SDK_VERSION }
26
26
  }
27
27
  });
28
28
  this.apiPrefix = "api/2025-06-09/wallets";
@@ -31,7 +31,7 @@ var ApiClient = class extends _commonsdkbase.CrossmintApiClient {
31
31
  createWallet(params) {
32
32
  return _chunkUO2J2ZB2cjs.__async.call(void 0, this, null, function* () {
33
33
  const path = this.isServerSide ? `${this.apiPrefix}` : `${this.apiPrefix}/me`;
34
- _chunkWMUNQJYDcjs.walletsLogger.info("wallets.api.createWallet", {
34
+ _chunkVKXKQ5YIcjs.walletsLogger.info("wallets.api.createWallet", {
35
35
  chainType: params.chainType,
36
36
  walletType: params.type
37
37
  });
@@ -41,12 +41,12 @@ var ApiClient = class extends _commonsdkbase.CrossmintApiClient {
41
41
  });
42
42
  const result = yield response.json();
43
43
  if ("error" in result) {
44
- _chunkWMUNQJYDcjs.walletsLogger.error("wallets.api.createWallet.error", {
44
+ _chunkVKXKQ5YIcjs.walletsLogger.error("wallets.api.createWallet.error", {
45
45
  error: result.error,
46
46
  chainType: params.chainType
47
47
  });
48
48
  } else if ("address" in result) {
49
- _chunkWMUNQJYDcjs.walletsLogger.info("wallets.api.createWallet.success", {
49
+ _chunkVKXKQ5YIcjs.walletsLogger.info("wallets.api.createWallet.success", {
50
50
  address: result.address,
51
51
  chainType: params.chainType
52
52
  });
@@ -56,18 +56,18 @@ var ApiClient = class extends _commonsdkbase.CrossmintApiClient {
56
56
  }
57
57
  getWallet(locator) {
58
58
  return _chunkUO2J2ZB2cjs.__async.call(void 0, this, null, function* () {
59
- _chunkWMUNQJYDcjs.walletsLogger.info("wallets.api.getWallet", { locator });
59
+ _chunkVKXKQ5YIcjs.walletsLogger.info("wallets.api.getWallet", { locator });
60
60
  const response = yield this.get(`${this.apiPrefix}/${locator}`, {
61
61
  headers: this.headers
62
62
  });
63
63
  const result = yield response.json();
64
64
  if ("error" in result) {
65
- _chunkWMUNQJYDcjs.walletsLogger.warn("wallets.api.getWallet.error", {
65
+ _chunkVKXKQ5YIcjs.walletsLogger.warn("wallets.api.getWallet.error", {
66
66
  locator,
67
67
  error: result.error
68
68
  });
69
69
  } else if ("address" in result) {
70
- _chunkWMUNQJYDcjs.walletsLogger.info("wallets.api.getWallet.success", result);
70
+ _chunkVKXKQ5YIcjs.walletsLogger.info("wallets.api.getWallet.success", result);
71
71
  }
72
72
  return result;
73
73
  });
@@ -200,7 +200,7 @@ var ApiClient = class extends _commonsdkbase.CrossmintApiClient {
200
200
  }
201
201
  send(walletLocator, tokenLocator, params) {
202
202
  return _chunkUO2J2ZB2cjs.__async.call(void 0, this, null, function* () {
203
- _chunkWMUNQJYDcjs.walletsLogger.info("wallets.api.send", {
203
+ _chunkVKXKQ5YIcjs.walletsLogger.info("wallets.api.send", {
204
204
  walletLocator,
205
205
  tokenLocator,
206
206
  recipient: params.recipient
@@ -211,13 +211,13 @@ var ApiClient = class extends _commonsdkbase.CrossmintApiClient {
211
211
  });
212
212
  const result = yield response.json();
213
213
  if ("error" in result) {
214
- _chunkWMUNQJYDcjs.walletsLogger.error("wallets.api.send.error", {
214
+ _chunkVKXKQ5YIcjs.walletsLogger.error("wallets.api.send.error", {
215
215
  walletLocator,
216
216
  tokenLocator,
217
217
  error: result.error
218
218
  });
219
219
  } else if ("id" in result) {
220
- _chunkWMUNQJYDcjs.walletsLogger.info("wallets.api.send.success", {
220
+ _chunkVKXKQ5YIcjs.walletsLogger.info("wallets.api.send.success", {
221
221
  walletLocator,
222
222
  transactionId: result.id
223
223
  });