@meshconnect/uwc-core 0.5.1 → 0.6.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/services/connection-service.d.ts +15 -0
- package/dist/services/connection-service.d.ts.map +1 -1
- package/dist/services/connection-service.js +57 -28
- package/dist/services/connection-service.js.map +1 -1
- package/dist/services/signature-service.d.ts.map +1 -1
- package/dist/services/signature-service.js +4 -2
- package/dist/services/signature-service.js.map +1 -1
- package/dist/services/transaction-service.d.ts.map +1 -1
- package/dist/services/transaction-service.js +4 -2
- package/dist/services/transaction-service.js.map +1 -1
- package/dist/universal-wallet-connector.d.ts.map +1 -1
- package/dist/universal-wallet-connector.js +12 -14
- package/dist/universal-wallet-connector.js.map +1 -1
- package/package.json +5 -5
- package/src/services/connection-service.test.ts +153 -1
- package/src/services/connection-service.ts +77 -34
- package/src/services/signature-service.ts +3 -4
- package/src/services/transaction-service.ts +3 -4
- package/src/universal-wallet-connector.ts +15 -20
|
@@ -11,6 +11,7 @@ export declare class ConnectionService {
|
|
|
11
11
|
private activeConnector;
|
|
12
12
|
constructor(networks: Network[], wallets: WalletMetadata[], sessionManager: SessionManager, connectors: Map<ConnectionMode, Connector>, usingIntegratedBrowser: boolean, eventManager: EventManager);
|
|
13
13
|
connect(connectionMode: ConnectionMode, walletId: string, networkId?: NetworkId): Promise<void>;
|
|
14
|
+
private connectWithURIPoll;
|
|
14
15
|
private getConnector;
|
|
15
16
|
private findWallet;
|
|
16
17
|
private getProviderForMode;
|
|
@@ -20,5 +21,19 @@ export declare class ConnectionService {
|
|
|
20
21
|
getWallets(): WalletMetadata[];
|
|
21
22
|
updateWallets(wallets: WalletMetadata[]): void;
|
|
22
23
|
getNetworks(): Network[];
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the walletListAppName for a TON Connect provider.
|
|
26
|
+
*
|
|
27
|
+
* Our backend wallet list (wallets-v2.json) uses app_name as the lookup key.
|
|
28
|
+
* Most wallets share the same value for jsBridgeKey and app_name (e.g. Tonkeeper),
|
|
29
|
+
* so we default to jsBridgeKey when walletListAppName is not set.
|
|
30
|
+
*
|
|
31
|
+
* walletListAppName must be set explicitly when:
|
|
32
|
+
* - The wallet has no injected provider (bridge-only, e.g. Tonkeeper Pro)
|
|
33
|
+
* - Multiple wallet list entries share the same jsBridgeKey but target
|
|
34
|
+
* different apps (e.g. OKX Wallet vs OKX trading app both use
|
|
35
|
+
* jsBridgeKey 'okxTonWallet' but have different app_name / bridge URLs)
|
|
36
|
+
*/
|
|
37
|
+
private resolveTonConnectAppName;
|
|
23
38
|
}
|
|
24
39
|
//# sourceMappingURL=connection-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-service.d.ts","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,cAAc,EACd,cAAc,EACd,SAAS,
|
|
1
|
+
{"version":3,"file":"connection-service.d.ts","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,cAAc,EACd,cAAc,EACd,SAAS,EAMV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IARtB,OAAO,CAAC,eAAe,CAAyB;gBAGtC,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,cAAc,EAAE,EACzB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY;IAG9B,OAAO,CACX,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,IAAI,CAAC;YAwDF,kBAAkB;IA2BhC,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,2BAA2B;IA6C7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAiBtC,UAAU,IAAI,cAAc,EAAE;IAI9B,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI;IAI9C,WAAW,IAAI,OAAO,EAAE;IAIxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,wBAAwB;CAiBjC"}
|
|
@@ -28,34 +28,12 @@ export class ConnectionService {
|
|
|
28
28
|
this.activeConnector = connector;
|
|
29
29
|
let result;
|
|
30
30
|
try {
|
|
31
|
-
if (connectionMode === 'injected'
|
|
32
|
-
// For injected/tonConnect, pass the provider (which is ExtensionInjectedProvider | IntegratedBrowserInjectedProvider)
|
|
31
|
+
if (connectionMode === 'injected') {
|
|
33
32
|
result = await connector.connect(network, provider);
|
|
34
33
|
}
|
|
35
|
-
else if (connectionMode === '
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
// Poll for URI and notify when it becomes available
|
|
39
|
-
const pollForURI = setInterval(() => {
|
|
40
|
-
const uri = this.getConnectionURI();
|
|
41
|
-
if (uri) {
|
|
42
|
-
clearInterval(pollForURI);
|
|
43
|
-
// Notify subscribers that URI is available
|
|
44
|
-
this.eventManager.notify();
|
|
45
|
-
}
|
|
46
|
-
}, 100); // Poll every 100ms
|
|
47
|
-
// Stop polling after 10 seconds
|
|
48
|
-
const timeoutId = setTimeout(() => {
|
|
49
|
-
clearInterval(pollForURI);
|
|
50
|
-
}, 10000);
|
|
51
|
-
try {
|
|
52
|
-
result = await connectPromise;
|
|
53
|
-
}
|
|
54
|
-
finally {
|
|
55
|
-
// Ensure cleanup happens regardless of success or failure
|
|
56
|
-
clearInterval(pollForURI);
|
|
57
|
-
clearTimeout(timeoutId);
|
|
58
|
-
}
|
|
34
|
+
else if (connectionMode === 'tonConnect' ||
|
|
35
|
+
connectionMode === 'walletConnect') {
|
|
36
|
+
result = await this.connectWithURIPoll(connector, network, provider);
|
|
59
37
|
}
|
|
60
38
|
else {
|
|
61
39
|
throw new Error(`Unsupported connection mode: ${connectionMode}`);
|
|
@@ -76,6 +54,26 @@ export class ConnectionService {
|
|
|
76
54
|
availableAddresses: filteredAvailableAddresses
|
|
77
55
|
});
|
|
78
56
|
}
|
|
57
|
+
async connectWithURIPoll(connector, network, provider) {
|
|
58
|
+
const connectPromise = connector.connect(network, provider);
|
|
59
|
+
const pollForURI = setInterval(() => {
|
|
60
|
+
const uri = this.getConnectionURI();
|
|
61
|
+
if (uri) {
|
|
62
|
+
clearInterval(pollForURI);
|
|
63
|
+
this.eventManager.notify();
|
|
64
|
+
}
|
|
65
|
+
}, 100);
|
|
66
|
+
const timeoutId = setTimeout(() => {
|
|
67
|
+
clearInterval(pollForURI);
|
|
68
|
+
}, 10000);
|
|
69
|
+
try {
|
|
70
|
+
return await connectPromise;
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
clearInterval(pollForURI);
|
|
74
|
+
clearTimeout(timeoutId);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
79
77
|
getConnector(connectionMode) {
|
|
80
78
|
const connector = this.connectors.get(connectionMode);
|
|
81
79
|
if (!connector) {
|
|
@@ -92,7 +90,7 @@ export class ConnectionService {
|
|
|
92
90
|
}
|
|
93
91
|
getProviderForMode(wallet, connectionMode) {
|
|
94
92
|
let provider;
|
|
95
|
-
if (connectionMode === 'injected'
|
|
93
|
+
if (connectionMode === 'injected') {
|
|
96
94
|
provider = this.usingIntegratedBrowser
|
|
97
95
|
? wallet.integratedBrowserInjectedProvider
|
|
98
96
|
: wallet.extensionInjectedProvider;
|
|
@@ -102,6 +100,13 @@ export class ConnectionService {
|
|
|
102
100
|
: `Wallet '${wallet.id}' does not have an extension injected provider`);
|
|
103
101
|
}
|
|
104
102
|
}
|
|
103
|
+
else if (connectionMode === 'tonConnect') {
|
|
104
|
+
provider = wallet.tonConnectProvider;
|
|
105
|
+
if (!provider) {
|
|
106
|
+
throw new Error(`Wallet '${wallet.id}' does not have a TON Connect provider`);
|
|
107
|
+
}
|
|
108
|
+
provider = this.resolveTonConnectAppName(wallet, provider);
|
|
109
|
+
}
|
|
105
110
|
else if (connectionMode === 'walletConnect') {
|
|
106
111
|
provider = wallet.walletConnectProvider;
|
|
107
112
|
if (!provider) {
|
|
@@ -156,7 +161,6 @@ export class ConnectionService {
|
|
|
156
161
|
}
|
|
157
162
|
}
|
|
158
163
|
getConnectionURI() {
|
|
159
|
-
// Only WalletConnect connector has getConnectionURI method
|
|
160
164
|
if (this.activeConnector &&
|
|
161
165
|
typeof this.activeConnector.getConnectionURI === 'function') {
|
|
162
166
|
try {
|
|
@@ -179,5 +183,30 @@ export class ConnectionService {
|
|
|
179
183
|
getNetworks() {
|
|
180
184
|
return this.networks;
|
|
181
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Resolve the walletListAppName for a TON Connect provider.
|
|
188
|
+
*
|
|
189
|
+
* Our backend wallet list (wallets-v2.json) uses app_name as the lookup key.
|
|
190
|
+
* Most wallets share the same value for jsBridgeKey and app_name (e.g. Tonkeeper),
|
|
191
|
+
* so we default to jsBridgeKey when walletListAppName is not set.
|
|
192
|
+
*
|
|
193
|
+
* walletListAppName must be set explicitly when:
|
|
194
|
+
* - The wallet has no injected provider (bridge-only, e.g. Tonkeeper Pro)
|
|
195
|
+
* - Multiple wallet list entries share the same jsBridgeKey but target
|
|
196
|
+
* different apps (e.g. OKX Wallet vs OKX trading app both use
|
|
197
|
+
* jsBridgeKey 'okxTonWallet' but have different app_name / bridge URLs)
|
|
198
|
+
*/
|
|
199
|
+
resolveTonConnectAppName(wallet, provider) {
|
|
200
|
+
if (provider.walletListAppName)
|
|
201
|
+
return provider;
|
|
202
|
+
const injectedProvider = this.usingIntegratedBrowser
|
|
203
|
+
? wallet.integratedBrowserInjectedProvider
|
|
204
|
+
: wallet.extensionInjectedProvider;
|
|
205
|
+
const jsBridgeKey = injectedProvider?.namespaceMetaData?.tvm?.jsBridgeKey;
|
|
206
|
+
if (jsBridgeKey) {
|
|
207
|
+
return { ...provider, walletListAppName: jsBridgeKey };
|
|
208
|
+
}
|
|
209
|
+
return provider;
|
|
210
|
+
}
|
|
182
211
|
}
|
|
183
212
|
//# sourceMappingURL=connection-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-service.d.ts","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAIT,iBAAiB,EACjB,aAAa,EACd,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAEjE;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;gBADV,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;IAGpD;;;;;OAKG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"signature-service.d.ts","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAIT,iBAAiB,EACjB,aAAa,EACd,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAEjE;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;gBADV,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;IAGpD;;;;;OAKG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,aAAa,CAAC;CAkD1B"}
|
|
@@ -32,13 +32,15 @@ export class SignatureService {
|
|
|
32
32
|
throw new Error(`Connector does not support message signing`);
|
|
33
33
|
}
|
|
34
34
|
// Call the connector's signMessage method with the appropriate provider
|
|
35
|
-
if (session.connectionMode === 'injected'
|
|
36
|
-
session.connectionMode === 'tonConnect') {
|
|
35
|
+
if (session.connectionMode === 'injected') {
|
|
37
36
|
if (!provider) {
|
|
38
37
|
throw new Error('Provider is required for injected connector');
|
|
39
38
|
}
|
|
40
39
|
return await connector.signMessage(message, provider);
|
|
41
40
|
}
|
|
41
|
+
else if (session.connectionMode === 'tonConnect') {
|
|
42
|
+
return await connector.signMessage(message);
|
|
43
|
+
}
|
|
42
44
|
else if (session.connectionMode === 'walletConnect') {
|
|
43
45
|
if (!provider) {
|
|
44
46
|
throw new Error('Provider is required for WalletConnect connector');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-service.js","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAEjB;IACA;IAFV,YACU,cAA8B,EAC9B,UAA0C;QAD1C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgC;IACjD,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,OAAe,EACf,QAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAEhD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,CAAC,cAAc,EAAE,CACpE,CAAA;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC/D,CAAC;QAED,wEAAwE;QACxE,
|
|
1
|
+
{"version":3,"file":"signature-service.js","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAEjB;IACA;IAFV,YACU,cAA8B,EAC9B,UAA0C;QAD1C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgC;IACjD,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,OAAe,EACf,QAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAEhD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,CAAC,cAAc,EAAE,CACpE,CAAA;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC/D,CAAC;QAED,wEAAwE;QACxE,IAAI,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAChE,CAAC;YACD,OAAO,MAAM,SAAS,CAAC,WAAW,CAChC,OAAO,EACP,QAEqC,CACtC,CAAA;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;YACnD,OAAO,MAAM,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,KAAK,eAAe,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrE,CAAC;YACD,OAAO,MAAM,SAAS,CAAC,WAAW,CAChC,OAAO,EACP,QAAiC,CAClC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,OAAO,MAAM,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAIT,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAEjE;;GAEG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;gBADV,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;IAGpD;;;;;OAKG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAIT,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAEjE;;GAEG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;gBADV,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;IAGpD;;;;;OAKG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;CAkD9B"}
|
|
@@ -32,13 +32,15 @@ export class TransactionService {
|
|
|
32
32
|
throw new Error(`Connector does not support transactions`);
|
|
33
33
|
}
|
|
34
34
|
// Call the connector's sendTransaction method with the appropriate provider
|
|
35
|
-
if (session.connectionMode === 'injected'
|
|
36
|
-
session.connectionMode === 'tonConnect') {
|
|
35
|
+
if (session.connectionMode === 'injected') {
|
|
37
36
|
if (!provider) {
|
|
38
37
|
throw new Error('Provider is required for injected connector');
|
|
39
38
|
}
|
|
40
39
|
return await connector.sendTransaction(request, provider);
|
|
41
40
|
}
|
|
41
|
+
else if (session.connectionMode === 'tonConnect') {
|
|
42
|
+
return await connector.sendTransaction(request);
|
|
43
|
+
}
|
|
42
44
|
else if (session.connectionMode === 'walletConnect') {
|
|
43
45
|
if (!provider) {
|
|
44
46
|
throw new Error('Provider is required for WalletConnect connector');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-service.js","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAEnB;IACA;IAFV,YACU,cAA8B,EAC9B,UAA0C;QAD1C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgC;IACjD,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,OAA2B,EAC3B,QAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAEhD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,CAAC,cAAc,EAAE,CACpE,CAAA;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QAED,4EAA4E;QAC5E,
|
|
1
|
+
{"version":3,"file":"transaction-service.js","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAEnB;IACA;IAFV,YACU,cAA8B,EAC9B,UAA0C;QAD1C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgC;IACjD,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,OAA2B,EAC3B,QAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAEhD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,CAAC,cAAc,EAAE,CACpE,CAAA;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QAED,4EAA4E;QAC5E,IAAI,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAChE,CAAC;YACD,OAAO,MAAM,SAAS,CAAC,eAAe,CACpC,OAAO,EACP,QAEqC,CACtC,CAAA;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;YACnD,OAAO,MAAM,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,KAAK,eAAe,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrE,CAAC;YACD,OAAO,MAAM,SAAS,CAAC,eAAe,CACpC,OAAO,EACP,QAAiC,CAClC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,OAAO,MAAM,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal-wallet-connector.d.ts","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,OAAO,EACP,cAAc,EACd,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAOhB,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,aAAa,EACd,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"universal-wallet-connector.d.ts","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,OAAO,EACP,cAAc,EACd,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAOhB,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,aAAa,EACd,MAAM,wBAAwB,CAAA;AAa/B,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAI;IAChC,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAQ;IAEtD,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,yBAAyB,CAA2B;IAC5D,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,aAAa,CAAe;gBAGlC,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,cAAc,EAAO,EAC9B,sBAAsB,UAAQ,EAC9B,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,gBAAgB,CAAC,EAAE,gBAAgB;IAkGrC;;OAEG;YACW,yBAAyB;IAkLvC,UAAU;IAIV,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI3C,QAAQ,IAAI,6BAA6B;IAMzC,UAAU,IAAI,cAAc,EAAE;IAI9B,WAAW,IAAI,OAAO,EAAE;IAIlB,OAAO,CACX,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,IAAI,CAAC;IAKhB,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAIhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,4BAA4B;;;;IAI5B;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA8B1D;;;;OAIG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IA8B7B;;;;;OAKG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;OAKG;IACH,yBAAyB,CACvB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,GACf,OAAO;IA8CV,2BAA2B,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI;CAItE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { InjectedConnector } from '@meshconnect/uwc-injected-connector';
|
|
2
2
|
import { WalletConnectConnector } from '@meshconnect/uwc-wallet-connect-connector';
|
|
3
|
+
import { TonConnectConnector } from '@meshconnect/uwc-ton-connector';
|
|
3
4
|
import { SessionManager } from './managers/session-manager';
|
|
4
5
|
import { EventManager } from './managers/event-manager';
|
|
5
6
|
import { ConnectionService } from './services/connection-service';
|
|
@@ -52,9 +53,8 @@ export class UniversalWalletConnector {
|
|
|
52
53
|
this.connectors = new Map();
|
|
53
54
|
this.injectedConnector = new InjectedConnector(this.networkRpcMap, this.wallets, tonConnectConfig);
|
|
54
55
|
this.connectors.set('injected', this.injectedConnector);
|
|
55
|
-
// TON Connect uses the same InjectedConnector but as a separate connection mode
|
|
56
56
|
if (tonConnectConfig) {
|
|
57
|
-
this.connectors.set('tonConnect',
|
|
57
|
+
this.connectors.set('tonConnect', new TonConnectConnector(tonConnectConfig));
|
|
58
58
|
}
|
|
59
59
|
// Only add WalletConnect connector if config is provided
|
|
60
60
|
if (walletConnectConfig) {
|
|
@@ -273,8 +273,7 @@ export class UniversalWalletConnector {
|
|
|
273
273
|
}
|
|
274
274
|
// Get the provider from the active wallet based on connection mode
|
|
275
275
|
let provider;
|
|
276
|
-
if (session.connectionMode === 'injected'
|
|
277
|
-
session.connectionMode === 'tonConnect') {
|
|
276
|
+
if (session.connectionMode === 'injected') {
|
|
278
277
|
provider = this.usingIntegratedBrowser
|
|
279
278
|
? session.activeWallet.integratedBrowserInjectedProvider
|
|
280
279
|
: session.activeWallet.extensionInjectedProvider;
|
|
@@ -282,6 +281,9 @@ export class UniversalWalletConnector {
|
|
|
282
281
|
else if (session.connectionMode === 'walletConnect') {
|
|
283
282
|
provider = session.activeWallet.walletConnectProvider;
|
|
284
283
|
}
|
|
284
|
+
else if (session.connectionMode === 'tonConnect') {
|
|
285
|
+
return await this.signatureService.signMessage(message);
|
|
286
|
+
}
|
|
285
287
|
if (!provider) {
|
|
286
288
|
throw new Error('No provider available for the active wallet');
|
|
287
289
|
}
|
|
@@ -302,8 +304,7 @@ export class UniversalWalletConnector {
|
|
|
302
304
|
}
|
|
303
305
|
// Get the provider from the active wallet based on connection mode
|
|
304
306
|
let provider;
|
|
305
|
-
if (session.connectionMode === 'injected'
|
|
306
|
-
session.connectionMode === 'tonConnect') {
|
|
307
|
+
if (session.connectionMode === 'injected') {
|
|
307
308
|
provider = this.usingIntegratedBrowser
|
|
308
309
|
? session.activeWallet.integratedBrowserInjectedProvider
|
|
309
310
|
: session.activeWallet.extensionInjectedProvider;
|
|
@@ -311,6 +312,9 @@ export class UniversalWalletConnector {
|
|
|
311
312
|
else if (session.connectionMode === 'walletConnect') {
|
|
312
313
|
provider = session.activeWallet.walletConnectProvider;
|
|
313
314
|
}
|
|
315
|
+
else if (session.connectionMode === 'tonConnect') {
|
|
316
|
+
return await this.transactionService.sendTransaction(request);
|
|
317
|
+
}
|
|
314
318
|
if (!provider) {
|
|
315
319
|
throw new Error('No provider available for the active wallet');
|
|
316
320
|
}
|
|
@@ -358,14 +362,8 @@ export class UniversalWalletConnector {
|
|
|
358
362
|
return hasInstalledNamespace;
|
|
359
363
|
}
|
|
360
364
|
if (connectionMode === 'tonConnect') {
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
return false;
|
|
364
|
-
}
|
|
365
|
-
const provider = this.usingIntegratedBrowser
|
|
366
|
-
? wallet.integratedBrowserInjectedProvider
|
|
367
|
-
: wallet.extensionInjectedProvider;
|
|
368
|
-
return provider?.namespaceMetaData?.tvm?.installed === true;
|
|
365
|
+
return (this.connectors.has('tonConnect') &&
|
|
366
|
+
wallet.tonConnectProvider !== undefined);
|
|
369
367
|
}
|
|
370
368
|
return false;
|
|
371
369
|
}
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshconnect/uwc-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Core functionality for Universal Wallet Connector",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"src"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@meshconnect/uwc-injected-connector": "0.9.
|
|
20
|
-
"@meshconnect/uwc-ton-connector": "0.
|
|
21
|
-
"@meshconnect/uwc-types": "0.
|
|
22
|
-
"@meshconnect/uwc-wallet-connect-connector": "0.4.
|
|
19
|
+
"@meshconnect/uwc-injected-connector": "0.9.3",
|
|
20
|
+
"@meshconnect/uwc-ton-connector": "0.4.0",
|
|
21
|
+
"@meshconnect/uwc-types": "0.10.0",
|
|
22
|
+
"@meshconnect/uwc-wallet-connect-connector": "0.4.10"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.9.3"
|
|
@@ -7,7 +7,7 @@ import type {
|
|
|
7
7
|
WalletMetadata,
|
|
8
8
|
ConnectionMode,
|
|
9
9
|
Connector
|
|
10
|
-
} from '
|
|
10
|
+
} from '@meshconnect/uwc-types'
|
|
11
11
|
|
|
12
12
|
describe('ConnectionService', () => {
|
|
13
13
|
let connectionService: ConnectionService
|
|
@@ -183,6 +183,158 @@ describe('ConnectionService', () => {
|
|
|
183
183
|
})
|
|
184
184
|
})
|
|
185
185
|
|
|
186
|
+
describe('connect tonConnect mode', () => {
|
|
187
|
+
let tonNetwork: Network
|
|
188
|
+
let tonConnector: Connector
|
|
189
|
+
|
|
190
|
+
beforeEach(() => {
|
|
191
|
+
tonNetwork = {
|
|
192
|
+
id: 'tvm:-239',
|
|
193
|
+
internalId: -239,
|
|
194
|
+
name: 'TON',
|
|
195
|
+
namespace: 'tvm',
|
|
196
|
+
logoUrl: 'https://ton.org/logo.svg',
|
|
197
|
+
networkType: 'tvm',
|
|
198
|
+
nativeCurrency: { name: 'Toncoin', symbol: 'TON', decimals: 9 }
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
wallets = [
|
|
202
|
+
{
|
|
203
|
+
id: 'tonkeeper',
|
|
204
|
+
name: 'Tonkeeper',
|
|
205
|
+
metadata: { icon: '', downloadUrl: '' },
|
|
206
|
+
extensionInjectedProvider: {
|
|
207
|
+
supportedNetworkIds: ['tvm:-239'],
|
|
208
|
+
namespaceMetaData: { tvm: { jsBridgeKey: 'tonkeeper' } }
|
|
209
|
+
},
|
|
210
|
+
tonConnectProvider: {
|
|
211
|
+
supportedNetworkIds: ['tvm:-239']
|
|
212
|
+
}
|
|
213
|
+
} as unknown as WalletMetadata
|
|
214
|
+
]
|
|
215
|
+
|
|
216
|
+
tonConnector = {
|
|
217
|
+
connect: vi.fn(),
|
|
218
|
+
disconnect: vi.fn(),
|
|
219
|
+
switchNetwork: vi.fn(),
|
|
220
|
+
getConnectionURI: vi.fn()
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
connectors = new Map()
|
|
224
|
+
connectors.set('tonConnect', tonConnector)
|
|
225
|
+
|
|
226
|
+
connectionService = new ConnectionService(
|
|
227
|
+
[tonNetwork],
|
|
228
|
+
wallets,
|
|
229
|
+
sessionManager,
|
|
230
|
+
connectors,
|
|
231
|
+
false,
|
|
232
|
+
eventManager
|
|
233
|
+
)
|
|
234
|
+
})
|
|
235
|
+
|
|
236
|
+
it('calls connector.connect with TonConnectWalletProvider', async () => {
|
|
237
|
+
tonConnector.connect = vi.fn().mockResolvedValue({
|
|
238
|
+
networkId: 'tvm:-239',
|
|
239
|
+
address: 'UQBxyz',
|
|
240
|
+
availableAddresses: [{ address: 'UQBxyz', networkId: 'tvm:-239' }]
|
|
241
|
+
})
|
|
242
|
+
|
|
243
|
+
await connectionService.connect('tonConnect', 'tonkeeper')
|
|
244
|
+
|
|
245
|
+
// walletListAppName defaults to jsBridgeKey when not set
|
|
246
|
+
expect(tonConnector.connect).toHaveBeenCalledWith(tonNetwork, {
|
|
247
|
+
supportedNetworkIds: ['tvm:-239'],
|
|
248
|
+
walletListAppName: 'tonkeeper'
|
|
249
|
+
})
|
|
250
|
+
})
|
|
251
|
+
|
|
252
|
+
it('polls for URI and notifies eventManager when available', async () => {
|
|
253
|
+
const notifySpy = vi.spyOn(eventManager, 'notify')
|
|
254
|
+
let connectResolve: (v: any) => void
|
|
255
|
+
|
|
256
|
+
tonConnector.connect = vi.fn().mockReturnValue(
|
|
257
|
+
new Promise(resolve => {
|
|
258
|
+
connectResolve = resolve
|
|
259
|
+
})
|
|
260
|
+
)
|
|
261
|
+
|
|
262
|
+
// URI not available initially, then becomes available
|
|
263
|
+
let uriCallCount = 0
|
|
264
|
+
tonConnector.getConnectionURI = vi.fn().mockImplementation(() => {
|
|
265
|
+
uriCallCount++
|
|
266
|
+
if (uriCallCount >= 2) return 'tc://some-uri'
|
|
267
|
+
throw new Error('No URI yet')
|
|
268
|
+
})
|
|
269
|
+
|
|
270
|
+
const connectPromise = connectionService.connect(
|
|
271
|
+
'tonConnect',
|
|
272
|
+
'tonkeeper'
|
|
273
|
+
)
|
|
274
|
+
|
|
275
|
+
// Wait for polling to detect URI
|
|
276
|
+
await new Promise(r => setTimeout(r, 250))
|
|
277
|
+
|
|
278
|
+
expect(notifySpy).toHaveBeenCalled()
|
|
279
|
+
|
|
280
|
+
// Resolve the connection to let the test finish
|
|
281
|
+
connectResolve!({
|
|
282
|
+
networkId: 'tvm:-239',
|
|
283
|
+
address: 'UQBxyz',
|
|
284
|
+
availableAddresses: [{ address: 'UQBxyz', networkId: 'tvm:-239' }]
|
|
285
|
+
})
|
|
286
|
+
|
|
287
|
+
await connectPromise
|
|
288
|
+
})
|
|
289
|
+
|
|
290
|
+
it('cleans up polling interval on connection error', async () => {
|
|
291
|
+
tonConnector.connect = vi.fn().mockRejectedValue(new Error('Rejected'))
|
|
292
|
+
|
|
293
|
+
await expect(
|
|
294
|
+
connectionService.connect('tonConnect', 'tonkeeper')
|
|
295
|
+
).rejects.toThrow('Rejected')
|
|
296
|
+
|
|
297
|
+
expect(connectionService['activeConnector']).toBeNull()
|
|
298
|
+
})
|
|
299
|
+
|
|
300
|
+
it('updates session on successful connect', async () => {
|
|
301
|
+
tonConnector.connect = vi.fn().mockResolvedValue({
|
|
302
|
+
networkId: 'tvm:-239',
|
|
303
|
+
address: 'UQBxyz',
|
|
304
|
+
availableAddresses: [{ address: 'UQBxyz', networkId: 'tvm:-239' }]
|
|
305
|
+
})
|
|
306
|
+
|
|
307
|
+
const updateSpy = vi.spyOn(sessionManager, 'updateSession')
|
|
308
|
+
|
|
309
|
+
await connectionService.connect('tonConnect', 'tonkeeper')
|
|
310
|
+
|
|
311
|
+
expect(updateSpy).toHaveBeenCalledWith(
|
|
312
|
+
expect.objectContaining({
|
|
313
|
+
connectionMode: 'tonConnect',
|
|
314
|
+
activeAddress: 'UQBxyz',
|
|
315
|
+
activeNetwork: tonNetwork
|
|
316
|
+
})
|
|
317
|
+
)
|
|
318
|
+
})
|
|
319
|
+
|
|
320
|
+
it('throws when wallet lacks tonConnectProvider', async () => {
|
|
321
|
+
wallets[0] = { ...wallets[0], tonConnectProvider: undefined } as any
|
|
322
|
+
|
|
323
|
+
connectionService = new ConnectionService(
|
|
324
|
+
[tonNetwork],
|
|
325
|
+
wallets,
|
|
326
|
+
sessionManager,
|
|
327
|
+
connectors,
|
|
328
|
+
false,
|
|
329
|
+
eventManager
|
|
330
|
+
)
|
|
331
|
+
|
|
332
|
+
await expect(
|
|
333
|
+
connectionService.connect('tonConnect', 'tonkeeper')
|
|
334
|
+
).rejects.toThrow('does not have a TON Connect provider')
|
|
335
|
+
})
|
|
336
|
+
})
|
|
337
|
+
|
|
186
338
|
describe('disconnect', () => {
|
|
187
339
|
it('should call connector.disconnect and clear session', async () => {
|
|
188
340
|
mockConnector.disconnect = vi.fn().mockResolvedValue(undefined)
|
|
@@ -4,10 +4,11 @@ import type {
|
|
|
4
4
|
WalletMetadata,
|
|
5
5
|
ConnectionMode,
|
|
6
6
|
Connector,
|
|
7
|
+
ConnectorResult,
|
|
7
8
|
SupportedProvider,
|
|
8
9
|
ExtensionInjectedProvider,
|
|
9
10
|
IntegratedBrowserInjectedProvider,
|
|
10
|
-
|
|
11
|
+
TonConnectWalletProvider
|
|
11
12
|
} from '@meshconnect/uwc-types'
|
|
12
13
|
import type { SessionManager } from '../managers/session-manager'
|
|
13
14
|
import type { EventManager } from '../managers/event-manager'
|
|
@@ -47,43 +48,18 @@ export class ConnectionService {
|
|
|
47
48
|
|
|
48
49
|
let result
|
|
49
50
|
try {
|
|
50
|
-
if (connectionMode === 'injected'
|
|
51
|
-
// For injected/tonConnect, pass the provider (which is ExtensionInjectedProvider | IntegratedBrowserInjectedProvider)
|
|
51
|
+
if (connectionMode === 'injected') {
|
|
52
52
|
result = await connector.connect(
|
|
53
53
|
network,
|
|
54
54
|
provider as
|
|
55
55
|
| ExtensionInjectedProvider
|
|
56
56
|
| IntegratedBrowserInjectedProvider
|
|
57
57
|
)
|
|
58
|
-
} else if (
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
)
|
|
64
|
-
|
|
65
|
-
// Poll for URI and notify when it becomes available
|
|
66
|
-
const pollForURI = setInterval(() => {
|
|
67
|
-
const uri = this.getConnectionURI()
|
|
68
|
-
if (uri) {
|
|
69
|
-
clearInterval(pollForURI)
|
|
70
|
-
// Notify subscribers that URI is available
|
|
71
|
-
this.eventManager.notify()
|
|
72
|
-
}
|
|
73
|
-
}, 100) // Poll every 100ms
|
|
74
|
-
|
|
75
|
-
// Stop polling after 10 seconds
|
|
76
|
-
const timeoutId = setTimeout(() => {
|
|
77
|
-
clearInterval(pollForURI)
|
|
78
|
-
}, 10000)
|
|
79
|
-
|
|
80
|
-
try {
|
|
81
|
-
result = await connectPromise
|
|
82
|
-
} finally {
|
|
83
|
-
// Ensure cleanup happens regardless of success or failure
|
|
84
|
-
clearInterval(pollForURI)
|
|
85
|
-
clearTimeout(timeoutId)
|
|
86
|
-
}
|
|
58
|
+
} else if (
|
|
59
|
+
connectionMode === 'tonConnect' ||
|
|
60
|
+
connectionMode === 'walletConnect'
|
|
61
|
+
) {
|
|
62
|
+
result = await this.connectWithURIPoll(connector, network, provider)
|
|
87
63
|
} else {
|
|
88
64
|
throw new Error(`Unsupported connection mode: ${connectionMode}`)
|
|
89
65
|
}
|
|
@@ -109,6 +85,33 @@ export class ConnectionService {
|
|
|
109
85
|
})
|
|
110
86
|
}
|
|
111
87
|
|
|
88
|
+
private async connectWithURIPoll(
|
|
89
|
+
connector: Connector,
|
|
90
|
+
network: Network,
|
|
91
|
+
provider: SupportedProvider
|
|
92
|
+
): Promise<ConnectorResult> {
|
|
93
|
+
const connectPromise = connector.connect(network, provider)
|
|
94
|
+
|
|
95
|
+
const pollForURI = setInterval(() => {
|
|
96
|
+
const uri = this.getConnectionURI()
|
|
97
|
+
if (uri) {
|
|
98
|
+
clearInterval(pollForURI)
|
|
99
|
+
this.eventManager.notify()
|
|
100
|
+
}
|
|
101
|
+
}, 100)
|
|
102
|
+
|
|
103
|
+
const timeoutId = setTimeout(() => {
|
|
104
|
+
clearInterval(pollForURI)
|
|
105
|
+
}, 10000)
|
|
106
|
+
|
|
107
|
+
try {
|
|
108
|
+
return await connectPromise
|
|
109
|
+
} finally {
|
|
110
|
+
clearInterval(pollForURI)
|
|
111
|
+
clearTimeout(timeoutId)
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
112
115
|
private getConnector(connectionMode: ConnectionMode): Connector {
|
|
113
116
|
const connector = this.connectors.get(connectionMode)
|
|
114
117
|
if (!connector) {
|
|
@@ -133,7 +136,7 @@ export class ConnectionService {
|
|
|
133
136
|
): SupportedProvider {
|
|
134
137
|
let provider: SupportedProvider | undefined
|
|
135
138
|
|
|
136
|
-
if (connectionMode === 'injected'
|
|
139
|
+
if (connectionMode === 'injected') {
|
|
137
140
|
provider = this.usingIntegratedBrowser
|
|
138
141
|
? wallet.integratedBrowserInjectedProvider
|
|
139
142
|
: wallet.extensionInjectedProvider
|
|
@@ -145,6 +148,16 @@ export class ConnectionService {
|
|
|
145
148
|
: `Wallet '${wallet.id}' does not have an extension injected provider`
|
|
146
149
|
)
|
|
147
150
|
}
|
|
151
|
+
} else if (connectionMode === 'tonConnect') {
|
|
152
|
+
provider = wallet.tonConnectProvider
|
|
153
|
+
|
|
154
|
+
if (!provider) {
|
|
155
|
+
throw new Error(
|
|
156
|
+
`Wallet '${wallet.id}' does not have a TON Connect provider`
|
|
157
|
+
)
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
provider = this.resolveTonConnectAppName(wallet, provider)
|
|
148
161
|
} else if (connectionMode === 'walletConnect') {
|
|
149
162
|
provider = wallet.walletConnectProvider
|
|
150
163
|
|
|
@@ -220,7 +233,6 @@ export class ConnectionService {
|
|
|
220
233
|
}
|
|
221
234
|
|
|
222
235
|
getConnectionURI(): string | undefined {
|
|
223
|
-
// Only WalletConnect connector has getConnectionURI method
|
|
224
236
|
if (
|
|
225
237
|
this.activeConnector &&
|
|
226
238
|
typeof this.activeConnector.getConnectionURI === 'function'
|
|
@@ -248,4 +260,35 @@ export class ConnectionService {
|
|
|
248
260
|
getNetworks(): Network[] {
|
|
249
261
|
return this.networks
|
|
250
262
|
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Resolve the walletListAppName for a TON Connect provider.
|
|
266
|
+
*
|
|
267
|
+
* Our backend wallet list (wallets-v2.json) uses app_name as the lookup key.
|
|
268
|
+
* Most wallets share the same value for jsBridgeKey and app_name (e.g. Tonkeeper),
|
|
269
|
+
* so we default to jsBridgeKey when walletListAppName is not set.
|
|
270
|
+
*
|
|
271
|
+
* walletListAppName must be set explicitly when:
|
|
272
|
+
* - The wallet has no injected provider (bridge-only, e.g. Tonkeeper Pro)
|
|
273
|
+
* - Multiple wallet list entries share the same jsBridgeKey but target
|
|
274
|
+
* different apps (e.g. OKX Wallet vs OKX trading app both use
|
|
275
|
+
* jsBridgeKey 'okxTonWallet' but have different app_name / bridge URLs)
|
|
276
|
+
*/
|
|
277
|
+
private resolveTonConnectAppName(
|
|
278
|
+
wallet: WalletMetadata,
|
|
279
|
+
provider: TonConnectWalletProvider
|
|
280
|
+
): TonConnectWalletProvider {
|
|
281
|
+
if (provider.walletListAppName) return provider
|
|
282
|
+
|
|
283
|
+
const injectedProvider = this.usingIntegratedBrowser
|
|
284
|
+
? wallet.integratedBrowserInjectedProvider
|
|
285
|
+
: wallet.extensionInjectedProvider
|
|
286
|
+
const jsBridgeKey = injectedProvider?.namespaceMetaData?.tvm?.jsBridgeKey
|
|
287
|
+
|
|
288
|
+
if (jsBridgeKey) {
|
|
289
|
+
return { ...provider, walletListAppName: jsBridgeKey }
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return provider
|
|
293
|
+
}
|
|
251
294
|
}
|
|
@@ -52,10 +52,7 @@ export class SignatureService {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
// Call the connector's signMessage method with the appropriate provider
|
|
55
|
-
if (
|
|
56
|
-
session.connectionMode === 'injected' ||
|
|
57
|
-
session.connectionMode === 'tonConnect'
|
|
58
|
-
) {
|
|
55
|
+
if (session.connectionMode === 'injected') {
|
|
59
56
|
if (!provider) {
|
|
60
57
|
throw new Error('Provider is required for injected connector')
|
|
61
58
|
}
|
|
@@ -65,6 +62,8 @@ export class SignatureService {
|
|
|
65
62
|
| ExtensionInjectedProvider
|
|
66
63
|
| IntegratedBrowserInjectedProvider
|
|
67
64
|
)
|
|
65
|
+
} else if (session.connectionMode === 'tonConnect') {
|
|
66
|
+
return await connector.signMessage(message)
|
|
68
67
|
} else if (session.connectionMode === 'walletConnect') {
|
|
69
68
|
if (!provider) {
|
|
70
69
|
throw new Error('Provider is required for WalletConnect connector')
|
|
@@ -53,10 +53,7 @@ export class TransactionService {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
// Call the connector's sendTransaction method with the appropriate provider
|
|
56
|
-
if (
|
|
57
|
-
session.connectionMode === 'injected' ||
|
|
58
|
-
session.connectionMode === 'tonConnect'
|
|
59
|
-
) {
|
|
56
|
+
if (session.connectionMode === 'injected') {
|
|
60
57
|
if (!provider) {
|
|
61
58
|
throw new Error('Provider is required for injected connector')
|
|
62
59
|
}
|
|
@@ -66,6 +63,8 @@ export class TransactionService {
|
|
|
66
63
|
| ExtensionInjectedProvider
|
|
67
64
|
| IntegratedBrowserInjectedProvider
|
|
68
65
|
)
|
|
66
|
+
} else if (session.connectionMode === 'tonConnect') {
|
|
67
|
+
return await connector.sendTransaction(request)
|
|
69
68
|
} else if (session.connectionMode === 'walletConnect') {
|
|
70
69
|
if (!provider) {
|
|
71
70
|
throw new Error('Provider is required for WalletConnect connector')
|
|
@@ -20,6 +20,7 @@ import type {
|
|
|
20
20
|
} from '@meshconnect/uwc-types'
|
|
21
21
|
import { InjectedConnector } from '@meshconnect/uwc-injected-connector'
|
|
22
22
|
import { WalletConnectConnector } from '@meshconnect/uwc-wallet-connect-connector'
|
|
23
|
+
import { TonConnectConnector } from '@meshconnect/uwc-ton-connector'
|
|
23
24
|
import { SessionManager } from './managers/session-manager'
|
|
24
25
|
import { EventManager } from './managers/event-manager'
|
|
25
26
|
import { ConnectionService } from './services/connection-service'
|
|
@@ -99,9 +100,11 @@ export class UniversalWalletConnector {
|
|
|
99
100
|
)
|
|
100
101
|
this.connectors.set('injected', this.injectedConnector)
|
|
101
102
|
|
|
102
|
-
// TON Connect uses the same InjectedConnector but as a separate connection mode
|
|
103
103
|
if (tonConnectConfig) {
|
|
104
|
-
this.connectors.set(
|
|
104
|
+
this.connectors.set(
|
|
105
|
+
'tonConnect',
|
|
106
|
+
new TonConnectConnector(tonConnectConfig)
|
|
107
|
+
)
|
|
105
108
|
}
|
|
106
109
|
|
|
107
110
|
// Only add WalletConnect connector if config is provided
|
|
@@ -400,15 +403,14 @@ export class UniversalWalletConnector {
|
|
|
400
403
|
|
|
401
404
|
// Get the provider from the active wallet based on connection mode
|
|
402
405
|
let provider
|
|
403
|
-
if (
|
|
404
|
-
session.connectionMode === 'injected' ||
|
|
405
|
-
session.connectionMode === 'tonConnect'
|
|
406
|
-
) {
|
|
406
|
+
if (session.connectionMode === 'injected') {
|
|
407
407
|
provider = this.usingIntegratedBrowser
|
|
408
408
|
? session.activeWallet.integratedBrowserInjectedProvider
|
|
409
409
|
: session.activeWallet.extensionInjectedProvider
|
|
410
410
|
} else if (session.connectionMode === 'walletConnect') {
|
|
411
411
|
provider = session.activeWallet.walletConnectProvider
|
|
412
|
+
} else if (session.connectionMode === 'tonConnect') {
|
|
413
|
+
return await this.signatureService.signMessage(message)
|
|
412
414
|
}
|
|
413
415
|
|
|
414
416
|
if (!provider) {
|
|
@@ -438,15 +440,14 @@ export class UniversalWalletConnector {
|
|
|
438
440
|
|
|
439
441
|
// Get the provider from the active wallet based on connection mode
|
|
440
442
|
let provider
|
|
441
|
-
if (
|
|
442
|
-
session.connectionMode === 'injected' ||
|
|
443
|
-
session.connectionMode === 'tonConnect'
|
|
444
|
-
) {
|
|
443
|
+
if (session.connectionMode === 'injected') {
|
|
445
444
|
provider = this.usingIntegratedBrowser
|
|
446
445
|
? session.activeWallet.integratedBrowserInjectedProvider
|
|
447
446
|
: session.activeWallet.extensionInjectedProvider
|
|
448
447
|
} else if (session.connectionMode === 'walletConnect') {
|
|
449
448
|
provider = session.activeWallet.walletConnectProvider
|
|
449
|
+
} else if (session.connectionMode === 'tonConnect') {
|
|
450
|
+
return await this.transactionService.sendTransaction(request)
|
|
450
451
|
}
|
|
451
452
|
|
|
452
453
|
if (!provider) {
|
|
@@ -518,16 +519,10 @@ export class UniversalWalletConnector {
|
|
|
518
519
|
}
|
|
519
520
|
|
|
520
521
|
if (connectionMode === 'tonConnect') {
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
const provider = this.usingIntegratedBrowser
|
|
527
|
-
? wallet.integratedBrowserInjectedProvider
|
|
528
|
-
: wallet.extensionInjectedProvider
|
|
529
|
-
|
|
530
|
-
return provider?.namespaceMetaData?.tvm?.installed === true
|
|
522
|
+
return (
|
|
523
|
+
this.connectors.has('tonConnect') &&
|
|
524
|
+
wallet.tonConnectProvider !== undefined
|
|
525
|
+
)
|
|
531
526
|
}
|
|
532
527
|
|
|
533
528
|
return false
|