@crossmint/wallets-sdk 0.18.4 → 0.18.7

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 (85) hide show
  1. package/dist/api/client.cjs +4 -3
  2. package/dist/api/client.js +3 -2
  3. package/dist/api/gen/index.cjs +1 -1
  4. package/dist/api/gen/index.js +1 -1
  5. package/dist/api/index.cjs +4 -3
  6. package/dist/api/index.js +3 -2
  7. package/dist/{chunk-YOJETSLN.cjs → chunk-2DXHWIAK.cjs} +3 -3
  8. package/dist/{chunk-PSPNZEG4.cjs → chunk-3RMFEHPA.cjs} +4 -4
  9. package/dist/chunk-455NK5LB.js +0 -0
  10. package/dist/{chunk-COVOGZ4S.js → chunk-4YY7QG2J.js} +1 -1
  11. package/dist/{chunk-BFAU2NL6.js → chunk-57XM4JCJ.js} +1 -1
  12. package/dist/{chunk-4BMNDPJ4.cjs → chunk-5YQOFAXT.cjs} +4 -4
  13. package/dist/{chunk-TK3EUCQ4.cjs → chunk-6FVQPO66.cjs} +8 -1
  14. package/dist/{chunk-MYKPHXUR.cjs → chunk-6Q7KXVOM.cjs} +6 -6
  15. package/dist/{chunk-AJCWEEWH.js → chunk-B42QPEM7.js} +1 -1
  16. package/dist/{chunk-2VOEAAFA.cjs → chunk-BXKSBJGR.cjs} +53 -6
  17. package/dist/{chunk-4QGBVHV3.js → chunk-C6XOBHAK.js} +4 -4
  18. package/dist/chunk-CCIGWTAO.cjs +1 -0
  19. package/dist/{chunk-7QL5JVK4.js → chunk-D5RIZNPL.js} +44 -5
  20. package/dist/{chunk-7JFVG4IY.js → chunk-DPGKYBPQ.js} +8 -1
  21. package/dist/{chunk-FAGFW4AR.js → chunk-F4IOVQGC.js} +1 -1
  22. package/dist/chunk-HGX4JKQO.js +53 -0
  23. package/dist/{chunk-SG7WIZLK.cjs → chunk-IW7ZXEEH.cjs} +10 -4
  24. package/dist/{chunk-FK23BDCU.js → chunk-J34BVUZE.js} +1 -1
  25. package/dist/{chunk-RSPJPRQW.cjs → chunk-JDZCRHTY.cjs} +46 -7
  26. package/dist/{chunk-BAHU3KZE.cjs → chunk-KMJLRX2U.cjs} +3 -3
  27. package/dist/{chunk-EM6H7EUU.cjs → chunk-LULVNCZY.cjs} +3 -3
  28. package/dist/{chunk-DPERJZBG.js → chunk-MXIFTAQ7.js} +8 -2
  29. package/dist/{chunk-2DHIAP2S.js → chunk-OH2AXAJO.js} +10 -10
  30. package/dist/{chunk-7GHQBCRV.cjs → chunk-RBHGZDDX.cjs} +2 -1
  31. package/dist/{chunk-OD5RGQ4Z.js → chunk-SD6JISMO.js} +1 -1
  32. package/dist/{chunk-5H5YHSCK.js → chunk-SUEZ3ZZI.js} +54 -7
  33. package/dist/{chunk-XH3ARVJG.cjs → chunk-T4C3VL7H.cjs} +12 -12
  34. package/dist/{chunk-MPGPBFUZ.cjs → chunk-V4BXPC4K.cjs} +1 -1
  35. package/dist/{chunk-E4LJ7252.cjs → chunk-XHHRPN7K.cjs} +12 -17
  36. package/dist/{chunk-BAULM7A2.js → chunk-XSZFANJU.js} +13 -18
  37. package/dist/chunk-XTXWNKEW.cjs +53 -0
  38. package/dist/{chunk-HHDDI3CS.js → chunk-ZOANONUJ.js} +1 -1
  39. package/dist/{chunk-JICSSJOK.js → chunk-ZP4ZZCIE.js} +1 -0
  40. package/dist/{chunk-HNRM45KF.cjs → chunk-ZTX2DZ6I.cjs} +4 -4
  41. package/dist/index.cjs +20 -18
  42. package/dist/index.js +19 -17
  43. package/dist/logger/index.cjs +11 -0
  44. package/dist/logger/index.d.cts +2 -0
  45. package/dist/logger/index.d.ts +2 -0
  46. package/dist/logger/index.js +11 -0
  47. package/dist/logger/init.cjs +10 -0
  48. package/dist/logger/init.d.cts +15 -0
  49. package/dist/logger/init.d.ts +15 -0
  50. package/dist/logger/init.js +10 -0
  51. package/dist/sdk.cjs +17 -15
  52. package/dist/sdk.js +16 -14
  53. package/dist/signers/index.cjs +9 -9
  54. package/dist/signers/index.js +8 -8
  55. package/dist/signers/non-custodial/index.cjs +6 -6
  56. package/dist/signers/non-custodial/index.js +7 -7
  57. package/dist/signers/non-custodial/ncs-evm-signer.cjs +4 -4
  58. package/dist/signers/non-custodial/ncs-evm-signer.js +3 -3
  59. package/dist/signers/non-custodial/ncs-iframe-manager.cjs +2 -2
  60. package/dist/signers/non-custodial/ncs-iframe-manager.js +1 -1
  61. package/dist/signers/non-custodial/ncs-signer.cjs +3 -3
  62. package/dist/signers/non-custodial/ncs-signer.d.cts +0 -1
  63. package/dist/signers/non-custodial/ncs-signer.d.ts +0 -1
  64. package/dist/signers/non-custodial/ncs-signer.js +2 -2
  65. package/dist/signers/non-custodial/ncs-solana-signer.cjs +4 -4
  66. package/dist/signers/non-custodial/ncs-solana-signer.js +3 -3
  67. package/dist/signers/non-custodial/ncs-stellar-signer.cjs +4 -4
  68. package/dist/signers/non-custodial/ncs-stellar-signer.js +3 -3
  69. package/dist/utils/constants.cjs +2 -2
  70. package/dist/utils/constants.js +1 -1
  71. package/dist/utils/signer-validation.cjs +4 -2
  72. package/dist/utils/signer-validation.d.cts +7 -1
  73. package/dist/utils/signer-validation.d.ts +7 -1
  74. package/dist/utils/signer-validation.js +5 -3
  75. package/dist/wallets/evm.cjs +9 -9
  76. package/dist/wallets/evm.js +8 -8
  77. package/dist/wallets/solana.cjs +9 -9
  78. package/dist/wallets/solana.js +8 -8
  79. package/dist/wallets/stellar.cjs +9 -9
  80. package/dist/wallets/stellar.js +8 -8
  81. package/dist/wallets/wallet-factory.cjs +15 -13
  82. package/dist/wallets/wallet-factory.js +14 -12
  83. package/dist/wallets/wallet.cjs +8 -8
  84. package/dist/wallets/wallet.js +7 -7
  85. package/package.json +6 -5
