@meshconnect/uwc-injected-connector 0.8.6 → 0.9.1
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/injected-connector.d.ts +5 -3
- package/dist/injected-connector.d.ts.map +1 -1
- package/dist/injected-connector.js +27 -10
- package/dist/injected-connector.js.map +1 -1
- package/dist/services/connection-manager.d.ts +26 -6
- package/dist/services/connection-manager.d.ts.map +1 -1
- package/dist/services/connection-manager.js +178 -121
- package/dist/services/connection-manager.js.map +1 -1
- package/dist/services/ton/ton-transaction-builder.d.ts +15 -0
- package/dist/services/ton/ton-transaction-builder.d.ts.map +1 -0
- package/dist/services/ton/ton-transaction-builder.js +14 -0
- package/dist/services/ton/ton-transaction-builder.js.map +1 -0
- package/dist/services/ton/ton-transaction-service.d.ts +19 -0
- package/dist/services/ton/ton-transaction-service.d.ts.map +1 -0
- package/dist/services/ton/ton-transaction-service.js +47 -0
- package/dist/services/ton/ton-transaction-service.js.map +1 -0
- package/dist/services/ton/ton-wallet-service.d.ts +29 -0
- package/dist/services/ton/ton-wallet-service.d.ts.map +1 -0
- package/dist/services/ton/ton-wallet-service.js +177 -0
- package/dist/services/ton/ton-wallet-service.js.map +1 -0
- package/dist/ton-discovery.d.ts +29 -0
- package/dist/ton-discovery.d.ts.map +1 -0
- package/dist/ton-discovery.js +64 -0
- package/dist/ton-discovery.js.map +1 -0
- package/dist/utils/error-utils.d.ts +6 -0
- package/dist/utils/error-utils.d.ts.map +1 -1
- package/dist/utils/error-utils.js +25 -1
- package/dist/utils/error-utils.js.map +1 -1
- package/package.json +5 -3
- package/src/index.ts +1 -0
- package/src/injected-connector.test.ts +1 -1
- package/src/injected-connector.ts +40 -12
- package/src/services/connection-manager.test.ts +419 -0
- package/src/services/connection-manager.ts +285 -187
- package/src/services/ton/ton-transaction-builder.test.ts +98 -0
- package/src/services/ton/ton-transaction-builder.ts +20 -0
- package/src/services/ton/ton-transaction-service.test.ts +230 -0
- package/src/services/ton/ton-transaction-service.ts +81 -0
- package/src/services/ton/ton-wallet-service.test.ts +512 -0
- package/src/services/ton/ton-wallet-service.ts +246 -0
- package/src/ton-discovery.test.ts +142 -0
- package/src/ton-discovery.ts +95 -0
- package/src/utils/error-utils.ts +28 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export * from './injected-connector';
|
|
|
2
2
|
export { getAvailableWallets, type DetectedWallet } from './eip6963-discovery';
|
|
3
3
|
export { getSolanaWallets, type WalletStandardInfo } from './wallet-standard-discovery';
|
|
4
4
|
export { getTronWallets, type TronWeb, type TronProvider, type DetectedTronWallet } from './tron-discovery';
|
|
5
|
+
export { getTonWallets, type DetectedTonWallet } from './ton-discovery';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,gBAAgB,EAChB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,gBAAgB,EAChB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export * from './injected-connector';
|
|
|
2
2
|
export { getAvailableWallets } from './eip6963-discovery';
|
|
3
3
|
export { getSolanaWallets } from './wallet-standard-discovery';
|
|
4
4
|
export { getTronWallets } from './tron-discovery';
|
|
5
|
+
export { getTonWallets } from './ton-discovery';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAuB,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,cAAc,EAIf,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAuB,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EACL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,cAAc,EAIf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAA0B,MAAM,iBAAiB,CAAA"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import type { Network, ExtensionInjectedProvider, IntegratedBrowserInjectedProvider, Connector, ConnectorResult, SwitchNetworkResult, Namespace, DetectedEIP6963WalletInfo, DetectedSolanaWalletInfo, DetectedTronWalletInfo, TransactionRequest, TransactionResult, NetworkRpcMap, EVMCapabilities, SignatureType, WalletMetadata } from '@meshconnect/uwc-types';
|
|
1
|
+
import type { Network, ExtensionInjectedProvider, IntegratedBrowserInjectedProvider, Connector, ConnectorResult, SwitchNetworkResult, Namespace, DetectedEIP6963WalletInfo, DetectedSolanaWalletInfo, DetectedTronWalletInfo, DetectedTonWalletInfo, TransactionRequest, TransactionResult, NetworkRpcMap, EVMCapabilities, SignatureType, WalletMetadata, TonConnectConfig } from '@meshconnect/uwc-types';
|
|
2
2
|
export declare class InjectedConnector implements Connector {
|
|
3
3
|
private readonly storageService;
|
|
4
4
|
private ethereumService;
|
|
5
5
|
private solanaService;
|
|
6
6
|
private tronService;
|
|
7
|
+
private tonService;
|
|
7
8
|
private connectionManager;
|
|
8
9
|
private signatureService;
|
|
9
10
|
private transactionService;
|
|
10
11
|
private networkRpcMap;
|
|
11
|
-
|
|
12
|
+
private tonConnectManifestUrl;
|
|
13
|
+
constructor(networkRpcMap?: NetworkRpcMap, expectedWallets?: WalletMetadata[], tonConnectConfig?: TonConnectConfig);
|
|
12
14
|
/**
|
|
13
15
|
* Get available wallets for a specific namespace
|
|
14
16
|
*/
|
|
15
|
-
getAvailableWallets(namespace: Namespace, expectedWallets?: WalletMetadata[]): Promise<DetectedEIP6963WalletInfo[] | DetectedSolanaWalletInfo[] | DetectedTronWalletInfo[]>;
|
|
17
|
+
getAvailableWallets(namespace: Namespace, expectedWallets?: WalletMetadata[]): Promise<DetectedEIP6963WalletInfo[] | DetectedSolanaWalletInfo[] | DetectedTronWalletInfo[] | DetectedTonWalletInfo[]>;
|
|
16
18
|
/**
|
|
17
19
|
* Connect to a wallet
|
|
18
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injected-connector.d.ts","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"injected-connector.d.ts","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAEjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAY/B,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,qBAAqB,CAAoB;gBAG/C,aAAa,GAAE,aAAkB,EACjC,eAAe,GAAE,cAAc,EAAO,EACtC,gBAAgB,CAAC,EAAE,gBAAgB;IA0BrC;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,EACpB,eAAe,GAAE,cAAc,EAAO,GACrC,OAAO,CACN,yBAAyB,EAAE,GAC3B,wBAAwB,EAAE,GAC1B,sBAAsB,EAAE,GACxB,qBAAqB,EAAE,CAC1B;IAwDD;;OAEG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAyC3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,aAAa,CAAC;IAiFzB;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,iBAAiB,CAAC;IA+D7B;;OAEG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAG5C"}
|
|
@@ -2,6 +2,7 @@ import { BridgeChild } from '@meshconnect/uwc-bridge-child';
|
|
|
2
2
|
import { EthereumWalletService } from './services/ethereum/ethereum-wallet-service';
|
|
3
3
|
import { SolanaWalletService } from './services/solana/solana-wallet-service';
|
|
4
4
|
import { TronWalletService } from './services/tron/tron-wallet-service';
|
|
5
|
+
import { TonWalletService } from './services/ton/ton-wallet-service';
|
|
5
6
|
import { StorageService } from './services/storage-service';
|
|
6
7
|
import { ConnectionManager } from './services/connection-manager';
|
|
7
8
|
import { SignatureService } from './services/signature-service';
|
|
@@ -11,24 +12,26 @@ export class InjectedConnector {
|
|
|
11
12
|
ethereumService;
|
|
12
13
|
solanaService;
|
|
13
14
|
tronService;
|
|
15
|
+
tonService;
|
|
14
16
|
connectionManager;
|
|
15
17
|
signatureService;
|
|
16
18
|
transactionService;
|
|
17
19
|
networkRpcMap;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
tonConnectManifestUrl;
|
|
21
|
+
constructor(networkRpcMap = {}, expectedWallets = [], tonConnectConfig) {
|
|
20
22
|
this.networkRpcMap = networkRpcMap;
|
|
21
|
-
|
|
23
|
+
this.tonConnectManifestUrl = tonConnectConfig?.manifestUrl;
|
|
22
24
|
this.storageService = new StorageService();
|
|
23
25
|
this.ethereumService = new EthereumWalletService();
|
|
24
26
|
this.solanaService = new SolanaWalletService(this.storageService);
|
|
25
27
|
this.tronService = new TronWalletService();
|
|
26
|
-
this.
|
|
28
|
+
this.tonService = new TonWalletService(this.tonConnectManifestUrl);
|
|
29
|
+
this.connectionManager = new ConnectionManager(this.ethereumService, this.solanaService, this.tronService, this.tonService);
|
|
27
30
|
this.signatureService = new SignatureService();
|
|
28
31
|
this.transactionService = new TransactionService(this.networkRpcMap);
|
|
29
|
-
// Initialize BridgeChild for cross-frame wallet communication
|
|
30
32
|
new BridgeChild({
|
|
31
33
|
tronInjectedIds: this.tronService.getTronWalletIdsFromExpectedWallets(expectedWallets)
|
|
34
|
+
// ONC-2629: Add tonJsBridgeKeys once BridgeChild supports TON bridge polling
|
|
32
35
|
});
|
|
33
36
|
}
|
|
34
37
|
/**
|
|
@@ -61,13 +64,21 @@ export class InjectedConnector {
|
|
|
61
64
|
}));
|
|
62
65
|
}
|
|
63
66
|
case 'tron': {
|
|
64
|
-
// Re-fetch Tron wallets
|
|
65
67
|
await this.tronService.initializeDiscovery(expectedWallets);
|
|
66
68
|
return this.tronService.getDetectedWallets().map(wallet => ({
|
|
67
69
|
uuid: wallet.uuid,
|
|
68
70
|
name: wallet.name
|
|
69
71
|
}));
|
|
70
72
|
}
|
|
73
|
+
case 'tvm': {
|
|
74
|
+
await this.tonService.initializeDiscovery(expectedWallets);
|
|
75
|
+
return this.tonService.getDetectedWallets().map(wallet => ({
|
|
76
|
+
uuid: wallet.uuid,
|
|
77
|
+
name: wallet.name,
|
|
78
|
+
icon: wallet.icon,
|
|
79
|
+
jsBridgeKey: wallet.jsBridgeKey
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
71
82
|
default:
|
|
72
83
|
return [];
|
|
73
84
|
}
|
|
@@ -96,8 +107,10 @@ export class InjectedConnector {
|
|
|
96
107
|
return await this.connectionManager.connectSolana(network, provider);
|
|
97
108
|
case 'tron':
|
|
98
109
|
return await this.connectionManager.connectTron(network, provider);
|
|
110
|
+
case 'tvm':
|
|
111
|
+
return await this.connectionManager.connectTon(network, provider);
|
|
99
112
|
default:
|
|
100
|
-
throw new Error(`Namespace '${network.namespace}' is not implemented yet. Only 'eip155', 'solana', and '
|
|
113
|
+
throw new Error(`Namespace '${network.namespace}' is not implemented yet. Only 'eip155', 'solana', 'tron', and 'tvm' are currently supported.`);
|
|
101
114
|
}
|
|
102
115
|
}
|
|
103
116
|
/**
|
|
@@ -110,7 +123,7 @@ export class InjectedConnector {
|
|
|
110
123
|
* Disconnect from all wallets (only clears local state)
|
|
111
124
|
*/
|
|
112
125
|
async disconnect() {
|
|
113
|
-
this.connectionManager.disconnect();
|
|
126
|
+
await this.connectionManager.disconnect();
|
|
114
127
|
}
|
|
115
128
|
/**
|
|
116
129
|
* Sign a message with the connected wallet
|
|
@@ -159,7 +172,6 @@ export class InjectedConnector {
|
|
|
159
172
|
};
|
|
160
173
|
}
|
|
161
174
|
else if (namespace === 'tron') {
|
|
162
|
-
// Get the actual Tron provider
|
|
163
175
|
const tronProvider = this.tronService.getConnectedProvider();
|
|
164
176
|
if (!tronProvider) {
|
|
165
177
|
throw new Error('No connected Tron provider');
|
|
@@ -170,6 +182,9 @@ export class InjectedConnector {
|
|
|
170
182
|
signature: signature
|
|
171
183
|
};
|
|
172
184
|
}
|
|
185
|
+
else if (namespace === 'tvm') {
|
|
186
|
+
return await this.tonService.signMessage(message);
|
|
187
|
+
}
|
|
173
188
|
else {
|
|
174
189
|
throw new Error(`Signing not supported for namespace: ${namespace}`);
|
|
175
190
|
}
|
|
@@ -205,13 +220,15 @@ export class InjectedConnector {
|
|
|
205
220
|
return await this.transactionService.sendTransaction(request, namespace, solanaAdapter, currentNetworkId);
|
|
206
221
|
}
|
|
207
222
|
else if (namespace === 'tron') {
|
|
208
|
-
// Get the actual Tron provider
|
|
209
223
|
const tronProvider = this.tronService.getConnectedProvider();
|
|
210
224
|
if (!tronProvider) {
|
|
211
225
|
throw new Error('No connected Tron provider');
|
|
212
226
|
}
|
|
213
227
|
return await this.transactionService.sendTransaction(request, namespace, tronProvider);
|
|
214
228
|
}
|
|
229
|
+
else if (namespace === 'tvm') {
|
|
230
|
+
return await this.tonService.sendTransaction(request);
|
|
231
|
+
}
|
|
215
232
|
else {
|
|
216
233
|
throw new Error(`Transactions not supported for namespace: ${namespace}`);
|
|
217
234
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injected-connector.js","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"injected-connector.js","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAEnE,MAAM,OAAO,iBAAiB;IACX,cAAc,CAAgB;IACvC,eAAe,CAAuB;IACtC,aAAa,CAAqB;IAClC,WAAW,CAAmB;IAC9B,UAAU,CAAkB;IAC5B,iBAAiB,CAAmB;IACpC,gBAAgB,CAAkB;IAClC,kBAAkB,CAAoB;IACtC,aAAa,CAAe;IAC5B,qBAAqB,CAAoB;IAEjD,YACE,gBAA+B,EAAE,EACjC,kBAAoC,EAAE,EACtC,gBAAmC;QAEnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,EAAE,WAAW,CAAA;QAE1D,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,qBAAqB,EAAE,CAAA;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACjE,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAClE,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAC5C,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,CAChB,CAAA;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA;QAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAEpE,IAAI,WAAW,CAAC;YACd,eAAe,EACb,IAAI,CAAC,WAAW,CAAC,mCAAmC,CAAC,eAAe,CAAC;YACvE,6EAA6E;SAC9E,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,SAAoB,EACpB,kBAAoC,EAAE;QAOtC,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAA;gBAEjE,kCAAkC;gBAClC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;gBACjE,CAAC;gBAED,uCAAuC;gBACvC,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC9D,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAC,CAAA;YACL,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,0BAA0B;gBAC1B,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAA;gBAE9C,uCAAuC;gBACvC,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC5D,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B,CAAC,CAAC,CAAA;YACL,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;gBAE3D,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC1D,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAC,CAAA;YACL,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;gBAE1D,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACzD,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC,CAAC,CAAA;YACL,CAAC;YAED;gBACE,OAAO,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,OAAgB,EAChB,QAAuE;QAEvE,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAA;QAEzC,mCAAmC;QACnC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,GACpD,MAAM,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CACnD,eAAuD,EACvD,QAAQ,CACT,CAAA;QAEH,4DAA4D;QAC5D,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACtD,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO,EAAE,eAAe;gBACxB,kBAAkB;aACnB,CAAA;QACH,CAAC;QAED,kDAAkD;QAClD,QAAQ,eAAe,EAAE,CAAC;YACxB,KAAK,QAAQ;gBACX,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAExE,KAAK,QAAQ;gBACX,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAEtE,KAAK,MAAM;gBACT,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAEpE,KAAK,KAAK;gBACR,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAEnE;gBACE,MAAM,IAAI,KAAK,CACb,cAAc,OAAO,CAAC,SAAS,+FAA+F,CAC/H,CAAA;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,OAAgB,EAChB,QAAuE;QAEvE,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,OAAe,EACf,QAAuE;QAEvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACpD,CAAC;QAED,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAA;QACrE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACjD,CAAC;QAED,oEAAoE;QACpE,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAItC,CAAA;QAET,wCAAwC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAA;QAEjE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACzD,CAAC;YAED,mCAAmC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,CAAA;YAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACnD,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAC/D,OAAO,EACP,cAAc,EACd,WAAW,CACZ,CAAA;YACD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,SAAS;aACrB,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,gCAAgC;YAChC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAA;YAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAC7D,OAAO,EACP,aAAa,CACd,CAAA;YACD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,SAAS;aACrB,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAA;YAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC/C,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAC3D,OAAO,EACP,YAAY,CACb,CAAA;YACD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,SAAS;aACrB,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,OAA2B,EAC3B,QAAuE;QAEvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAClE,CAAC;QAED,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAA;QACrE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACjD,CAAC;QAED,oEAAoE;QACpE,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAItC,CAAA;QAET,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,mCAAmC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,CAAA;YAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACnD,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAClD,OAAO,EACP,SAAS,EACT,WAAW,CACZ,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,gCAAgC;YAChC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAA;YAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAChD,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAClD,OAAO,EACP,SAAS,EACT,aAAa,EACb,gBAA6B,CAC9B,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAA;YAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC/C,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAClD,OAAO,EACP,SAAS,EACT,YAAY,CACb,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAC1C,OAAmC,CACpC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,IAAY,EACZ,QAAmB;QAEnB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACnE,CAAC;CACF"}
|
|
@@ -2,19 +2,18 @@ import type { Network, ExtensionInjectedProvider, IntegratedBrowserInjectedProvi
|
|
|
2
2
|
import { EthereumWalletService } from './ethereum/ethereum-wallet-service';
|
|
3
3
|
import { SolanaWalletService } from './solana/solana-wallet-service';
|
|
4
4
|
import { TronWalletService } from './tron/tron-wallet-service';
|
|
5
|
-
|
|
6
|
-
* Manages connections across different wallet namespaces
|
|
7
|
-
*/
|
|
5
|
+
import { TonWalletService } from './ton/ton-wallet-service';
|
|
8
6
|
export declare class ConnectionManager {
|
|
9
7
|
private ethereumService;
|
|
10
8
|
private solanaService;
|
|
11
9
|
private tronService;
|
|
10
|
+
private tonService;
|
|
12
11
|
private currentNetworkId;
|
|
13
|
-
constructor(ethereumService: EthereumWalletService, solanaService: SolanaWalletService, tronService: TronWalletService);
|
|
12
|
+
constructor(ethereumService: EthereumWalletService, solanaService: SolanaWalletService, tronService: TronWalletService, tonService: TonWalletService);
|
|
14
13
|
/**
|
|
15
14
|
* Check and add existing connections from other namespaces
|
|
16
15
|
*/
|
|
17
|
-
checkExistingConnections(targetNamespace: 'eip155' | 'solana' | 'tron', provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider): Promise<{
|
|
16
|
+
checkExistingConnections(targetNamespace: 'eip155' | 'solana' | 'tron' | 'tvm', provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider): Promise<{
|
|
18
17
|
address: string | null;
|
|
19
18
|
availableAddresses: AvailableAddress[];
|
|
20
19
|
}>;
|
|
@@ -30,6 +29,23 @@ export declare class ConnectionManager {
|
|
|
30
29
|
* Check and add Tron addresses if connected
|
|
31
30
|
*/
|
|
32
31
|
private checkAndAddTronAddresses;
|
|
32
|
+
/**
|
|
33
|
+
* Check and add TON addresses if connected, or auto-connect if detected.
|
|
34
|
+
* This will prompt the wallet approval dialog if TON is not yet connected —
|
|
35
|
+
* same behavior as Solana/Tron cross-namespace auto-connect.
|
|
36
|
+
*/
|
|
37
|
+
private checkAndAddTonAddresses;
|
|
38
|
+
/**
|
|
39
|
+
* After connecting one namespace, check and add addresses for all OTHER namespaces.
|
|
40
|
+
* E.g. after connecting Ethereum, also gather Solana, Tron, and TON addresses.
|
|
41
|
+
*/
|
|
42
|
+
private checkAndAddOtherNamespaceAddresses;
|
|
43
|
+
/**
|
|
44
|
+
* Collect addresses from all currently-connected namespaces.
|
|
45
|
+
* Unlike checkAndAdd* helpers, this does NOT attempt new connections —
|
|
46
|
+
* it only gathers addresses for namespaces already connected in this session.
|
|
47
|
+
*/
|
|
48
|
+
private collectConnectedAddresses;
|
|
33
49
|
/**
|
|
34
50
|
* Connect to Ethereum wallet
|
|
35
51
|
*/
|
|
@@ -42,6 +58,10 @@ export declare class ConnectionManager {
|
|
|
42
58
|
* Connect to Tron wallet
|
|
43
59
|
*/
|
|
44
60
|
connectTron(network: Network, provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider): Promise<ConnectorResult>;
|
|
61
|
+
/**
|
|
62
|
+
* Connect to TON wallet
|
|
63
|
+
*/
|
|
64
|
+
connectTon(network: Network, provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider): Promise<ConnectorResult>;
|
|
45
65
|
/**
|
|
46
66
|
* Switch network
|
|
47
67
|
*/
|
|
@@ -61,6 +81,6 @@ export declare class ConnectionManager {
|
|
|
61
81
|
/**
|
|
62
82
|
* Disconnect all
|
|
63
83
|
*/
|
|
64
|
-
disconnect(): void
|
|
84
|
+
disconnect(): Promise<void>;
|
|
65
85
|
}
|
|
66
86
|
//# sourceMappingURL=connection-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../src/services/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,iCAAiC,EACjC,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../src/services/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,iCAAiC,EACjC,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3D,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IANpB,OAAO,CAAC,gBAAgB,CAAsB;gBAGpC,eAAe,EAAE,qBAAqB,EACtC,aAAa,EAAE,mBAAmB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,UAAU,EAAE,gBAAgB;IAGtC;;OAEG;IACG,wBAAwB,CAC5B,eAAe,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,EACrD,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;KACvC,CAAC;IAyJF;;OAEG;YACW,4BAA4B;IAyC1C;;OAEG;YACW,0BAA0B;IAiDxC;;OAEG;YACW,wBAAwB;IAuCtC;;;;OAIG;YACW,uBAAuB;IA+BrC;;;OAGG;YACW,kCAAkC;IAmBhD;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAgDjC;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IA2C3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IA8C3B;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAyC3B;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAoC3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,mBAAmB,CAAC;IAgF/B;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAInD;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAgBlC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CASlC"}
|