@metamask/connect-multichain 0.3.1 → 0.4.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 +35 -13
- package/README.md +1 -1
- package/dist/browser/es/connect-multichain.d.mts +4 -6
- package/dist/browser/es/connect-multichain.mjs +593 -588
- 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 +4 -6
- package/dist/browser/iife/connect-multichain.js +3821 -2109
- 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 +4 -6
- package/dist/browser/umd/connect-multichain.js +593 -588
- 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 +4 -6
- package/dist/node/cjs/connect-multichain.js +594 -600
- 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 +4 -6
- package/dist/node/es/connect-multichain.mjs +593 -599
- 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 +4 -6
- package/dist/react-native/es/connect-multichain.mjs +580 -584
- 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/multichain/types.d.ts +2 -4
- package/dist/src/domain/multichain/types.d.ts.map +1 -1
- package/dist/src/multichain/index.d.ts +3 -22
- package/dist/src/multichain/index.d.ts.map +1 -1
- package/dist/src/multichain/index.js +422 -424
- package/dist/src/multichain/index.js.map +1 -1
- package/dist/src/multichain/rpc/requestRouter.js +17 -19
- package/dist/src/multichain/rpc/requestRouter.js.map +1 -1
- package/dist/src/multichain/transports/default/index.d.ts +2 -0
- package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
- package/dist/src/multichain/transports/default/index.js +6 -0
- package/dist/src/multichain/transports/default/index.js.map +1 -1
- package/dist/src/multichain/transports/mwp/index.d.ts +2 -1
- package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
- package/dist/src/multichain/transports/mwp/index.js +41 -16
- package/dist/src/multichain/transports/mwp/index.js.map +1 -1
- package/dist/src/ui/index.d.ts +2 -6
- package/dist/src/ui/index.d.ts.map +1 -1
- package/dist/src/ui/index.js +8 -49
- package/dist/src/ui/index.js.map +1 -1
- package/dist/src/ui/modals/node/install.js +2 -2
- package/dist/src/ui/modals/node/install.js.map +1 -1
- package/dist/src/ui/preload.native.d.ts +5 -0
- package/dist/src/ui/preload.native.d.ts.map +1 -0
- package/dist/src/ui/preload.native.js +18 -0
- package/dist/src/ui/preload.native.js.map +1 -0
- package/dist/src/ui/preload.web.d.ts +5 -0
- package/dist/src/ui/preload.web.d.ts.map +1 -0
- package/dist/src/ui/{qr.js → preload.web.js} +13 -18
- package/dist/src/ui/preload.web.js.map +1 -0
- package/dist/types/connect-multichain.d.ts +4 -6
- package/package.json +7 -7
- package/dist/src/ui/qr.d.ts +0 -3
- package/dist/src/ui/qr.d.ts.map +0 -1
- package/dist/src/ui/qr.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
2
2
|
/* eslint-disable no-restricted-syntax */
|
|
3
3
|
import { createLogger, } from '../../../domain';
|
|
4
|
-
import
|
|
4
|
+
import encodeQR from '@paulmillr/qr';
|
|
5
5
|
import { AbstractInstallModal } from '../base/AbstractInstallModal';
|
|
6
6
|
import { formatRemainingTime, shouldLogCountdown } from '../base/utils';
|
|
7
7
|
const logger = createLogger('metamask-sdk:ui');
|
|
@@ -9,7 +9,7 @@ export class InstallModal extends AbstractInstallModal {
|
|
|
9
9
|
displayQRWithCountdown(qrCodeLink, expiresInMs) {
|
|
10
10
|
const isExpired = expiresInMs <= 0;
|
|
11
11
|
const formattedTime = formatRemainingTime(expiresInMs);
|
|
12
|
-
const qrCode =
|
|
12
|
+
const qrCode = encodeQR(qrCodeLink, 'ascii');
|
|
13
13
|
// Clear console and display QR code with live countdown
|
|
14
14
|
console.clear();
|
|
15
15
|
console.log(qrCode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../../src/ui/modals/node/install.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,yCAAyC;AACzC,OAAO,EAEL,YAAY,GAEb,MAAM,iBAAiB,CAAC;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../../src/ui/modals/node/install.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,yCAAyC;AACzC,OAAO,EAEL,YAAY,GAEb,MAAM,iBAAiB,CAAC;AACzB,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExE,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAE/C,MAAM,OAAO,YAAa,SAAQ,oBAAoB;IAC5C,sBAAsB,CAAC,UAAkB,EAAE,WAAmB;QACpE,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE7C,wDAAwD;QACxD,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpB,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAe,aAAa,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,iBAAoC;QAC7D,MAAM,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC;QAC7C,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QAE7C,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE7C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CACJ,mDAAmD,aAAa,KAAK,SAAS,KAAK,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload.native.d.ts","sourceRoot":"","sources":["../../../src/ui/preload.native.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* React Native preload - no-op since Stencil web components are not used
|
|
12
|
+
*/
|
|
13
|
+
export function preload() {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
// No-op for React Native - web components are not applicable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=preload.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload.native.js","sourceRoot":"","sources":["../../../src/ui/preload.native.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;GAEG;AACH,MAAM,UAAgB,OAAO;;QAC3B,6DAA6D;IAC/D,CAAC;CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload.web.d.ts","sourceRoot":"","sources":["../../../src/ui/preload.web.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAY7C"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/* eslint-disable require-atomic-updates */
|
|
2
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
3
|
-
/*
|
|
4
|
-
QR adapter that hides ESM import details and exposes a sync API.
|
|
5
|
-
Consumers must call preloadQR() once before first use.
|
|
6
|
-
*/
|
|
7
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -13,20 +7,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
8
|
});
|
|
15
9
|
};
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Web-specific preload that loads Stencil custom elements
|
|
12
|
+
*/
|
|
13
|
+
export function preload() {
|
|
18
14
|
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
if (
|
|
15
|
+
if (typeof document === 'undefined') {
|
|
20
16
|
return;
|
|
21
17
|
}
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
try {
|
|
19
|
+
const { defineCustomElements } = yield import('@metamask/multichain-ui/loader');
|
|
20
|
+
yield defineCustomElements();
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.error('Failed to load customElements:', error);
|
|
24
|
+
}
|
|
24
25
|
});
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
-
if (!encodeQRImpl) {
|
|
28
|
-
throw new Error('QR module not preloaded. Call preloadQR() first.');
|
|
29
|
-
}
|
|
30
|
-
return encodeQRImpl(input, 'ascii');
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=qr.js.map
|
|
27
|
+
//# sourceMappingURL=preload.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload.web.js","sourceRoot":"","sources":["../../../src/ui/preload.web.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;GAEG;AACH,MAAM,UAAgB,OAAO;;QAC3B,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAC3C,gCAAgC,CACjC,CAAC;YACF,MAAM,oBAAoB,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CAAA"}
|
|
@@ -2,7 +2,7 @@ import debug from 'debug';
|
|
|
2
2
|
import { SessionData, Transport, TransportRequest, TransportResponse, MultichainApiClient } from '@metamask/multichain-api-client';
|
|
3
3
|
export { SessionData } from '@metamask/multichain-api-client';
|
|
4
4
|
import { CaipAccountId, Json } from '@metamask/utils';
|
|
5
|
-
import { SessionRequest } from '@metamask/mobile-wallet-protocol-core';
|
|
5
|
+
import { SessionRequest, Session } from '@metamask/mobile-wallet-protocol-core';
|
|
6
6
|
import { Components } from '@metamask/multichain-ui';
|
|
7
7
|
|
|
8
8
|
type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
|
|
@@ -326,8 +326,8 @@ declare class ModalFactory<T extends FactoryModals = FactoryModals> {
|
|
|
326
326
|
get isWeb(): boolean;
|
|
327
327
|
private getContainer;
|
|
328
328
|
private getMountedContainer;
|
|
329
|
-
|
|
330
|
-
|
|
329
|
+
createConnectionDeeplink(connectionRequest?: ConnectionRequest): string;
|
|
330
|
+
createConnectionUniversalLink(connectionRequest?: ConnectionRequest): string;
|
|
331
331
|
private onCloseModal;
|
|
332
332
|
private onStartDesktopOnboarding;
|
|
333
333
|
renderInstallModal(showInstallModal: boolean, createConnectionRequest: () => Promise<ConnectionRequest>, successCallback: (error?: Error) => Promise<void>): Promise<void>;
|
|
@@ -393,9 +393,6 @@ type MultichainOptions = {
|
|
|
393
393
|
};
|
|
394
394
|
/** Analytics configuration */
|
|
395
395
|
analytics?: {
|
|
396
|
-
enabled: false;
|
|
397
|
-
} | {
|
|
398
|
-
enabled: true;
|
|
399
396
|
integrationType: string;
|
|
400
397
|
};
|
|
401
398
|
/** Storage client for persisting SDK data */
|
|
@@ -444,6 +441,7 @@ type ExtendedTransport = Omit<Transport, 'connect'> & {
|
|
|
444
441
|
sendEip1193Message: <TRequest extends TransportRequest, TResponse extends TransportResponse>(request: TRequest, options?: {
|
|
445
442
|
timeout?: number;
|
|
446
443
|
}) => Promise<TResponse>;
|
|
444
|
+
getActiveSession: () => Promise<Session | undefined>;
|
|
447
445
|
};
|
|
448
446
|
|
|
449
447
|
declare const infuraRpcUrls: RpcUrlsMap;
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/connect-multichain",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Multichain package for MetaMask Connect",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
7
7
|
"Ethereum"
|
|
8
8
|
],
|
|
9
|
-
"homepage": "https://github.com/MetaMask/
|
|
9
|
+
"homepage": "https://github.com/MetaMask/connect-monorepo/tree/main/packages/multichain#readme",
|
|
10
10
|
"bugs": {
|
|
11
|
-
"url": "https://github.com/MetaMask/
|
|
11
|
+
"url": "https://github.com/MetaMask/connect-monorepo/issues"
|
|
12
12
|
},
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
15
|
-
"url": "https://github.com/MetaMask/
|
|
15
|
+
"url": "https://github.com/MetaMask/connect-monorepo.git"
|
|
16
16
|
},
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"sideEffects": false,
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@metamask/mobile-wallet-protocol-core": "^0.3.0",
|
|
71
71
|
"@metamask/mobile-wallet-protocol-dapp-client": "^0.2.1",
|
|
72
72
|
"@metamask/multichain-api-client": "^0.10.1",
|
|
73
|
-
"@metamask/multichain-ui": "^0.
|
|
73
|
+
"@metamask/multichain-ui": "^0.3.0",
|
|
74
74
|
"@metamask/onboarding": "^1.0.1",
|
|
75
75
|
"@metamask/utils": "^11.8.1",
|
|
76
76
|
"@paulmillr/qr": "^0.2.1",
|
|
@@ -98,14 +98,14 @@
|
|
|
98
98
|
"tsup": "^8.4.0",
|
|
99
99
|
"typedoc": "^0.28.14",
|
|
100
100
|
"typedoc-plugin-missing-exports": "^4.1.2",
|
|
101
|
-
"typescript": "
|
|
101
|
+
"typescript": "^5.9.3",
|
|
102
102
|
"vitest": "^3.1.2"
|
|
103
103
|
},
|
|
104
104
|
"peerDependencies": {
|
|
105
105
|
"@react-native-async-storage/async-storage": "^1.23"
|
|
106
106
|
},
|
|
107
107
|
"engines": {
|
|
108
|
-
"node": "
|
|
108
|
+
"node": ">=20.19.0"
|
|
109
109
|
},
|
|
110
110
|
"publishConfig": {
|
|
111
111
|
"access": "public",
|
package/dist/src/ui/qr.d.ts
DELETED
package/dist/src/ui/qr.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qr.d.ts","sourceRoot":"","sources":["../../../src/ui/qr.ts"],"names":[],"mappings":"AAWA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ/C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlD"}
|
package/dist/src/ui/qr.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qr.js","sourceRoot":"","sources":["../../../src/ui/qr.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,wCAAwC;AACxC;;;EAGE;;;;;;;;;;AAEF,IAAI,YAAY,GAAsD,IAAI,CAAC;AAI3E,MAAM,UAAgB,SAAS;;QAC7B,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,CAEzC,CAAC;QACF,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,CAAC;CAAA;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC"}
|