@@ -1,9 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk2VOEAAFAcjs = require('../chunk-2VOEAAFA.cjs');
4
- require('../chunk-MPGPBFUZ.cjs');
3
+ var _chunkBXKSBJGRcjs = require('../chunk-BXKSBJGR.cjs');
5
4
  require('../chunk-XC2V34TS.cjs');
5
+ require('../chunk-XTXWNKEW.cjs');
6
+ require('../chunk-V4BXPC4K.cjs');
6
7
  require('../chunk-G5NYLGM5.cjs');
7
8
 
8
9
 
9
- exports.ApiClient = _chunk2VOEAAFAcjs.ApiClient;
10
+ exports.ApiClient = _chunkBXKSBJGRcjs.ApiClient;
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  ApiClient
3
- } from "../chunk-5H5YHSCK.js";
4
- import "../chunk-FAGFW4AR.js";
3
+ } from "../chunk-SUEZ3ZZI.js";
5
4
  import "../chunk-SGINWAB6.js";
5
+ import "../chunk-HGX4JKQO.js";
6
+ import "../chunk-F4IOVQGC.js";
6
7
  import "../chunk-FPMW7Q5O.js";
7
8
  export {
8
9
  ApiClient
@@ -86,8 +86,8 @@
86
86
 
87
87
 
88
88
  var _chunkV3QJQUT7cjs = require('../../chunk-V3QJQUT7.cjs');
89
- require('../../chunk-XPMCPXI3.cjs');
90
89
  require('../../chunk-ZT7EGOCI.cjs');
90
+ require('../../chunk-XPMCPXI3.cjs');
91
91
  require('../../chunk-G5NYLGM5.cjs');
92
92
 
93
93
 
@@ -86,8 +86,8 @@ import {
86
86
  walletsV2025ControllerSubmitSignatureApprovals2,
87
87
  walletsVerifyRecipientControllerVerifyWalletOwnership2
88
88
  } from "../../chunk-RTRDZB52.js";
89
- import "../../chunk-YMRXMNME.js";
90
89
  import "../../chunk-KT3CVXFG.js";
90
+ import "../../chunk-YMRXMNME.js";
91
91
  import "../../chunk-FPMW7Q5O.js";
92
92
  export {
93
93
  balanceControllerFundWallet2,
@@ -1,11 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-6HXIZLEQ.cjs');
2
2
 
3
3
 
4
- var _chunk2VOEAAFAcjs = require('../chunk-2VOEAAFA.cjs');
5
- require('../chunk-MPGPBFUZ.cjs');
4
+ var _chunkBXKSBJGRcjs = require('../chunk-BXKSBJGR.cjs');
6
5
  require('../chunk-XC2V34TS.cjs');
7
6
  require('../chunk-ECAM5KTH.cjs');
7
+ require('../chunk-XTXWNKEW.cjs');
8
+ require('../chunk-V4BXPC4K.cjs');
8
9
  require('../chunk-G5NYLGM5.cjs');
9
10
 
10
11
 
11
- exports.ApiClient = _chunk2VOEAAFAcjs.ApiClient;
12
+ exports.ApiClient = _chunkBXKSBJGRcjs.ApiClient;
package/dist/api/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import "../chunk-5IFDVB4Y.js";
2
2
  import {
3
3
  ApiClient
4
- } from "../chunk-5H5YHSCK.js";
5
- import "../chunk-FAGFW4AR.js";
4
+ } from "../chunk-SUEZ3ZZI.js";
6
5
  import "../chunk-SGINWAB6.js";
7
6
  import "../chunk-KBJA7JDT.js";
7
+ import "../chunk-HGX4JKQO.js";
8
+ import "../chunk-F4IOVQGC.js";
8
9
  import "../chunk-FPMW7Q5O.js";
9
10
  export {
10
11
  ApiClient
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkE4LJ7252cjs = require('./chunk-E4LJ7252.cjs');
4
+ var _chunkXHHRPN7Kcjs = require('./chunk-XHHRPN7K.cjs');
5
5
 
6
6
 
7
7
  var _chunkG5NYLGM5cjs = require('./chunk-G5NYLGM5.cjs');
8
8
 
9
9
  // src/signers/non-custodial/ncs-stellar-signer.ts
10
- var StellarNonCustodialSigner = class _StellarNonCustodialSigner extends _chunkE4LJ7252cjs.NonCustodialSigner {
10
+ var StellarNonCustodialSigner = class _StellarNonCustodialSigner extends _chunkXHHRPN7Kcjs.NonCustodialSigner {
11
11
  constructor(config) {
12
12
  super(config);
13
13
  }
@@ -35,7 +35,7 @@ var StellarNonCustodialSigner = class _StellarNonCustodialSigner extends _chunkE
35
35
  encoding: "base64"
36
36
  }
37
37
  },
38
- options: _chunkE4LJ7252cjs.DEFAULT_EVENT_OPTIONS
38
+ options: _chunkXHHRPN7Kcjs.DEFAULT_EVENT_OPTIONS
39
39
  });
