@metamask/connect-multichain 0.9.0 → 0.10.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 +13 -1
- package/README.md +18 -6
- package/dist/browser/es/connect-multichain.d.mts +13 -3
- package/dist/browser/es/connect-multichain.mjs +33 -22
- 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 +13 -3
- package/dist/browser/iife/connect-multichain.js +41 -22
- 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 +13 -3
- package/dist/browser/umd/connect-multichain.js +33 -22
- 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 +13 -3
- package/dist/node/cjs/connect-multichain.js +33 -22
- 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 +13 -3
- package/dist/node/es/connect-multichain.mjs +33 -22
- 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 +13 -3
- package/dist/react-native/es/connect-multichain.mjs +33 -22
- 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/api/infura.d.ts +13 -1
- package/dist/src/domain/multichain/api/infura.d.ts.map +1 -1
- package/dist/src/domain/multichain/api/infura.js +17 -5
- package/dist/src/domain/multichain/api/infura.js.map +1 -1
- package/dist/src/multichain/index.d.ts.map +1 -1
- package/dist/src/multichain/index.js +19 -6
- package/dist/src/multichain/index.js.map +1 -1
- package/dist/src/multichain/utils/analytics.d.ts +1 -4
- package/dist/src/multichain/utils/analytics.d.ts.map +1 -1
- package/dist/src/multichain/utils/analytics.js +5 -9
- package/dist/src/multichain/utils/analytics.js.map +1 -1
- package/dist/types/connect-multichain.d.ts +13 -3
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import debug from 'debug';
|
|
2
2
|
import { SessionData, Transport, SessionProperties, TransportRequest, TransportResponse, MultichainApiClient } from '@metamask/multichain-api-client';
|
|
3
3
|
export { SessionData } from '@metamask/multichain-api-client';
|
|
4
|
-
import { CaipAccountId, Json } from '@metamask/utils';
|
|
4
|
+
import { CaipAccountId, CaipChainId, Json } from '@metamask/utils';
|
|
5
5
|
import { SessionRequest, Session } from '@metamask/mobile-wallet-protocol-core';
|
|
6
6
|
import { Components } from '@metamask/multichain-ui';
|
|
7
7
|
|
|
@@ -485,7 +485,18 @@ declare const infuraRpcUrls: RpcUrlsMap;
|
|
|
485
485
|
declare const RPC_HANDLED_METHODS: Set<string>;
|
|
486
486
|
declare const SDK_HANDLED_METHODS: Set<string>;
|
|
487
487
|
|
|
488
|
-
|
|
488
|
+
/**
|
|
489
|
+
* Generates Infura RPC URLs for common networks keyed by CAIP Chain ID.
|
|
490
|
+
*
|
|
491
|
+
* @param options - The options for generating Infura RPC URLs
|
|
492
|
+
* @param options.infuraApiKey - The Infura API key
|
|
493
|
+
* @param options.caipChainIds - Optional CAIP-2 chain IDs to filter the output
|
|
494
|
+
* @returns A map of CAIP-2 chain IDs to Infura RPC URLs
|
|
495
|
+
*/
|
|
496
|
+
declare function getInfuraRpcUrls({ infuraApiKey, caipChainIds, }: {
|
|
497
|
+
infuraApiKey: string;
|
|
498
|
+
caipChainIds?: CaipChainId[];
|
|
499
|
+
}): RpcUrlsMap;
|
|
489
500
|
|
|
490
501
|
type ConnectionStatus = 'pending' | 'loaded' | 'disconnected' | 'connected' | 'connecting';
|
|
491
502
|
declare enum TransportType {
|
|
@@ -676,7 +687,6 @@ declare function getWalletActionAnalyticsProperties(options: MultichainOptions,
|
|
|
676
687
|
mmconnect_versions: Record<string, string>;
|
|
677
688
|
dapp_id: string;
|
|
678
689
|
method: string;
|
|
679
|
-
integration_type: string;
|
|
680
690
|
caip_chain_id: string;
|
|
681
691
|
anon_id: string;
|
|
682
692
|
transport_type: TransportType;
|
|
@@ -377,10 +377,16 @@ var init_constants = __esm({
|
|
|
377
377
|
});
|
|
378
378
|
|
|
379
379
|
// src/domain/multichain/api/infura.ts
|
|
380
|
-
function getInfuraRpcUrls(
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
380
|
+
function getInfuraRpcUrls({
|
|
381
|
+
infuraApiKey,
|
|
382
|
+
caipChainIds
|
|
383
|
+
}) {
|
|
384
|
+
const keys = caipChainIds && caipChainIds.length > 0 ? caipChainIds : Object.keys(infuraRpcUrls);
|
|
385
|
+
return keys.reduce((acc, key) => {
|
|
386
|
+
const baseUrl = infuraRpcUrls[key];
|
|
387
|
+
if (baseUrl) {
|
|
388
|
+
acc[key] = `${baseUrl}${infuraApiKey}`;
|
|
389
|
+
}
|
|
384
390
|
return acc;
|
|
385
391
|
}, {});
|
|
386
392
|
}
|
|
@@ -648,31 +654,27 @@ function isRejectionError(error) {
|
|
|
648
654
|
}
|
|
649
655
|
function getBaseAnalyticsProperties(options, storage) {
|
|
650
656
|
return __async(this, null, function* () {
|
|
651
|
-
var _a3
|
|
657
|
+
var _a3;
|
|
652
658
|
const dappId = getDappId(options.dapp);
|
|
653
659
|
const platform = getPlatformType();
|
|
654
660
|
const anonId = yield storage.getAnonId();
|
|
655
|
-
const integrationType = (_b = (_a3 = options.analytics) == null ? void 0 : _a3.integrationType) != null ? _b : "unknown" /* UNKNOWN */;
|
|
656
661
|
return {
|
|
657
|
-
mmconnect_versions: (
|
|
662
|
+
mmconnect_versions: (_a3 = options.versions) != null ? _a3 : {},
|
|
658
663
|
dapp_id: dappId,
|
|
659
664
|
platform,
|
|
660
|
-
integration_type: integrationType,
|
|
661
665
|
anon_id: anonId
|
|
662
666
|
};
|
|
663
667
|
});
|
|
664
668
|
}
|
|
665
669
|
function getWalletActionAnalyticsProperties(options, storage, invokeOptions, transportType) {
|
|
666
670
|
return __async(this, null, function* () {
|
|
667
|
-
var _a3
|
|
671
|
+
var _a3;
|
|
668
672
|
const dappId = getDappId(options.dapp);
|
|
669
673
|
const anonId = yield storage.getAnonId();
|
|
670
|
-
const integrationType = (_b = (_a3 = options.analytics) == null ? void 0 : _a3.integrationType) != null ? _b : "unknown";
|
|
671
674
|
return {
|
|
672
|
-
mmconnect_versions: (
|
|
675
|
+
mmconnect_versions: (_a3 = options.versions) != null ? _a3 : {},
|
|
673
676
|
dapp_id: dappId,
|
|
674
677
|
method: invokeOptions.request.method,
|
|
675
|
-
integration_type: integrationType,
|
|
676
678
|
caip_chain_id: invokeOptions.scope,
|
|
677
679
|
anon_id: anonId,
|
|
678
680
|
transport_type: transportType
|
|
@@ -2710,21 +2712,23 @@ var SINGLETON_KEY = "__METAMASK_CONNECT_MULTICHAIN_SINGLETON__";
|
|
|
2710
2712
|
var _a2, _provider, _providerTransportWrapper, _transport2, _dappClient, _beforeUnloadListener, _listener, _sdkInfo, _MetaMaskConnectMultichain_instances, setupAnalytics_fn, onTransportNotification_fn, getStoredTransport_fn, setupTransport_fn, init_fn2, createDappClient_fn, setupMWP_fn, onBeforeUnload_fn, createBeforeUnloadListener_fn, renderInstallModalAsync_fn, showInstallModal_fn, headlessConnect_fn, setupDefaultTransport_fn, deeplinkConnect_fn, handleConnection_fn, getCaipSession_fn, openConnectDeeplinkIfNeeded_fn;
|
|
2711
2713
|
var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends MultichainCore {
|
|
2712
2714
|
constructor(options) {
|
|
2713
|
-
var _a3, _b, _c, _d, _e, _f
|
|
2715
|
+
var _a3, _b, _c, _d, _e, _f;
|
|
2714
2716
|
const withDappMetadata = setupDappMetadata(options);
|
|
2715
|
-
const integrationType = (
|
|
2717
|
+
const integrationType = ((_a3 = options.analytics) == null ? void 0 : _a3.integrationType) || "direct";
|
|
2716
2718
|
const allOptions = __spreadProps(__spreadValues({}, withDappMetadata), {
|
|
2717
2719
|
ui: __spreadProps(__spreadValues({}, withDappMetadata.ui), {
|
|
2718
|
-
preferExtension: (
|
|
2719
|
-
showInstallModal: (
|
|
2720
|
-
headless: (
|
|
2720
|
+
preferExtension: (_b = withDappMetadata.ui.preferExtension) != null ? _b : true,
|
|
2721
|
+
showInstallModal: (_c = withDappMetadata.ui.showInstallModal) != null ? _c : false,
|
|
2722
|
+
headless: (_d = withDappMetadata.ui.headless) != null ? _d : false
|
|
2721
2723
|
}),
|
|
2722
|
-
analytics: __spreadProps(__spreadValues({}, (
|
|
2724
|
+
analytics: __spreadProps(__spreadValues({}, (_e = options.analytics) != null ? _e : {}), {
|
|
2723
2725
|
integrationType
|
|
2724
2726
|
}),
|
|
2725
2727
|
versions: __spreadValues({
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
+
// typeof guard needed: Metro (React Native) bundles TS source directly,
|
|
2729
|
+
// bypassing the tsup build that substitutes __PACKAGE_VERSION__.
|
|
2730
|
+
"connect-multichain": false ? "unknown" : "0.10.0"
|
|
2731
|
+
}, (_f = options.versions) != null ? _f : {})
|
|
2728
2732
|
});
|
|
2729
2733
|
super(allOptions);
|
|
2730
2734
|
__privateAdd(this, _MetaMaskConnectMultichain_instances);
|
|
@@ -2786,7 +2790,7 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
|
|
|
2786
2790
|
// subsequent calls to `createMultichainClient` to have a different `dapp` value.
|
|
2787
2791
|
static create(options) {
|
|
2788
2792
|
return __async(this, null, function* () {
|
|
2789
|
-
var _a3;
|
|
2793
|
+
var _a3, _b;
|
|
2790
2794
|
const globalObject = getGlobalObject();
|
|
2791
2795
|
const existing = globalObject[SINGLETON_KEY];
|
|
2792
2796
|
if (existing) {
|
|
@@ -2796,6 +2800,11 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
|
|
|
2796
2800
|
"mmconnect_versions",
|
|
2797
2801
|
(_a3 = instance.options.versions) != null ? _a3 : {}
|
|
2798
2802
|
);
|
|
2803
|
+
if ((_b = options.analytics) == null ? void 0 : _b.integrationType) {
|
|
2804
|
+
import_analytics4.analytics.setGlobalProperty("integration_types", [
|
|
2805
|
+
options.analytics.integrationType
|
|
2806
|
+
]);
|
|
2807
|
+
}
|
|
2799
2808
|
if (options.debug) {
|
|
2800
2809
|
enableDebug("metamask-sdk:*");
|
|
2801
2810
|
}
|
|
@@ -3016,7 +3025,9 @@ setupAnalytics_fn = function() {
|
|
|
3016
3025
|
import_analytics4.analytics.setGlobalProperty("dapp_id", dappId);
|
|
3017
3026
|
import_analytics4.analytics.setGlobalProperty("anon_id", anonId);
|
|
3018
3027
|
import_analytics4.analytics.setGlobalProperty("platform", platform);
|
|
3019
|
-
|
|
3028
|
+
if (integrationType) {
|
|
3029
|
+
import_analytics4.analytics.setGlobalProperty("integration_types", [integrationType]);
|
|
3030
|
+
}
|
|
3020
3031
|
import_analytics4.analytics.enable();
|
|
3021
3032
|
});
|
|
3022
3033
|
};
|