@solana/connector 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +685 -1071
  3. package/dist/chunk-3STZXVXD.mjs +2185 -0
  4. package/dist/chunk-3STZXVXD.mjs.map +1 -0
  5. package/dist/chunk-I64FD2EH.js +312 -0
  6. package/dist/chunk-I64FD2EH.js.map +1 -0
  7. package/dist/{chunk-TIW3EQPC.js → chunk-JUZVCBAI.js} +127 -104
  8. package/dist/chunk-JUZVCBAI.js.map +1 -0
  9. package/dist/{chunk-7CKCRY25.js → chunk-NQXK7PGX.js} +75 -79
  10. package/dist/chunk-NQXK7PGX.js.map +1 -0
  11. package/dist/{chunk-HPENTIPE.mjs → chunk-QKVL45F6.mjs} +57 -57
  12. package/dist/chunk-QKVL45F6.mjs.map +1 -0
  13. package/dist/chunk-QL3IT3TS.mjs +299 -0
  14. package/dist/chunk-QL3IT3TS.mjs.map +1 -0
  15. package/dist/chunk-ULUYX23Q.js +2213 -0
  16. package/dist/chunk-ULUYX23Q.js.map +1 -0
  17. package/dist/{chunk-TKJSKXSA.mjs → chunk-VMSZJPR5.mjs} +42 -20
  18. package/dist/chunk-VMSZJPR5.mjs.map +1 -0
  19. package/dist/compat.d.mts +4 -2
  20. package/dist/compat.d.ts +4 -2
  21. package/dist/compat.js +3 -3
  22. package/dist/compat.mjs +1 -1
  23. package/dist/headless.d.mts +146 -18
  24. package/dist/headless.d.ts +146 -18
  25. package/dist/headless.js +144 -111
  26. package/dist/headless.mjs +3 -2
  27. package/dist/index.d.mts +6 -5
  28. package/dist/index.d.ts +6 -5
  29. package/dist/index.js +207 -126
  30. package/dist/index.mjs +4 -3
  31. package/dist/react.d.mts +707 -67
  32. package/dist/react.d.ts +707 -67
  33. package/dist/react.js +64 -16
  34. package/dist/react.mjs +2 -2
  35. package/dist/{transaction-signer-D3csM_Mf.d.mts → transaction-signer-D9d8nxwb.d.mts} +3 -1
  36. package/dist/{transaction-signer-D3csM_Mf.d.ts → transaction-signer-D9d8nxwb.d.ts} +3 -1
  37. package/dist/{wallet-standard-shim-Cg0GVGwu.d.mts → wallet-standard-shim--YcrQNRt.d.ts} +216 -6
  38. package/dist/{wallet-standard-shim-C1tisl9S.d.ts → wallet-standard-shim-Dx7H8Ctf.d.mts} +216 -6
  39. package/package.json +16 -12
  40. package/dist/chunk-5ZUVZZWU.mjs +0 -180
  41. package/dist/chunk-5ZUVZZWU.mjs.map +0 -1
  42. package/dist/chunk-7CKCRY25.js.map +0 -1
  43. package/dist/chunk-FTD7F7CS.js +0 -314
  44. package/dist/chunk-FTD7F7CS.js.map +0 -1
  45. package/dist/chunk-HPENTIPE.mjs.map +0 -1
  46. package/dist/chunk-MPZFJEJK.mjs +0 -298
  47. package/dist/chunk-MPZFJEJK.mjs.map +0 -1
  48. package/dist/chunk-SMUUAKC3.js +0 -186
  49. package/dist/chunk-SMUUAKC3.js.map +0 -1
  50. package/dist/chunk-TIW3EQPC.js.map +0 -1
  51. package/dist/chunk-TKJSKXSA.mjs.map +0 -1
@@ -1,10 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkSMUUAKC3_js = require('./chunk-SMUUAKC3.js');
4
- var gill = require('gill');
3
+ var chunkI64FD2EH_js = require('./chunk-I64FD2EH.js');
5
4
  var react = require('react');
6
5
  var jsxRuntime = require('react/jsx-runtime');
7
6
  var webcryptoEd25519Polyfill = require('@solana/webcrypto-ed25519-polyfill');
7
+ var addresses = require('@solana/addresses');
8
+ var transactions = require('@solana/transactions');
9
+ var codecs = require('@solana/codecs');
8
10
 
9
11
  // src/lib/adapters/wallet-standard-shim.ts
10
12
  var registry = null;