40
40
  if ((res == null ? void 0 : res.status) === "error") {
41
41
  throw new Error(res.error);
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkMYKPHXURcjs = require('./chunk-MYKPHXUR.cjs');
3
+ var _chunk6Q7KXVOMcjs = require('./chunk-6Q7KXVOM.cjs');
4
4
 
5
5
 
6
6
 
@@ -16,7 +16,7 @@ var _chunkG5NYLGM5cjs = require('./chunk-G5NYLGM5.cjs');
16
16
  // src/wallets/evm.ts
17
17
  var _viem = require('viem');
18
18
  var _commonsdkbase = require('@crossmint/common-sdk-base');
19
- var EVMWallet = class _EVMWallet extends _chunkMYKPHXURcjs.Wallet {
19
+ var EVMWallet = class _EVMWallet extends _chunk6Q7KXVOMcjs.Wallet {
20
20
  constructor(wallet) {
21
21
  super(
22
22
  {
@@ -24,10 +24,10 @@ var EVMWallet = class _EVMWallet extends _chunkMYKPHXURcjs.Wallet {
24
24
  address: wallet.address,
25
25
  owner: wallet.owner,
26
26
  signer: wallet.signer,
27
- options: _chunkMYKPHXURcjs.Wallet.getOptions(wallet),
27
+ options: _chunk6Q7KXVOMcjs.Wallet.getOptions(wallet),
28
28
  alias: wallet.alias
29
29
  },
30
- _chunkMYKPHXURcjs.Wallet.getApiClient(wallet)
30
+ _chunk6Q7KXVOMcjs.Wallet.getApiClient(wallet)
31
31
  );
32
32
  }
33
33
  static from(wallet) {
File without changes
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_EVENT_OPTIONS,
3
3
  NonCustodialSigner
4
- } from "./chunk-BAULM7A2.js";
4
+ } from "./chunk-XSZFANJU.js";
5
5
  import {
6
6
  __async
7
7
  } from "./chunk-FPMW7Q5O.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Wallet
3
- } from "./chunk-4QGBVHV3.js";
3
+ } from "./chunk-C6XOBHAK.js";
4
4
  import {
5
5
  InvalidTypedDataError,
6
6
  SignatureNotCreatedError,
@@ -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 _chunkMYKPHXURcjs = require('./chunk-MYKPHXUR.cjs');
3
+ var _chunk6Q7KXVOMcjs = require('./chunk-6Q7KXVOM.cjs');
4
4
 
5
5
 
6
6
  var _chunkR2OY54EJcjs = require('./chunk-R2OY54EJ.cjs');
@@ -14,7 +14,7 @@ var _chunkG5NYLGM5cjs = require('./chunk-G5NYLGM5.cjs');
14
14
  // src/wallets/solana.ts
15
15
  var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);
16
16
  var _commonsdkbase = require('@crossmint/common-sdk-base');
17
- var SolanaWallet = class _SolanaWallet extends _chunkMYKPHXURcjs.Wallet {
17
+ var SolanaWallet = class _SolanaWallet extends _chunk6Q7KXVOMcjs.Wallet {
18
18
  constructor(wallet) {
19
19
  super(
20
20
  {
@@ -22,10 +22,10 @@ var SolanaWallet = class _SolanaWallet extends _chunkMYKPHXURcjs.Wallet {
22
22
  address: wallet.address,
23
23
  owner: wallet.owner,
24
24
  signer: wallet.signer,
25
- options: _chunkMYKPHXURcjs.Wallet.getOptions(wallet),
25
+ options: _chunk6Q7KXVOMcjs.Wallet.getOptions(wallet),
26
26
  alias: wallet.alias
27
27
  },
28
- _chunkMYKPHXURcjs.Wallet.getApiClient(wallet)
28
+ _chunk6Q7KXVOMcjs.Wallet.getApiClient(wallet)
29
29
  );
30
30
  }
31
31
  static from(wallet) {
@@ -15,6 +15,8 @@ var NcsIframeManager = class {
15
15
  if (this.handshakeParent) {
16
16
  return this.handshakeParent;
17
17
  }
18
+ console.info("Initializing signers frame for the first time");
19
+ const t0 = Date.now();
18
20
  const iframeUrl = new URL(_clientsigners.environmentUrlConfig[this.config.environment]);
19
21
  iframeUrl.searchParams.set("targetOrigin", window.location.origin);
20
22
  const iframeElement = yield this.createInvisibleIFrame(iframeUrl.toString());
@@ -23,11 +25,16 @@ var NcsIframeManager = class {
23
25
  {
24
26
  targetOrigin: iframeUrl.origin,
25
27
  incomingEvents: _clientsigners.signerOutboundEvents,
26
- outgoingEvents: _clientsigners.signerInboundEvents
28
+ outgoingEvents: _clientsigners.signerInboundEvents,
29
+ handshakeOptions: {
30
+ timeoutMs: 3e4,
31
+ intervalMs: 500
32
+ }
27
33
  },
28
34
  _clientsdkwindow.SignersWindowTransport
29
35
  );
30
36
  yield this.handshakeParent.handshakeWithChild();
37
+ console.info(`Signers frame initialized in ${Date.now() - t0}ms`);
31
38
  return this.handshakeParent;
32
39
  });
33
40
  }
@@ -1,9 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkE4LJ7252cjs = require('./chunk-E4LJ7252.cjs');
3
+ var _chunkXHHRPN7Kcjs = require('./chunk-XHHRPN7K.cjs');
4
4
 
5
5
 
6
- var _chunkMPGPBFUZcjs = require('./chunk-MPGPBFUZ.cjs');
7
6
 
8
7
 
9
8
 
@@ -16,9 +15,10 @@ var _chunkMPGPBFUZcjs = require('./chunk-MPGPBFUZ.cjs');
16
15
 
17
16
 
18
17
 
18
+ var _chunkXC2V34TScjs = require('./chunk-XC2V34TS.cjs');
19
19
 
20
20
 
21
- var _chunkXC2V34TScjs = require('./chunk-XC2V34TS.cjs');
21
+ var _chunkV4BXPC4Kcjs = require('./chunk-V4BXPC4K.cjs');
22
22
 
23
23
 
24
24
 
@@ -394,7 +394,7 @@ var Wallet = class {
394
394
  }
395
395
  preAuthIfNeeded() {
396
396
  return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
397
- if (this.signer instanceof _chunkE4LJ7252cjs.NonCustodialSigner) {
397
+ if (this.signer instanceof _chunkXHHRPN7Kcjs.NonCustodialSigner) {
398
398
  yield this.signer.ensureAuthenticated();
399
399
  }
400
400
  });
@@ -525,7 +525,7 @@ var Wallet = class {
525
525
  return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
526
526
  let signatureResponse = null;
527
527
  do {
528
- yield new Promise((resolve) => setTimeout(resolve, _chunkMPGPBFUZcjs.STATUS_POLLING_INTERVAL_MS));
528
+ yield new Promise((resolve) => setTimeout(resolve, _chunkV4BXPC4Kcjs.STATUS_POLLING_INTERVAL_MS));
529
529
  signatureResponse = yield _chunkG5NYLGM5cjs.__privateGet.call(void 0, this, _apiClient).getSignature(this.walletLocator, signatureId);
530
530
  if ("error" in signatureResponse) {
531
531
  throw new (0, _chunkXC2V34TScjs.SignatureNotAvailableError)(JSON.stringify(signatureResponse));
@@ -547,7 +547,7 @@ var Wallet = class {
547
547
  return _chunkG5NYLGM5cjs.__async.call(void 0, this, arguments, function* (transactionId, timeoutMs = 6e4, {
548
548
  backoffMultiplier = 1.1,
549
549
  maxBackoffMs = 2e3,
550
- initialBackoffMs = _chunkMPGPBFUZcjs.STATUS_POLLING_INTERVAL_MS
550
+ initialBackoffMs = _chunkV4BXPC4Kcjs.STATUS_POLLING_INTERVAL_MS
551
551
  } = {}) {
552
552
  var _a;
553
553
  const startTime = Date.now();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_EVENT_OPTIONS,
3
3
  NonCustodialSigner
4
- } from "./chunk-BAULM7A2.js";
4
+ } from "./chunk-XSZFANJU.js";
5
5
  import {
6
6
  __async
7
7
  } from "./chunk-FPMW7Q5O.js";
@@ -1,10 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
+ var _chunkXC2V34TScjs = require('./chunk-XC2V34TS.cjs');
3
4
 
4
- var _chunkMPGPBFUZcjs = require('./chunk-MPGPBFUZ.cjs');
5
+
6
+ var _chunkXTXWNKEWcjs = require('./chunk-XTXWNKEW.cjs');
5
7
 
6
8
 
7
- var _chunkXC2V34TScjs = require('./chunk-XC2V34TS.cjs');
9
+
10
+ var _chunkV4BXPC4Kcjs = require('./chunk-V4BXPC4K.cjs');
8
11
 
9
12
 
10
13
  var _chunkG5NYLGM5cjs = require('./chunk-G5NYLGM5.cjs');
@@ -19,7 +22,7 @@ var ApiClient = class extends _commonsdkbase.CrossmintApiClient {
19
22
  constructor(crossmint) {
20
23
  super(crossmint, {
21
24
  internalConfig: {
22
- sdkMetadata: { name: _chunkMPGPBFUZcjs.SDK_NAME, version: _chunkMPGPBFUZcjs.SDK_VERSION }
25
+ sdkMetadata: { name: _chunkV4BXPC4Kcjs.SDK_NAME, version: _chunkV4BXPC4Kcjs.SDK_VERSION }
23
26
  }
24
27
  });
25
28
  this.apiPrefix = "api/2025-06-09/wallets";
@@ -28,19 +31,45 @@ var ApiClient = class extends _commonsdkbase.CrossmintApiClient {
28
31
  createWallet(params) {
29
32
  return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
30
33
  const path = this.isServerSide ? `${this.apiPrefix}` : `${this.apiPrefix}/me`;
34
+ _chunkXTXWNKEWcjs.walletsLogger.info("wallets.api.createWallet", {
35
+ chainType: params.chainType,
36
+ walletType: params.type
37
+ });
31
38
  const response = yield this.post(path, {
32
39
  body: JSON.stringify(params),
33
40
  headers: this.headers
34
41
  });
35
- return response.json();
42
+ const result = yield response.json();
43
+ if ("error" in result) {
44
+ _chunkXTXWNKEWcjs.walletsLogger.error("wallets.api.createWallet.error", {
45
+ error: result.error,
46
+ chainType: params.chainType
47
+ });
48
+ } else if ("address" in result) {
49
+ _chunkXTXWNKEWcjs.walletsLogger.info("wallets.api.createWallet.success", {
50
+ address: result.address,
51
+ chainType: params.chainType
52
+ });
53
+ }
54
+ return result;
36
55
  });
37
56
  }
38
57
  getWallet(locator) {
39
58
  return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
59
+ _chunkXTXWNKEWcjs.walletsLogger.info("wallets.api.getWallet", { locator });
40
60
  const response = yield this.get(`${this.apiPrefix}/${locator}`, {
41
61
  headers: this.headers
42
62
  });
43
- return response.json();
63
+ const result = yield response.json();
64
+ if ("error" in result) {
65
+ _chunkXTXWNKEWcjs.walletsLogger.warn("wallets.api.getWallet.error", {
66
+ locator,
67
+ error: result.error
68
+ });
69
+ } else if ("address" in result) {
70
+ _chunkXTXWNKEWcjs.walletsLogger.info("wallets.api.getWallet.success", result);
71
+ }
72
+ return result;
44
73
  });
45
74
  }
46
75
  createTransaction(walletLocator, params) {
@@ -171,11 +200,29 @@ var ApiClient = class extends _commonsdkbase.CrossmintApiClient {
171
200
  }
172
201
  send(walletLocator, tokenLocator, params) {
173
202
  return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
203
+ _chunkXTXWNKEWcjs.walletsLogger.info("wallets.api.send", {
204
+ walletLocator,
205
+ tokenLocator,
206
+ recipient: params.recipient
207
+ });
174
208
  const response = yield this.post(`${this.apiPrefix}/${walletLocator}/tokens/${tokenLocator}/transfers`, {
175
209
  body: JSON.stringify(params),
176
210
  headers: this.headers
177
211
  });
178
- return response.json();
212
+ const result = yield response.json();
213
+ if ("error" in result) {
214
+ _chunkXTXWNKEWcjs.walletsLogger.error("wallets.api.send.error", {
215
+ walletLocator,
216
+ tokenLocator,
217
+ error: result.error
218
+ });
219
+ } else if ("id" in result) {
220
+ _chunkXTXWNKEWcjs.walletsLogger.info("wallets.api.send.success", {
221
+ walletLocator,
222
+ transactionId: result.id
223
+ });
224
+ }
225
+ return result;
179
226
  });
180
227
  }
181
228
  get isServerSide() {
@@ -1,9 +1,6 @@
1
1
  import {
2
2
  NonCustodialSigner
3
- } from "./chunk-BAULM7A2.js";
4
- import {
5
- STATUS_POLLING_INTERVAL_MS
6
- } from "./chunk-FAGFW4AR.js";
3
+ } from "./chunk-XSZFANJU.js";
7
4
  import {
8
5
  InvalidSignerError,
9
6
  SignatureFailedError,
@@ -19,6 +16,9 @@ import {
19
16
  WalletNotAvailableError,
20
17
  WalletTypeNotSupportedError
21
18
  } from "./chunk-SGINWAB6.js";
19
+ import {
20
+ STATUS_POLLING_INTERVAL_MS
21
+ } from "./chunk-F4IOVQGC.js";
22
22
  import {
23
23
  __async,
24
24
  __privateAdd,
@@ -0,0 +1 @@
1
+ "use strict";
@@ -1,16 +1,20 @@
1
1
  import {
2
- compareSignerConfigs
3
- } from "./chunk-JICSSJOK.js";
2
+ compareSignerConfigs,
3
+ normalizeValueForComparison
4
+ } from "./chunk-ZP4ZZCIE.js";
4
5
  import {
5
6
  Wallet
6
- } from "./chunk-4QGBVHV3.js";
7
+ } from "./chunk-C6XOBHAK.js";
7
8
  import {
8
9
  assembleSigner
9
- } from "./chunk-2DHIAP2S.js";
10
+ } from "./chunk-OH2AXAJO.js";
10
11
  import {
11
12
  WalletCreationError,
12
13
  WalletNotAvailableError
13
14
  } from "./chunk-SGINWAB6.js";
15
+ import {
16
+ walletsLogger
17
+ } from "./chunk-HGX4JKQO.js";
14
18
  import {
15
19
  __async,
16
20
  __spreadValues
@@ -31,10 +35,21 @@ var WalletFactory = class {
31
35
  );
32
36
  }
33
37
  const locator = this.getWalletLocator(args);
38
+ walletsLogger.info("wallet.getOrCreate.start", {
39
+ chain: args.chain,
40
+ signerType: args.signer.type
41
+ });
34
42
  const existingWallet = yield this.apiClient.getWallet(locator);
35
43
  if (existingWallet != null && !("error" in existingWallet)) {
44
+ walletsLogger.info("wallet.getOrCreate.existing", {
45
+ chain: args.chain,
46
+ address: existingWallet.address
47
+ });
36
48
  return this.createWalletInstance(existingWallet, args);
37
49
  }
50
+ walletsLogger.info("wallet.getOrCreate.creating", {
51
+ chain: args.chain
52
+ });
38
53
  return this.createWallet(args);
39
54
  });
40
55
  }
@@ -43,10 +58,22 @@ var WalletFactory = class {
43
58
  if (!this.apiClient.isServerSide) {
44
59
  throw new WalletCreationError("getWallet is not supported on client side, use getOrCreateWallet instead");
45
60
  }
61
+ walletsLogger.info("wallet.get.start", {
62
+ walletLocator,
63
+ chain: args.chain
64
+ });
46
65
  const existingWallet = yield this.apiClient.getWallet(walletLocator);
47
66
  if ("error" in existingWallet) {
67
+ walletsLogger.warn("wallet.get.notFound", {
68
+ walletLocator,
69
+ error: existingWallet.error
70
+ });
48
71
  throw new WalletNotAvailableError(JSON.stringify(existingWallet));
49
72
  }
73
+ walletsLogger.info("wallet.get.success", {
74
+ walletLocator,
75
+ address: existingWallet.address
76
+ });
50
77
  return this.createWalletInstance(existingWallet, args);
51
78
  });
