@solana/connector 0.1.2 → 0.1.4
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.
- package/LICENSE +21 -0
- package/README.md +460 -1082
- package/dist/{chunk-RIBOPAOD.js → chunk-CLXM6UEE.js} +149 -121
- package/dist/chunk-CLXM6UEE.js.map +1 -0
- package/dist/{chunk-JS4KJ2KK.js → chunk-D6PZY5G6.js} +71 -93
- package/dist/chunk-D6PZY5G6.js.map +1 -0
- package/dist/chunk-LUZWUZ5N.js +2012 -0
- package/dist/chunk-LUZWUZ5N.js.map +1 -0
- package/dist/{chunk-WXYUUCSD.mjs → chunk-N3Q2J2FG.mjs} +53 -71
- package/dist/chunk-N3Q2J2FG.mjs.map +1 -0
- package/dist/chunk-P5MWBDFG.mjs +298 -0
- package/dist/chunk-P5MWBDFG.mjs.map +1 -0
- package/dist/chunk-RIQH5W7D.js +311 -0
- package/dist/chunk-RIQH5W7D.js.map +1 -0
- package/dist/chunk-U64YZRJL.mjs +1984 -0
- package/dist/chunk-U64YZRJL.mjs.map +1 -0
- package/dist/{chunk-4K6QY4HR.mjs → chunk-YTCSTE3Q.mjs} +64 -37
- package/dist/chunk-YTCSTE3Q.mjs.map +1 -0
- package/dist/compat.d.mts +4 -2
- package/dist/compat.d.ts +4 -2
- package/dist/compat.js +3 -3
- package/dist/compat.mjs +1 -1
- package/dist/headless.d.mts +146 -18
- package/dist/headless.d.ts +146 -18
- package/dist/headless.js +144 -111
- package/dist/headless.mjs +3 -2
- package/dist/index.d.mts +6 -5
- package/dist/index.d.ts +6 -5
- package/dist/index.js +207 -126
- package/dist/index.mjs +4 -3
- package/dist/react.d.mts +707 -67
- package/dist/react.d.ts +707 -67
- package/dist/react.js +64 -16
- package/dist/react.mjs +2 -2
- package/dist/{transaction-signer-D3csM_Mf.d.ts → transaction-signer-D9d8nxwb.d.mts} +3 -1
- package/dist/{transaction-signer-D3csM_Mf.d.mts → transaction-signer-D9d8nxwb.d.ts} +3 -1
- package/dist/{wallet-standard-shim-Cg0GVGwu.d.mts → wallet-standard-shim-Cp4vF4oo.d.mts} +133 -6
- package/dist/{wallet-standard-shim-C1tisl9S.d.ts → wallet-standard-shim-DC_Z7DS-.d.ts} +133 -6
- package/package.json +16 -12
- package/dist/chunk-4K6QY4HR.mjs.map +0 -1
- package/dist/chunk-5ZUVZZWU.mjs +0 -180
- package/dist/chunk-5ZUVZZWU.mjs.map +0 -1
- package/dist/chunk-F2QJH5ED.mjs +0 -298
- package/dist/chunk-F2QJH5ED.mjs.map +0 -1
- package/dist/chunk-JS4KJ2KK.js.map +0 -1
- package/dist/chunk-RIBOPAOD.js.map +0 -1
- package/dist/chunk-SJEZHNYF.js +0 -314
- package/dist/chunk-SJEZHNYF.js.map +0 -1
- package/dist/chunk-SMUUAKC3.js +0 -186
- package/dist/chunk-SMUUAKC3.js.map +0 -1
- package/dist/chunk-WXYUUCSD.mjs.map +0 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var gill = require('gill');
|
|
3
|
+
var chunkRIQH5W7D_js = require('./chunk-RIQH5W7D.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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
chunkRIQH5W7D_js.__publicField(this, "context");
|
|
59
|
+
chunkRIQH5W7D_js.__publicField(this, "originalError");
|
|
60
|
+
chunkRIQH5W7D_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
|
-
|
|
76
|
-
|
|
77
|
+
chunkRIQH5W7D_js.__publicField(this, "code");
|
|
78
|
+
chunkRIQH5W7D_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
|
-
|
|
83
|
-
|
|
84
|
+
chunkRIQH5W7D_js.__publicField(this, "code");
|
|
85
|
+
chunkRIQH5W7D_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
|
-
|
|
90
|
-
|
|
91
|
+
chunkRIQH5W7D_js.__publicField(this, "code");
|
|
92
|
+
chunkRIQH5W7D_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
|
-
|
|
97
|
-
|
|
98
|
+
chunkRIQH5W7D_js.__publicField(this, "code");
|
|
99
|
+
chunkRIQH5W7D_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
|
-
|
|
104
|
-
|
|
105
|
+
chunkRIQH5W7D_js.__publicField(this, "code");
|
|
106
|
+
chunkRIQH5W7D_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}` : ""}`, {
|
|
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}`, {
|
|
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
|
|
210
|
+
return chunkRIQH5W7D_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
|
|
260
|
+
return chunkRIQH5W7D_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
|
|
267
|
+
return chunkRIQH5W7D_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
|
-
|
|
319
|
-
|
|
320
|
-
|
|
329
|
+
chunkRIQH5W7D_js.__publicField(this, "state");
|
|
330
|
+
chunkRIQH5W7D_js.__publicField(this, "listeners", /* @__PURE__ */ new Set());
|
|
331
|
+
chunkRIQH5W7D_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 =
|
|
390
|
+
var logger = chunkRIQH5W7D_js.createLogger("EventEmitter"), EventEmitter = class {
|
|
380
391
|
constructor(debug = false) {
|
|
381
|
-
|
|
382
|
-
|
|
392
|
+
chunkRIQH5W7D_js.__publicField(this, "listeners", /* @__PURE__ */ new Set());
|
|
393
|
+
chunkRIQH5W7D_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
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
449
|
+
chunkRIQH5W7D_js.__publicField(this, "stateUpdates", 0);
|
|
450
|
+
chunkRIQH5W7D_js.__publicField(this, "noopUpdates", 0);
|
|
451
|
+
chunkRIQH5W7D_js.__publicField(this, "updateTimes", []);
|
|
452
|
+
chunkRIQH5W7D_js.__publicField(this, "lastUpdateTime", 0);
|
|
453
|
+
chunkRIQH5W7D_js.__publicField(this, "eventListenerCount", 0);
|
|
454
|
+
chunkRIQH5W7D_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
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
this.stateManager = config.stateManager, this.eventEmitter = config.eventEmitter, this.debug = config.debug ?? false, this.logger =
|
|
494
|
+
chunkRIQH5W7D_js.__publicField(this, "stateManager");
|
|
495
|
+
chunkRIQH5W7D_js.__publicField(this, "eventEmitter");
|
|
496
|
+
chunkRIQH5W7D_js.__publicField(this, "debug");
|
|
497
|
+
chunkRIQH5W7D_js.__publicField(this, "logger");
|
|
498
|
+
this.stateManager = config.stateManager, this.eventEmitter = config.eventEmitter, this.debug = config.debug ?? false, this.logger = chunkRIQH5W7D_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 =
|
|
521
|
+
var logger2 = chunkRIQH5W7D_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 =
|
|
731
|
+
var logger3 = chunkRIQH5W7D_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
|
-
|
|
753
|
+
chunkRIQH5W7D_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
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
878
|
+
chunkRIQH5W7D_js.__publicField(this, "walletStorage");
|
|
879
|
+
chunkRIQH5W7D_js.__publicField(this, "walletChangeUnsub", null);
|
|
880
|
+
chunkRIQH5W7D_js.__publicField(this, "pollTimer", null);
|
|
881
|
+
chunkRIQH5W7D_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 =
|
|
1076
|
+
var logger4 = chunkRIQH5W7D_js.createLogger("AutoConnector"), MIN_ADDRESS_LENGTH = 30, AutoConnector = class {
|
|
1066
1077
|
constructor(walletDetector, connectionManager, stateManager, walletStorage, debug = false) {
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1078
|
+
chunkRIQH5W7D_js.__publicField(this, "walletDetector");
|
|
1079
|
+
chunkRIQH5W7D_js.__publicField(this, "connectionManager");
|
|
1080
|
+
chunkRIQH5W7D_js.__publicField(this, "stateManager");
|
|
1081
|
+
chunkRIQH5W7D_js.__publicField(this, "walletStorage");
|
|
1082
|
+
chunkRIQH5W7D_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() {
|
|
@@ -1088,24 +1099,26 @@ var logger4 = chunkSMUUAKC3_js.createLogger("AutoConnector"), MIN_ADDRESS_LENGTH
|
|
|
1088
1099
|
if (this.debug && (logger4.debug("Direct wallet connect result", { result }), logger4.debug("Direct wallet publicKey property", { publicKey: directWallet.publicKey })), result && typeof result == "object" && "accounts" in result && Array.isArray(result.accounts))
|
|
1089
1100
|
return result;
|
|
1090
1101
|
let legacyResult = result;
|
|
1091
|
-
if (legacyResult?.publicKey && typeof legacyResult.publicKey.toString == "function")
|
|
1102
|
+
if (legacyResult?.publicKey && typeof legacyResult.publicKey.toString == "function") {
|
|
1103
|
+
let address = legacyResult.publicKey.toString(), publicKeyBytes = legacyResult.publicKey.toBytes ? legacyResult.publicKey.toBytes() : new Uint8Array();
|
|
1092
1104
|
return {
|
|
1093
1105
|
accounts: [
|
|
1094
1106
|
{
|
|
1095
|
-
address
|
|
1096
|
-
publicKey:
|
|
1107
|
+
address,
|
|
1108
|
+
publicKey: publicKeyBytes,
|
|
1097
1109
|
chains: ["solana:mainnet", "solana:devnet", "solana:testnet"],
|
|
1098
1110
|
features: []
|
|
1099
1111
|
}
|
|
1100
1112
|
]
|
|
1101
1113
|
};
|
|
1114
|
+
}
|
|
1102
1115
|
if (directWallet.publicKey && typeof directWallet.publicKey.toString == "function") {
|
|
1103
|
-
let address = directWallet.publicKey.toString();
|
|
1116
|
+
let address = directWallet.publicKey.toString(), publicKeyBytes = directWallet.publicKey.toBytes ? directWallet.publicKey.toBytes() : new Uint8Array();
|
|
1104
1117
|
return this.debug && logger4.debug("Using legacy wallet pattern - publicKey from wallet object"), {
|
|
1105
1118
|
accounts: [
|
|
1106
1119
|
{
|
|
1107
1120
|
address,
|
|
1108
|
-
publicKey:
|
|
1121
|
+
publicKey: publicKeyBytes,
|
|
1109
1122
|
chains: ["solana:mainnet", "solana:devnet", "solana:testnet"],
|
|
1110
1123
|
features: []
|
|
1111
1124
|
}
|
|
@@ -1113,16 +1126,20 @@ var logger4 = chunkSMUUAKC3_js.createLogger("AutoConnector"), MIN_ADDRESS_LENGTH
|
|
|
1113
1126
|
};
|
|
1114
1127
|
}
|
|
1115
1128
|
let publicKeyResult = result;
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1129
|
+
if (publicKeyResult && typeof publicKeyResult.toString == "function" && publicKeyResult.toString().length > MIN_ADDRESS_LENGTH) {
|
|
1130
|
+
let address = publicKeyResult.toString(), publicKeyBytes = publicKeyResult.toBytes ? publicKeyResult.toBytes() : new Uint8Array();
|
|
1131
|
+
return {
|
|
1132
|
+
accounts: [
|
|
1133
|
+
{
|
|
1134
|
+
address,
|
|
1135
|
+
publicKey: publicKeyBytes,
|
|
1136
|
+
chains: ["solana:mainnet", "solana:devnet", "solana:testnet"],
|
|
1137
|
+
features: []
|
|
1138
|
+
}
|
|
1139
|
+
]
|
|
1140
|
+
};
|
|
1141
|
+
}
|
|
1142
|
+
return this.debug && logger4.error("Legacy wallet: No valid publicKey found in any expected location"), { accounts: [] };
|
|
1126
1143
|
}
|
|
1127
1144
|
}), directWallet.disconnect) {
|
|
1128
1145
|
let disconnectFn = directWallet.disconnect;
|
|
@@ -1158,7 +1175,7 @@ var logger4 = chunkSMUUAKC3_js.createLogger("AutoConnector"), MIN_ADDRESS_LENGTH
|
|
|
1158
1175
|
features,
|
|
1159
1176
|
accounts: []
|
|
1160
1177
|
};
|
|
1161
|
-
|
|
1178
|
+
this.stateManager.updateState(
|
|
1162
1179
|
{
|
|
1163
1180
|
wallets: [
|
|
1164
1181
|
{
|
|
@@ -1169,8 +1186,13 @@ var logger4 = chunkSMUUAKC3_js.createLogger("AutoConnector"), MIN_ADDRESS_LENGTH
|
|
|
1169
1186
|
]
|
|
1170
1187
|
},
|
|
1171
1188
|
true
|
|
1172
|
-
)
|
|
1173
|
-
|
|
1189
|
+
);
|
|
1190
|
+
let walletsApi = getWalletsRegistry(), registryWallet = walletsApi.get().find((w) => w.name === storedWalletName), walletToUse = registryWallet || wallet;
|
|
1191
|
+
return this.debug && logger4.info("Attempting to connect via instant auto-connect", {
|
|
1192
|
+
walletName: storedWalletName,
|
|
1193
|
+
usingRegistry: !!registryWallet
|
|
1194
|
+
}), await this.connectionManager.connect(walletToUse, storedWalletName), this.debug && logger4.info("Instant auto-connect successful", { walletName: storedWalletName }), setTimeout(() => {
|
|
1195
|
+
let ws = walletsApi.get();
|
|
1174
1196
|
this.debug && logger4.debug("Checking for wallet standard update", {
|
|
1175
1197
|
wsLength: ws.length,
|
|
1176
1198
|
currentWalletsLength: this.stateManager.getSnapshot().wallets.length,
|
|
@@ -1211,7 +1233,7 @@ var logger4 = chunkSMUUAKC3_js.createLogger("AutoConnector"), MIN_ADDRESS_LENGTH
|
|
|
1211
1233
|
var ClusterManager = class extends BaseCollaborator {
|
|
1212
1234
|
constructor(stateManager, eventEmitter, clusterStorage, config, debug = false) {
|
|
1213
1235
|
super({ stateManager, eventEmitter, debug }, "ClusterManager");
|
|
1214
|
-
|
|
1236
|
+
chunkRIQH5W7D_js.__publicField(this, "clusterStorage");
|
|
1215
1237
|
if (this.clusterStorage = clusterStorage, config) {
|
|
1216
1238
|
let clusters = config.clusters ?? [], initialClusterId = this.clusterStorage?.get() ?? config.initialCluster ?? "solana:mainnet", initialCluster = clusters.find((c) => c.id === initialClusterId) ?? clusters[0] ?? null;
|
|
1217
1239
|
this.stateManager.updateState({
|
|
@@ -1255,9 +1277,9 @@ var ClusterManager = class extends BaseCollaborator {
|
|
|
1255
1277
|
var TransactionTracker = class extends BaseCollaborator {
|
|
1256
1278
|
constructor(stateManager, eventEmitter, maxTransactions = 20, debug = false) {
|
|
1257
1279
|
super({ stateManager, eventEmitter, debug }, "TransactionTracker");
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1280
|
+
chunkRIQH5W7D_js.__publicField(this, "transactions", []);
|
|
1281
|
+
chunkRIQH5W7D_js.__publicField(this, "totalTransactions", 0);
|
|
1282
|
+
chunkRIQH5W7D_js.__publicField(this, "maxTransactions");
|
|
1261
1283
|
this.maxTransactions = maxTransactions;
|
|
1262
1284
|
}
|
|
1263
1285
|
/**
|
|
@@ -1311,10 +1333,10 @@ var TransactionTracker = class extends BaseCollaborator {
|
|
|
1311
1333
|
// src/lib/health/health-monitor.ts
|
|
1312
1334
|
var HealthMonitor = class {
|
|
1313
1335
|
constructor(stateManager, walletStorage, clusterStorage, isInitialized) {
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1336
|
+
chunkRIQH5W7D_js.__publicField(this, "stateManager");
|
|
1337
|
+
chunkRIQH5W7D_js.__publicField(this, "walletStorage");
|
|
1338
|
+
chunkRIQH5W7D_js.__publicField(this, "clusterStorage");
|
|
1339
|
+
chunkRIQH5W7D_js.__publicField(this, "isInitialized");
|
|
1318
1340
|
this.stateManager = stateManager, this.walletStorage = walletStorage, this.clusterStorage = clusterStorage, this.isInitialized = isInitialized ?? (() => true);
|
|
1319
1341
|
}
|
|
1320
1342
|
/**
|
|
@@ -1366,19 +1388,19 @@ var HealthMonitor = class {
|
|
|
1366
1388
|
};
|
|
1367
1389
|
|
|
1368
1390
|
// src/lib/core/connector-client.ts
|
|
1369
|
-
var logger5 =
|
|
1391
|
+
var logger5 = chunkRIQH5W7D_js.createLogger("ConnectorClient"), ConnectorClient = class {
|
|
1370
1392
|
constructor(config = {}) {
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1393
|
+
chunkRIQH5W7D_js.__publicField(this, "stateManager");
|
|
1394
|
+
chunkRIQH5W7D_js.__publicField(this, "eventEmitter");
|
|
1395
|
+
chunkRIQH5W7D_js.__publicField(this, "walletDetector");
|
|
1396
|
+
chunkRIQH5W7D_js.__publicField(this, "connectionManager");
|
|
1397
|
+
chunkRIQH5W7D_js.__publicField(this, "autoConnector");
|
|
1398
|
+
chunkRIQH5W7D_js.__publicField(this, "clusterManager");
|
|
1399
|
+
chunkRIQH5W7D_js.__publicField(this, "transactionTracker");
|
|
1400
|
+
chunkRIQH5W7D_js.__publicField(this, "debugMetrics");
|
|
1401
|
+
chunkRIQH5W7D_js.__publicField(this, "healthMonitor");
|
|
1402
|
+
chunkRIQH5W7D_js.__publicField(this, "initialized", false);
|
|
1403
|
+
chunkRIQH5W7D_js.__publicField(this, "config");
|
|
1382
1404
|
this.config = config;
|
|
1383
1405
|
let initialState = {
|
|
1384
1406
|
wallets: [],
|
|
@@ -1526,7 +1548,7 @@ var logger5 = chunkSMUUAKC3_js.createLogger("ConnectorClient"), ConnectorClient
|
|
|
1526
1548
|
}), this.walletDetector.destroy(), this.eventEmitter.offAll(), this.stateManager.clear();
|
|
1527
1549
|
}
|
|
1528
1550
|
};
|
|
1529
|
-
var logger6 =
|
|
1551
|
+
var logger6 = chunkRIQH5W7D_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 {
|
|
1530
1552
|
static log(error, errorInfo, context) {
|
|
1531
1553
|
if (process.env.NODE_ENV === "development" && logger6.error(error.message, {
|
|
1532
1554
|
error,
|
|
@@ -1574,8 +1596,8 @@ function classifyError(error) {
|
|
|
1574
1596
|
var ConnectorErrorBoundary = class extends react.Component {
|
|
1575
1597
|
constructor(props) {
|
|
1576
1598
|
super(props);
|
|
1577
|
-
|
|
1578
|
-
|
|
1599
|
+
chunkRIQH5W7D_js.__publicField(this, "retryTimeouts", /* @__PURE__ */ new Set());
|
|
1600
|
+
chunkRIQH5W7D_js.__publicField(this, "retry", () => {
|
|
1579
1601
|
let { maxRetries = 3 } = this.props;
|
|
1580
1602
|
this.state.retryCount >= maxRetries || this.setState((prevState) => ({
|
|
1581
1603
|
hasError: false,
|
|
@@ -1797,7 +1819,7 @@ function withErrorBoundary(Component2, errorBoundaryProps) {
|
|
|
1797
1819
|
let WrappedComponent = (props) => /* @__PURE__ */ jsxRuntime.jsx(ConnectorErrorBoundary, { ...errorBoundaryProps, children: /* @__PURE__ */ jsxRuntime.jsx(Component2, { ...props }) });
|
|
1798
1820
|
return WrappedComponent.displayName = `withErrorBoundary(${Component2.displayName || Component2.name})`, WrappedComponent;
|
|
1799
1821
|
}
|
|
1800
|
-
var logger7 =
|
|
1822
|
+
var logger7 = chunkRIQH5W7D_js.createLogger("Polyfills"), installed = false;
|
|
1801
1823
|
function installPolyfills() {
|
|
1802
1824
|
if (!(installed || typeof window > "u"))
|
|
1803
1825
|
try {
|
|
@@ -1824,6 +1846,8 @@ function getPolyfillStatus() {
|
|
|
1824
1846
|
environment: typeof window < "u" ? "browser" : "server"
|
|
1825
1847
|
};
|
|
1826
1848
|
}
|
|
1849
|
+
|
|
1850
|
+
// src/utils/formatting.ts
|
|
1827
1851
|
function formatAddress(address, options = {}) {
|
|
1828
1852
|
let { length = 4, separator = "..." } = options;
|
|
1829
1853
|
return !address || address.length <= length * 2 + separator.length ? address : `${address.slice(0, length)}${separator}${address.slice(-length)}`;
|
|
@@ -1831,10 +1855,10 @@ function formatAddress(address, options = {}) {
|
|
|
1831
1855
|
function formatSOL(lamports, options = {}) {
|
|
1832
1856
|
let { decimals = 4, suffix = true, fast = false } = options;
|
|
1833
1857
|
if (fast && typeof lamports == "number") {
|
|
1834
|
-
let formatted2 = (lamports /
|
|
1858
|
+
let formatted2 = (lamports / 1e9).toFixed(decimals);
|
|
1835
1859
|
return suffix ? `${formatted2} SOL` : formatted2;
|
|
1836
1860
|
}
|
|
1837
|
-
let lamportsBigInt = typeof lamports == "bigint" ? lamports : BigInt(lamports), formatted = (Number(lamportsBigInt) /
|
|
1861
|
+
let lamportsBigInt = typeof lamports == "bigint" ? lamports : BigInt(lamports), formatted = (Number(lamportsBigInt) / 1e9).toFixed(decimals);
|
|
1838
1862
|
return suffix ? `${formatted} SOL` : formatted;
|
|
1839
1863
|
}
|
|
1840
1864
|
function formatNumber(value, options = {}) {
|
|
@@ -1871,7 +1895,7 @@ function isClipboardAvailable() {
|
|
|
1871
1895
|
}
|
|
1872
1896
|
function validateAddress(address) {
|
|
1873
1897
|
try {
|
|
1874
|
-
return
|
|
1898
|
+
return addresses.isAddress(address);
|
|
1875
1899
|
} catch {
|
|
1876
1900
|
return false;
|
|
1877
1901
|
}
|
|
@@ -1968,7 +1992,7 @@ async function copySignatureToClipboard(signature, options) {
|
|
|
1968
1992
|
}
|
|
1969
1993
|
|
|
1970
1994
|
// src/lib/transaction/transaction-validator.ts
|
|
1971
|
-
var logger8 =
|
|
1995
|
+
var logger8 = chunkRIQH5W7D_js.createLogger("TransactionValidator"), MAX_TRANSACTION_SIZE = 1232, MIN_TRANSACTION_SIZE = 64, TransactionValidator = class {
|
|
1972
1996
|
/**
|
|
1973
1997
|
* Validate a transaction before signing
|
|
1974
1998
|
*
|
|
@@ -2073,7 +2097,7 @@ var logger8 = chunkSMUUAKC3_js.createLogger("TransactionValidator"), MAX_TRANSAC
|
|
|
2073
2097
|
};
|
|
2074
2098
|
|
|
2075
2099
|
// src/lib/transaction/transaction-signer.ts
|
|
2076
|
-
var logger9 =
|
|
2100
|
+
var logger9 = chunkRIQH5W7D_js.createLogger("TransactionSigner");
|
|
2077
2101
|
function createTransactionSigner(config) {
|
|
2078
2102
|
let { wallet, account, cluster, eventEmitter } = config;
|
|
2079
2103
|
if (!wallet || !account)
|
|
@@ -2093,7 +2117,7 @@ function createTransactionSigner(config) {
|
|
|
2093
2117
|
throw logger9.error("Transaction validation failed", { errors: validation.errors }), Errors.invalidTransaction(validation.errors.join(", "));
|
|
2094
2118
|
validation.warnings.length > 0 && logger9.warn("Transaction validation warnings", { warnings: validation.warnings });
|
|
2095
2119
|
try {
|
|
2096
|
-
let signFeature = features["solana:signTransaction"], { serialized, wasWeb3js } =
|
|
2120
|
+
let signFeature = features["solana:signTransaction"], { serialized, wasWeb3js } = chunkRIQH5W7D_js.prepareTransactionForWallet(transaction);
|
|
2097
2121
|
logger9.debug("Signing transaction", {
|
|
2098
2122
|
wasWeb3js,
|
|
2099
2123
|
serializedLength: serialized.length,
|
|
@@ -2146,10 +2170,10 @@ function createTransactionSigner(config) {
|
|
|
2146
2170
|
logger9.debug("Found signedTransaction property");
|
|
2147
2171
|
let bytes = signedTx.signedTransaction;
|
|
2148
2172
|
if (bytes instanceof Uint8Array)
|
|
2149
|
-
return await
|
|
2173
|
+
return await chunkRIQH5W7D_js.convertSignedTransaction(bytes, wasWeb3js);
|
|
2150
2174
|
}
|
|
2151
2175
|
if (signedTx instanceof Uint8Array)
|
|
2152
|
-
return await
|
|
2176
|
+
return await chunkRIQH5W7D_js.convertSignedTransaction(signedTx, wasWeb3js);
|
|
2153
2177
|
throw logger9.error("Unexpected wallet response format", {
|
|
2154
2178
|
type: typeof signedTx,
|
|
2155
2179
|
constructor: signedTx?.constructor?.name
|
|
@@ -2166,14 +2190,14 @@ function createTransactionSigner(config) {
|
|
|
2166
2190
|
return [];
|
|
2167
2191
|
if (capabilities.supportsBatchSigning)
|
|
2168
2192
|
try {
|
|
2169
|
-
let signFeature = features["solana:signAllTransactions"], prepared = transactions.map((tx) =>
|
|
2193
|
+
let signFeature = features["solana:signAllTransactions"], prepared = transactions.map((tx) => chunkRIQH5W7D_js.prepareTransactionForWallet(tx)), serializedTxs = prepared.map((p) => p.serialized), wasWeb3js = prepared[0].wasWeb3js, result = await signFeature.signAllTransactions({
|
|
2170
2194
|
account,
|
|
2171
2195
|
transactions: serializedTxs,
|
|
2172
2196
|
...cluster ? { chain: cluster.id } : {}
|
|
2173
2197
|
});
|
|
2174
2198
|
return await Promise.all(
|
|
2175
2199
|
result.signedTransactions.map(
|
|
2176
|
-
(signedBytes) =>
|
|
2200
|
+
(signedBytes) => chunkRIQH5W7D_js.convertSignedTransaction(signedBytes, wasWeb3js)
|
|
2177
2201
|
)
|
|
2178
2202
|
);
|
|
2179
2203
|
} catch (error) {
|
|
@@ -2205,7 +2229,7 @@ function createTransactionSigner(config) {
|
|
|
2205
2229
|
if (!capabilities.canSend)
|
|
2206
2230
|
throw Errors.featureNotSupported("sending transactions");
|
|
2207
2231
|
try {
|
|
2208
|
-
let sendFeature = features["solana:signAndSendTransaction"], { serialized } =
|
|
2232
|
+
let sendFeature = features["solana:signAndSendTransaction"], { serialized } = chunkRIQH5W7D_js.prepareTransactionForWallet(transaction);
|
|
2209
2233
|
eventEmitter && eventEmitter.emit({
|
|
2210
2234
|
type: "transaction:preparing",
|
|
2211
2235
|
transaction: serialized,
|
|
@@ -2291,7 +2315,7 @@ var TransactionSignerError = class extends TransactionError {
|
|
|
2291
2315
|
function isTransactionSignerError(error) {
|
|
2292
2316
|
return error instanceof TransactionSignerError || error instanceof TransactionError;
|
|
2293
2317
|
}
|
|
2294
|
-
var logger10 =
|
|
2318
|
+
var logger10 = chunkRIQH5W7D_js.createLogger("KitTransactionSigner");
|
|
2295
2319
|
function encodeShortVecLength(value) {
|
|
2296
2320
|
let bytes = [], remaining = value;
|
|
2297
2321
|
for (; remaining >= 128; )
|
|
@@ -2323,7 +2347,7 @@ function extractSignature(signedTx) {
|
|
|
2323
2347
|
let signatureStart = bytesConsumed;
|
|
2324
2348
|
return signedTx.slice(signatureStart, signatureStart + 64);
|
|
2325
2349
|
}
|
|
2326
|
-
if (
|
|
2350
|
+
if (chunkRIQH5W7D_js.isWeb3jsTransaction(signedTx)) {
|
|
2327
2351
|
let signatures = signedTx.signatures;
|
|
2328
2352
|
if (!signatures || signatures.length === 0)
|
|
2329
2353
|
throw new Error("No signatures found in web3.js transaction");
|
|
@@ -2336,12 +2360,12 @@ function extractSignature(signedTx) {
|
|
|
2336
2360
|
}
|
|
2337
2361
|
throw new Error("Cannot extract signature from transaction format");
|
|
2338
2362
|
}
|
|
2339
|
-
function
|
|
2340
|
-
let signerAddress =
|
|
2363
|
+
function createKitTransactionSigner(connectorSigner) {
|
|
2364
|
+
let signerAddress = addresses.address(connectorSigner.address);
|
|
2341
2365
|
return {
|
|
2342
2366
|
address: signerAddress,
|
|
2343
|
-
async modifyAndSignTransactions(transactions) {
|
|
2344
|
-
let transactionData = transactions.map((tx) => {
|
|
2367
|
+
async modifyAndSignTransactions(transactions$1) {
|
|
2368
|
+
let transactionData = transactions$1.map((tx) => {
|
|
2345
2369
|
let messageBytes = new Uint8Array(tx.messageBytes), numSigners = Object.keys(tx.signatures).length, wireFormat = createTransactionBytesForSigning(messageBytes, numSigners);
|
|
2346
2370
|
return logger10.debug("Preparing wire format for wallet", {
|
|
2347
2371
|
signerAddress,
|
|
@@ -2364,7 +2388,7 @@ function createGillTransactionSigner(connectorSigner) {
|
|
|
2364
2388
|
let signedTxBytes;
|
|
2365
2389
|
if (signedTx instanceof Uint8Array)
|
|
2366
2390
|
signedTxBytes = signedTx;
|
|
2367
|
-
else if (
|
|
2391
|
+
else if (chunkRIQH5W7D_js.isWeb3jsTransaction(signedTx)) {
|
|
2368
2392
|
let txObj = signedTx;
|
|
2369
2393
|
if (typeof txObj.serialize == "function")
|
|
2370
2394
|
signedTxBytes = txObj.serialize();
|
|
@@ -2384,7 +2408,7 @@ function createGillTransactionSigner(connectorSigner) {
|
|
|
2384
2408
|
modifiedLength: signedTxBytes.length,
|
|
2385
2409
|
difference: signedTxBytes.length - wireFormat.length
|
|
2386
2410
|
});
|
|
2387
|
-
let walletTransaction =
|
|
2411
|
+
let walletTransaction = transactions.getTransactionDecoder().decode(signedTxBytes), originalWithLifetime = originalTransaction, result = {
|
|
2388
2412
|
...walletTransaction,
|
|
2389
2413
|
...originalWithLifetime.lifetimeConstraint ? {
|
|
2390
2414
|
lifetimeConstraint: originalWithLifetime.lifetimeConstraint
|
|
@@ -2393,28 +2417,31 @@ function createGillTransactionSigner(connectorSigner) {
|
|
|
2393
2417
|
return logger10.debug("Using modified transaction from wallet", {
|
|
2394
2418
|
modifiedMessageBytesLength: walletTransaction.messageBytes.length,
|
|
2395
2419
|
signatures: Object.keys(walletTransaction.signatures)
|
|
2396
|
-
}), result;
|
|
2420
|
+
}), transactions.assertIsTransactionWithinSizeLimit(result), result;
|
|
2397
2421
|
}
|
|
2398
|
-
let
|
|
2399
|
-
|
|
2422
|
+
let extractedSignatureBytes = extractSignature(signedTxBytes), signatureBase58 = codecs.getBase58Decoder().decode(extractedSignatureBytes);
|
|
2423
|
+
logger10.debug("Extracted signature from wallet (unmodified)", {
|
|
2400
2424
|
signerAddress,
|
|
2401
|
-
signatureLength:
|
|
2425
|
+
signatureLength: extractedSignatureBytes.length,
|
|
2402
2426
|
signatureBase58
|
|
2403
2427
|
// Human-readable signature for debugging/logging
|
|
2404
|
-
})
|
|
2428
|
+
});
|
|
2429
|
+
let typedSignatureBytes = extractedSignatureBytes, signedTransaction = {
|
|
2405
2430
|
...originalTransaction,
|
|
2406
2431
|
signatures: Object.freeze({
|
|
2407
2432
|
...originalTransaction.signatures,
|
|
2408
|
-
[signerAddress]:
|
|
2433
|
+
[signerAddress]: typedSignatureBytes
|
|
2409
2434
|
})
|
|
2410
2435
|
};
|
|
2436
|
+
return transactions.assertIsTransactionWithinSizeLimit(signedTransaction), signedTransaction;
|
|
2411
2437
|
} catch (error) {
|
|
2412
|
-
return logger10.error("Failed to decode signed transaction", { error }), originalTransaction;
|
|
2438
|
+
return logger10.error("Failed to decode signed transaction", { error }), transactions.assertIsTransactionWithinSizeLimit(originalTransaction), originalTransaction;
|
|
2413
2439
|
}
|
|
2414
2440
|
});
|
|
2415
2441
|
}
|
|
2416
2442
|
};
|
|
2417
2443
|
}
|
|
2444
|
+
var createGillTransactionSigner = createKitTransactionSigner;
|
|
2418
2445
|
|
|
2419
2446
|
exports.ClipboardErrorType = ClipboardErrorType;
|
|
2420
2447
|
exports.ConfigurationError = ConfigurationError;
|
|
@@ -2434,6 +2461,7 @@ exports.copyAddressToClipboard = copyAddressToClipboard;
|
|
|
2434
2461
|
exports.copySignatureToClipboard = copySignatureToClipboard;
|
|
2435
2462
|
exports.copyToClipboard = copyToClipboard;
|
|
2436
2463
|
exports.createGillTransactionSigner = createGillTransactionSigner;
|
|
2464
|
+
exports.createKitTransactionSigner = createKitTransactionSigner;
|
|
2437
2465
|
exports.createTransactionSigner = createTransactionSigner;
|
|
2438
2466
|
exports.formatAddress = formatAddress;
|
|
2439
2467
|
exports.formatNumber = formatNumber;
|
|
@@ -2478,5 +2506,5 @@ exports.toClusterId = toClusterId;
|
|
|
2478
2506
|
exports.toConnectorError = toConnectorError;
|
|
2479
2507
|
exports.truncate = truncate;
|
|
2480
2508
|
exports.withErrorBoundary = withErrorBoundary;
|
|
2481
|
-
//# sourceMappingURL=chunk-
|
|
2482
|
-
//# sourceMappingURL=chunk-
|
|
2509
|
+
//# sourceMappingURL=chunk-CLXM6UEE.js.map
|
|
2510
|
+
//# sourceMappingURL=chunk-CLXM6UEE.js.map
|