@@ -53,9 +55,9 @@ function getWalletsRegistry() {
53
55
  var ConnectorError = class extends Error {
54
56
  constructor(message, context, originalError) {
55
57
  super(message);
56
- chunkSMUUAKC3_js.__publicField(this, "context");
57
- chunkSMUUAKC3_js.__publicField(this, "originalError");
58
- chunkSMUUAKC3_js.__publicField(this, "timestamp");
58
+ chunkI64FD2EH_js.__publicField(this, "context");
59
+ chunkI64FD2EH_js.__publicField(this, "originalError");
60
+ chunkI64FD2EH_js.__publicField(this, "timestamp");
59
61
  this.name = this.constructor.name, this.context = context, this.originalError = originalError, this.timestamp = (/* @__PURE__ */ new Date()).toISOString(), Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
60
62
  }
61
63
  toJSON() {
@@ -72,36 +74,36 @@ var ConnectorError = class extends Error {
72
74
  }, ConnectionError = class extends ConnectorError {
73
75
  constructor(code, message, context, originalError) {
74
76
  super(message, context, originalError);
75
- chunkSMUUAKC3_js.__publicField(this, "code");
76
- chunkSMUUAKC3_js.__publicField(this, "recoverable", true);
77
+ chunkI64FD2EH_js.__publicField(this, "code");
78
+ chunkI64FD2EH_js.__publicField(this, "recoverable", true);
77
79
  this.code = code;
78
80
  }
79
81
  }, ValidationError = class extends ConnectorError {
80
82
  constructor(code, message, context, originalError) {
81
83
  super(message, context, originalError);
82
- chunkSMUUAKC3_js.__publicField(this, "code");
83
- chunkSMUUAKC3_js.__publicField(this, "recoverable", false);
84
+ chunkI64FD2EH_js.__publicField(this, "code");
85
+ chunkI64FD2EH_js.__publicField(this, "recoverable", false);
84
86
  this.code = code;
85
87
  }
86
88
  }, ConfigurationError = class extends ConnectorError {
87
89
  constructor(code, message, context, originalError) {
88
90
  super(message, context, originalError);
89
- chunkSMUUAKC3_js.__publicField(this, "code");
90
- chunkSMUUAKC3_js.__publicField(this, "recoverable", false);
91
+ chunkI64FD2EH_js.__publicField(this, "code");
92
+ chunkI64FD2EH_js.__publicField(this, "recoverable", false);
91
93
  this.code = code;
92
94
  }
93
95
  }, NetworkError = class extends ConnectorError {
94
96
  constructor(code, message, context, originalError) {
95
97
  super(message, context, originalError);
96
- chunkSMUUAKC3_js.__publicField(this, "code");
97
- chunkSMUUAKC3_js.__publicField(this, "recoverable", true);
98
+ chunkI64FD2EH_js.__publicField(this, "code");
99
+ chunkI64FD2EH_js.__publicField(this, "recoverable", true);
98
100
  this.code = code;
99
101
  }
100
102
  }, TransactionError = class extends ConnectorError {
101
103
  constructor(code, message, context, originalError) {
102
104
  super(message, context, originalError);
103
- chunkSMUUAKC3_js.__publicField(this, "code");
104
- chunkSMUUAKC3_js.__publicField(this, "recoverable");
105
+ chunkI64FD2EH_js.__publicField(this, "code");
106
+ chunkI64FD2EH_js.__publicField(this, "recoverable");
105
107
  this.code = code, this.recoverable = ["USER_REJECTED", "SEND_FAILED", "SIMULATION_FAILED"].includes(code);
106
108
  }
107
109
  };
@@ -125,11 +127,16 @@ function isTransactionError(error) {
125
127
  }
126
128
  var Errors = {
127
129
  walletNotConnected: (context) => new ConnectionError("WALLET_NOT_CONNECTED", "No wallet connected", context),
128
- walletNotFound: (walletName) => new ConnectionError("WALLET_NOT_FOUND", `Wallet not found${walletName ? `: ${walletName}` : ""}`, { walletName }),
130
+ walletNotFound: (walletName) => new ConnectionError("WALLET_NOT_FOUND", `Wallet not found${walletName ? `: ${walletName}` : ""}`, {
131
+ walletName
132
+ }),
129
133
  connectionFailed: (originalError) => new ConnectionError("CONNECTION_FAILED", "Failed to connect to wallet", void 0, originalError),
130
134
  accountNotAvailable: (address) => new ConnectionError("ACCOUNT_NOT_AVAILABLE", "Requested account not available", { address }),
131
135
  invalidTransaction: (reason, context) => new ValidationError("INVALID_TRANSACTION", `Invalid transaction: ${reason}`, context),
132
- invalidFormat: (expectedFormat, actualFormat) => new ValidationError("INVALID_FORMAT", `Invalid format: expected ${expectedFormat}`, { expectedFormat, actualFormat }),
136
+ invalidFormat: (expectedFormat, actualFormat) => new ValidationError("INVALID_FORMAT", `Invalid format: expected ${expectedFormat}`, {
137
+ expectedFormat,
138
+ actualFormat
139
+ }),
133
140
  unsupportedFormat: (format) => new ValidationError("UNSUPPORTED_FORMAT", `Unsupported format: ${format}`, { format }),
134
141
  missingProvider: (hookName) => new ConfigurationError(
135
142
  "MISSING_PROVIDER",
@@ -172,6 +179,8 @@ function getUserFriendlyMessage(error) {
172
179
  NETWORK_TIMEOUT: "Request timed out. Please try again."
173
180
  }[error.code] || error.message || "An error occurred." : "An unexpected error occurred. Please try again.";
174
181
  }
182
+
183
+ // src/utils/network.ts
175
184
  var PUBLIC_RPC_ENDPOINTS = {
176
185
  mainnet: "https://api.mainnet-beta.solana.com",
177
186
  devnet: "https://api.devnet.solana.com",
@@ -198,7 +207,7 @@ function toClusterId(network) {
198
207
  function getDefaultRpcUrl(network) {
199
208
  let normalized = normalizeNetwork(network);
200
209
  try {
201
- return gill.getPublicSolanaRpcUrl(normalized);
210
+ return chunkI64FD2EH_js.getPublicSolanaRpcUrl(normalized);
202
211
  } catch {
203
212
  return PUBLIC_RPC_ENDPOINTS[normalized] ?? PUBLIC_RPC_ENDPOINTS.localnet;
204
213
  }
@@ -219,6 +228,8 @@ function getNetworkDisplayName(network) {
219
228
  let normalized = normalizeNetwork(network);
220
229
  return normalized.charAt(0).toUpperCase() + normalized.slice(1);
221
230
  }
231
+
232
+ // src/utils/cluster.ts
222
233
  function getClusterRpcUrl(cluster) {
223
234
  if (typeof cluster == "string") {
224
235
  let presets2 = {
@@ -246,14 +257,14 @@ function getClusterExplorerUrl(cluster, path) {
246
257
  }
247
258
  function getTransactionUrl(signature, cluster) {
248
259
  let clusterType = getClusterType(cluster), explorerCluster = clusterType === "custom" || clusterType === "localnet" ? "devnet" : clusterType;
249
- return gill.getExplorerLink({
260
+ return chunkI64FD2EH_js.getExplorerLink({
250
261
  transaction: signature,
251
262
  cluster: explorerCluster === "mainnet" ? "mainnet" : explorerCluster
252
263
  });
253
264
  }
254
265
  function getAddressUrl(address, cluster) {
255
266
  let clusterType = getClusterType(cluster), explorerCluster = clusterType === "custom" || clusterType === "localnet" ? "devnet" : clusterType;
256
- return gill.getExplorerLink({
267
+ return chunkI64FD2EH_js.getExplorerLink({
257
268
  address,
258
269
  cluster: explorerCluster === "mainnet" ? "mainnet" : explorerCluster
259
270
  });
@@ -315,9 +326,9 @@ var POLL_INTERVALS_MS = [1e3, 2e3, 3e3, 5e3, 5e3], DEFAULT_MAX_RETRIES = 3, DEFA
315
326
  // src/lib/core/state-manager.ts
316
327
  var StateManager = class {
317
328
  constructor(initialState) {
318
- chunkSMUUAKC3_js.__publicField(this, "state");
319
- chunkSMUUAKC3_js.__publicField(this, "listeners", /* @__PURE__ */ new Set());
320
- chunkSMUUAKC3_js.__publicField(this, "notifyTimeout");
329
+ chunkI64FD2EH_js.__publicField(this, "state");
330
+ chunkI64FD2EH_js.__publicField(this, "listeners", /* @__PURE__ */ new Set());
331
+ chunkI64FD2EH_js.__publicField(this, "notifyTimeout");
321
332
  this.state = initialState;
322
333
  }
323
334
  /**
@@ -336,7 +347,7 @@ var StateManager = class {
336
347
  * Fast array equality check for wallet/account arrays
337
348
  */
338
349
  arraysEqual(a, b) {
339
- return a.length !== b.length ? false : a[0] && typeof a[0] == "object" && "name" in a[0] && b[0] && typeof b[0] == "object" && "name" in b[0] ? a.every((item, i) => {
350
+ return a.length !== b.length ? false : a.length === 0 ? true : a[0] && typeof a[0] == "object" && "name" in a[0] && b[0] && typeof b[0] == "object" && "name" in b[0] ? a.every((item, i) => {
340
351
  let aItem = item, bItem = b[i];
341
352
  if (!bItem || typeof bItem != "object") return false;
342
353
  let keysA = Object.keys(aItem), keysB = Object.keys(bItem);
@@ -376,10 +387,10 @@ var StateManager = class {
376
387
  };
377
388
 
378
389
  // src/lib/core/event-emitter.ts
379
- var logger = chunkSMUUAKC3_js.createLogger("EventEmitter"), EventEmitter = class {
390
+ var logger = chunkI64FD2EH_js.createLogger("EventEmitter"), EventEmitter = class {
380
391
  constructor(debug = false) {
381
- chunkSMUUAKC3_js.__publicField(this, "listeners", /* @__PURE__ */ new Set());
382
- chunkSMUUAKC3_js.__publicField(this, "debug");
392
+ chunkI64FD2EH_js.__publicField(this, "listeners", /* @__PURE__ */ new Set());
393
+ chunkI64FD2EH_js.__publicField(this, "debug");
383
394
  this.debug = debug;
384
395
  }
385
396
  /**
@@ -435,12 +446,12 @@ var logger = chunkSMUUAKC3_js.createLogger("EventEmitter"), EventEmitter = class
435
446
  // src/lib/core/debug-metrics.ts
436
447
  var DebugMetrics = class {
437
448
  constructor() {
438
- chunkSMUUAKC3_js.__publicField(this, "stateUpdates", 0);
439
- chunkSMUUAKC3_js.__publicField(this, "noopUpdates", 0);
440
- chunkSMUUAKC3_js.__publicField(this, "updateTimes", []);
441
- chunkSMUUAKC3_js.__publicField(this, "lastUpdateTime", 0);
442
- chunkSMUUAKC3_js.__publicField(this, "eventListenerCount", 0);
443
- chunkSMUUAKC3_js.__publicField(this, "subscriptionCount", 0);
449
+ chunkI64FD2EH_js.__publicField(this, "stateUpdates", 0);
450
+ chunkI64FD2EH_js.__publicField(this, "noopUpdates", 0);
451
+ chunkI64FD2EH_js.__publicField(this, "updateTimes", []);
452
+ chunkI64FD2EH_js.__publicField(this, "lastUpdateTime", 0);
453
+ chunkI64FD2EH_js.__publicField(this, "eventListenerCount", 0);
454
+ chunkI64FD2EH_js.__publicField(this, "subscriptionCount", 0);
444
455
  }
445
456
  /**
446
457
  * Record a state update attempt
@@ -480,11 +491,11 @@ var DebugMetrics = class {
480
491
  // src/lib/core/base-collaborator.ts
481
492
  var BaseCollaborator = class {
482
493
  constructor(config, loggerPrefix) {
483
- chunkSMUUAKC3_js.__publicField(this, "stateManager");
484
- chunkSMUUAKC3_js.__publicField(this, "eventEmitter");
485
- chunkSMUUAKC3_js.__publicField(this, "debug");
486
- chunkSMUUAKC3_js.__publicField(this, "logger");
487
- this.stateManager = config.stateManager, this.eventEmitter = config.eventEmitter, this.debug = config.debug ?? false, this.logger = chunkSMUUAKC3_js.createLogger(loggerPrefix);
494
+ chunkI64FD2EH_js.__publicField(this, "stateManager");
495
+ chunkI64FD2EH_js.__publicField(this, "eventEmitter");
496
+ chunkI64FD2EH_js.__publicField(this, "debug");
497
+ chunkI64FD2EH_js.__publicField(this, "logger");
498
+ this.stateManager = config.stateManager, this.eventEmitter = config.eventEmitter, this.debug = config.debug ?? false, this.logger = chunkI64FD2EH_js.createLogger(loggerPrefix);
488
499
  }
489
500
  /**
490
501
  * Log debug message if debug mode is enabled
@@ -507,7 +518,7 @@ var BaseCollaborator = class {
507
518
  };
508
519
 
509
520
  // src/lib/connection/wallet-authenticity-verifier.ts
510
- var logger2 = chunkSMUUAKC3_js.createLogger("WalletAuthenticity"), WalletAuthenticityVerifier = class {
521
+ var logger2 = chunkI64FD2EH_js.createLogger("WalletAuthenticity"), WalletAuthenticityVerifier = class {
511
522
  /**
512
523
  * Verify a wallet's authenticity using dynamic heuristics
513
524
  *
@@ -717,7 +728,7 @@ var logger2 = chunkSMUUAKC3_js.createLogger("WalletAuthenticity"), WalletAuthent
717
728
  };
718
729
 
719
730
  // src/lib/connection/wallet-detector.ts
720
- var logger3 = chunkSMUUAKC3_js.createLogger("WalletDetector");
731
+ var logger3 = chunkI64FD2EH_js.createLogger("WalletDetector");
721
732
  function hasFeature(wallet, featureName) {
722
733
  return wallet.features != null && wallet.features[featureName] !== void 0;
723
734
  }
@@ -739,7 +750,7 @@ function verifyWalletName(wallet, requestedName) {
739
750
  var WalletDetector = class extends BaseCollaborator {
740
751
  constructor(stateManager, eventEmitter, debug = false) {
741
752
  super({ stateManager, eventEmitter, debug }, "WalletDetector");
742
- chunkSMUUAKC3_js.__publicField(this, "unsubscribers", []);
753
+ chunkI64FD2EH_js.__publicField(this, "unsubscribers", []);
743
754
  }
744
755
  /**
745
756
  * Initialize wallet detection
@@ -864,10 +875,10 @@ function getEventsFeature(wallet) {
864
875
  var ConnectionManager = class extends BaseCollaborator {
865
876
  constructor(stateManager, eventEmitter, walletStorage, debug = false) {
866
877
  super({ stateManager, eventEmitter, debug }, "ConnectionManager");
867
- chunkSMUUAKC3_js.__publicField(this, "walletStorage");
868
- chunkSMUUAKC3_js.__publicField(this, "walletChangeUnsub", null);
869
- chunkSMUUAKC3_js.__publicField(this, "pollTimer", null);
870
- chunkSMUUAKC3_js.__publicField(this, "pollAttempts", 0);
878
+ chunkI64FD2EH_js.__publicField(this, "walletStorage");
879
+ chunkI64FD2EH_js.__publicField(this, "walletChangeUnsub", null);
880
+ chunkI64FD2EH_js.__publicField(this, "pollTimer", null);
881
+ chunkI64FD2EH_js.__publicField(this, "pollAttempts", 0);
871
882
  this.walletStorage = walletStorage;
872
883
  }
873
884
  /**
@@ -1062,13 +1073,13 @@ var ConnectionManager = class extends BaseCollaborator {
1062
1073
  };
1063
1074
 
1064
1075
  // src/lib/connection/auto-connector.ts
1065
- var logger4 = chunkSMUUAKC3_js.createLogger("AutoConnector"), MIN_ADDRESS_LENGTH = 30, AutoConnector = class {
1076
+ var logger4 = chunkI64FD2EH_js.createLogger("AutoConnector"), MIN_ADDRESS_LENGTH = 30, AutoConnector = class {
1066
1077
  constructor(walletDetector, connectionManager, stateManager, walletStorage, debug = false) {
1067
- chunkSMUUAKC3_js.__publicField(this, "walletDetector");
1068
- chunkSMUUAKC3_js.__publicField(this, "connectionManager");
1069
- chunkSMUUAKC3_js.__publicField(this, "stateManager");
1070
- chunkSMUUAKC3_js.__publicField(this, "walletStorage");
1071
- chunkSMUUAKC3_js.__publicField(this, "debug");
1078
+ chunkI64FD2EH_js.__publicField(this, "walletDetector");
1079
+ chunkI64FD2EH_js.__publicField(this, "connectionManager");
1080
+ chunkI64FD2EH_js.__publicField(this, "stateManager");
1081
+ chunkI64FD2EH_js.__publicField(this, "walletStorage");
1082
+ chunkI64FD2EH_js.__publicField(this, "debug");
1072
1083
  this.walletDetector = walletDetector, this.connectionManager = connectionManager, this.stateManager = stateManager, this.walletStorage = walletStorage, this.debug = debug;
1073
1084
  }
1074
1085
  async attemptAutoConnect() {
@@ -1222,7 +1233,7 @@ var logger4 = chunkSMUUAKC3_js.createLogger("AutoConnector"), MIN_ADDRESS_LENGTH
1222
1233
  var ClusterManager = class extends BaseCollaborator {
1223
1234
  constructor(stateManager, eventEmitter, clusterStorage, config, debug = false) {
1224
1235
  super({ stateManager, eventEmitter, debug }, "ClusterManager");
1225
- chunkSMUUAKC3_js.__publicField(this, "clusterStorage");
1236
+ chunkI64FD2EH_js.__publicField(this, "clusterStorage");
1226
1237
  if (this.clusterStorage = clusterStorage, config) {
1227
1238
  let clusters = config.clusters ?? [], initialClusterId = this.clusterStorage?.get() ?? config.initialCluster ?? "solana:mainnet", initialCluster = clusters.find((c) => c.id === initialClusterId) ?? clusters[0] ?? null;
1228
1239
  this.stateManager.updateState({
@@ -1266,9 +1277,9 @@ var ClusterManager = class extends BaseCollaborator {
1266
1277
  var TransactionTracker = class extends BaseCollaborator {
1267
1278
  constructor(stateManager, eventEmitter, maxTransactions = 20, debug = false) {
1268
1279
  super({ stateManager, eventEmitter, debug }, "TransactionTracker");
1269
- chunkSMUUAKC3_js.__publicField(this, "transactions", []);
1270
- chunkSMUUAKC3_js.__publicField(this, "totalTransactions", 0);
1271
- chunkSMUUAKC3_js.__publicField(this, "maxTransactions");
1280
+ chunkI64FD2EH_js.__publicField(this, "transactions", []);
1281
+ chunkI64FD2EH_js.__publicField(this, "totalTransactions", 0);
1282
+ chunkI64FD2EH_js.__publicField(this, "maxTransactions");
1272
1283
  this.maxTransactions = maxTransactions;
1273
1284
  }
1274
1285
  /**
@@ -1322,10 +1333,10 @@ var TransactionTracker = class extends BaseCollaborator {
1322
1333
  // src/lib/health/health-monitor.ts
1323
1334
  var HealthMonitor = class {
1324
1335
  constructor(stateManager, walletStorage, clusterStorage, isInitialized) {
1325
- chunkSMUUAKC3_js.__publicField(this, "stateManager");
1326
- chunkSMUUAKC3_js.__publicField(this, "walletStorage");
1327
- chunkSMUUAKC3_js.__publicField(this, "clusterStorage");
1328
- chunkSMUUAKC3_js.__publicField(this, "isInitialized");
1336
+ chunkI64FD2EH_js.__publicField(this, "stateManager");
1337
+ chunkI64FD2EH_js.__publicField(this, "walletStorage");
1338
+ chunkI64FD2EH_js.__publicField(this, "clusterStorage");
1339
+ chunkI64FD2EH_js.__publicField(this, "isInitialized");
1329
1340
  this.stateManager = stateManager, this.walletStorage = walletStorage, this.clusterStorage = clusterStorage, this.isInitialized = isInitialized ?? (() => true);
1330
1341
  }
1331
1342
  /**
@@ -1377,19 +1388,19 @@ var HealthMonitor = class {
1377
1388
  };
1378
1389
 
1379
1390
  // src/lib/core/connector-client.ts
1380
- var logger5 = chunkSMUUAKC3_js.createLogger("ConnectorClient"), ConnectorClient = class {
1391
+ var logger5 = chunkI64FD2EH_js.createLogger("ConnectorClient"), ConnectorClient = class {
1381
1392
  constructor(config = {}) {
1382
- chunkSMUUAKC3_js.__publicField(this, "stateManager");
1383
- chunkSMUUAKC3_js.__publicField(this, "eventEmitter");
1384
- chunkSMUUAKC3_js.__publicField(this, "walletDetector");
1385
- chunkSMUUAKC3_js.__publicField(this, "connectionManager");
1386
- chunkSMUUAKC3_js.__publicField(this, "autoConnector");
1387
- chunkSMUUAKC3_js.__publicField(this, "clusterManager");
1388
- chunkSMUUAKC3_js.__publicField(this, "transactionTracker");
1389
- chunkSMUUAKC3_js.__publicField(this, "debugMetrics");
1390
- chunkSMUUAKC3_js.__publicField(this, "healthMonitor");
1391
- chunkSMUUAKC3_js.__publicField(this, "initialized", false);
1392
- chunkSMUUAKC3_js.__publicField(this, "config");
1393
+ chunkI64FD2EH_js.__publicField(this, "stateManager");
1394
+ chunkI64FD2EH_js.__publicField(this, "eventEmitter");
1395
+ chunkI64FD2EH_js.__publicField(this, "walletDetector");
1396
+ chunkI64FD2EH_js.__publicField(this, "connectionManager");
1397
+ chunkI64FD2EH_js.__publicField(this, "autoConnector");
1398
+ chunkI64FD2EH_js.__publicField(this, "clusterManager");
1399
+ chunkI64FD2EH_js.__publicField(this, "transactionTracker");
1400
+ chunkI64FD2EH_js.__publicField(this, "debugMetrics");
1401
+ chunkI64FD2EH_js.__publicField(this, "healthMonitor");
1402
+ chunkI64FD2EH_js.__publicField(this, "initialized", false);
1403
+ chunkI64FD2EH_js.__publicField(this, "config");
1393
1404
  this.config = config;
1394
1405
  let initialState = {
1395
1406
  wallets: [],
@@ -1529,6 +1540,12 @@ var logger5 = chunkSMUUAKC3_js.createLogger("ConnectorClient"), ConnectorClient
1529
1540
  totalTransactions: this.transactionTracker.getTotalCount()
1530
1541
  };
1531
1542
  }
1543
+ /**
1544
+ * Get the current connector configuration
1545
+ */
1546
+ getConfig() {
1547
+ return this.config;
1548
+ }
1532
1549
  resetDebugMetrics() {
1533
1550
  this.debugMetrics.resetMetrics();
1534
1551
  }
@@ -1537,7 +1554,7 @@ var logger5 = chunkSMUUAKC3_js.createLogger("ConnectorClient"), ConnectorClient
1537
1554
  }), this.walletDetector.destroy(), this.eventEmitter.offAll(), this.stateManager.clear();
1538
1555
  }
1539
1556
  };
1540
- var logger6 = chunkSMUUAKC3_js.createLogger("ErrorBoundary"), WalletErrorType = /* @__PURE__ */ ((WalletErrorType2) => (WalletErrorType2.CONNECTION_FAILED = "CONNECTION_FAILED", WalletErrorType2.TRANSACTION_FAILED = "TRANSACTION_FAILED", WalletErrorType2.NETWORK_ERROR = "NETWORK_ERROR", WalletErrorType2.WALLET_NOT_FOUND = "WALLET_NOT_FOUND", WalletErrorType2.USER_REJECTED = "USER_REJECTED", WalletErrorType2.INSUFFICIENT_FUNDS = "INSUFFICIENT_FUNDS", WalletErrorType2.UNKNOWN_ERROR = "UNKNOWN_ERROR", WalletErrorType2))(WalletErrorType || {}), ErrorLogger = class {
1557
+ var logger6 = chunkI64FD2EH_js.createLogger("ErrorBoundary"), WalletErrorType = /* @__PURE__ */ ((WalletErrorType2) => (WalletErrorType2.CONNECTION_FAILED = "CONNECTION_FAILED", WalletErrorType2.TRANSACTION_FAILED = "TRANSACTION_FAILED", WalletErrorType2.NETWORK_ERROR = "NETWORK_ERROR", WalletErrorType2.WALLET_NOT_FOUND = "WALLET_NOT_FOUND", WalletErrorType2.USER_REJECTED = "USER_REJECTED", WalletErrorType2.INSUFFICIENT_FUNDS = "INSUFFICIENT_FUNDS", WalletErrorType2.UNKNOWN_ERROR = "UNKNOWN_ERROR", WalletErrorType2))(WalletErrorType || {}), ErrorLogger = class {
1541
1558
  static log(error, errorInfo, context) {
1542
1559
  if (process.env.NODE_ENV === "development" && logger6.error(error.message, {
1543
1560
  error,
@@ -1585,8 +1602,8 @@ function classifyError(error) {
1585
1602
  var ConnectorErrorBoundary = class extends react.Component {
1586
1603
  constructor(props) {
1587
1604
  super(props);
1588
- chunkSMUUAKC3_js.__publicField(this, "retryTimeouts", /* @__PURE__ */ new Set());
1589
- chunkSMUUAKC3_js.__publicField(this, "retry", () => {
1605
+ chunkI64FD2EH_js.__publicField(this, "retryTimeouts", /* @__PURE__ */ new Set());
1606
+ chunkI64FD2EH_js.__publicField(this, "retry", () => {
1590
1607
  let { maxRetries = 3 } = this.props;
1591
1608
  this.state.retryCount >= maxRetries || this.setState((prevState) => ({
1592
1609
  hasError: false,
@@ -1808,11 +1825,11 @@ function withErrorBoundary(Component2, errorBoundaryProps) {
1808
1825
  let WrappedComponent = (props) => /* @__PURE__ */ jsxRuntime.jsx(ConnectorErrorBoundary, { ...errorBoundaryProps, children: /* @__PURE__ */ jsxRuntime.jsx(Component2, { ...props }) });
1809
1826
  return WrappedComponent.displayName = `withErrorBoundary(${Component2.displayName || Component2.name})`, WrappedComponent;
1810
1827
  }
1811
- var logger7 = chunkSMUUAKC3_js.createLogger("Polyfills"), installed = false;
1828
+ var logger7 = chunkI64FD2EH_js.createLogger("Polyfills"), installed = false;
1812
1829
  function installPolyfills() {
1813
1830
  if (!(installed || typeof window > "u"))
1814
1831
  try {
1815
- webcryptoEd25519Polyfill.install(), installed = true, process.env.NODE_ENV === "development" && logger7 && logger7.info("Browser compatibility polyfills installed");
1832
+ webcryptoEd25519Polyfill.install(), installed = true, logger7.info("Browser compatibility polyfills installed");
1816
1833
  } catch (error) {
1817
1834
  logger7 && logger7.warn("Failed to install polyfills", { error }), installed = true;
1818
1835
  }
@@ -1835,6 +1852,8 @@ function getPolyfillStatus() {
1835
1852
  environment: typeof window < "u" ? "browser" : "server"
1836
1853
  };
1837
1854
  }
1855
+
1856
+ // src/utils/formatting.ts
1838
1857
  function formatAddress(address, options = {}) {
1839
1858
  let { length = 4, separator = "..." } = options;
1840
1859
  return !address || address.length <= length * 2 + separator.length ? address : `${address.slice(0, length)}${separator}${address.slice(-length)}`;
@@ -1842,10 +1861,10 @@ function formatAddress(address, options = {}) {
1842
1861
  function formatSOL(lamports, options = {}) {
1843
1862
  let { decimals = 4, suffix = true, fast = false } = options;
1844
1863
  if (fast && typeof lamports == "number") {
1845
- let formatted2 = (lamports / gill.LAMPORTS_PER_SOL).toFixed(decimals);
1864
+ let formatted2 = (lamports / 1e9).toFixed(decimals);
1846
1865
  return suffix ? `${formatted2} SOL` : formatted2;
1847
1866
  }
1848
- let lamportsBigInt = typeof lamports == "bigint" ? lamports : BigInt(lamports), formatted = (Number(lamportsBigInt) / gill.LAMPORTS_PER_SOL).toFixed(decimals);
1867
+ let lamportsBigInt = typeof lamports == "bigint" ? lamports : BigInt(lamports), formatted = (Number(lamportsBigInt) / 1e9).toFixed(decimals);
1849
1868
  return suffix ? `${formatted} SOL` : formatted;
1850
1869
  }
1851
1870
  function formatNumber(value, options = {}) {
@@ -1882,7 +1901,7 @@ function isClipboardAvailable() {
1882
1901
  }
1883
1902
  function validateAddress(address) {
1884
1903
  try {
1885
- return gill.isAddress(address);
1904
+ return addresses.isAddress(address);
1886
1905
  } catch {
1887
1906
  return false;
1888
1907
  }
@@ -1979,7 +1998,7 @@ async function copySignatureToClipboard(signature, options) {
1979
1998
  }
1980
1999
 
1981
2000
  // src/lib/transaction/transaction-validator.ts
1982
- var logger8 = chunkSMUUAKC3_js.createLogger("TransactionValidator"), MAX_TRANSACTION_SIZE = 1232, MIN_TRANSACTION_SIZE = 64, TransactionValidator = class {
2001
+ var logger8 = chunkI64FD2EH_js.createLogger("TransactionValidator"), MAX_TRANSACTION_SIZE = 1232, MIN_TRANSACTION_SIZE = 64, TransactionValidator = class {
1983
2002
  /**
1984
2003
  * Validate a transaction before signing
1985
2004
  *
@@ -2084,7 +2103,7 @@ var logger8 = chunkSMUUAKC3_js.createLogger("TransactionValidator"), MAX_TRANSAC
2084
2103
  };
2085
2104
 
2086
2105
  // src/lib/transaction/transaction-signer.ts
2087
- var logger9 = chunkSMUUAKC3_js.createLogger("TransactionSigner");
2106
+ var logger9 = chunkI64FD2EH_js.createLogger("TransactionSigner");
2088
2107
  function createTransactionSigner(config) {
2089
2108
  let { wallet, account, cluster, eventEmitter } = config;
2090
2109
  if (!wallet || !account)
@@ -2104,7 +2123,7 @@ function createTransactionSigner(config) {
2104
2123
  throw logger9.error("Transaction validation failed", { errors: validation.errors }), Errors.invalidTransaction(validation.errors.join(", "));
2105
2124
  validation.warnings.length > 0 && logger9.warn("Transaction validation warnings", { warnings: validation.warnings });
2106
2125
  try {
2107
- let signFeature = features["solana:signTransaction"], { serialized, wasWeb3js } = chunkSMUUAKC3_js.prepareTransactionForWallet(transaction);
2126
+ let signFeature = features["solana:signTransaction"], { serialized, wasWeb3js } = chunkI64FD2EH_js.prepareTransactionForWallet(transaction);
2108
2127
  logger9.debug("Signing transaction", {
2109
2128
  wasWeb3js,
2110
2129
  serializedLength: serialized.length,
@@ -2157,10 +2176,10 @@ function createTransactionSigner(config) {
2157
2176
  logger9.debug("Found signedTransaction property");
2158
2177
  let bytes = signedTx.signedTransaction;
2159
2178
  if (bytes instanceof Uint8Array)
2160
- return await chunkSMUUAKC3_js.convertSignedTransaction(bytes, wasWeb3js);
2179
+ return await chunkI64FD2EH_js.convertSignedTransaction(bytes, wasWeb3js);
2161
2180
  }
2162
2181
  if (signedTx instanceof Uint8Array)
2163
- return await chunkSMUUAKC3_js.convertSignedTransaction(signedTx, wasWeb3js);
2182
+ return await chunkI64FD2EH_js.convertSignedTransaction(signedTx, wasWeb3js);
2164
2183
  throw logger9.error("Unexpected wallet response format", {
2165
2184
  type: typeof signedTx,
2166
2185
  constructor: signedTx?.constructor?.name
@@ -2177,14 +2196,14 @@ function createTransactionSigner(config) {
2177
2196
  return [];
2178
2197
  if (capabilities.supportsBatchSigning)
2179
2198
  try {
2180
- let signFeature = features["solana:signAllTransactions"], prepared = transactions.map((tx) => chunkSMUUAKC3_js.prepareTransactionForWallet(tx)), serializedTxs = prepared.map((p) => p.serialized), wasWeb3js = prepared[0].wasWeb3js, result = await signFeature.signAllTransactions({
2199
+ let signFeature = features["solana:signAllTransactions"], prepared = transactions.map((tx) => chunkI64FD2EH_js.prepareTransactionForWallet(tx)), serializedTxs = prepared.map((p) => p.serialized), wasWeb3js = prepared[0].wasWeb3js, result = await signFeature.signAllTransactions({
2181
2200
  account,
2182
2201
  transactions: serializedTxs,
2183
2202
  ...cluster ? { chain: cluster.id } : {}
2184
2203
  });
2185
2204
  return await Promise.all(
2186
2205
  result.signedTransactions.map(
2187
- (signedBytes) => chunkSMUUAKC3_js.convertSignedTransaction(signedBytes, wasWeb3js)
2206
+ (signedBytes) => chunkI64FD2EH_js.convertSignedTransaction(signedBytes, wasWeb3js)
2188
2207
  )
2189
2208
  );
2190
2209
  } catch (error) {
@@ -2216,7 +2235,7 @@ function createTransactionSigner(config) {
2216
2235
  if (!capabilities.canSend)
2217
2236
  throw Errors.featureNotSupported("sending transactions");
2218
2237
  try {
2219
- let sendFeature = features["solana:signAndSendTransaction"], { serialized } = chunkSMUUAKC3_js.prepareTransactionForWallet(transaction);
2238
+ let sendFeature = features["solana:signAndSendTransaction"], { serialized } = chunkI64FD2EH_js.prepareTransactionForWallet(transaction);
2220
2239
  eventEmitter && eventEmitter.emit({
2221
2240
  type: "transaction:preparing",
2222
2241
  transaction: serialized,
@@ -2302,7 +2321,7 @@ var TransactionSignerError = class extends TransactionError {
2302
2321
  function isTransactionSignerError(error) {
2303
2322
  return error instanceof TransactionSignerError || error instanceof TransactionError;
2304
2323
  }
2305
- var logger10 = chunkSMUUAKC3_js.createLogger("GillTransactionSigner");
2324
+ var logger10 = chunkI64FD2EH_js.createLogger("KitTransactionSigner");
2306
2325
  function encodeShortVecLength(value) {
2307
2326
  let bytes = [], remaining = value;
2308
2327
  for (; remaining >= 128; )
@@ -2334,7 +2353,7 @@ function extractSignature(signedTx) {
2334
2353
  let signatureStart = bytesConsumed;
2335
2354
  return signedTx.slice(signatureStart, signatureStart + 64);
2336
2355
  }
2337
- if (chunkSMUUAKC3_js.isWeb3jsTransaction(signedTx)) {
2356
+ if (chunkI64FD2EH_js.isWeb3jsTransaction(signedTx)) {
2338
2357
  let signatures = signedTx.signatures;
2339
2358
  if (!signatures || signatures.length === 0)
2340
2359
  throw new Error("No signatures found in web3.js transaction");
@@ -2347,12 +2366,12 @@ function extractSignature(signedTx) {
2347
2366
  }
2348
2367
  throw new Error("Cannot extract signature from transaction format");
2349
2368
  }
2350
- function createGillTransactionSigner(connectorSigner) {
2351
- let signerAddress = gill.address(connectorSigner.address);
2369
+ function createKitTransactionSigner(connectorSigner) {
2370
+ let signerAddress = addresses.address(connectorSigner.address);
2352
2371
  return {
2353
2372
  address: signerAddress,
2354
- async modifyAndSignTransactions(transactions) {
2355
- let transactionData = transactions.map((tx) => {
2373
+ async modifyAndSignTransactions(transactions$1) {
2374
+ let transactionData = transactions$1.map((tx) => {
2356
2375
  let messageBytes = new Uint8Array(tx.messageBytes), numSigners = Object.keys(tx.signatures).length, wireFormat = createTransactionBytesForSigning(messageBytes, numSigners);
2357
2376
  return logger10.debug("Preparing wire format for wallet", {
2358
2377
  signerAddress,
@@ -2375,7 +2394,7 @@ function createGillTransactionSigner(connectorSigner) {
2375
2394
  let signedTxBytes;
2376
2395
  if (signedTx instanceof Uint8Array)
2377
2396
  signedTxBytes = signedTx;
2378
- else if (chunkSMUUAKC3_js.isWeb3jsTransaction(signedTx)) {
2397
+ else if (chunkI64FD2EH_js.isWeb3jsTransaction(signedTx)) {
2379
2398
  let txObj = signedTx;
2380
2399
  if (typeof txObj.serialize == "function")
2381
2400
  signedTxBytes = txObj.serialize();
@@ -2395,7 +2414,7 @@ function createGillTransactionSigner(connectorSigner) {
2395
2414
  modifiedLength: signedTxBytes.length,
2396
2415
  difference: signedTxBytes.length - wireFormat.length
2397
2416
  });
2398
- let walletTransaction = gill.getTransactionDecoder().decode(signedTxBytes), originalWithLifetime = originalTransaction, result = {
2417
+ let walletTransaction = transactions.getTransactionDecoder().decode(signedTxBytes), originalWithLifetime = originalTransaction, result = {
2399
2418
  ...walletTransaction,
2400
2419
  ...originalWithLifetime.lifetimeConstraint ? {
2401
2420
  lifetimeConstraint: originalWithLifetime.lifetimeConstraint
@@ -2404,28 +2423,31 @@ function createGillTransactionSigner(connectorSigner) {
2404
2423
  return logger10.debug("Using modified transaction from wallet", {
2405
2424
  modifiedMessageBytesLength: walletTransaction.messageBytes.length,
2406
2425
  signatures: Object.keys(walletTransaction.signatures)
2407
- }), result;
2426
+ }), transactions.assertIsTransactionWithinSizeLimit(result), result;
2408
2427
  }
2409
- let signatureBytes = extractSignature(signedTxBytes), signatureBase58 = gill.getSignatureFromBytes(signatureBytes);
2410
- return logger10.debug("Extracted signature from wallet (unmodified)", {
2428
+ let extractedSignatureBytes = extractSignature(signedTxBytes), signatureBase58 = codecs.getBase58Decoder().decode(extractedSignatureBytes);
2429
+ logger10.debug("Extracted signature from wallet (unmodified)", {
2411
2430
  signerAddress,
2412
- signatureLength: signatureBytes.length,
2431
+ signatureLength: extractedSignatureBytes.length,
2413
2432
  signatureBase58
2414
2433
  // Human-readable signature for debugging/logging
2415
- }), {
2434
+ });
2435
+ let typedSignatureBytes = extractedSignatureBytes, signedTransaction = {
2416
2436
  ...originalTransaction,
2417
2437
  signatures: Object.freeze({
2418
2438
  ...originalTransaction.signatures,
2419
- [signerAddress]: signatureBytes
2439
+ [signerAddress]: typedSignatureBytes
2420
2440
  })
2421
2441
  };
2442
+ return transactions.assertIsTransactionWithinSizeLimit(signedTransaction), signedTransaction;
2422
2443
  } catch (error) {
2423
- return logger10.error("Failed to decode signed transaction", { error }), originalTransaction;
2444
+ return logger10.error("Failed to decode signed transaction", { error }), transactions.assertIsTransactionWithinSizeLimit(originalTransaction), originalTransaction;
2424
2445
  }
2425
2446
  });
2426
2447
  }
2427
2448
  };
2428
2449
  }
2450
+ var createGillTransactionSigner = createKitTransactionSigner;
2429
2451
 
2430
2452
  exports.ClipboardErrorType = ClipboardErrorType;
2431
2453
  exports.ConfigurationError = ConfigurationError;
@@ -2445,6 +2467,7 @@ exports.copyAddressToClipboard = copyAddressToClipboard;
2445
2467
  exports.copySignatureToClipboard = copySignatureToClipboard;
2446
2468
  exports.copyToClipboard = copyToClipboard;
2447
2469
  exports.createGillTransactionSigner = createGillTransactionSigner;
2470
+ exports.createKitTransactionSigner = createKitTransactionSigner;
2448
2471
  exports.createTransactionSigner = createTransactionSigner;
2449
2472
  exports.formatAddress = formatAddress;
2450
2473
  exports.formatNumber = formatNumber;
@@ -2489,5 +2512,5 @@ exports.toClusterId = toClusterId;
2489
2512
  exports.toConnectorError = toConnectorError;
2490
2513
  exports.truncate = truncate;
2491
2514
  exports.withErrorBoundary = withErrorBoundary;
2492
- //# sourceMappingURL=chunk-TIW3EQPC.js.map
2493
- //# sourceMappingURL=chunk-TIW3EQPC.js.map
2515
+ //# sourceMappingURL=chunk-JUZVCBAI.js.map
2516
+ //# sourceMappingURL=chunk-JUZVCBAI.js.map