@metamask/connect-multichain 0.5.2 → 0.6.0
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 +38 -1
- package/README.md +415 -3
- package/dist/browser/es/connect-multichain.d.mts +33 -9
- package/dist/browser/es/connect-multichain.mjs +864 -510
- 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 +33 -9
- package/dist/browser/iife/connect-multichain.js +24802 -24331
- 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 +33 -9
- package/dist/browser/umd/connect-multichain.js +864 -510
- 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 +33 -9
- package/dist/node/cjs/connect-multichain.js +693 -340
- 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 +33 -9
- package/dist/node/es/connect-multichain.mjs +694 -339
- 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 +33 -9
- package/dist/react-native/es/connect-multichain.mjs +857 -503
- 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/logger/index.d.ts +1 -1
- package/dist/src/domain/logger/index.d.ts.map +1 -1
- package/dist/src/domain/logger/index.js.map +1 -1
- package/dist/src/domain/multichain/api/constants.js.map +1 -1
- package/dist/src/domain/multichain/api/types.d.ts +1 -1
- package/dist/src/domain/multichain/api/types.d.ts.map +1 -1
- package/dist/src/domain/multichain/index.d.ts +15 -4
- package/dist/src/domain/multichain/index.d.ts.map +1 -1
- package/dist/src/domain/multichain/index.js +14 -0
- package/dist/src/domain/multichain/index.js.map +1 -1
- package/dist/src/domain/multichain/types.d.ts +14 -0
- package/dist/src/domain/multichain/types.d.ts.map +1 -1
- package/dist/src/domain/platform/index.d.ts.map +1 -1
- package/dist/src/domain/platform/index.js +1 -0
- package/dist/src/domain/platform/index.js.map +1 -1
- package/dist/src/index.browser.d.ts.map +1 -1
- package/dist/src/index.browser.js +9 -4
- package/dist/src/index.browser.js.map +1 -1
- package/dist/src/index.native.d.ts.map +1 -1
- package/dist/src/index.native.js +9 -4
- package/dist/src/index.native.js.map +1 -1
- package/dist/src/index.node.d.ts.map +1 -1
- package/dist/src/index.node.js +8 -4
- package/dist/src/index.node.js.map +1 -1
- package/dist/src/multichain/index.d.ts +4 -3
- package/dist/src/multichain/index.d.ts.map +1 -1
- package/dist/src/multichain/index.js +181 -59
- package/dist/src/multichain/index.js.map +1 -1
- package/dist/src/multichain/rpc/handlers/rpcClient.d.ts +9 -2
- package/dist/src/multichain/rpc/handlers/rpcClient.d.ts.map +1 -1
- package/dist/src/multichain/rpc/handlers/rpcClient.js +13 -3
- package/dist/src/multichain/rpc/handlers/rpcClient.js.map +1 -1
- package/dist/src/multichain/rpc/requestRouter.d.ts +14 -1
- package/dist/src/multichain/rpc/requestRouter.d.ts.map +1 -1
- package/dist/src/multichain/rpc/requestRouter.js +27 -5
- package/dist/src/multichain/rpc/requestRouter.js.map +1 -1
- package/dist/src/multichain/transports/default/index.d.ts +5 -3
- package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
- package/dist/src/multichain/transports/default/index.js +31 -28
- package/dist/src/multichain/transports/default/index.js.map +1 -1
- package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts +3 -3
- package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts.map +1 -1
- package/dist/src/multichain/transports/multichainApiClientWrapper/index.js +33 -29
- package/dist/src/multichain/transports/multichainApiClientWrapper/index.js.map +1 -1
- package/dist/src/multichain/transports/mwp/KeyManager.d.ts.map +1 -1
- package/dist/src/multichain/transports/mwp/KeyManager.js.map +1 -1
- package/dist/src/multichain/transports/mwp/index.d.ts +16 -3
- package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
- package/dist/src/multichain/transports/mwp/index.js +157 -39
- package/dist/src/multichain/transports/mwp/index.js.map +1 -1
- package/dist/src/multichain/utils/analytics.d.ts.map +1 -1
- package/dist/src/multichain/utils/analytics.js +1 -0
- package/dist/src/multichain/utils/analytics.js.map +1 -1
- package/dist/src/multichain/utils/index.d.ts +48 -0
- package/dist/src/multichain/utils/index.d.ts.map +1 -1
- package/dist/src/multichain/utils/index.js +91 -6
- package/dist/src/multichain/utils/index.js.map +1 -1
- package/dist/src/polyfills/buffer-shim.js +5 -11
- package/dist/src/polyfills/buffer-shim.js.map +1 -1
- package/dist/src/store/adapters/node.d.ts +1 -1
- package/dist/src/store/adapters/node.d.ts.map +1 -1
- package/dist/src/store/adapters/node.js +11 -4
- package/dist/src/store/adapters/node.js.map +1 -1
- package/dist/src/store/adapters/rn.d.ts.map +1 -1
- package/dist/src/store/adapters/rn.js +1 -0
- package/dist/src/store/adapters/rn.js.map +1 -1
- package/dist/src/store/adapters/web.d.ts +5 -5
- package/dist/src/store/adapters/web.d.ts.map +1 -1
- package/dist/src/store/adapters/web.js +7 -1
- package/dist/src/store/adapters/web.js.map +1 -1
- package/dist/src/store/index.d.ts.map +1 -1
- package/dist/src/store/index.js +2 -0
- package/dist/src/store/index.js.map +1 -1
- package/dist/src/ui/ModalFactory.d.ts.map +1 -1
- package/dist/src/ui/ModalFactory.js +1 -4
- package/dist/src/ui/ModalFactory.js.map +1 -1
- package/dist/src/ui/index.d.ts.map +1 -1
- package/dist/src/ui/index.js +2 -0
- package/dist/src/ui/index.js.map +1 -1
- package/dist/src/ui/index.native.d.ts.map +1 -1
- package/dist/src/ui/index.native.js +4 -1
- package/dist/src/ui/index.native.js.map +1 -1
- package/dist/src/ui/modals/base/AbstractInstallModal.d.ts +2 -3
- package/dist/src/ui/modals/base/AbstractInstallModal.d.ts.map +1 -1
- package/dist/src/ui/modals/base/AbstractInstallModal.js +28 -12
- package/dist/src/ui/modals/base/AbstractInstallModal.js.map +1 -1
- package/dist/src/ui/modals/base/AbstractOTPModal.d.ts +2 -2
- package/dist/src/ui/modals/base/AbstractOTPModal.d.ts.map +1 -1
- package/dist/src/ui/modals/base/AbstractOTPModal.js.map +1 -1
- package/dist/src/ui/modals/base/utils.d.ts +12 -0
- package/dist/src/ui/modals/base/utils.d.ts.map +1 -1
- package/dist/src/ui/modals/base/utils.js +16 -5
- package/dist/src/ui/modals/base/utils.js.map +1 -1
- package/dist/src/ui/modals/node/install.d.ts.map +1 -1
- package/dist/src/ui/modals/node/install.js +1 -1
- package/dist/src/ui/modals/node/install.js.map +1 -1
- package/dist/src/ui/modals/node/otp.d.ts.map +1 -1
- package/dist/src/ui/modals/node/otp.js +6 -2
- package/dist/src/ui/modals/node/otp.js.map +1 -1
- package/dist/src/ui/modals/rn/install.d.ts.map +1 -1
- package/dist/src/ui/modals/rn/install.js +7 -3
- package/dist/src/ui/modals/rn/install.js.map +1 -1
- package/dist/src/ui/modals/rn/otp.d.ts.map +1 -1
- package/dist/src/ui/modals/rn/otp.js +6 -2
- package/dist/src/ui/modals/rn/otp.js.map +1 -1
- package/dist/src/ui/modals/web/install.d.ts.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/src/ui/modals/web/otp.d.ts.map +1 -1
- package/dist/src/ui/modals/web/otp.js +6 -2
- package/dist/src/ui/modals/web/otp.js.map +1 -1
- package/dist/types/connect-multichain.d.ts +33 -9
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcClient.js","sourceRoot":"","sources":["../../../../../src/multichain/rpc/handlers/rpcClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rpcClient.js","sourceRoot":"","sources":["../../../../../src/multichain/rpc/handlers/rpcClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { Json } from '@metamask/utils';
|
|
2
2
|
import { type ExtendedTransport, type InvokeMethodOptions, type MultichainOptions } from '../../domain';
|
|
3
|
-
import { RpcClient } from './handlers/rpcClient';
|
|
3
|
+
import type { RpcClient } from './handlers/rpcClient';
|
|
4
|
+
/**
|
|
5
|
+
* Gets the next RPC ID for request tracking.
|
|
6
|
+
*
|
|
7
|
+
* @returns The next unique RPC ID.
|
|
8
|
+
*/
|
|
4
9
|
export declare function getNextRpcId(): number;
|
|
5
10
|
export declare class RequestRouter {
|
|
6
11
|
#private;
|
|
@@ -12,18 +17,26 @@ export declare class RequestRouter {
|
|
|
12
17
|
* The main entry point for invoking an RPC method.
|
|
13
18
|
* This method acts as a router, determining the correct handling strategy
|
|
14
19
|
* for the request and delegating to the appropriate private handler.
|
|
20
|
+
*
|
|
21
|
+
* @param options
|
|
15
22
|
*/
|
|
16
23
|
invokeMethod(options: InvokeMethodOptions): Promise<Json>;
|
|
17
24
|
/**
|
|
18
25
|
* Forwards the request directly to the wallet via the transport.
|
|
26
|
+
*
|
|
27
|
+
* @param options
|
|
19
28
|
*/
|
|
20
29
|
private handleWithWallet;
|
|
21
30
|
/**
|
|
22
31
|
* Routes the request to a configured RPC node.
|
|
32
|
+
*
|
|
33
|
+
* @param options
|
|
23
34
|
*/
|
|
24
35
|
private handleWithRpcNode;
|
|
25
36
|
/**
|
|
26
37
|
* Responds directly from the SDK's session state.
|
|
38
|
+
*
|
|
39
|
+
* @param options
|
|
27
40
|
*/
|
|
28
41
|
private handleWithSdkState;
|
|
29
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestRouter.d.ts","sourceRoot":"","sources":["../../../../src/multichain/rpc/requestRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestRouter.d.ts","sourceRoot":"","sources":["../../../../src/multichain/rpc/requestRouter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAM5C,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EAIvB,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtD;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,qBAAa,aAAa;;IAEtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,iBAAiB;IAG5C;;;;;;OAMG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D;;;;OAIG;YACW,gBAAgB;IAwI9B;;;;OAIG;YACW,iBAAiB;IAa/B;;;;OAIG;YACW,kBAAkB;CAUjC"}
|
|
@@ -13,13 +13,23 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
14
|
};
|
|
15
15
|
var _RequestRouter_instances, _RequestRouter_withAnalyticsTracking, _RequestRouter_trackWalletActionRequested, _RequestRouter_trackWalletActionSucceeded, _RequestRouter_trackWalletActionFailed, _RequestRouter_trackWalletActionRejected;
|
|
16
|
+
/* eslint-disable no-restricted-syntax -- Private class properties use established patterns */
|
|
17
|
+
/* eslint-disable @typescript-eslint/parameter-properties -- Constructor shorthand is intentional */
|
|
18
|
+
/* eslint-disable jsdoc/require-param-description -- Auto-generated JSDoc */
|
|
19
|
+
/* eslint-disable jsdoc/require-returns -- Auto-generated JSDoc */
|
|
20
|
+
/* eslint-disable @typescript-eslint/no-misused-promises -- setTimeout callback is async intentionally */
|
|
16
21
|
import { analytics } from '@metamask/analytics';
|
|
17
|
-
import { METAMASK_CONNECT_BASE_URL, METAMASK_DEEPLINK_BASE } from '../../config';
|
|
18
|
-
import { isSecure, RPC_HANDLED_METHODS, RPCInvokeMethodErr, SDK_HANDLED_METHODS } from '../../domain';
|
|
22
|
+
import { METAMASK_CONNECT_BASE_URL, METAMASK_DEEPLINK_BASE, } from '../../config';
|
|
23
|
+
import { isSecure, RPC_HANDLED_METHODS, RPCInvokeMethodErr, SDK_HANDLED_METHODS, } from '../../domain';
|
|
19
24
|
import { openDeeplink } from '../utils';
|
|
20
|
-
import { getWalletActionAnalyticsProperties, isRejectionError } from '../utils/analytics';
|
|
25
|
+
import { getWalletActionAnalyticsProperties, isRejectionError, } from '../utils/analytics';
|
|
21
26
|
import { MissingRpcEndpointErr } from './handlers/rpcClient';
|
|
22
27
|
let rpcId = 1;
|
|
28
|
+
/**
|
|
29
|
+
* Gets the next RPC ID for request tracking.
|
|
30
|
+
*
|
|
31
|
+
* @returns The next unique RPC ID.
|
|
32
|
+
*/
|
|
23
33
|
export function getNextRpcId() {
|
|
24
34
|
rpcId += 1;
|
|
25
35
|
return rpcId;
|
|
@@ -35,10 +45,12 @@ export class RequestRouter {
|
|
|
35
45
|
* The main entry point for invoking an RPC method.
|
|
36
46
|
* This method acts as a router, determining the correct handling strategy
|
|
37
47
|
* for the request and delegating to the appropriate private handler.
|
|
48
|
+
*
|
|
49
|
+
* @param options
|
|
38
50
|
*/
|
|
39
51
|
invokeMethod(options) {
|
|
40
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const method = options.request
|
|
53
|
+
const { method } = options.request;
|
|
42
54
|
if (RPC_HANDLED_METHODS.has(method)) {
|
|
43
55
|
return this.handleWithRpcNode(options);
|
|
44
56
|
}
|
|
@@ -50,6 +62,8 @@ export class RequestRouter {
|
|
|
50
62
|
}
|
|
51
63
|
/**
|
|
52
64
|
* Forwards the request directly to the wallet via the transport.
|
|
65
|
+
*
|
|
66
|
+
* @param options
|
|
53
67
|
*/
|
|
54
68
|
handleWithWallet(options) {
|
|
55
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -79,7 +93,8 @@ export class RequestRouter {
|
|
|
79
93
|
}
|
|
80
94
|
const response = yield request;
|
|
81
95
|
if (response.error) {
|
|
82
|
-
|
|
96
|
+
const { error } = response;
|
|
97
|
+
throw new RPCInvokeMethodErr(`RPC Request failed with code ${error.code}: ${error.message}`);
|
|
83
98
|
}
|
|
84
99
|
return response.result;
|
|
85
100
|
}));
|
|
@@ -87,6 +102,8 @@ export class RequestRouter {
|
|
|
87
102
|
}
|
|
88
103
|
/**
|
|
89
104
|
* Routes the request to a configured RPC node.
|
|
105
|
+
*
|
|
106
|
+
* @param options
|
|
90
107
|
*/
|
|
91
108
|
handleWithRpcNode(options) {
|
|
92
109
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -105,6 +122,8 @@ export class RequestRouter {
|
|
|
105
122
|
}
|
|
106
123
|
/**
|
|
107
124
|
* Responds directly from the SDK's session state.
|
|
125
|
+
*
|
|
126
|
+
* @param options
|
|
108
127
|
*/
|
|
109
128
|
handleWithSdkState(options) {
|
|
110
129
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -131,6 +150,9 @@ _RequestRouter_instances = new WeakSet(), _RequestRouter_withAnalyticsTracking =
|
|
|
131
150
|
else {
|
|
132
151
|
yield __classPrivateFieldGet(this, _RequestRouter_instances, "m", _RequestRouter_trackWalletActionFailed).call(this, options);
|
|
133
152
|
}
|
|
153
|
+
if (error instanceof RPCInvokeMethodErr) {
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
134
156
|
throw new RPCInvokeMethodErr(error.message);
|
|
135
157
|
}
|
|
136
158
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestRouter.js","sourceRoot":"","sources":["../../../../src/multichain/rpc/requestRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"requestRouter.js","sourceRoot":"","sources":["../../../../src/multichain/rpc/requestRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { Session } from '@metamask/mobile-wallet-protocol-core';
|
|
2
|
+
import type { SessionRequest } from '@metamask/mobile-wallet-protocol-dapp-client';
|
|
3
|
+
import { type SessionProperties, type TransportRequest, type TransportResponse } from '@metamask/multichain-api-client';
|
|
2
4
|
import type { CaipAccountId } from '@metamask/utils';
|
|
3
5
|
import type { ExtendedTransport, Scope } from 'src/domain';
|
|
4
|
-
import { Session } from '@metamask/mobile-wallet-protocol-core';
|
|
5
6
|
export declare class DefaultTransport implements ExtendedTransport {
|
|
6
7
|
#private;
|
|
7
8
|
sendEip1193Message<TRequest extends TransportRequest, TResponse extends TransportResponse>(payload: TRequest, options?: {
|
|
@@ -13,12 +14,13 @@ export declare class DefaultTransport implements ExtendedTransport {
|
|
|
13
14
|
sessionProperties?: SessionProperties;
|
|
14
15
|
forceRequest?: boolean;
|
|
15
16
|
}): Promise<void>;
|
|
16
|
-
disconnect(): Promise<void>;
|
|
17
|
+
disconnect(scopes?: Scope[]): Promise<void>;
|
|
17
18
|
isConnected(): boolean;
|
|
18
19
|
request<TRequest extends TransportRequest, TResponse extends TransportResponse>(request: TRequest, options?: {
|
|
19
20
|
timeout?: number;
|
|
20
21
|
}): Promise<TResponse>;
|
|
21
22
|
onNotification(callback: (data: unknown) => void): () => void;
|
|
22
23
|
getActiveSession(): Promise<Session | undefined>;
|
|
24
|
+
getStoredPendingSessionRequest(): Promise<SessionRequest | null>;
|
|
23
25
|
}
|
|
24
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/default/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/default/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EACL,KAAK,iBAAiB,EAItB,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;AAkBhF,qBAAa,gBAAiB,YAAW,iBAAiB;;IA+GlD,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;IA2ClE,OAAO,CAAC,OAAO,CAAC,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,cAAc,EAAE,aAAa,EAAE,CAAC;QAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DX,UAAU,CAAC,MAAM,GAAE,KAAK,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCrD,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;IAQvD,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAShD,8BAA8B,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAKvE"}
|
|
@@ -18,9 +18,9 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
18
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
19
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
20
20
|
};
|
|
21
|
-
var _DefaultTransport_instances, _DefaultTransport_notificationCallbacks, _DefaultTransport_transport, _DefaultTransport_defaultRequestOptions,
|
|
21
|
+
var _DefaultTransport_instances, _DefaultTransport_notificationCallbacks, _DefaultTransport_transport, _DefaultTransport_defaultRequestOptions, _DefaultTransport_pendingRequests, _DefaultTransport_handleResponseListener, _DefaultTransport_handleNotificationListener, _DefaultTransport_notifyCallbacks, _DefaultTransport_isMetamaskProviderEvent, _DefaultTransport_handleResponse, _DefaultTransport_handleNotification, _DefaultTransport_setupMessageListener;
|
|
22
22
|
import { getDefaultTransport, } from '@metamask/multichain-api-client';
|
|
23
|
-
import { addValidAccounts, getOptionalScopes, getValidAccounts, isSameScopesAndAccounts, } from '../../utils';
|
|
23
|
+
import { addValidAccounts, getOptionalScopes, getUniqueRequestId, getValidAccounts, isSameScopesAndAccounts, } from '../../utils';
|
|
24
24
|
const DEFAULT_REQUEST_TIMEOUT = 60 * 1000;
|
|
25
25
|
export class DefaultTransport {
|
|
26
26
|
constructor() {
|
|
@@ -30,8 +30,6 @@ export class DefaultTransport {
|
|
|
30
30
|
_DefaultTransport_defaultRequestOptions.set(this, {
|
|
31
31
|
timeout: DEFAULT_REQUEST_TIMEOUT,
|
|
32
32
|
});
|
|
33
|
-
// Use timestamp-based ID to avoid conflicts across disconnect/reconnect cycles
|
|
34
|
-
_DefaultTransport_reqId.set(this, Date.now());
|
|
35
33
|
_DefaultTransport_pendingRequests.set(this, new Map());
|
|
36
34
|
_DefaultTransport_handleResponseListener.set(this, void 0);
|
|
37
35
|
_DefaultTransport_handleNotificationListener.set(this, void 0);
|
|
@@ -41,8 +39,7 @@ export class DefaultTransport {
|
|
|
41
39
|
// Setup message listener if not already set up
|
|
42
40
|
__classPrivateFieldGet(this, _DefaultTransport_instances, "m", _DefaultTransport_setupMessageListener).call(this);
|
|
43
41
|
// Generate unique request ID - increment counter to ensure uniqueness
|
|
44
|
-
|
|
45
|
-
const requestId = `${__classPrivateFieldGet(this, _DefaultTransport_reqId, "f")}`;
|
|
42
|
+
const requestId = String(getUniqueRequestId());
|
|
46
43
|
// Create request with ID - MetaMask expects JSON-RPC format
|
|
47
44
|
const request = Object.assign({ jsonrpc: '2.0', id: requestId }, payload);
|
|
48
45
|
return new Promise((resolve, reject) => {
|
|
@@ -73,7 +70,7 @@ export class DefaultTransport {
|
|
|
73
70
|
}
|
|
74
71
|
connect(options) {
|
|
75
72
|
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
var _a, _b, _c, _d, _e
|
|
73
|
+
var _a, _b, _c, _d, _e;
|
|
77
74
|
// Ensure message listener is set up before connecting
|
|
78
75
|
__classPrivateFieldGet(this, _DefaultTransport_instances, "m", _DefaultTransport_setupMessageListener).call(this);
|
|
79
76
|
yield __classPrivateFieldGet(this, _DefaultTransport_transport, "f").connect();
|
|
@@ -83,17 +80,16 @@ export class DefaultTransport {
|
|
|
83
80
|
throw new Error(sessionRequest.error.message);
|
|
84
81
|
}
|
|
85
82
|
let walletSession = sessionRequest.result;
|
|
83
|
+
const createSessionParams = {
|
|
84
|
+
optionalScopes: addValidAccounts(getOptionalScopes((_a = options === null || options === void 0 ? void 0 : options.scopes) !== null && _a !== void 0 ? _a : []), getValidAccounts((_b = options === null || options === void 0 ? void 0 : options.caipAccountIds) !== null && _b !== void 0 ? _b : [])),
|
|
85
|
+
sessionProperties: options === null || options === void 0 ? void 0 : options.sessionProperties,
|
|
86
|
+
};
|
|
86
87
|
if (walletSession && options && !options.forceRequest) {
|
|
87
|
-
const currentScopes = Object.keys((
|
|
88
|
-
const proposedScopes = (
|
|
89
|
-
const proposedCaipAccountIds = (
|
|
88
|
+
const currentScopes = Object.keys((_c = walletSession === null || walletSession === void 0 ? void 0 : walletSession.sessionScopes) !== null && _c !== void 0 ? _c : {});
|
|
89
|
+
const proposedScopes = (_d = options === null || options === void 0 ? void 0 : options.scopes) !== null && _d !== void 0 ? _d : [];
|
|
90
|
+
const proposedCaipAccountIds = (_e = options === null || options === void 0 ? void 0 : options.caipAccountIds) !== null && _e !== void 0 ? _e : [];
|
|
90
91
|
const hasSameScopesAndAccounts = isSameScopesAndAccounts(currentScopes, proposedScopes, walletSession, proposedCaipAccountIds);
|
|
91
92
|
if (!hasSameScopesAndAccounts) {
|
|
92
|
-
yield this.request({ method: 'wallet_revokeSession', params: walletSession }, __classPrivateFieldGet(this, _DefaultTransport_defaultRequestOptions, "f"));
|
|
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 : []));
|
|
94
|
-
const createSessionParams = {
|
|
95
|
-
optionalScopes,
|
|
96
|
-
};
|
|
97
93
|
const response = yield this.request({ method: 'wallet_createSession', params: createSessionParams }, __classPrivateFieldGet(this, _DefaultTransport_defaultRequestOptions, "f"));
|
|
98
94
|
if (response.error) {
|
|
99
95
|
throw new Error(response.error.message);
|
|
@@ -102,11 +98,6 @@ export class DefaultTransport {
|
|
|
102
98
|
}
|
|
103
99
|
}
|
|
104
100
|
else if (!walletSession || (options === null || options === void 0 ? void 0 : options.forceRequest)) {
|
|
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 : []));
|
|
106
|
-
const createSessionParams = {
|
|
107
|
-
optionalScopes,
|
|
108
|
-
sessionProperties: options === null || options === void 0 ? void 0 : options.sessionProperties,
|
|
109
|
-
};
|
|
110
101
|
const response = yield this.request({ method: 'wallet_createSession', params: createSessionParams }, __classPrivateFieldGet(this, _DefaultTransport_defaultRequestOptions, "f"));
|
|
111
102
|
if (response.error) {
|
|
112
103
|
throw new Error(response.error.message);
|
|
@@ -120,9 +111,14 @@ export class DefaultTransport {
|
|
|
120
111
|
});
|
|
121
112
|
}
|
|
122
113
|
disconnect() {
|
|
123
|
-
return __awaiter(this,
|
|
114
|
+
return __awaiter(this, arguments, void 0, function* (scopes = []) {
|
|
115
|
+
yield this.request({ method: 'wallet_revokeSession', params: { scopes } });
|
|
116
|
+
const response = yield this.request({ method: 'wallet_getSession' });
|
|
117
|
+
const { sessionScopes } = response.result;
|
|
118
|
+
if (Object.keys(sessionScopes).length > 0) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
124
121
|
__classPrivateFieldGet(this, _DefaultTransport_notificationCallbacks, "f").clear();
|
|
125
|
-
yield this.request({ method: 'wallet_revokeSession', params: {} });
|
|
126
122
|
// Remove the message listener when disconnecting
|
|
127
123
|
if (__classPrivateFieldGet(this, _DefaultTransport_handleResponseListener, "f")) {
|
|
128
124
|
// eslint-disable-next-line no-restricted-globals
|
|
@@ -141,7 +137,7 @@ export class DefaultTransport {
|
|
|
141
137
|
request.reject(new Error('Transport disconnected'));
|
|
142
138
|
}
|
|
143
139
|
__classPrivateFieldGet(this, _DefaultTransport_pendingRequests, "f").clear();
|
|
144
|
-
|
|
140
|
+
yield __classPrivateFieldGet(this, _DefaultTransport_transport, "f").disconnect();
|
|
145
141
|
});
|
|
146
142
|
}
|
|
147
143
|
isConnected() {
|
|
@@ -160,13 +156,20 @@ export class DefaultTransport {
|
|
|
160
156
|
};
|
|
161
157
|
}
|
|
162
158
|
getActiveSession() {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
// This code path should never be triggered when the DefaultTransport is being used
|
|
161
|
+
// It's only purpose is for exposing the session ID used for deeplinking to the mobile app
|
|
162
|
+
// and so it is only implemented for the MWPTransport.
|
|
163
|
+
throw new Error('getActiveSession is purposely not implemented for the DefaultTransport');
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
getStoredPendingSessionRequest() {
|
|
167
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
168
|
+
throw new Error('getStoredPendingSessionRequest is purposely not implemented for the DefaultTransport');
|
|
169
|
+
});
|
|
167
170
|
}
|
|
168
171
|
}
|
|
169
|
-
_DefaultTransport_notificationCallbacks = new WeakMap(), _DefaultTransport_transport = new WeakMap(), _DefaultTransport_defaultRequestOptions = new WeakMap(),
|
|
172
|
+
_DefaultTransport_notificationCallbacks = new WeakMap(), _DefaultTransport_transport = new WeakMap(), _DefaultTransport_defaultRequestOptions = new WeakMap(), _DefaultTransport_pendingRequests = new WeakMap(), _DefaultTransport_handleResponseListener = new WeakMap(), _DefaultTransport_handleNotificationListener = new WeakMap(), _DefaultTransport_instances = new WeakSet(), _DefaultTransport_notifyCallbacks = function _DefaultTransport_notifyCallbacks(data) {
|
|
170
173
|
for (const callback of __classPrivateFieldGet(this, _DefaultTransport_notificationCallbacks, "f")) {
|
|
171
174
|
try {
|
|
172
175
|
callback(data);
|
|
@@ -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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"}
|
|
@@ -3,13 +3,13 @@ import type { MetaMaskConnectMultichain } from 'src/multichain';
|
|
|
3
3
|
export declare class MultichainApiClientWrapperTransport implements Transport {
|
|
4
4
|
#private;
|
|
5
5
|
private readonly metamaskConnectMultichain;
|
|
6
|
-
|
|
7
|
-
private readonly notificationCallbacks;
|
|
6
|
+
notificationListener: (() => void) | undefined;
|
|
8
7
|
constructor(metamaskConnectMultichain: MetaMaskConnectMultichain);
|
|
9
8
|
isTransportDefined(): boolean;
|
|
10
9
|
clearNotificationCallbacks(): void;
|
|
11
10
|
notifyCallbacks(data: unknown): void;
|
|
12
|
-
|
|
11
|
+
clearTransportNotificationListener(): void;
|
|
12
|
+
setupTransportNotificationListener(): void;
|
|
13
13
|
connect(): Promise<void>;
|
|
14
14
|
disconnect(): Promise<void>;
|
|
15
15
|
isConnected(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/multichainApiClientWrapper/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/multichainApiClientWrapper/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAMhE,qBAAa,mCAAoC,YAAW,SAAS;;IAMjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAH5C,oBAAoB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;gBAG5B,yBAAyB,EAAE,yBAAyB;IAGvE,kBAAkB,IAAI,OAAO;IAQ7B,0BAA0B,IAAI,IAAI;IAIlC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMpC,kCAAkC,IAAI,IAAI;IAK1C,kCAAkC,IAAI,IAAI;IAUpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,WAAW,IAAI,OAAO;IAIhB,OAAO,CACX,UAAU,SAAS,gBAAgB,EACnC,UAAU,SAAS,iBAAiB,EAEpC,MAAM,EAAE,UAAU,EAClB,QAAQ,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAClC,OAAO,CAAC,UAAU,CAAC;IAwBtB,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;CAuF9D"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/* eslint-disable no-restricted-syntax -- Private class properties use established patterns */
|
|
2
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type -- Inferred types are sufficient */
|
|
3
|
+
/* eslint-disable @typescript-eslint/parameter-properties -- Constructor shorthand is intentional */
|
|
1
4
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
5
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
6
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -12,47 +15,47 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
12
15
|
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
16
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
17
|
};
|
|
15
|
-
var _MultichainApiClientWrapperTransport_instances, _MultichainApiClientWrapperTransport_walletCreateSession, _MultichainApiClientWrapperTransport_walletGetSession, _MultichainApiClientWrapperTransport_walletRevokeSession, _MultichainApiClientWrapperTransport_walletInvokeMethod;
|
|
18
|
+
var _MultichainApiClientWrapperTransport_instances, _MultichainApiClientWrapperTransport_notificationCallbacks, _MultichainApiClientWrapperTransport_walletCreateSession, _MultichainApiClientWrapperTransport_walletGetSession, _MultichainApiClientWrapperTransport_walletRevokeSession, _MultichainApiClientWrapperTransport_walletInvokeMethod;
|
|
16
19
|
import { providerErrors } from '@metamask/rpc-errors';
|
|
17
|
-
|
|
18
|
-
// more conservative than Number.MAX_SAFE_INTEGER
|
|
19
|
-
const MAX = 4294967295;
|
|
20
|
-
let idCounter = Math.floor(Math.random() * MAX);
|
|
21
|
-
const getUniqueId = () => {
|
|
22
|
-
idCounter = (idCounter + 1) % MAX;
|
|
23
|
-
return idCounter;
|
|
24
|
-
};
|
|
20
|
+
import { getUniqueRequestId } from '../../utils';
|
|
25
21
|
export class MultichainApiClientWrapperTransport {
|
|
26
22
|
constructor(metamaskConnectMultichain) {
|
|
27
23
|
_MultichainApiClientWrapperTransport_instances.add(this);
|
|
28
24
|
this.metamaskConnectMultichain = metamaskConnectMultichain;
|
|
29
|
-
this
|
|
30
|
-
this.notificationCallbacks = new Set();
|
|
25
|
+
_MultichainApiClientWrapperTransport_notificationCallbacks.set(this, new Set());
|
|
31
26
|
}
|
|
32
27
|
isTransportDefined() {
|
|
33
28
|
try {
|
|
34
29
|
return Boolean(this.metamaskConnectMultichain.transport);
|
|
35
30
|
}
|
|
36
|
-
catch (
|
|
31
|
+
catch (_error) {
|
|
37
32
|
return false;
|
|
38
33
|
}
|
|
39
34
|
}
|
|
40
35
|
clearNotificationCallbacks() {
|
|
41
|
-
this.
|
|
36
|
+
__classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_notificationCallbacks, "f").clear();
|
|
42
37
|
}
|
|
43
38
|
notifyCallbacks(data) {
|
|
44
|
-
this.
|
|
39
|
+
__classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_notificationCallbacks, "f").forEach((callback) => {
|
|
45
40
|
callback(data);
|
|
46
41
|
});
|
|
47
42
|
}
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
clearTransportNotificationListener() {
|
|
44
|
+
var _a;
|
|
45
|
+
(_a = this.notificationListener) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
46
|
+
this.notificationListener = undefined;
|
|
47
|
+
}
|
|
48
|
+
setupTransportNotificationListener() {
|
|
49
|
+
if (!this.isTransportDefined() || this.notificationListener) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.notificationListener =
|
|
53
|
+
this.metamaskConnectMultichain.transport.onNotification(this.notifyCallbacks.bind(this));
|
|
50
54
|
}
|
|
51
55
|
connect() {
|
|
52
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
57
|
console.log('📚 connect');
|
|
54
|
-
|
|
55
|
-
return Promise.resolve();
|
|
58
|
+
yield this.metamaskConnectMultichain.emitSessionChanged();
|
|
56
59
|
});
|
|
57
60
|
}
|
|
58
61
|
disconnect() {
|
|
@@ -65,7 +68,7 @@ export class MultichainApiClientWrapperTransport {
|
|
|
65
68
|
}
|
|
66
69
|
request(params_1) {
|
|
67
70
|
return __awaiter(this, arguments, void 0, function* (params, _options = {}) {
|
|
68
|
-
const id =
|
|
71
|
+
const id = getUniqueRequestId();
|
|
69
72
|
const requestPayload = Object.assign({ id, jsonrpc: '2.0' }, params);
|
|
70
73
|
switch (requestPayload.method) {
|
|
71
74
|
case 'wallet_createSession':
|
|
@@ -83,16 +86,14 @@ export class MultichainApiClientWrapperTransport {
|
|
|
83
86
|
});
|
|
84
87
|
}
|
|
85
88
|
onNotification(callback) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
return this.metamaskConnectMultichain.transport.onNotification(callback);
|
|
89
|
+
this.setupTransportNotificationListener();
|
|
90
|
+
__classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_notificationCallbacks, "f").add(callback);
|
|
91
|
+
return () => {
|
|
92
|
+
__classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_notificationCallbacks, "f").delete(callback);
|
|
93
|
+
};
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
|
-
_MultichainApiClientWrapperTransport_instances = new WeakSet(), _MultichainApiClientWrapperTransport_walletCreateSession = function _MultichainApiClientWrapperTransport_walletCreateSession(request) {
|
|
96
|
+
_MultichainApiClientWrapperTransport_notificationCallbacks = new WeakMap(), _MultichainApiClientWrapperTransport_instances = new WeakSet(), _MultichainApiClientWrapperTransport_walletCreateSession = function _MultichainApiClientWrapperTransport_walletCreateSession(request) {
|
|
96
97
|
return __awaiter(this, void 0, void 0, function* () {
|
|
97
98
|
console.log('📚 #walletCreateSession', request);
|
|
98
99
|
const createSessionParams = request.params;
|
|
@@ -134,14 +135,17 @@ _MultichainApiClientWrapperTransport_instances = new WeakSet(), _MultichainApiCl
|
|
|
134
135
|
});
|
|
135
136
|
}, _MultichainApiClientWrapperTransport_walletRevokeSession = function _MultichainApiClientWrapperTransport_walletRevokeSession(request) {
|
|
136
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
var _a;
|
|
137
139
|
if (!this.isTransportDefined()) {
|
|
138
140
|
return { jsonrpc: '2.0', id: request.id, result: true };
|
|
139
141
|
}
|
|
142
|
+
const revokeSessionParams = request.params;
|
|
143
|
+
const scopes = (_a = revokeSessionParams === null || revokeSessionParams === void 0 ? void 0 : revokeSessionParams.scopes) !== null && _a !== void 0 ? _a : [];
|
|
140
144
|
try {
|
|
141
|
-
this.metamaskConnectMultichain.disconnect();
|
|
145
|
+
yield this.metamaskConnectMultichain.disconnect(scopes);
|
|
142
146
|
return { jsonrpc: '2.0', id: request.id, result: true };
|
|
143
147
|
}
|
|
144
|
-
catch (
|
|
148
|
+
catch (_error) {
|
|
145
149
|
return { jsonrpc: '2.0', id: request.id, result: false };
|
|
146
150
|
}
|
|
147
151
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/multichainApiClientWrapper/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/multichainApiClientWrapper/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyManager.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/KeyManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KeyManager.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/KeyManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACR,MAAM,uCAAuC,CAAC;AAG/C,cAAM,UAAW,YAAW,WAAW;IACrC,eAAe,IAAI,OAAO;IAQpB,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,UAAU,GACzB,OAAO,CAAC,MAAM,CAAC;IAMZ,OAAO,CACX,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,MAAM,CAAC;CAKnB;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyManager.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/KeyManager.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"KeyManager.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/KeyManager.ts"],"names":[],"mappings":";;;;;;;;;AAMA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,UAAU;IACd,eAAe;QACb,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,OAAO;YACL,UAAU,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7C,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9C,CAAC;IACJ,CAAC;IAEK,OAAO,CACX,SAAiB,EACjB,cAA0B;;YAE1B,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YACjE,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;KAAA;IAEK,OAAO,CACX,YAAoB,EACpB,YAAwB;;YAExB,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC5D,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;KAAA;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC"}
|