@metamask/connect-multichain 0.1.0 → 0.2.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/CHANGELOG.md +35 -1
- package/dist/browser/es/connect-multichain.d.mts +67 -13
- package/dist/browser/es/connect-multichain.mjs +895 -384
- package/dist/browser/es/connect-multichain.mjs.map +1 -1
- package/dist/browser/es/metafile-esm.json +1 -1
- package/dist/browser/iife/connect-multichain.d.ts +67 -13
- package/dist/browser/iife/connect-multichain.js +21636 -14459
- package/dist/browser/iife/connect-multichain.js.map +1 -1
- package/dist/browser/iife/metafile-iife.json +1 -1
- package/dist/browser/umd/connect-multichain.d.ts +67 -13
- package/dist/browser/umd/connect-multichain.js +893 -382
- package/dist/browser/umd/connect-multichain.js.map +1 -1
- package/dist/browser/umd/metafile-cjs.json +1 -1
- package/dist/node/cjs/connect-multichain.d.ts +67 -13
- package/dist/node/cjs/connect-multichain.js +898 -385
- package/dist/node/cjs/connect-multichain.js.map +1 -1
- package/dist/node/cjs/metafile-cjs.json +1 -1
- package/dist/node/es/connect-multichain.d.mts +67 -13
- package/dist/node/es/connect-multichain.mjs +898 -387
- package/dist/node/es/connect-multichain.mjs.map +1 -1
- package/dist/node/es/metafile-esm.json +1 -1
- package/dist/react-native/es/connect-multichain.d.mts +67 -13
- package/dist/react-native/es/connect-multichain.mjs +897 -386
- package/dist/react-native/es/connect-multichain.mjs.map +1 -1
- package/dist/react-native/es/metafile-esm.json +1 -1
- package/dist/src/domain/events/index.d.ts +26 -0
- package/dist/src/domain/events/index.d.ts.map +1 -1
- package/dist/src/domain/events/index.js +35 -0
- package/dist/src/domain/events/index.js.map +1 -1
- package/dist/src/domain/multichain/index.d.ts +7 -5
- package/dist/src/domain/multichain/index.d.ts.map +1 -1
- package/dist/src/domain/multichain/index.js +2 -2
- package/dist/src/domain/multichain/index.js.map +1 -1
- package/dist/src/domain/multichain/types.d.ts +9 -7
- package/dist/src/domain/multichain/types.d.ts.map +1 -1
- package/dist/src/domain/platform/index.js +3 -3
- package/dist/src/domain/platform/index.js.map +1 -1
- package/dist/src/domain/ui/factory.d.ts +1 -1
- package/dist/src/domain/ui/factory.d.ts.map +1 -1
- package/dist/src/domain/utils/index.d.ts +1 -0
- package/dist/src/domain/utils/index.d.ts.map +1 -1
- package/dist/src/domain/utils/index.js +1 -0
- package/dist/src/domain/utils/index.js.map +1 -1
- package/dist/src/multichain/index.d.ts +5 -2
- package/dist/src/multichain/index.d.ts.map +1 -1
- package/dist/src/multichain/index.js +124 -38
- package/dist/src/multichain/index.js.map +1 -1
- package/dist/src/multichain/rpc/handlers/rpcClient.d.ts +2 -1
- package/dist/src/multichain/rpc/handlers/rpcClient.d.ts.map +1 -1
- package/dist/src/multichain/rpc/handlers/rpcClient.js +16 -17
- package/dist/src/multichain/rpc/handlers/rpcClient.js.map +1 -1
- package/dist/src/multichain/rpc/requestRouter.d.ts +1 -0
- package/dist/src/multichain/rpc/requestRouter.d.ts.map +1 -1
- package/dist/src/multichain/rpc/requestRouter.js +71 -15
- package/dist/src/multichain/rpc/requestRouter.js.map +1 -1
- package/dist/src/multichain/transports/constants.d.ts +3 -0
- package/dist/src/multichain/transports/constants.d.ts.map +1 -0
- package/dist/src/multichain/transports/constants.js +3 -0
- package/dist/src/multichain/transports/constants.js.map +1 -0
- package/dist/src/multichain/transports/default/index.d.ts +4 -0
- package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
- package/dist/src/multichain/transports/default/index.js +137 -13
- package/dist/src/multichain/transports/default/index.js.map +1 -1
- package/dist/src/multichain/transports/mwp/index.d.ts +10 -1
- package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
- package/dist/src/multichain/transports/mwp/index.js +138 -10
- package/dist/src/multichain/transports/mwp/index.js.map +1 -1
- package/dist/src/multichain/utils/analytics.d.ts +39 -0
- package/dist/src/multichain/utils/analytics.d.ts.map +1 -0
- package/dist/src/multichain/utils/analytics.js +83 -0
- package/dist/src/multichain/utils/analytics.js.map +1 -0
- package/dist/src/multichain/utils/index.d.ts +0 -1
- package/dist/src/multichain/utils/index.d.ts.map +1 -1
- package/dist/src/multichain/utils/index.js +1 -16
- package/dist/src/multichain/utils/index.js.map +1 -1
- package/dist/src/ui/index.d.ts +1 -1
- package/dist/src/ui/index.d.ts.map +1 -1
- package/dist/src/ui/index.js +35 -19
- package/dist/src/ui/index.js.map +1 -1
- package/dist/src/ui/modals/web/install.js +1 -1
- package/dist/src/ui/modals/web/install.js.map +1 -1
- package/dist/types/connect-multichain.d.ts +67 -13
- package/package.json +12 -9
|
@@ -7,9 +7,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
11
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
12
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
13
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
|
+
};
|
|
15
|
+
var _RequestRouter_instances, _RequestRouter_withAnalyticsTracking, _RequestRouter_trackWalletActionRequested, _RequestRouter_trackWalletActionSucceeded, _RequestRouter_trackWalletActionFailed, _RequestRouter_trackWalletActionRejected;
|
|
16
|
+
import { analytics } from '@metamask/analytics';
|
|
10
17
|
import { METAMASK_CONNECT_BASE_URL, METAMASK_DEEPLINK_BASE } from '../../config';
|
|
11
18
|
import { isSecure, RPC_HANDLED_METHODS, RPCInvokeMethodErr, SDK_HANDLED_METHODS } from '../../domain';
|
|
12
19
|
import { openDeeplink } from '../utils';
|
|
20
|
+
import { getWalletActionAnalyticsProperties, isRejectionError } from '../utils/analytics';
|
|
13
21
|
import { MissingRpcEndpointErr } from './handlers/rpcClient';
|
|
14
22
|
let rpcId = 1;
|
|
15
23
|
export function getNextRpcId() {
|
|
@@ -18,6 +26,7 @@ export function getNextRpcId() {
|
|
|
18
26
|
}
|
|
19
27
|
export class RequestRouter {
|
|
20
28
|
constructor(transport, rpcClient, config) {
|
|
29
|
+
_RequestRouter_instances.add(this);
|
|
21
30
|
this.transport = transport;
|
|
22
31
|
this.rpcClient = rpcClient;
|
|
23
32
|
this.config = config;
|
|
@@ -44,15 +53,15 @@ export class RequestRouter {
|
|
|
44
53
|
*/
|
|
45
54
|
handleWithWallet(options) {
|
|
46
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
|
|
56
|
+
return __classPrivateFieldGet(this, _RequestRouter_instances, "m", _RequestRouter_withAnalyticsTracking).call(this, options, () => __awaiter(this, void 0, void 0, function* () {
|
|
48
57
|
const request = this.transport.request({
|
|
49
58
|
method: 'wallet_invokeMethod',
|
|
50
59
|
params: options,
|
|
51
60
|
});
|
|
52
61
|
const { ui, mobile } = this.config;
|
|
53
|
-
const {
|
|
62
|
+
const { showInstallModal = false } = ui !== null && ui !== void 0 ? ui : {};
|
|
54
63
|
const secure = isSecure();
|
|
55
|
-
const shouldOpenDeeplink = secure && !
|
|
64
|
+
const shouldOpenDeeplink = secure && !showInstallModal;
|
|
56
65
|
if (shouldOpenDeeplink) {
|
|
57
66
|
setTimeout(() => {
|
|
58
67
|
if (mobile === null || mobile === void 0 ? void 0 : mobile.preferredOpenLink) {
|
|
@@ -68,10 +77,7 @@ export class RequestRouter {
|
|
|
68
77
|
throw new RPCInvokeMethodErr(`RPC Request failed with code ${response.error.code}: ${response.error.message}`);
|
|
69
78
|
}
|
|
70
79
|
return response.result;
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
throw new RPCInvokeMethodErr(error.message);
|
|
74
|
-
}
|
|
80
|
+
}));
|
|
75
81
|
});
|
|
76
82
|
}
|
|
77
83
|
/**
|
|
@@ -79,15 +85,17 @@ export class RequestRouter {
|
|
|
79
85
|
*/
|
|
80
86
|
handleWithRpcNode(options) {
|
|
81
87
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
catch (error) {
|
|
86
|
-
if (error instanceof MissingRpcEndpointErr) {
|
|
87
|
-
return this.handleWithWallet(options);
|
|
88
|
+
return __classPrivateFieldGet(this, _RequestRouter_instances, "m", _RequestRouter_withAnalyticsTracking).call(this, options, () => __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
try {
|
|
90
|
+
return yield this.rpcClient.request(options);
|
|
88
91
|
}
|
|
89
|
-
|
|
90
|
-
|
|
92
|
+
catch (error) {
|
|
93
|
+
if (error instanceof MissingRpcEndpointErr) {
|
|
94
|
+
return this.handleWithWallet(options);
|
|
95
|
+
}
|
|
96
|
+
throw error;
|
|
97
|
+
}
|
|
98
|
+
}));
|
|
91
99
|
});
|
|
92
100
|
}
|
|
93
101
|
/**
|
|
@@ -97,8 +105,56 @@ export class RequestRouter {
|
|
|
97
105
|
return __awaiter(this, void 0, void 0, function* () {
|
|
98
106
|
// TODO: to be implemented
|
|
99
107
|
console.warn(`Method "${options.request.method}" is configured for SDK state handling, but this is not yet implemented. Falling back to wallet passthrough.`);
|
|
108
|
+
// Fallback to wallet
|
|
100
109
|
return this.handleWithWallet(options);
|
|
101
110
|
});
|
|
102
111
|
}
|
|
103
112
|
}
|
|
113
|
+
_RequestRouter_instances = new WeakSet(), _RequestRouter_withAnalyticsTracking = function _RequestRouter_withAnalyticsTracking(options, execute) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
var _a, _b, _c;
|
|
116
|
+
if ((_a = this.config.analytics) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
117
|
+
yield __classPrivateFieldGet(this, _RequestRouter_instances, "m", _RequestRouter_trackWalletActionRequested).call(this, options);
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const result = yield execute();
|
|
121
|
+
if ((_b = this.config.analytics) === null || _b === void 0 ? void 0 : _b.enabled) {
|
|
122
|
+
yield __classPrivateFieldGet(this, _RequestRouter_instances, "m", _RequestRouter_trackWalletActionSucceeded).call(this, options);
|
|
123
|
+
}
|
|
124
|
+
return result;
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
if ((_c = this.config.analytics) === null || _c === void 0 ? void 0 : _c.enabled) {
|
|
128
|
+
const isRejection = isRejectionError(error);
|
|
129
|
+
if (isRejection) {
|
|
130
|
+
yield __classPrivateFieldGet(this, _RequestRouter_instances, "m", _RequestRouter_trackWalletActionRejected).call(this, options);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
yield __classPrivateFieldGet(this, _RequestRouter_instances, "m", _RequestRouter_trackWalletActionFailed).call(this, options);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
throw new RPCInvokeMethodErr(error.message);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}, _RequestRouter_trackWalletActionRequested = function _RequestRouter_trackWalletActionRequested(options) {
|
|
140
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
const props = yield getWalletActionAnalyticsProperties(this.config, this.config.storage, options);
|
|
142
|
+
analytics.track('mmconnect_wallet_action_requested', props);
|
|
143
|
+
});
|
|
144
|
+
}, _RequestRouter_trackWalletActionSucceeded = function _RequestRouter_trackWalletActionSucceeded(options) {
|
|
145
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
const props = yield getWalletActionAnalyticsProperties(this.config, this.config.storage, options);
|
|
147
|
+
analytics.track('mmconnect_wallet_action_succeeded', props);
|
|
148
|
+
});
|
|
149
|
+
}, _RequestRouter_trackWalletActionFailed = function _RequestRouter_trackWalletActionFailed(options) {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
const props = yield getWalletActionAnalyticsProperties(this.config, this.config.storage, options);
|
|
152
|
+
analytics.track('mmconnect_wallet_action_failed', props);
|
|
153
|
+
});
|
|
154
|
+
}, _RequestRouter_trackWalletActionRejected = function _RequestRouter_trackWalletActionRejected(options) {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
const props = yield getWalletActionAnalyticsProperties(this.config, this.config.storage, options);
|
|
157
|
+
analytics.track('mmconnect_wallet_action_rejected', props);
|
|
158
|
+
});
|
|
159
|
+
};
|
|
104
160
|
//# sourceMappingURL=requestRouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestRouter.js","sourceRoot":"","sources":["../../../../src/multichain/rpc/requestRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestRouter.js","sourceRoot":"","sources":["../../../../src/multichain/rpc/requestRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/multichain/transports/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,sBAAsB,CAAC;AACjE,eAAO,MAAM,+BAA+B,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/multichain/transports/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;AACjE,MAAM,CAAC,MAAM,+BAA+B,GAAG,8BAA8B,CAAC"}
|
|
@@ -3,9 +3,13 @@ import type { CaipAccountId } from '@metamask/utils';
|
|
|
3
3
|
import type { ExtendedTransport, Scope } from 'src/domain';
|
|
4
4
|
export declare class DefaultTransport implements ExtendedTransport {
|
|
5
5
|
#private;
|
|
6
|
+
sendEip1193Message<TRequest extends TransportRequest, TResponse extends TransportResponse>(payload: TRequest, options?: {
|
|
7
|
+
timeout?: number;
|
|
8
|
+
}): Promise<TResponse>;
|
|
6
9
|
connect(options?: {
|
|
7
10
|
scopes: Scope[];
|
|
8
11
|
caipAccountIds: CaipAccountId[];
|
|
12
|
+
forceRequest?: boolean;
|
|
9
13
|
}): Promise<void>;
|
|
10
14
|
disconnect(): Promise<void>;
|
|
11
15
|
isConnected(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/default/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAU,KAAK,EAAe,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/default/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAU,KAAK,EAAe,MAAM,YAAY,CAAC;AAiBhF,qBAAa,gBAAiB,YAAW,iBAAiB;;IAiHlD,kBAAkB,CACtB,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IA4ClE,OAAO,CAAC,OAAO,CAAC,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,cAAc,EAAE,aAAa,EAAE,CAAC;QAChC,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuEX,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC,WAAW,IAAI,OAAO;IAIhB,OAAO,CACX,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EAEnC,OAAO,EAAE,QAAQ,EACjB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAgC,GAC1D,OAAO,CAAC,SAAS,CAAC;IAIrB,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;CAO9D"}
|
|
@@ -12,7 +12,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
12
12
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
13
13
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
14
|
};
|
|
15
|
-
var
|
|
15
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
16
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
17
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
18
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
19
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
20
|
+
};
|
|
21
|
+
var _DefaultTransport_instances, _DefaultTransport_notificationCallbacks, _DefaultTransport_transport, _DefaultTransport_defaultRequestOptions, _DefaultTransport_reqId, _DefaultTransport_pendingRequests, _DefaultTransport_handleResponseListener, _DefaultTransport_handleNotificationListener, _DefaultTransport_notifyCallbacks, _DefaultTransport_isMetamaskProviderEvent, _DefaultTransport_handleResponse, _DefaultTransport_handleNotification, _DefaultTransport_setupMessageListener;
|
|
16
22
|
import { getDefaultTransport, } from '@metamask/multichain-api-client';
|
|
17
23
|
import { addValidAccounts, getOptionalScopes, getValidAccounts, isSameScopesAndAccounts, } from '../../utils';
|
|
18
24
|
const DEFAULT_REQUEST_TIMEOUT = 60 * 1000;
|
|
@@ -24,18 +30,60 @@ export class DefaultTransport {
|
|
|
24
30
|
_DefaultTransport_defaultRequestOptions.set(this, {
|
|
25
31
|
timeout: DEFAULT_REQUEST_TIMEOUT,
|
|
26
32
|
});
|
|
33
|
+
// Use timestamp-based ID to avoid conflicts across disconnect/reconnect cycles
|
|
34
|
+
_DefaultTransport_reqId.set(this, Date.now());
|
|
35
|
+
_DefaultTransport_pendingRequests.set(this, new Map());
|
|
36
|
+
_DefaultTransport_handleResponseListener.set(this, void 0);
|
|
37
|
+
_DefaultTransport_handleNotificationListener.set(this, void 0);
|
|
38
|
+
}
|
|
39
|
+
sendEip1193Message(payload, options) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
// Setup message listener if not already set up
|
|
42
|
+
__classPrivateFieldGet(this, _DefaultTransport_instances, "m", _DefaultTransport_setupMessageListener).call(this);
|
|
43
|
+
// Generate unique request ID - increment counter to ensure uniqueness
|
|
44
|
+
__classPrivateFieldSet(this, _DefaultTransport_reqId, __classPrivateFieldGet(this, _DefaultTransport_reqId, "f") + 1, "f");
|
|
45
|
+
const requestId = `${__classPrivateFieldGet(this, _DefaultTransport_reqId, "f")}`;
|
|
46
|
+
// Create request with ID - MetaMask expects JSON-RPC format
|
|
47
|
+
const request = Object.assign({ jsonrpc: '2.0', id: requestId }, payload);
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
var _a;
|
|
50
|
+
const timeout = setTimeout(() => {
|
|
51
|
+
__classPrivateFieldGet(this, _DefaultTransport_pendingRequests, "f").delete(requestId);
|
|
52
|
+
reject(new Error('Request timeout'));
|
|
53
|
+
}, (_a = options === null || options === void 0 ? void 0 : options.timeout) !== null && _a !== void 0 ? _a : __classPrivateFieldGet(this, _DefaultTransport_defaultRequestOptions, "f").timeout);
|
|
54
|
+
__classPrivateFieldGet(this, _DefaultTransport_pendingRequests, "f").set(requestId, {
|
|
55
|
+
resolve: (response) => {
|
|
56
|
+
resolve(response);
|
|
57
|
+
},
|
|
58
|
+
reject,
|
|
59
|
+
timeout,
|
|
60
|
+
});
|
|
61
|
+
// eslint-disable-next-line no-restricted-globals
|
|
62
|
+
window.postMessage({
|
|
63
|
+
target: 'metamask-contentscript',
|
|
64
|
+
data: {
|
|
65
|
+
name: 'metamask-provider',
|
|
66
|
+
data: request,
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
// eslint-disable-next-line no-restricted-globals
|
|
70
|
+
location.origin);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
27
73
|
}
|
|
28
74
|
connect(options) {
|
|
29
75
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
76
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
77
|
+
// Ensure message listener is set up before connecting
|
|
78
|
+
__classPrivateFieldGet(this, _DefaultTransport_instances, "m", _DefaultTransport_setupMessageListener).call(this);
|
|
31
79
|
yield __classPrivateFieldGet(this, _DefaultTransport_transport, "f").connect();
|
|
32
|
-
//Get wallet session
|
|
80
|
+
// Get wallet session
|
|
33
81
|
const sessionRequest = yield this.request({ method: 'wallet_getSession' }, __classPrivateFieldGet(this, _DefaultTransport_defaultRequestOptions, "f"));
|
|
34
82
|
if (sessionRequest.error) {
|
|
35
83
|
throw new Error(sessionRequest.error.message);
|
|
36
84
|
}
|
|
37
85
|
let walletSession = sessionRequest.result;
|
|
38
|
-
if (walletSession && options) {
|
|
86
|
+
if (walletSession && options && !options.forceRequest) {
|
|
39
87
|
const currentScopes = Object.keys((_a = walletSession === null || walletSession === void 0 ? void 0 : walletSession.sessionScopes) !== null && _a !== void 0 ? _a : {});
|
|
40
88
|
const proposedScopes = (_b = options === null || options === void 0 ? void 0 : options.scopes) !== null && _b !== void 0 ? _b : [];
|
|
41
89
|
const proposedCaipAccountIds = (_c = options === null || options === void 0 ? void 0 : options.caipAccountIds) !== null && _c !== void 0 ? _c : [];
|
|
@@ -43,18 +91,22 @@ export class DefaultTransport {
|
|
|
43
91
|
if (!hasSameScopesAndAccounts) {
|
|
44
92
|
yield this.request({ method: 'wallet_revokeSession', params: walletSession }, __classPrivateFieldGet(this, _DefaultTransport_defaultRequestOptions, "f"));
|
|
45
93
|
const optionalScopes = addValidAccounts(getOptionalScopes((_d = options === null || options === void 0 ? void 0 : options.scopes) !== null && _d !== void 0 ? _d : []), getValidAccounts((_e = options === null || options === void 0 ? void 0 : options.caipAccountIds) !== null && _e !== void 0 ? _e : []));
|
|
46
|
-
const
|
|
47
|
-
|
|
94
|
+
const createSessionParams = {
|
|
95
|
+
optionalScopes,
|
|
96
|
+
};
|
|
97
|
+
const response = yield this.request({ method: 'wallet_createSession', params: createSessionParams }, __classPrivateFieldGet(this, _DefaultTransport_defaultRequestOptions, "f"));
|
|
48
98
|
if (response.error) {
|
|
49
99
|
throw new Error(response.error.message);
|
|
50
100
|
}
|
|
51
101
|
walletSession = response.result;
|
|
52
102
|
}
|
|
53
103
|
}
|
|
54
|
-
else if (!walletSession) {
|
|
104
|
+
else if (!walletSession || (options === null || options === void 0 ? void 0 : options.forceRequest)) {
|
|
55
105
|
const optionalScopes = addValidAccounts(getOptionalScopes((_f = options === null || options === void 0 ? void 0 : options.scopes) !== null && _f !== void 0 ? _f : []), getValidAccounts((_g = options === null || options === void 0 ? void 0 : options.caipAccountIds) !== null && _g !== void 0 ? _g : []));
|
|
56
|
-
const
|
|
57
|
-
|
|
106
|
+
const createSessionParams = {
|
|
107
|
+
optionalScopes,
|
|
108
|
+
};
|
|
109
|
+
const response = yield this.request({ method: 'wallet_createSession', params: createSessionParams }, __classPrivateFieldGet(this, _DefaultTransport_defaultRequestOptions, "f"));
|
|
58
110
|
if (response.error) {
|
|
59
111
|
throw new Error(response.error.message);
|
|
60
112
|
}
|
|
@@ -69,6 +121,19 @@ export class DefaultTransport {
|
|
|
69
121
|
disconnect() {
|
|
70
122
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
123
|
__classPrivateFieldGet(this, _DefaultTransport_notificationCallbacks, "f").clear();
|
|
124
|
+
yield this.request({ method: 'wallet_revokeSession', params: {} });
|
|
125
|
+
// Remove the message listener when disconnecting
|
|
126
|
+
if (__classPrivateFieldGet(this, _DefaultTransport_handleResponseListener, "f")) {
|
|
127
|
+
// eslint-disable-next-line no-restricted-globals
|
|
128
|
+
window.removeEventListener('message', __classPrivateFieldGet(this, _DefaultTransport_handleResponseListener, "f"));
|
|
129
|
+
__classPrivateFieldSet(this, _DefaultTransport_handleResponseListener, undefined, "f");
|
|
130
|
+
}
|
|
131
|
+
// Reject all pending requests
|
|
132
|
+
for (const [, request] of __classPrivateFieldGet(this, _DefaultTransport_pendingRequests, "f")) {
|
|
133
|
+
clearTimeout(request.timeout);
|
|
134
|
+
request.reject(new Error('Transport disconnected'));
|
|
135
|
+
}
|
|
136
|
+
__classPrivateFieldGet(this, _DefaultTransport_pendingRequests, "f").clear();
|
|
72
137
|
return __classPrivateFieldGet(this, _DefaultTransport_transport, "f").disconnect();
|
|
73
138
|
});
|
|
74
139
|
}
|
|
@@ -88,14 +153,73 @@ export class DefaultTransport {
|
|
|
88
153
|
};
|
|
89
154
|
}
|
|
90
155
|
}
|
|
91
|
-
_DefaultTransport_notificationCallbacks = new WeakMap(), _DefaultTransport_transport = new WeakMap(), _DefaultTransport_defaultRequestOptions = new WeakMap(), _DefaultTransport_instances = new WeakSet(), _DefaultTransport_notifyCallbacks = function _DefaultTransport_notifyCallbacks(data) {
|
|
92
|
-
for (const
|
|
156
|
+
_DefaultTransport_notificationCallbacks = new WeakMap(), _DefaultTransport_transport = new WeakMap(), _DefaultTransport_defaultRequestOptions = new WeakMap(), _DefaultTransport_reqId = new WeakMap(), _DefaultTransport_pendingRequests = new WeakMap(), _DefaultTransport_handleResponseListener = new WeakMap(), _DefaultTransport_handleNotificationListener = new WeakMap(), _DefaultTransport_instances = new WeakSet(), _DefaultTransport_notifyCallbacks = function _DefaultTransport_notifyCallbacks(data) {
|
|
157
|
+
for (const callback of __classPrivateFieldGet(this, _DefaultTransport_notificationCallbacks, "f")) {
|
|
93
158
|
try {
|
|
94
|
-
|
|
159
|
+
callback(data);
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
console.log('[WindowPostMessageTransport] notifyCallbacks error:', error);
|
|
95
163
|
}
|
|
96
|
-
|
|
97
|
-
|
|
164
|
+
}
|
|
165
|
+
}, _DefaultTransport_isMetamaskProviderEvent = function _DefaultTransport_isMetamaskProviderEvent(event) {
|
|
166
|
+
var _a, _b;
|
|
167
|
+
return (((_b = (_a = event === null || event === void 0 ? void 0 : event.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.name) === 'metamask-provider' &&
|
|
168
|
+
// eslint-disable-next-line no-restricted-globals
|
|
169
|
+
event.origin === location.origin);
|
|
170
|
+
}, _DefaultTransport_handleResponse = function _DefaultTransport_handleResponse(event) {
|
|
171
|
+
var _a, _b;
|
|
172
|
+
if (!__classPrivateFieldGet(this, _DefaultTransport_instances, "m", _DefaultTransport_isMetamaskProviderEvent).call(this, event)) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const responseData = (_b = (_a = event === null || event === void 0 ? void 0 : event.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.data;
|
|
176
|
+
// Ignore requests (they have 'method' field) - only process responses
|
|
177
|
+
if (typeof responseData === 'object' &&
|
|
178
|
+
responseData !== null &&
|
|
179
|
+
'method' in responseData) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
if (typeof responseData === 'object' &&
|
|
183
|
+
responseData !== null &&
|
|
184
|
+
'id' in responseData &&
|
|
185
|
+
('result' in responseData || 'error' in responseData)) {
|
|
186
|
+
const responseId = String(responseData.id);
|
|
187
|
+
const pendingRequest = __classPrivateFieldGet(this, _DefaultTransport_pendingRequests, "f").get(responseId);
|
|
188
|
+
if (pendingRequest) {
|
|
189
|
+
clearTimeout(pendingRequest.timeout);
|
|
190
|
+
__classPrivateFieldGet(this, _DefaultTransport_pendingRequests, "f").delete(responseId);
|
|
191
|
+
const response = responseData;
|
|
192
|
+
if ('error' in response && response.error) {
|
|
193
|
+
pendingRequest.reject(new Error(response.error.message || 'Request failed'));
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
pendingRequest.resolve(response);
|
|
197
|
+
}
|
|
98
198
|
}
|
|
99
199
|
}
|
|
200
|
+
}, _DefaultTransport_handleNotification = function _DefaultTransport_handleNotification(event) {
|
|
201
|
+
var _a, _b;
|
|
202
|
+
if (!__classPrivateFieldGet(this, _DefaultTransport_instances, "m", _DefaultTransport_isMetamaskProviderEvent).call(this, event)) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const responseData = (_b = (_a = event === null || event === void 0 ? void 0 : event.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.data;
|
|
206
|
+
if ((typeof responseData === 'object' &&
|
|
207
|
+
responseData.method === 'metamask_chainChanged') ||
|
|
208
|
+
responseData.method === 'metamask_accountsChanged') {
|
|
209
|
+
__classPrivateFieldGet(this, _DefaultTransport_instances, "m", _DefaultTransport_notifyCallbacks).call(this, responseData);
|
|
210
|
+
}
|
|
211
|
+
}, _DefaultTransport_setupMessageListener = function _DefaultTransport_setupMessageListener() {
|
|
212
|
+
// Only set up listener if it's not already set up for this instance
|
|
213
|
+
if (__classPrivateFieldGet(this, _DefaultTransport_handleResponseListener, "f")) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
// Create a new handler bound to this instance
|
|
217
|
+
// Rename this to handleResponse or something like this
|
|
218
|
+
__classPrivateFieldSet(this, _DefaultTransport_handleResponseListener, __classPrivateFieldGet(this, _DefaultTransport_instances, "m", _DefaultTransport_handleResponse).bind(this), "f");
|
|
219
|
+
__classPrivateFieldSet(this, _DefaultTransport_handleNotificationListener, __classPrivateFieldGet(this, _DefaultTransport_instances, "m", _DefaultTransport_handleNotification).bind(this), "f");
|
|
220
|
+
// Add the listener
|
|
221
|
+
// eslint-disable-next-line no-restricted-globals
|
|
222
|
+
window.addEventListener('message', __classPrivateFieldGet(this, _DefaultTransport_handleResponseListener, "f"));
|
|
223
|
+
window.addEventListener('message', __classPrivateFieldGet(this, _DefaultTransport_handleNotificationListener, "f"));
|
|
100
224
|
};
|
|
101
225
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/default/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/default/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,9 @@ export declare class MWPTransport implements ExtendedTransport {
|
|
|
38
38
|
private rejectRequest;
|
|
39
39
|
private handleMessage;
|
|
40
40
|
private onResumeSuccess;
|
|
41
|
+
sendEip1193Message<TRequest extends TransportRequest, TResponse extends TransportResponse>(payload: TRequest, options?: {
|
|
42
|
+
timeout?: number;
|
|
43
|
+
}): Promise<TResponse>;
|
|
41
44
|
connect(options?: {
|
|
42
45
|
scopes: Scope[];
|
|
43
46
|
caipAccountIds: CaipAccountId[];
|
|
@@ -54,7 +57,13 @@ export declare class MWPTransport implements ExtendedTransport {
|
|
|
54
57
|
* @returns True if transport is connected, false otherwise
|
|
55
58
|
*/
|
|
56
59
|
isConnected(): boolean;
|
|
57
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Attempts to re-establish a connection via DappClient
|
|
62
|
+
*
|
|
63
|
+
* @returns Nothing
|
|
64
|
+
*/
|
|
65
|
+
private attemptResumeSession;
|
|
66
|
+
private getCachedResponse;
|
|
58
67
|
private storeWalletSession;
|
|
59
68
|
request<TRequest extends TransportRequest, TResponse extends TransportResponse>(payload: TRequest, options?: {
|
|
60
69
|
timeout?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAEL,KAAK,iBAAiB,EAEtB,KAAK,KAAK,EAEV,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAEL,KAAK,iBAAiB,EAEtB,KAAK,KAAK,EAEV,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AA2BzB,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;CACzB,CAAC;AAIF;;;GAGG;AACH,qBAAa,YAAa,YAAW,iBAAiB;IAwBlD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAzBjB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,iBAAiB,CAAsC;IAE/D,OAAO,CAAC,qBAAqB,CAAsC;IAEnE,OAAO,CAAC,qBAAqB,CAA6B;IAE1D,OAAO,CAAC,kBAAkB,CAA2B;IAErD,IAAI,eAAe,IAIkB,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAFhE;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAEhE;IAED,IAAI,cAAc,+BAEjB;gBAGS,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAGnE;IAYH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;YAkEP,eAAe;IAuEvB,kBAAkB,CACtB,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAsClE,OAAO,CAAC,OAAO,CAAC,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,cAAc,EAAE,aAAa,EAAE,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmGjB;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAKtB;;;;OAIG;YAGW,oBAAoB;YA0BpB,iBAAiB;YAqCjB,kBAAkB;IAoB1B,OAAO,CACX,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IA0CxE,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;CAM9D"}
|