52
79
  }
@@ -54,6 +81,10 @@ var WalletFactory = class {
54
81
  return __async(this, null, function* () {
55
82
  var _a, _b, _c, _d, _e;
56
83
  yield (_c = (_b = (_a = args.options) == null ? void 0 : _a.experimental_callbacks) == null ? void 0 : _b.onWalletCreationStart) == null ? void 0 : _c.call(_b);
84
+ walletsLogger.info("wallet.create.start", {
85
+ chain: args.chain,
86
+ signerType: args.signer.type
87
+ });
57
88
  this.mutateSignerFromCustomAuth(args, true);
58
89
  const adminSigner = args.signer.type === "passkey" ? yield this.createPasskeyAdminSigner(args.signer) : args.signer;
59
90
  const walletResponse = yield this.apiClient.createWallet({
@@ -66,8 +97,16 @@ var WalletFactory = class {
66
97
  alias: (_e = args.alias) != null ? _e : void 0
67
98
  });
68
99
  if ("error" in walletResponse) {
100
+ walletsLogger.error("wallet.create.error", {
101
+ chain: args.chain,
102
+ error: walletResponse.error
103
+ });
69
104
  throw new WalletCreationError(JSON.stringify(walletResponse));
70
105
  }
106
+ walletsLogger.info("wallet.create.success", {
107
+ chain: args.chain,
108
+ address: walletResponse.address
109
+ });
71
110
  return this.createWalletInstance(walletResponse, args);
72
111
  });
73
112
  }
@@ -198,7 +237,7 @@ var WalletFactory = class {
198
237
  validateExistingWalletConfig(existingWallet, args) {
199
238
  var _a;
200
239
  this.mutateSignerFromCustomAuth(args);
201
- if (args.owner != null && existingWallet.owner != null && args.owner !== existingWallet.owner) {
240
+ if (args.owner != null && existingWallet.owner != null && normalizeValueForComparison(args.owner) !== normalizeValueForComparison(existingWallet.owner)) {
202
241
  throw new WalletCreationError("Wallet owner does not match existing wallet's linked user");
203
242
  }
204
243
  if (args.chain === "solana" && existingWallet.chainType !== "solana" || args.chain !== "solana" && existingWallet.chainType === "solana" || args.chain === "stellar" && existingWallet.chainType !== "stellar" || args.chain !== "stellar" && existingWallet.chainType === "stellar") {
@@ -15,6 +15,8 @@ var NcsIframeManager = class {
15
15
  if (this.handshakeParent) {
16
16
  return this.handshakeParent;
17
17
  }
18
+ console.info("Initializing signers frame for the first time");
19
+ const t0 = Date.now();
18
20
  const iframeUrl = new URL(environmentUrlConfig[this.config.environment]);
19
21
  iframeUrl.searchParams.set("targetOrigin", window.location.origin);
20
22
  const iframeElement = yield this.createInvisibleIFrame(iframeUrl.toString());
@@ -23,11 +25,16 @@ var NcsIframeManager = class {
23
25
  {
24
26
  targetOrigin: iframeUrl.origin,
25
27
  incomingEvents: signerOutboundEvents,
26
- outgoingEvents: signerInboundEvents
28
+ outgoingEvents: signerInboundEvents,
29
+ handshakeOptions: {
30
+ timeoutMs: 3e4,
31
+ intervalMs: 500
32
+ }
27
33
  },
28
34
  SignersWindowTransport
29
35
  );
30
36
  yield this.handshakeParent.handshakeWithChild();
37
+ console.info(`Signers frame initialized in ${Date.now() - t0}ms`);
31
38
  return this.handshakeParent;
32
39
  });
33
40
  }
@@ -1,6 +1,6 @@
1
1
  // package.json
2
2
  var name = "@crossmint/wallets-sdk";
3
- var version = "0.18.4";
3
+ var version = "0.18.7";
4
4
 
5
5
  // src/utils/constants.ts
6
6
  var WALLETS_SERVICE = "WALLETS_SDK";
@@ -0,0 +1,53 @@
1
+ import {
2
+ SDK_NAME,
3
+ SDK_VERSION
4
+ } from "./chunk-F4IOVQGC.js";
5
+
6
+ // src/logger/init.ts
7
+ import {
8
+ SdkLogger,
9
+ BrowserDatadogSink,
10
+ detectPlatform,
11
+ validateAPIKey,
12
+ ServerDatadogSink
13
+ } from "@crossmint/common-sdk-base";
14
+ import * as datadogLogger from "@datadog/browser-logs";
15
+ var walletsLogger = new SdkLogger();
16
+ function initWalletsLogger(apiKey) {
17
+ const platform = detectPlatform();
18
+ const validationResult = validateAPIKey(apiKey);
19
+ if (!validationResult.isValid) {
20
+ throw new Error(`Invalid API key: ${validationResult.message}`);
21
+ }
22
+ const { environment, projectId } = validationResult;
23
+ walletsLogger.init({
24
+ packageName: SDK_NAME,
25
+ packageVersion: SDK_VERSION,
26
+ environment,
27
+ projectId,
28
+ platform
29
+ });
30
+ switch (platform) {
31
+ case "browser": {
32
+ const sink = new BrowserDatadogSink(environment, datadogLogger);
33
+ walletsLogger.addSink(sink);
34
+ break;
35
+ }
36
+ case "react-native": {
37
+ break;
38
+ }
39
+ case "server": {
40
+ const sink = new ServerDatadogSink(environment);
41
+ walletsLogger.addSink(sink);
42
+ break;
43
+ }
44
+ default: {
45
+ break;
46
+ }
47
+ }
48
+ }
49
+
50
+ export {
51
+ walletsLogger,
52
+ initWalletsLogger
53
+ };
@@ -1,9 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkRSPJPRQWcjs = require('./chunk-RSPJPRQW.cjs');
3
+ var _chunkJDZCRHTYcjs = require('./chunk-JDZCRHTY.cjs');
4
4
 
5
5
 
6
- var _chunk2VOEAAFAcjs = require('./chunk-2VOEAAFA.cjs');
6
+ var _chunkBXKSBJGRcjs = require('./chunk-BXKSBJGR.cjs');
7
+
8
+
9
+
10
+ var _chunkXTXWNKEWcjs = require('./chunk-XTXWNKEW.cjs');
7
11
 
8
12
 
9
13
  var _chunkG5NYLGM5cjs = require('./chunk-G5NYLGM5.cjs');
@@ -12,8 +16,10 @@ var _chunkG5NYLGM5cjs = require('./chunk-G5NYLGM5.cjs');
12
16
  var _commonsdkbase = require('@crossmint/common-sdk-base');
13
17
  var CrossmintWallets = class _CrossmintWallets {
14
18
  constructor(crossmint) {
15
- const apiClient = new (0, _chunk2VOEAAFAcjs.ApiClient)(crossmint);
16
- this.walletFactory = new (0, _chunkRSPJPRQWcjs.WalletFactory)(apiClient);
19
+ _chunkXTXWNKEWcjs.initWalletsLogger.call(void 0, crossmint.apiKey);
20
+ const apiClient = new (0, _chunkBXKSBJGRcjs.ApiClient)(crossmint);
21
+ this.walletFactory = new (0, _chunkJDZCRHTYcjs.WalletFactory)(apiClient);
22
+ _chunkXTXWNKEWcjs.walletsLogger.info("wallets.sdk.initialized");
17
23
  }
18
24
  /**
19
25
  * Initialize the Wallets SDK
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Wallet
3
- } from "./chunk-4QGBVHV3.js";
3
+ } from "./chunk-C6XOBHAK.js";
4
4
  import {
5
5
  TransactionNotCreatedError
6
6
  } from "./chunk-SGINWAB6.js";