@meshconnect/uwc-core 0.7.5-snapshot.c90b3e8 → 0.7.6
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 +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/managers/event-manager.d.ts +3 -22
- package/dist/managers/event-manager.d.ts.map +1 -1
- package/dist/managers/event-manager.js +7 -63
- package/dist/managers/event-manager.js.map +1 -1
- package/dist/services/connection-service.d.ts +2 -5
- package/dist/services/connection-service.d.ts.map +1 -1
- package/dist/services/connection-service.js +7 -19
- package/dist/services/connection-service.js.map +1 -1
- package/dist/services/network-switch-service.d.ts +1 -2
- package/dist/services/network-switch-service.d.ts.map +1 -1
- package/dist/services/network-switch-service.js +3 -15
- package/dist/services/network-switch-service.js.map +1 -1
- package/dist/services/signature-service.d.ts +1 -3
- package/dist/services/signature-service.d.ts.map +1 -1
- package/dist/services/signature-service.js +5 -10
- package/dist/services/signature-service.js.map +1 -1
- package/dist/services/transaction-service.d.ts +1 -3
- package/dist/services/transaction-service.d.ts.map +1 -1
- package/dist/services/transaction-service.js +5 -10
- package/dist/services/transaction-service.js.map +1 -1
- package/dist/services/wallet-capabilities-service.d.ts +1 -2
- package/dist/services/wallet-capabilities-service.d.ts.map +1 -1
- package/dist/services/wallet-capabilities-service.js +2 -9
- package/dist/services/wallet-capabilities-service.js.map +1 -1
- package/dist/universal-wallet-connector.d.ts +6 -52
- package/dist/universal-wallet-connector.d.ts.map +1 -1
- package/dist/universal-wallet-connector.js +177 -271
- package/dist/universal-wallet-connector.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +3 -11
- package/src/managers/event-manager.test.ts +0 -70
- package/src/managers/event-manager.ts +9 -80
- package/src/services/connection-service.test.ts +3 -11
- package/src/services/connection-service.ts +7 -34
- package/src/services/network-switch-service.ts +3 -22
- package/src/services/signature-service.ts +5 -13
- package/src/services/transaction-service.ts +5 -13
- package/src/services/wallet-capabilities-service.ts +2 -14
- package/src/universal-wallet-connector.test.ts +3 -87
- package/src/universal-wallet-connector.ts +204 -395
- package/README.md +0 -924
- package/dist/events.d.ts +0 -71
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -2
- package/dist/events.js.map +0 -1
- package/src/events.ts +0 -73
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export * from './universal-wallet-connector';
|
|
2
|
+
export * from './managers';
|
|
3
|
+
export * from './services';
|
|
3
4
|
//# 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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
|
|
@@ -1,27 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
type
|
|
3
|
-
/**
|
|
4
|
-
* Typed event emitter used by UniversalWalletConnector.
|
|
5
|
-
*
|
|
6
|
-
* Each event has its own listener set. Emitting any typed event also
|
|
7
|
-
* dispatches the legacy `change` event, so `subscribe()` callers keep
|
|
8
|
-
* receiving a notification on every state change.
|
|
9
|
-
*/
|
|
1
|
+
type Listener = () => void;
|
|
2
|
+
type Unsubscribe = () => void;
|
|
10
3
|
export declare class EventManager {
|
|
11
4
|
private listeners;
|
|
12
|
-
|
|
13
|
-
on<K extends UWCEventName>(event: K, listener: UWCEventListener<K>): () => void;
|
|
14
|
-
/** Subscribe once; the listener is removed after the first dispatch. */
|
|
15
|
-
once<K extends UWCEventName>(event: K, listener: UWCEventListener<K>): () => void;
|
|
16
|
-
off<K extends UWCEventName>(event: K, listener: UWCEventListener<K>): void;
|
|
17
|
-
emit<K extends UWCEventName>(event: K, data: UWCEventMap[K]): void;
|
|
18
|
-
private dispatch;
|
|
19
|
-
/**
|
|
20
|
-
* @deprecated Prefer `on(eventName, listener)` for targeted updates.
|
|
21
|
-
* Subscribes to the catch-all `change` event.
|
|
22
|
-
*/
|
|
23
|
-
subscribe(listener: LegacyListener): () => void;
|
|
24
|
-
/** @deprecated Prefer `emit(eventName, data)`. Emits `change` with no payload. */
|
|
5
|
+
subscribe(listener: Listener): Unsubscribe;
|
|
25
6
|
notify(): void;
|
|
26
7
|
getListenerCount(): number;
|
|
27
8
|
clearAllListeners(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-manager.d.ts","sourceRoot":"","sources":["../../src/managers/event-manager.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"event-manager.d.ts","sourceRoot":"","sources":["../../src/managers/event-manager.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAA;AAC1B,KAAK,WAAW,GAAG,MAAM,IAAI,CAAA;AAE7B,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAA2B;IAE5C,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW;IAO1C,MAAM,IAAI,IAAI;IAId,gBAAgB,IAAI,MAAM;IAI1B,iBAAiB,IAAI,IAAI;CAG1B"}
|
|
@@ -1,72 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Typed event emitter used by UniversalWalletConnector.
|
|
3
|
-
*
|
|
4
|
-
* Each event has its own listener set. Emitting any typed event also
|
|
5
|
-
* dispatches the legacy `change` event, so `subscribe()` callers keep
|
|
6
|
-
* receiving a notification on every state change.
|
|
7
|
-
*/
|
|
8
1
|
export class EventManager {
|
|
9
|
-
listeners = new
|
|
10
|
-
/** Subscribe to a typed event. Returns an unsubscribe function. */
|
|
11
|
-
on(event, listener) {
|
|
12
|
-
let set = this.listeners.get(event);
|
|
13
|
-
if (!set) {
|
|
14
|
-
set = new Set();
|
|
15
|
-
this.listeners.set(event, set);
|
|
16
|
-
}
|
|
17
|
-
set.add(listener);
|
|
18
|
-
return () => this.off(event, listener);
|
|
19
|
-
}
|
|
20
|
-
/** Subscribe once; the listener is removed after the first dispatch. */
|
|
21
|
-
once(event, listener) {
|
|
22
|
-
const wrapper = data => {
|
|
23
|
-
this.off(event, wrapper);
|
|
24
|
-
listener(data);
|
|
25
|
-
};
|
|
26
|
-
return this.on(event, wrapper);
|
|
27
|
-
}
|
|
28
|
-
off(event, listener) {
|
|
29
|
-
const set = this.listeners.get(event);
|
|
30
|
-
set?.delete(listener);
|
|
31
|
-
}
|
|
32
|
-
emit(event, data) {
|
|
33
|
-
this.dispatch(event, data);
|
|
34
|
-
if (event !== 'change') {
|
|
35
|
-
this.dispatch('change', undefined);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
dispatch(event, data) {
|
|
39
|
-
const set = this.listeners.get(event);
|
|
40
|
-
if (!set || set.size === 0)
|
|
41
|
-
return;
|
|
42
|
-
// Clone to guard against mutation during dispatch.
|
|
43
|
-
for (const listener of [...set]) {
|
|
44
|
-
try {
|
|
45
|
-
listener(data);
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
// A bad listener shouldn't break the rest of the dispatch chain.
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
// ---- legacy API (still used by the React ConnectionProvider) ----
|
|
53
|
-
/**
|
|
54
|
-
* @deprecated Prefer `on(eventName, listener)` for targeted updates.
|
|
55
|
-
* Subscribes to the catch-all `change` event.
|
|
56
|
-
*/
|
|
2
|
+
listeners = new Set();
|
|
57
3
|
subscribe(listener) {
|
|
58
|
-
|
|
4
|
+
this.listeners.add(listener);
|
|
5
|
+
return () => {
|
|
6
|
+
this.listeners.delete(listener);
|
|
7
|
+
};
|
|
59
8
|
}
|
|
60
|
-
/** @deprecated Prefer `emit(eventName, data)`. Emits `change` with no payload. */
|
|
61
9
|
notify() {
|
|
62
|
-
this.
|
|
10
|
+
this.listeners.forEach(listener => listener());
|
|
63
11
|
}
|
|
64
12
|
getListenerCount() {
|
|
65
|
-
|
|
66
|
-
for (const set of this.listeners.values()) {
|
|
67
|
-
count += set.size;
|
|
68
|
-
}
|
|
69
|
-
return count;
|
|
13
|
+
return this.listeners.size;
|
|
70
14
|
}
|
|
71
15
|
clearAllListeners() {
|
|
72
16
|
this.listeners.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-manager.js","sourceRoot":"","sources":["../../src/managers/event-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event-manager.js","sourceRoot":"","sources":["../../src/managers/event-manager.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACf,SAAS,GAAkB,IAAI,GAAG,EAAE,CAAA;IAE5C,SAAS,CAAC,QAAkB;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;IAC5B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;CACF"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { Network, NetworkId, WalletMetadata, ConnectionMode, Connector } from '@meshconnect/uwc-types';
|
|
2
2
|
import type { SessionManager } from '../managers/session-manager';
|
|
3
3
|
import type { EventManager } from '../managers/event-manager';
|
|
4
|
-
export interface ServiceOptions {
|
|
5
|
-
signal?: AbortSignal;
|
|
6
|
-
}
|
|
7
4
|
export declare class ConnectionService {
|
|
8
5
|
private networks;
|
|
9
6
|
private wallets;
|
|
@@ -13,13 +10,13 @@ export declare class ConnectionService {
|
|
|
13
10
|
private eventManager;
|
|
14
11
|
private activeConnector;
|
|
15
12
|
constructor(networks: Network[], wallets: WalletMetadata[], sessionManager: SessionManager, connectors: Map<ConnectionMode, Connector>, usingIntegratedBrowser: boolean, eventManager: EventManager);
|
|
16
|
-
connect(connectionMode: ConnectionMode, walletId: string, networkId?: NetworkId
|
|
13
|
+
connect(connectionMode: ConnectionMode, walletId: string, networkId?: NetworkId): Promise<void>;
|
|
17
14
|
private connectWithURIPoll;
|
|
18
15
|
private getConnector;
|
|
19
16
|
private findWallet;
|
|
20
17
|
private getProviderForMode;
|
|
21
18
|
private validateAndDetermineNetwork;
|
|
22
|
-
disconnect(
|
|
19
|
+
disconnect(): Promise<void>;
|
|
23
20
|
getConnectionURI(): string | undefined;
|
|
24
21
|
getWallets(): WalletMetadata[];
|
|
25
22
|
updateWallets(wallets: WalletMetadata[]): void;
|
|
@@ -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,EAMV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,
|
|
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;YAyDF,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"}
|
|
@@ -14,9 +14,7 @@ export class ConnectionService {
|
|
|
14
14
|
this.usingIntegratedBrowser = usingIntegratedBrowser;
|
|
15
15
|
this.eventManager = eventManager;
|
|
16
16
|
}
|
|
17
|
-
async connect(connectionMode, walletId, networkId
|
|
18
|
-
options?.signal?.throwIfAborted();
|
|
19
|
-
this.eventManager.emit('connecting', { connectionMode, walletId });
|
|
17
|
+
async connect(connectionMode, walletId, networkId) {
|
|
20
18
|
// Find the wallet
|
|
21
19
|
const wallet = this.findWallet(walletId);
|
|
22
20
|
// Get the appropriate provider based on connection mode
|
|
@@ -35,7 +33,7 @@ export class ConnectionService {
|
|
|
35
33
|
}
|
|
36
34
|
else if (connectionMode === 'tonConnect' ||
|
|
37
35
|
connectionMode === 'walletConnect') {
|
|
38
|
-
result = await this.connectWithURIPoll(connector, network, provider
|
|
36
|
+
result = await this.connectWithURIPoll(connector, network, provider);
|
|
39
37
|
}
|
|
40
38
|
else {
|
|
41
39
|
throw new Error(`Unsupported connection mode: ${connectionMode}`);
|
|
@@ -45,8 +43,6 @@ export class ConnectionService {
|
|
|
45
43
|
this.activeConnector = null;
|
|
46
44
|
throw error;
|
|
47
45
|
}
|
|
48
|
-
// If the caller aborted during the await, bail before mutating session
|
|
49
|
-
options?.signal?.throwIfAborted();
|
|
50
46
|
// Filter available addresses to only include those for configured networks
|
|
51
47
|
const filteredAvailableAddresses = result.availableAddresses.filter(addr => this.networks.some(n => n.id === addr.networkId));
|
|
52
48
|
this.sessionManager.updateSession({
|
|
@@ -58,18 +54,14 @@ export class ConnectionService {
|
|
|
58
54
|
availableNetworks: this.networks.filter(n => provider.supportedNetworkIds.includes(n.id)),
|
|
59
55
|
availableAddresses: filteredAvailableAddresses
|
|
60
56
|
});
|
|
61
|
-
const session = this.sessionManager.getSession();
|
|
62
|
-
this.eventManager.emit('connected', { session });
|
|
63
|
-
this.eventManager.emit('sessionChanged', { session });
|
|
64
57
|
}
|
|
65
|
-
async connectWithURIPoll(connector, network, provider
|
|
58
|
+
async connectWithURIPoll(connector, network, provider) {
|
|
66
59
|
const connectPromise = connector.connect(network, provider);
|
|
67
|
-
let emittedUri;
|
|
68
60
|
const pollForURI = setInterval(() => {
|
|
69
61
|
const uri = this.getConnectionURI();
|
|
70
|
-
if (uri
|
|
71
|
-
|
|
72
|
-
this.eventManager.
|
|
62
|
+
if (uri) {
|
|
63
|
+
clearInterval(pollForURI);
|
|
64
|
+
this.eventManager.notify();
|
|
73
65
|
}
|
|
74
66
|
}, 100);
|
|
75
67
|
const timeoutId = setTimeout(() => {
|
|
@@ -157,8 +149,7 @@ export class ConnectionService {
|
|
|
157
149
|
}
|
|
158
150
|
return network;
|
|
159
151
|
}
|
|
160
|
-
async disconnect(
|
|
161
|
-
options?.signal?.throwIfAborted();
|
|
152
|
+
async disconnect() {
|
|
162
153
|
try {
|
|
163
154
|
if (this.activeConnector &&
|
|
164
155
|
typeof this.activeConnector.disconnect === 'function') {
|
|
@@ -168,9 +159,6 @@ export class ConnectionService {
|
|
|
168
159
|
finally {
|
|
169
160
|
this.activeConnector = null;
|
|
170
161
|
this.sessionManager.clearSession();
|
|
171
|
-
const session = this.sessionManager.getSession();
|
|
172
|
-
this.eventManager.emit('disconnected', undefined);
|
|
173
|
-
this.eventManager.emit('sessionChanged', { session });
|
|
174
162
|
}
|
|
175
163
|
}
|
|
176
164
|
getConnectionURI() {
|
|
@@ -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":"AAeA,MAAM,OAAO,iBAAiB;IAIlB;IACA;IACA;IACA;IACA;IACA;IARF,eAAe,GAAqB,IAAI,CAAA;IAEhD,YACU,QAAmB,EACnB,OAAyB,EACzB,cAA8B,EAC9B,UAA0C,EAC1C,sBAA+B,EAC/B,YAA0B;QAL1B,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAkB;QACzB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgC;QAC1C,2BAAsB,GAAtB,sBAAsB,CAAS;QAC/B,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,cAA8B,EAC9B,QAAgB,EAChB,SAAqB;QAErB,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAExC,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAEhE,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAErE,gCAAgC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;QAEnD,wDAAwD;QACxD,uEAAuE;QACvE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAEhC,IAAI,MAAM,CAAA;QACV,IAAI,CAAC;YACH,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAC9B,OAAO,EACP,QAEqC,CACtC,CAAA;YACH,CAAC;iBAAM,IACL,cAAc,KAAK,YAAY;gBAC/B,cAAc,KAAK,eAAe,EAClC,CAAC;gBACD,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;YACtE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;YAC3B,MAAM,KAAK,CAAA;QACb,CAAC;QAED,2EAA2E;QAC3E,MAAM,0BAA0B,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CACjD,CAAA;QAED,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAChC,cAAc;YACd,YAAY,EAAE,MAAM;YACpB,aAAa,EAAE,OAAO;YACtB,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;YACnC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC1C,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5C;YACD,kBAAkB,EAAE,0BAA0B;SAC/C,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,SAAoB,EACpB,OAAgB,EAChB,QAA2B;QAE3B,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAE3D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACnC,IAAI,GAAG,EAAE,CAAC;gBACR,aAAa,CAAC,UAAU,CAAC,CAAA;gBACzB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAA;YAC5B,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAA;QAEP,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAA;QAET,IAAI,CAAC;YACH,OAAO,MAAM,cAAc,CAAA;QAC7B,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,UAAU,CAAC,CAAA;YACzB,YAAY,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,cAA8B;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2CAA2C,cAAc,EAAE,CAC5D,CAAA;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,UAAU,CAAC,QAAgB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,aAAa,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,kBAAkB,CACxB,MAAsB,EACtB,cAA8B;QAE9B,IAAI,QAAuC,CAAA;QAE3C,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,QAAQ,GAAG,IAAI,CAAC,sBAAsB;gBACpC,CAAC,CAAC,MAAM,CAAC,iCAAiC;gBAC1C,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAA;YAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,sBAAsB;oBACzB,CAAC,CAAC,WAAW,MAAM,CAAC,EAAE,yDAAyD;oBAC/E,CAAC,CAAC,WAAW,MAAM,CAAC,EAAE,gDAAgD,CACzE,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;YAC3C,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAA;YAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,EAAE,wCAAwC,CAC7D,CAAA;YACH,CAAC;YAED,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC5D,CAAC;aAAM,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;YAC9C,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAA;YAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,EAAE,0CAA0C,CAC/D,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAA;QACnE,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,2BAA2B,CACjC,SAAgC,EAChC,QAA2B;QAE3B,IAAI,eAA0B,CAAA;QAE9B,IAAI,SAAS,EAAE,CAAC;YACd,mDAAmD;YACnD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;YACjE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,oCAAoC,CACzD,CAAA;YACH,CAAC;YAED,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,iCAAiC,CAAC,CAAA;YACxE,CAAC;YAED,eAAe,GAAG,SAAS,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,qFAAqF;YACrF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CACrC,CAAA;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;YACH,CAAC;YACD,eAAe,GAAG,gBAAgB,CAAA;QACpC,CAAC;QAED,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,WAAW,eAAe,mCAAmC,CAC9D,CAAA;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,IACE,IAAI,CAAC,eAAe;gBACpB,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,KAAK,UAAU,EACrD,CAAC;gBACD,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;YACzC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;YAC3B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAA;QACpC,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,IACE,IAAI,CAAC,eAAe;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,KAAK,UAAU,EAC3D,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAA;gBACnD,OAAO,GAAG,CAAA;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;gBACpD,OAAO,SAAS,CAAA;YAClB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,aAAa,CAAC,OAAyB;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,wBAAwB,CAC9B,MAAsB,EACtB,QAAkC;QAElC,IAAI,QAAQ,CAAC,iBAAiB;YAAE,OAAO,QAAQ,CAAA;QAE/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB;YAClD,CAAC,CAAC,MAAM,CAAC,iCAAiC;YAC1C,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAA;QACpC,MAAM,WAAW,GAAG,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,EAAE,WAAW,CAAA;QAEzE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,GAAG,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAA;QACxD,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Network, NetworkId, Connector, ConnectionMode } from '@meshconnect/uwc-types';
|
|
2
2
|
import type { SessionManager } from '../managers/session-manager';
|
|
3
3
|
import type { EventManager } from '../managers/event-manager';
|
|
4
|
-
import type { ServiceOptions } from './connection-service';
|
|
5
4
|
export declare class NetworkSwitchService {
|
|
6
5
|
private networks;
|
|
7
6
|
private sessionManager;
|
|
@@ -15,7 +14,7 @@ export declare class NetworkSwitchService {
|
|
|
15
14
|
isLoading: boolean;
|
|
16
15
|
isWaitingForUserApproval: boolean;
|
|
17
16
|
};
|
|
18
|
-
switchNetwork(networkId: NetworkId
|
|
17
|
+
switchNetwork(networkId: NetworkId): Promise<void>;
|
|
19
18
|
private checkIfApprovalRequired;
|
|
20
19
|
}
|
|
21
20
|
//# sourceMappingURL=network-switch-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-switch-service.d.ts","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EAMf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"network-switch-service.d.ts","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EAMf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IARtB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,wBAAwB,CAAQ;gBAG9B,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY;IAGpC,eAAe;;;;IAOT,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyHxD,OAAO,CAAC,uBAAuB;CAyChC"}
|
|
@@ -19,8 +19,7 @@ export class NetworkSwitchService {
|
|
|
19
19
|
isWaitingForUserApproval: this.isWaitingForUserApproval
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
async switchNetwork(networkId
|
|
23
|
-
options?.signal?.throwIfAborted();
|
|
22
|
+
async switchNetwork(networkId) {
|
|
24
23
|
// Check if there's an active connection
|
|
25
24
|
const session = this.sessionManager.getSession();
|
|
26
25
|
if (!session) {
|
|
@@ -71,10 +70,7 @@ export class NetworkSwitchService {
|
|
|
71
70
|
// Set loading states
|
|
72
71
|
this.isLoading = true;
|
|
73
72
|
this.isWaitingForUserApproval = requiresApproval;
|
|
74
|
-
this.eventManager.
|
|
75
|
-
isLoading: true,
|
|
76
|
-
isWaitingForUserApproval: requiresApproval
|
|
77
|
-
});
|
|
73
|
+
this.eventManager.notify();
|
|
78
74
|
// Perform the network switch and get the new address
|
|
79
75
|
// Pass the appropriate provider based on connection mode
|
|
80
76
|
let result;
|
|
@@ -89,7 +85,6 @@ export class NetworkSwitchService {
|
|
|
89
85
|
else {
|
|
90
86
|
result = await activeConnector.switchNetwork(network);
|
|
91
87
|
}
|
|
92
|
-
options?.signal?.throwIfAborted();
|
|
93
88
|
// Filter available addresses to only include those for configured networks
|
|
94
89
|
const filteredAvailableAddresses = result.availableAddresses
|
|
95
90
|
? result.availableAddresses.filter(addr => this.networks.some(n => n.id === addr.networkId))
|
|
@@ -102,19 +97,12 @@ export class NetworkSwitchService {
|
|
|
102
97
|
availableAddresses: filteredAvailableAddresses
|
|
103
98
|
})
|
|
104
99
|
});
|
|
105
|
-
this.eventManager.emit('networkSwitched', { network });
|
|
106
|
-
this.eventManager.emit('sessionChanged', {
|
|
107
|
-
session: this.sessionManager.getSession()
|
|
108
|
-
});
|
|
109
100
|
}
|
|
110
101
|
finally {
|
|
111
102
|
// Clear loading states
|
|
112
103
|
this.isLoading = false;
|
|
113
104
|
this.isWaitingForUserApproval = false;
|
|
114
|
-
this.eventManager.
|
|
115
|
-
isLoading: false,
|
|
116
|
-
isWaitingForUserApproval: false
|
|
117
|
-
});
|
|
105
|
+
this.eventManager.notify();
|
|
118
106
|
}
|
|
119
107
|
}
|
|
120
108
|
checkIfApprovalRequired(wallet, targetNetwork, currentNetwork) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-switch-service.js","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network-switch-service.js","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { ConnectionMode, Connector, SupportedProvider, SignatureType } from '@meshconnect/uwc-types';
|
|
2
2
|
import type { SessionManager } from '../managers/session-manager';
|
|
3
|
-
import type { ServiceOptions } from './connection-service';
|
|
4
3
|
/**
|
|
5
4
|
* Service for handling signature operations across different connector types
|
|
6
5
|
*/
|
|
@@ -12,9 +11,8 @@ export declare class SignatureService {
|
|
|
12
11
|
* Sign a message with the currently connected wallet
|
|
13
12
|
* @param message The message to sign
|
|
14
13
|
* @param provider The wallet provider to use for signing (required for injected connector)
|
|
15
|
-
* @param options Optional cancellation signal
|
|
16
14
|
* @returns A promise that resolves to the signature
|
|
17
15
|
*/
|
|
18
|
-
signMessage(message: string, provider?: SupportedProvider
|
|
16
|
+
signMessage(message: string, provider?: SupportedProvider): Promise<SignatureType>;
|
|
19
17
|
}
|
|
20
18
|
//# sourceMappingURL=signature-service.d.ts.map
|
|
@@ -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;
|
|
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"}
|
|
@@ -12,11 +12,9 @@ export class SignatureService {
|
|
|
12
12
|
* Sign a message with the currently connected wallet
|
|
13
13
|
* @param message The message to sign
|
|
14
14
|
* @param provider The wallet provider to use for signing (required for injected connector)
|
|
15
|
-
* @param options Optional cancellation signal
|
|
16
15
|
* @returns A promise that resolves to the signature
|
|
17
16
|
*/
|
|
18
|
-
async signMessage(message, provider
|
|
19
|
-
options?.signal?.throwIfAborted();
|
|
17
|
+
async signMessage(message, provider) {
|
|
20
18
|
const session = this.sessionManager.getSession();
|
|
21
19
|
if (!session.connectionMode) {
|
|
22
20
|
throw new Error('No active connection');
|
|
@@ -34,28 +32,25 @@ export class SignatureService {
|
|
|
34
32
|
throw new Error(`Connector does not support message signing`);
|
|
35
33
|
}
|
|
36
34
|
// Call the connector's signMessage method with the appropriate provider
|
|
37
|
-
let signature;
|
|
38
35
|
if (session.connectionMode === 'injected') {
|
|
39
36
|
if (!provider) {
|
|
40
37
|
throw new Error('Provider is required for injected connector');
|
|
41
38
|
}
|
|
42
|
-
|
|
39
|
+
return await connector.signMessage(message, provider);
|
|
43
40
|
}
|
|
44
41
|
else if (session.connectionMode === 'tonConnect') {
|
|
45
|
-
|
|
42
|
+
return await connector.signMessage(message);
|
|
46
43
|
}
|
|
47
44
|
else if (session.connectionMode === 'walletConnect') {
|
|
48
45
|
if (!provider) {
|
|
49
46
|
throw new Error('Provider is required for WalletConnect connector');
|
|
50
47
|
}
|
|
51
|
-
|
|
48
|
+
return await connector.signMessage(message, provider);
|
|
52
49
|
}
|
|
53
50
|
else {
|
|
54
51
|
// For other connectors that might not need the provider
|
|
55
|
-
|
|
52
|
+
return await connector.signMessage(message);
|
|
56
53
|
}
|
|
57
|
-
options?.signal?.throwIfAborted();
|
|
58
|
-
return signature;
|
|
59
54
|
}
|
|
60
55
|
}
|
|
61
56
|
//# sourceMappingURL=signature-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-service.js","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"
|
|
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,6 +1,5 @@
|
|
|
1
1
|
import type { ConnectionMode, Connector, SupportedProvider, TransactionRequest, TransactionResult } from '@meshconnect/uwc-types';
|
|
2
2
|
import type { SessionManager } from '../managers/session-manager';
|
|
3
|
-
import type { ServiceOptions } from './connection-service';
|
|
4
3
|
/**
|
|
5
4
|
* Service for handling transaction operations across different connector types
|
|
6
5
|
*/
|
|
@@ -12,9 +11,8 @@ export declare class TransactionService {
|
|
|
12
11
|
* Send a transaction with the currently connected wallet
|
|
13
12
|
* @param request The transaction request parameters
|
|
14
13
|
* @param provider The wallet provider to use for sending (required for injected connector)
|
|
15
|
-
* @param options Optional cancellation signal
|
|
16
14
|
* @returns A promise that resolves to the transaction result
|
|
17
15
|
*/
|
|
18
|
-
sendTransaction(request: TransactionRequest, provider?: SupportedProvider
|
|
16
|
+
sendTransaction(request: TransactionRequest, provider?: SupportedProvider): Promise<TransactionResult>;
|
|
19
17
|
}
|
|
20
18
|
//# sourceMappingURL=transaction-service.d.ts.map
|
|
@@ -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;
|
|
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"}
|
|
@@ -12,11 +12,9 @@ export class TransactionService {
|
|
|
12
12
|
* Send a transaction with the currently connected wallet
|
|
13
13
|
* @param request The transaction request parameters
|
|
14
14
|
* @param provider The wallet provider to use for sending (required for injected connector)
|
|
15
|
-
* @param options Optional cancellation signal
|
|
16
15
|
* @returns A promise that resolves to the transaction result
|
|
17
16
|
*/
|
|
18
|
-
async sendTransaction(request, provider
|
|
19
|
-
options?.signal?.throwIfAborted();
|
|
17
|
+
async sendTransaction(request, provider) {
|
|
20
18
|
const session = this.sessionManager.getSession();
|
|
21
19
|
if (!session.connectionMode) {
|
|
22
20
|
throw new Error('No active connection');
|
|
@@ -34,28 +32,25 @@ export class TransactionService {
|
|
|
34
32
|
throw new Error(`Connector does not support transactions`);
|
|
35
33
|
}
|
|
36
34
|
// Call the connector's sendTransaction method with the appropriate provider
|
|
37
|
-
let result;
|
|
38
35
|
if (session.connectionMode === 'injected') {
|
|
39
36
|
if (!provider) {
|
|
40
37
|
throw new Error('Provider is required for injected connector');
|
|
41
38
|
}
|
|
42
|
-
|
|
39
|
+
return await connector.sendTransaction(request, provider);
|
|
43
40
|
}
|
|
44
41
|
else if (session.connectionMode === 'tonConnect') {
|
|
45
|
-
|
|
42
|
+
return await connector.sendTransaction(request);
|
|
46
43
|
}
|
|
47
44
|
else if (session.connectionMode === 'walletConnect') {
|
|
48
45
|
if (!provider) {
|
|
49
46
|
throw new Error('Provider is required for WalletConnect connector');
|
|
50
47
|
}
|
|
51
|
-
|
|
48
|
+
return await connector.sendTransaction(request, provider);
|
|
52
49
|
}
|
|
53
50
|
else {
|
|
54
51
|
// For other connectors that might not need the provider
|
|
55
|
-
|
|
52
|
+
return await connector.sendTransaction(request);
|
|
56
53
|
}
|
|
57
|
-
options?.signal?.throwIfAborted();
|
|
58
|
-
return result;
|
|
59
54
|
}
|
|
60
55
|
}
|
|
61
56
|
//# sourceMappingURL=transaction-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-service.js","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"
|
|
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,13 +1,12 @@
|
|
|
1
1
|
import type { Network, ConnectionMode, Connector } from '@meshconnect/uwc-types';
|
|
2
2
|
import type { SessionManager } from '../managers/session-manager';
|
|
3
3
|
import type { EventManager } from '../managers/event-manager';
|
|
4
|
-
import type { ServiceOptions } from './connection-service';
|
|
5
4
|
export declare class WalletCapabilitiesService {
|
|
6
5
|
private networks;
|
|
7
6
|
private connectors;
|
|
8
7
|
private sessionManager;
|
|
9
8
|
private eventManager;
|
|
10
9
|
constructor(networks: Network[], connectors: Map<ConnectionMode, Connector>, sessionManager: SessionManager, eventManager: EventManager);
|
|
11
|
-
getWalletCapabilities(address: string, activeNetwork?: Network
|
|
10
|
+
getWalletCapabilities(address: string, activeNetwork?: Network): Promise<void>;
|
|
12
11
|
}
|
|
13
12
|
//# sourceMappingURL=wallet-capabilities-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-capabilities-service.d.ts","sourceRoot":"","sources":["../../src/services/wallet-capabilities-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,SAAS,EAEV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"wallet-capabilities-service.d.ts","sourceRoot":"","sources":["../../src/services/wallet-capabilities-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,SAAS,EAEV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;gBAHZ,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY;IAG9B,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC;CAwDjB"}
|
|
@@ -9,8 +9,7 @@ export class WalletCapabilitiesService {
|
|
|
9
9
|
this.sessionManager = sessionManager;
|
|
10
10
|
this.eventManager = eventManager;
|
|
11
11
|
}
|
|
12
|
-
async getWalletCapabilities(address, activeNetwork
|
|
13
|
-
options?.signal?.throwIfAborted();
|
|
12
|
+
async getWalletCapabilities(address, activeNetwork) {
|
|
14
13
|
let activeWalletCapabilities = {};
|
|
15
14
|
let activeNetworkWalletCapabilities = {};
|
|
16
15
|
const session = this.sessionManager.getSession();
|
|
@@ -31,7 +30,6 @@ export class WalletCapabilitiesService {
|
|
|
31
30
|
catch {
|
|
32
31
|
capabilities = {};
|
|
33
32
|
}
|
|
34
|
-
options?.signal?.throwIfAborted();
|
|
35
33
|
// keep only supported networks
|
|
36
34
|
activeWalletCapabilities = Object.fromEntries(Object.entries(capabilities).filter(([networkId, _]) => this.networks.some(n => n.id === networkId)));
|
|
37
35
|
if (activeNetwork) {
|
|
@@ -48,12 +46,7 @@ export class WalletCapabilitiesService {
|
|
|
48
46
|
activeNetworkWalletCapabilities: null
|
|
49
47
|
});
|
|
50
48
|
}
|
|
51
|
-
this.eventManager.
|
|
52
|
-
capabilities: activeWalletCapabilities
|
|
53
|
-
});
|
|
54
|
-
this.eventManager.emit('sessionChanged', {
|
|
55
|
-
session: this.sessionManager.getSession()
|
|
56
|
-
});
|
|
49
|
+
this.eventManager.notify();
|
|
57
50
|
}
|
|
58
51
|
}
|
|
59
52
|
}
|