@meshconnect/uwc-core 0.9.0 → 0.9.1-snapshot.95b8dbe
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/README.md +924 -0
- package/dist/events.d.ts +71 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +2 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/managers/event-manager.d.ts +22 -3
- package/dist/managers/event-manager.d.ts.map +1 -1
- package/dist/managers/event-manager.js +63 -7
- package/dist/managers/event-manager.js.map +1 -1
- package/dist/services/connection-service.d.ts +5 -2
- package/dist/services/connection-service.d.ts.map +1 -1
- package/dist/services/connection-service.js +19 -7
- package/dist/services/connection-service.js.map +1 -1
- package/dist/services/network-switch-service.d.ts +2 -1
- package/dist/services/network-switch-service.d.ts.map +1 -1
- package/dist/services/network-switch-service.js +15 -3
- package/dist/services/network-switch-service.js.map +1 -1
- package/dist/services/signature-service.d.ts +3 -1
- package/dist/services/signature-service.d.ts.map +1 -1
- package/dist/services/signature-service.js +10 -5
- package/dist/services/signature-service.js.map +1 -1
- package/dist/services/transaction-service.d.ts +3 -1
- package/dist/services/transaction-service.d.ts.map +1 -1
- package/dist/services/transaction-service.js +10 -5
- package/dist/services/transaction-service.js.map +1 -1
- package/dist/services/wallet-capabilities-service.d.ts +2 -1
- package/dist/services/wallet-capabilities-service.d.ts.map +1 -1
- package/dist/services/wallet-capabilities-service.js +9 -2
- package/dist/services/wallet-capabilities-service.js.map +1 -1
- package/dist/universal-wallet-connector.d.ts +52 -6
- package/dist/universal-wallet-connector.d.ts.map +1 -1
- package/dist/universal-wallet-connector.js +271 -177
- package/dist/universal-wallet-connector.js.map +1 -1
- package/package.json +5 -5
- package/src/events.ts +73 -0
- package/src/index.ts +11 -3
- package/src/managers/event-manager.test.ts +70 -0
- package/src/managers/event-manager.ts +80 -9
- package/src/services/connection-service.test.ts +13 -19
- package/src/services/connection-service.ts +34 -7
- package/src/services/network-switch-service.ts +22 -3
- package/src/services/signature-service.ts +13 -5
- package/src/services/transaction-service.ts +13 -5
- package/src/services/wallet-capabilities-service.ts +14 -2
- package/src/universal-wallet-connector.test.ts +87 -3
- package/src/universal-wallet-connector.ts +395 -204
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { WalletConnectorError } from '@meshconnect/uwc-types';
|
|
1
2
|
import { InjectedConnector } from '@meshconnect/uwc-injected-connector';
|
|
2
3
|
import { WalletConnectConnector } from '@meshconnect/uwc-wallet-connect-connector';
|
|
3
4
|
import { TonConnectConnector } from '@meshconnect/uwc-ton-connector';
|
|
@@ -10,6 +11,7 @@ import { TransactionService } from './services/transaction-service';
|
|
|
10
11
|
import { WalletCapabilitiesService } from './services/wallet-capabilities-service';
|
|
11
12
|
import { createNetworkRpcMap } from './utils/network-rpc-utils';
|
|
12
13
|
export class UniversalWalletConnector {
|
|
14
|
+
static instance = null;
|
|
13
15
|
static instanceCount = 0;
|
|
14
16
|
static hasWarnedAboutMultipleInstances = false;
|
|
15
17
|
sessionManager;
|
|
@@ -25,48 +27,93 @@ export class UniversalWalletConnector {
|
|
|
25
27
|
usingIntegratedBrowser;
|
|
26
28
|
detectionComplete = false;
|
|
27
29
|
networkRpcMap;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Recommended entry point: returns the shared instance, creating it on the
|
|
32
|
+
* first call. Subsequent calls ignore the `config` argument — use
|
|
33
|
+
* `resetInstance()` first if you need to reinitialise (e.g. in tests).
|
|
34
|
+
*/
|
|
35
|
+
static getInstance(config) {
|
|
36
|
+
if (UniversalWalletConnector.instance) {
|
|
37
|
+
return UniversalWalletConnector.instance;
|
|
38
|
+
}
|
|
39
|
+
if (!config) {
|
|
40
|
+
throw new Error('UniversalWalletConnector.getInstance() was called before an instance existed. Pass a config on the first call.');
|
|
41
|
+
}
|
|
42
|
+
return new UniversalWalletConnector(config);
|
|
43
|
+
}
|
|
44
|
+
/** Clear the shared instance reference. Primarily for tests and full-logout flows. */
|
|
45
|
+
static resetInstance() {
|
|
46
|
+
UniversalWalletConnector.instance = null;
|
|
47
|
+
UniversalWalletConnector.instanceCount = 0;
|
|
48
|
+
UniversalWalletConnector.hasWarnedAboutMultipleInstances = false;
|
|
49
|
+
}
|
|
50
|
+
constructor(networksOrConfig, wallets = [], usingIntegratedBrowser = false, walletConnectConfig, tonConnectConfig) {
|
|
51
|
+
if (!networksOrConfig) {
|
|
52
|
+
throw new Error('Universal Wallet Connector must be initialized with at least one network');
|
|
53
|
+
}
|
|
54
|
+
let config;
|
|
55
|
+
if (Array.isArray(networksOrConfig)) {
|
|
56
|
+
config = {
|
|
57
|
+
networks: networksOrConfig,
|
|
58
|
+
wallets,
|
|
59
|
+
usingIntegratedBrowser
|
|
60
|
+
};
|
|
61
|
+
if (walletConnectConfig) {
|
|
62
|
+
config.walletConnectConfig = walletConnectConfig;
|
|
63
|
+
}
|
|
64
|
+
if (tonConnectConfig) {
|
|
65
|
+
config.tonConnectConfig = tonConnectConfig;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
config = networksOrConfig;
|
|
70
|
+
}
|
|
71
|
+
const { networks, wallets: configuredWallets = [], usingIntegratedBrowser: configuredUsingIntegratedBrowser = false, walletConnectConfig: configuredWalletConnectConfig, tonConnectConfig: configuredTonConnectConfig } = config;
|
|
72
|
+
// Track instance creation and warn on duplicates
|
|
30
73
|
UniversalWalletConnector.instanceCount++;
|
|
31
|
-
// Warn about multiple instances
|
|
32
74
|
if (UniversalWalletConnector.instanceCount > 1 &&
|
|
33
75
|
!UniversalWalletConnector.hasWarnedAboutMultipleInstances) {
|
|
34
76
|
// eslint-disable-next-line no-console
|
|
35
77
|
console.error(`⚠️ WARNING: Multiple instances of UniversalWalletConnector detected (${UniversalWalletConnector.instanceCount} instances). ` +
|
|
36
78
|
'This can lead to state inconsistencies and unexpected behavior. ' +
|
|
37
79
|
'Please ensure you create only one instance and reuse it throughout your application. ' +
|
|
38
|
-
'
|
|
80
|
+
'Use UniversalWalletConnector.getInstance(config) instead of `new` to guarantee a single instance. ' +
|
|
39
81
|
'You can ignore this warning if you are using React Strict Mode, which intentionally mounts components twice in development to help identify side effects.');
|
|
40
82
|
UniversalWalletConnector.hasWarnedAboutMultipleInstances = true;
|
|
41
83
|
}
|
|
42
84
|
if (!networks) {
|
|
43
85
|
throw new Error('Universal Wallet Connector must be initialized with at least one network');
|
|
44
86
|
}
|
|
45
|
-
if (!
|
|
87
|
+
if (!configuredWallets) {
|
|
46
88
|
throw new Error('Universal Wallet Connector must be initialized with at least one wallet');
|
|
47
89
|
}
|
|
48
|
-
this.wallets =
|
|
49
|
-
this.usingIntegratedBrowser =
|
|
90
|
+
this.wallets = configuredWallets;
|
|
91
|
+
this.usingIntegratedBrowser = configuredUsingIntegratedBrowser;
|
|
50
92
|
// Create RPC map from networks
|
|
51
93
|
this.networkRpcMap = createNetworkRpcMap(networks);
|
|
52
94
|
// Initialize connectors with RPC map
|
|
53
95
|
this.connectors = new Map();
|
|
54
|
-
this.injectedConnector = new InjectedConnector(this.networkRpcMap, this.wallets,
|
|
96
|
+
this.injectedConnector = new InjectedConnector(this.networkRpcMap, this.wallets, configuredTonConnectConfig);
|
|
55
97
|
this.connectors.set('injected', this.injectedConnector);
|
|
56
|
-
if (
|
|
57
|
-
this.connectors.set('tonConnect', new TonConnectConnector(
|
|
98
|
+
if (configuredTonConnectConfig) {
|
|
99
|
+
this.connectors.set('tonConnect', new TonConnectConnector(configuredTonConnectConfig));
|
|
58
100
|
}
|
|
59
101
|
// Only add WalletConnect connector if config is provided
|
|
60
|
-
if (
|
|
61
|
-
this.connectors.set('walletConnect', new WalletConnectConnector(
|
|
102
|
+
if (configuredWalletConnectConfig) {
|
|
103
|
+
this.connectors.set('walletConnect', new WalletConnectConnector(configuredWalletConnectConfig, this.networkRpcMap));
|
|
62
104
|
}
|
|
63
105
|
this.sessionManager = new SessionManager();
|
|
64
106
|
this.eventManager = new EventManager();
|
|
65
|
-
this.connectionService = new ConnectionService(networks, this.wallets, this.sessionManager, this.connectors,
|
|
66
|
-
this.networkSwitchService = new NetworkSwitchService(networks, this.sessionManager, this.connectors,
|
|
107
|
+
this.connectionService = new ConnectionService(networks, this.wallets, this.sessionManager, this.connectors, configuredUsingIntegratedBrowser, this.eventManager);
|
|
108
|
+
this.networkSwitchService = new NetworkSwitchService(networks, this.sessionManager, this.connectors, configuredUsingIntegratedBrowser, this.eventManager);
|
|
67
109
|
this.signatureService = new SignatureService(this.sessionManager, this.connectors);
|
|
68
110
|
this.transactionService = new TransactionService(this.sessionManager, this.connectors);
|
|
69
111
|
this.walletCapabilitiesService = new WalletCapabilitiesService(networks, this.connectors, this.sessionManager, this.eventManager);
|
|
112
|
+
// Register as the shared instance so getInstance() works
|
|
113
|
+
// (only set if no instance exists, to avoid overwriting an earlier one)
|
|
114
|
+
if (!UniversalWalletConnector.instance) {
|
|
115
|
+
UniversalWalletConnector.instance = this;
|
|
116
|
+
}
|
|
70
117
|
// Initialize detected wallets after services are created
|
|
71
118
|
this.initializeDetectedWallets();
|
|
72
119
|
}
|
|
@@ -87,137 +134,122 @@ export class UniversalWalletConnector {
|
|
|
87
134
|
});
|
|
88
135
|
}
|
|
89
136
|
});
|
|
90
|
-
//
|
|
137
|
+
// Run every namespace × connector detection concurrently.
|
|
138
|
+
// The namespace loop used to be sequential and `await`-ed each call,
|
|
139
|
+
// which meant a 100ms EIP-6963 native timeout + any bridge polling
|
|
140
|
+
// added up. With Promise.all the total time is the slowest single
|
|
141
|
+
// call, not the sum.
|
|
142
|
+
const detectionTasks = [];
|
|
91
143
|
for (const namespace of namespaces) {
|
|
92
144
|
for (const [, connector] of this.connectors) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
let wallet;
|
|
101
|
-
if (namespace === 'eip155') {
|
|
102
|
-
// For EIP155, match by eip155Name
|
|
103
|
-
wallet = this.wallets.find(w => {
|
|
104
|
-
const provider = this.usingIntegratedBrowser
|
|
105
|
-
? w.integratedBrowserInjectedProvider
|
|
106
|
-
: w.extensionInjectedProvider;
|
|
107
|
-
return (provider?.namespaceMetaData?.eip155?.eip155Name?.toLowerCase() ===
|
|
108
|
-
detected.name.toLowerCase());
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
else if (namespace === 'solana') {
|
|
112
|
-
// For Solana, match by walletStandardName
|
|
113
|
-
wallet = this.wallets.find(w => {
|
|
114
|
-
const provider = this.usingIntegratedBrowser
|
|
115
|
-
? w.integratedBrowserInjectedProvider
|
|
116
|
-
: w.extensionInjectedProvider;
|
|
117
|
-
return (provider?.namespaceMetaData?.solana?.walletStandardName?.toLowerCase() ===
|
|
118
|
-
detected.name.toLowerCase());
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
else if (namespace === 'tron') {
|
|
122
|
-
// For Tron, match by injectedId path prefix
|
|
123
|
-
const tronDetected = detected;
|
|
124
|
-
wallet = this.wallets.find(w => {
|
|
125
|
-
const provider = this.usingIntegratedBrowser
|
|
126
|
-
? w.integratedBrowserInjectedProvider
|
|
127
|
-
: w.extensionInjectedProvider;
|
|
128
|
-
const injectedId = provider?.namespaceMetaData?.tron?.injectedId;
|
|
129
|
-
return (injectedId &&
|
|
130
|
-
tronDetected.uuid ===
|
|
131
|
-
`tron-${injectedId}`.toLowerCase().replace(/\./g, '-'));
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
else if (namespace === 'tvm') {
|
|
135
|
-
// For TON, match by jsBridgeKey
|
|
136
|
-
const tonDetected = detected;
|
|
137
|
-
wallet = this.wallets.find(w => {
|
|
138
|
-
const provider = this.usingIntegratedBrowser
|
|
139
|
-
? w.integratedBrowserInjectedProvider
|
|
140
|
-
: w.extensionInjectedProvider;
|
|
141
|
-
return (provider?.namespaceMetaData?.tvm?.jsBridgeKey ===
|
|
142
|
-
tonDetected.jsBridgeKey);
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
// For other namespaces, fall back to wallet name
|
|
147
|
-
wallet = this.wallets.find(w => w.name.toLowerCase() === detected.name.toLowerCase());
|
|
148
|
-
}
|
|
149
|
-
if (wallet) {
|
|
150
|
-
// Determine which provider to update based on usingIntegratedBrowser
|
|
151
|
-
const provider = this.usingIntegratedBrowser
|
|
152
|
-
? wallet.integratedBrowserInjectedProvider
|
|
153
|
-
: wallet.extensionInjectedProvider;
|
|
154
|
-
// Update the appropriate namespace metadata
|
|
155
|
-
if (provider?.namespaceMetaData) {
|
|
156
|
-
const nsMetadata = provider.namespaceMetaData[namespace];
|
|
157
|
-
if (nsMetadata && namespace === 'eip155') {
|
|
158
|
-
// For EIP155, we have specific fields
|
|
159
|
-
const eip155Metadata = nsMetadata;
|
|
160
|
-
eip155Metadata.installed = true;
|
|
161
|
-
const eip155Detected = detected;
|
|
162
|
-
eip155Metadata.detectedWallet = {
|
|
163
|
-
uuid: eip155Detected.uuid,
|
|
164
|
-
name: eip155Detected.name,
|
|
165
|
-
icon: eip155Detected.icon,
|
|
166
|
-
rdns: eip155Detected.rdns
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
else if (namespace === 'solana') {
|
|
170
|
-
// For Solana, we have different fields
|
|
171
|
-
const solanaMetadata = nsMetadata;
|
|
172
|
-
solanaMetadata.installed = true;
|
|
173
|
-
const solanaDetected = detected;
|
|
174
|
-
solanaMetadata.detectedWallet = {
|
|
175
|
-
uuid: solanaDetected.uuid,
|
|
176
|
-
name: solanaDetected.name,
|
|
177
|
-
features: solanaDetected.features
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
else if (namespace === 'tron') {
|
|
181
|
-
const tronMetadata = nsMetadata;
|
|
182
|
-
tronMetadata.installed = true;
|
|
183
|
-
const tronDetected = detected;
|
|
184
|
-
tronMetadata.detectedWallet = {
|
|
185
|
-
uuid: tronDetected.uuid,
|
|
186
|
-
name: tronDetected.name
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
else if (namespace === 'tvm') {
|
|
190
|
-
const tonMetadata = nsMetadata;
|
|
191
|
-
tonMetadata.installed = true;
|
|
192
|
-
const tonDetected = detected;
|
|
193
|
-
tonMetadata.detectedWallet = {
|
|
194
|
-
uuid: tonDetected.uuid,
|
|
195
|
-
name: tonDetected.name,
|
|
196
|
-
icon: tonDetected.icon,
|
|
197
|
-
jsBridgeKey: tonDetected.jsBridgeKey
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
});
|
|
145
|
+
if (typeof connector.getAvailableWallets !== 'function')
|
|
146
|
+
continue;
|
|
147
|
+
detectionTasks.push(Promise.resolve()
|
|
148
|
+
.then(() => connector.getAvailableWallets(namespace, this.wallets))
|
|
149
|
+
.then(detected => {
|
|
150
|
+
for (const d of detected) {
|
|
151
|
+
this.applyDetectedWallet(namespace, d);
|
|
203
152
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
153
|
+
})
|
|
154
|
+
.catch(() => {
|
|
155
|
+
// Silently handle errors for individual connector/namespace combinations
|
|
156
|
+
}));
|
|
208
157
|
}
|
|
209
158
|
}
|
|
159
|
+
await Promise.all(detectionTasks);
|
|
210
160
|
// Notify the connection service to update its internal wallets reference
|
|
211
161
|
this.connectionService.updateWallets(this.wallets);
|
|
212
162
|
// Mark detection as complete
|
|
213
163
|
this.detectionComplete = true;
|
|
214
|
-
|
|
215
|
-
this.eventManager.
|
|
164
|
+
this.eventManager.emit('walletsDetected', { wallets: this.wallets });
|
|
165
|
+
this.eventManager.emit('ready', undefined);
|
|
216
166
|
}
|
|
217
|
-
catch {
|
|
218
|
-
// Silently handle error during initialization
|
|
167
|
+
catch (error) {
|
|
219
168
|
this.detectionComplete = true;
|
|
220
|
-
this.
|
|
169
|
+
this.emitError(error, 'initialize');
|
|
170
|
+
this.eventManager.emit('ready', undefined);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Merge a single detected wallet (from one namespace × connector run) into
|
|
175
|
+
* the configured wallet metadata. Factored out so detection tasks can run
|
|
176
|
+
* in parallel without racing on the merge logic.
|
|
177
|
+
*/
|
|
178
|
+
applyDetectedWallet(namespace, detected) {
|
|
179
|
+
let wallet;
|
|
180
|
+
const pickProvider = (w) => this.usingIntegratedBrowser
|
|
181
|
+
? w.integratedBrowserInjectedProvider
|
|
182
|
+
: w.extensionInjectedProvider;
|
|
183
|
+
if (namespace === 'eip155') {
|
|
184
|
+
wallet = this.wallets.find(w => pickProvider(w)?.namespaceMetaData?.eip155?.eip155Name?.toLowerCase() ===
|
|
185
|
+
detected.name.toLowerCase());
|
|
186
|
+
}
|
|
187
|
+
else if (namespace === 'solana') {
|
|
188
|
+
wallet = this.wallets.find(w => pickProvider(w)?.namespaceMetaData?.solana?.walletStandardName?.toLowerCase() ===
|
|
189
|
+
detected.name.toLowerCase());
|
|
190
|
+
}
|
|
191
|
+
else if (namespace === 'tron') {
|
|
192
|
+
const tronDetected = detected;
|
|
193
|
+
wallet = this.wallets.find(w => {
|
|
194
|
+
const injectedId = pickProvider(w)?.namespaceMetaData?.tron?.injectedId;
|
|
195
|
+
return (injectedId &&
|
|
196
|
+
tronDetected.uuid ===
|
|
197
|
+
`tron-${injectedId}`.toLowerCase().replace(/\./g, '-'));
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
else if (namespace === 'tvm') {
|
|
201
|
+
const tonDetected = detected;
|
|
202
|
+
wallet = this.wallets.find(w => pickProvider(w)?.namespaceMetaData?.tvm?.jsBridgeKey ===
|
|
203
|
+
tonDetected.jsBridgeKey);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
wallet = this.wallets.find(w => w.name.toLowerCase() === detected.name.toLowerCase());
|
|
207
|
+
}
|
|
208
|
+
if (!wallet)
|
|
209
|
+
return;
|
|
210
|
+
const provider = pickProvider(wallet);
|
|
211
|
+
if (!provider?.namespaceMetaData)
|
|
212
|
+
return;
|
|
213
|
+
const nsMetadata = provider.namespaceMetaData[namespace];
|
|
214
|
+
if (!nsMetadata)
|
|
215
|
+
return;
|
|
216
|
+
if (namespace === 'eip155') {
|
|
217
|
+
const m = nsMetadata;
|
|
218
|
+
const d = detected;
|
|
219
|
+
m.installed = true;
|
|
220
|
+
m.detectedWallet = {
|
|
221
|
+
uuid: d.uuid,
|
|
222
|
+
name: d.name,
|
|
223
|
+
icon: d.icon,
|
|
224
|
+
rdns: d.rdns
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
else if (namespace === 'solana') {
|
|
228
|
+
const m = nsMetadata;
|
|
229
|
+
const d = detected;
|
|
230
|
+
m.installed = true;
|
|
231
|
+
m.detectedWallet = {
|
|
232
|
+
uuid: d.uuid,
|
|
233
|
+
name: d.name,
|
|
234
|
+
features: d.features
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
else if (namespace === 'tron') {
|
|
238
|
+
const m = nsMetadata;
|
|
239
|
+
const d = detected;
|
|
240
|
+
m.installed = true;
|
|
241
|
+
m.detectedWallet = { uuid: d.uuid, name: d.name };
|
|
242
|
+
}
|
|
243
|
+
else if (namespace === 'tvm') {
|
|
244
|
+
const m = nsMetadata;
|
|
245
|
+
const d = detected;
|
|
246
|
+
m.installed = true;
|
|
247
|
+
m.detectedWallet = {
|
|
248
|
+
uuid: d.uuid,
|
|
249
|
+
name: d.name,
|
|
250
|
+
icon: d.icon,
|
|
251
|
+
jsBridgeKey: d.jsBridgeKey
|
|
252
|
+
};
|
|
221
253
|
}
|
|
222
254
|
}
|
|
223
255
|
getSession() {
|
|
@@ -226,6 +258,22 @@ export class UniversalWalletConnector {
|
|
|
226
258
|
isReady() {
|
|
227
259
|
return this.detectionComplete;
|
|
228
260
|
}
|
|
261
|
+
// ---- Event subscription ----
|
|
262
|
+
/** Subscribe to a typed event. Returns an unsubscribe function. */
|
|
263
|
+
on(event, listener) {
|
|
264
|
+
return this.eventManager.on(event, listener);
|
|
265
|
+
}
|
|
266
|
+
/** Subscribe once; the listener is removed after the first dispatch. */
|
|
267
|
+
once(event, listener) {
|
|
268
|
+
return this.eventManager.once(event, listener);
|
|
269
|
+
}
|
|
270
|
+
off(event, listener) {
|
|
271
|
+
this.eventManager.off(event, listener);
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* @deprecated Prefer `on(eventName, listener)` for targeted updates.
|
|
275
|
+
* Subscribes to the catch-all `change` event.
|
|
276
|
+
*/
|
|
229
277
|
subscribe(listener) {
|
|
230
278
|
return this.eventManager.subscribe(listener);
|
|
231
279
|
}
|
|
@@ -240,20 +288,35 @@ export class UniversalWalletConnector {
|
|
|
240
288
|
getNetworks() {
|
|
241
289
|
return this.connectionService.getNetworks();
|
|
242
290
|
}
|
|
243
|
-
async connect(connectionMode, walletId, networkId) {
|
|
244
|
-
|
|
245
|
-
|
|
291
|
+
async connect(connectionMode, walletId, networkId, options) {
|
|
292
|
+
try {
|
|
293
|
+
await this.connectionService.connect(connectionMode, walletId, networkId, options);
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
this.emitError(error, 'connect');
|
|
297
|
+
throw error;
|
|
298
|
+
}
|
|
246
299
|
}
|
|
247
300
|
getConnectionURI() {
|
|
248
301
|
return this.connectionService.getConnectionURI();
|
|
249
302
|
}
|
|
250
|
-
async disconnect() {
|
|
251
|
-
|
|
252
|
-
|
|
303
|
+
async disconnect(options) {
|
|
304
|
+
try {
|
|
305
|
+
await this.connectionService.disconnect(options);
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
this.emitError(error, 'disconnect');
|
|
309
|
+
throw error;
|
|
310
|
+
}
|
|
253
311
|
}
|
|
254
|
-
async switchNetwork(networkId) {
|
|
255
|
-
|
|
256
|
-
|
|
312
|
+
async switchNetwork(networkId, options) {
|
|
313
|
+
try {
|
|
314
|
+
await this.networkSwitchService.switchNetwork(networkId, options);
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
this.emitError(error, 'switchNetwork');
|
|
318
|
+
throw error;
|
|
319
|
+
}
|
|
257
320
|
}
|
|
258
321
|
getNetworkSwitchLoadingState() {
|
|
259
322
|
return this.networkSwitchService.getLoadingState();
|
|
@@ -261,9 +324,10 @@ export class UniversalWalletConnector {
|
|
|
261
324
|
/**
|
|
262
325
|
* Sign a message with the connected wallet
|
|
263
326
|
* @param message The message to sign
|
|
327
|
+
* @param options Optional cancellation signal
|
|
264
328
|
* @returns A promise that resolves to the signature
|
|
265
329
|
*/
|
|
266
|
-
async signMessage(message) {
|
|
330
|
+
async signMessage(message, options) {
|
|
267
331
|
const session = this.sessionManager.getSession();
|
|
268
332
|
if (!session.activeWallet) {
|
|
269
333
|
throw new Error('No active wallet');
|
|
@@ -271,23 +335,29 @@ export class UniversalWalletConnector {
|
|
|
271
335
|
if (!session.connectionMode) {
|
|
272
336
|
throw new Error('No active connection');
|
|
273
337
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
338
|
+
try {
|
|
339
|
+
// Get the provider from the active wallet based on connection mode
|
|
340
|
+
let provider;
|
|
341
|
+
if (session.connectionMode === 'injected') {
|
|
342
|
+
provider = this.usingIntegratedBrowser
|
|
343
|
+
? session.activeWallet.integratedBrowserInjectedProvider
|
|
344
|
+
: session.activeWallet.extensionInjectedProvider;
|
|
345
|
+
}
|
|
346
|
+
else if (session.connectionMode === 'walletConnect') {
|
|
347
|
+
provider = session.activeWallet.walletConnectProvider;
|
|
348
|
+
}
|
|
349
|
+
else if (session.connectionMode === 'tonConnect') {
|
|
350
|
+
return await this.signatureService.signMessage(message, undefined, options);
|
|
351
|
+
}
|
|
352
|
+
if (!provider) {
|
|
353
|
+
throw new Error('No provider available for the active wallet');
|
|
354
|
+
}
|
|
355
|
+
return await this.signatureService.signMessage(message, provider, options);
|
|
286
356
|
}
|
|
287
|
-
|
|
288
|
-
|
|
357
|
+
catch (error) {
|
|
358
|
+
this.emitError(error, 'signMessage');
|
|
359
|
+
throw error;
|
|
289
360
|
}
|
|
290
|
-
return await this.signatureService.signMessage(message, provider);
|
|
291
361
|
}
|
|
292
362
|
/**
|
|
293
363
|
* Sign EIP-712 typed structured data (eth_signTypedData_v4).
|
|
@@ -324,9 +394,10 @@ export class UniversalWalletConnector {
|
|
|
324
394
|
/**
|
|
325
395
|
* Send a transaction with the connected wallet
|
|
326
396
|
* @param request The transaction request parameters
|
|
397
|
+
* @param options Optional cancellation signal
|
|
327
398
|
* @returns A promise that resolves to the transaction result
|
|
328
399
|
*/
|
|
329
|
-
async sendTransaction(request) {
|
|
400
|
+
async sendTransaction(request, options) {
|
|
330
401
|
const session = this.sessionManager.getSession();
|
|
331
402
|
if (!session.activeWallet) {
|
|
332
403
|
throw new Error('No active wallet');
|
|
@@ -334,23 +405,29 @@ export class UniversalWalletConnector {
|
|
|
334
405
|
if (!session.connectionMode) {
|
|
335
406
|
throw new Error('No active connection');
|
|
336
407
|
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
408
|
+
try {
|
|
409
|
+
// Get the provider from the active wallet based on connection mode
|
|
410
|
+
let provider;
|
|
411
|
+
if (session.connectionMode === 'injected') {
|
|
412
|
+
provider = this.usingIntegratedBrowser
|
|
413
|
+
? session.activeWallet.integratedBrowserInjectedProvider
|
|
414
|
+
: session.activeWallet.extensionInjectedProvider;
|
|
415
|
+
}
|
|
416
|
+
else if (session.connectionMode === 'walletConnect') {
|
|
417
|
+
provider = session.activeWallet.walletConnectProvider;
|
|
418
|
+
}
|
|
419
|
+
else if (session.connectionMode === 'tonConnect') {
|
|
420
|
+
return await this.transactionService.sendTransaction(request, undefined, options);
|
|
421
|
+
}
|
|
422
|
+
if (!provider) {
|
|
423
|
+
throw new Error('No provider available for the active wallet');
|
|
424
|
+
}
|
|
425
|
+
return await this.transactionService.sendTransaction(request, provider, options);
|
|
349
426
|
}
|
|
350
|
-
|
|
351
|
-
|
|
427
|
+
catch (error) {
|
|
428
|
+
this.emitError(error, 'sendTransaction');
|
|
429
|
+
throw error;
|
|
352
430
|
}
|
|
353
|
-
return await this.transactionService.sendTransaction(request, provider);
|
|
354
431
|
}
|
|
355
432
|
/**
|
|
356
433
|
* Sign a Solana tx without broadcasting (raw bytes in/out, no @solana/web3.js
|
|
@@ -376,10 +453,17 @@ export class UniversalWalletConnector {
|
|
|
376
453
|
* Fetch wallet capabilities for the connected wallet
|
|
377
454
|
* @param address The wallet address to fetch capabilities for
|
|
378
455
|
* @param activeNetwork Optional network to set as the active network for capabilities
|
|
456
|
+
* @param options Optional cancellation signal
|
|
379
457
|
* @returns A promise that resolves when capabilities are fetched and updated
|
|
380
458
|
*/
|
|
381
|
-
async getWalletCapabilities(address, activeNetwork) {
|
|
382
|
-
|
|
459
|
+
async getWalletCapabilities(address, activeNetwork, options) {
|
|
460
|
+
try {
|
|
461
|
+
return await this.walletCapabilitiesService.getWalletCapabilities(address, activeNetwork, options);
|
|
462
|
+
}
|
|
463
|
+
catch (error) {
|
|
464
|
+
this.emitError(error, 'getWalletCapabilities');
|
|
465
|
+
throw error;
|
|
466
|
+
}
|
|
383
467
|
}
|
|
384
468
|
/**
|
|
385
469
|
* Check if a connection mode is available for a specific wallet
|
|
@@ -423,5 +507,15 @@ export class UniversalWalletConnector {
|
|
|
423
507
|
const session = this.sessionManager.getSession();
|
|
424
508
|
return session.activeWalletCapabilities;
|
|
425
509
|
}
|
|
510
|
+
// ---- private helpers ----
|
|
511
|
+
emitError(error, operation) {
|
|
512
|
+
const walletError = error instanceof WalletConnectorError
|
|
513
|
+
? { type: error.type, message: error.message }
|
|
514
|
+
: {
|
|
515
|
+
type: 'unknown',
|
|
516
|
+
message: error instanceof Error ? error.message : String(error)
|
|
517
|
+
};
|
|
518
|
+
this.eventManager.emit('error', { error: walletError, operation });
|
|
519
|
+
}
|
|
426
520
|
}
|
|
427
521
|
//# sourceMappingURL=universal-wallet-connector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal-wallet-connector.js","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"universal-wallet-connector.js","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"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"}
|