@metamask/connect-multichain 0.2.1 → 0.3.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/dist/browser/es/connect-multichain.d.mts +1 -1
  3. package/dist/browser/es/connect-multichain.mjs +21 -26
  4. package/dist/browser/es/connect-multichain.mjs.map +1 -1
  5. package/dist/browser/es/metafile-esm.json +1 -1
  6. package/dist/browser/iife/connect-multichain.d.ts +1 -1
  7. package/dist/browser/iife/connect-multichain.js +37 -34
  8. package/dist/browser/iife/connect-multichain.js.map +1 -1
  9. package/dist/browser/iife/metafile-iife.json +1 -1
  10. package/dist/browser/umd/connect-multichain.d.ts +1 -1
  11. package/dist/browser/umd/connect-multichain.js +21 -26
  12. package/dist/browser/umd/connect-multichain.js.map +1 -1
  13. package/dist/browser/umd/metafile-cjs.json +1 -1
  14. package/dist/node/cjs/connect-multichain.d.ts +1 -1
  15. package/dist/node/cjs/connect-multichain.js +21 -26
  16. package/dist/node/cjs/connect-multichain.js.map +1 -1
  17. package/dist/node/cjs/metafile-cjs.json +1 -1
  18. package/dist/node/es/connect-multichain.d.mts +1 -1
  19. package/dist/node/es/connect-multichain.mjs +21 -26
  20. package/dist/node/es/connect-multichain.mjs.map +1 -1
  21. package/dist/node/es/metafile-esm.json +1 -1
  22. package/dist/react-native/es/connect-multichain.d.mts +1 -1
  23. package/dist/react-native/es/connect-multichain.mjs +21 -26
  24. package/dist/react-native/es/connect-multichain.mjs.map +1 -1
  25. package/dist/react-native/es/metafile-esm.json +1 -1
  26. package/dist/src/domain/multichain/types.d.ts +1 -1
  27. package/dist/src/domain/multichain/types.d.ts.map +1 -1
  28. package/dist/src/multichain/index.d.ts.map +1 -1
  29. package/dist/src/multichain/index.js +0 -13
  30. package/dist/src/multichain/index.js.map +1 -1
  31. package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
  32. package/dist/src/multichain/transports/default/index.js +7 -0
  33. package/dist/src/multichain/transports/default/index.js.map +1 -1
  34. package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
  35. package/dist/src/multichain/transports/mwp/index.js +3 -0
  36. package/dist/src/multichain/transports/mwp/index.js.map +1 -1
  37. package/dist/src/multichain/utils/index.d.ts +1 -1
  38. package/dist/src/multichain/utils/index.d.ts.map +1 -1
  39. package/dist/src/multichain/utils/index.js +11 -14
  40. package/dist/src/multichain/utils/index.js.map +1 -1
  41. package/dist/src/ui/index.js +1 -1
  42. package/dist/src/ui/index.js.map +1 -1
  43. package/dist/types/connect-multichain.d.ts +1 -1
  44. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.1]
11
+
12
+ ### Changed
13
+
14
+ - Bump `@metamask/multichain-api-client` to prevent `RPC request with id already seen.` error on extension when using firefox ([#60](https://github.com/MetaMask/connect-monorepo/pull/60))
15
+
16
+ ### Fixed
17
+
18
+ - Fixed incorrect caching of error responses for some requests/events ([#59](https://github.com/MetaMask/connect-monorepo/pull/59))
19
+
20
+ ## [0.3.0]
21
+
22
+ ### Changed
23
+
24
+ - **BREAKING** Make the `dapp.name` and `dapp.url` properties required in `createMetamaskConnect()` ([#56](https://github.com/MetaMask/connect-monorepo/pull/56))
25
+ - The `dapp.url` property is now always overwritten with the value of the page's url when MetaMask Connect is running in a browser context ([#56](https://github.com/MetaMask/connect-monorepo/pull/56))
26
+
27
+ ### Fixed
28
+
29
+ - Fixed mobile deeplink bug that occurred when `MultichainSDK.connect()` was called and the transport was already connected ([#57](https://github.com/MetaMask/connect-monorepo/pull/57))
30
+
10
31
  ## [0.2.1]
11
32
 
12
33
  ### Added
@@ -45,7 +66,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
45
66
 
46
67
  - Initial release
47
68
 
48
- [Unreleased]: https://github.com/MetaMask/metamask-connect-monorepo/compare/@metamask/connect-multichain@0.2.1...HEAD
69
+ [Unreleased]: https://github.com/MetaMask/metamask-connect-monorepo/compare/@metamask/connect-multichain@0.3.1...HEAD
70
+ [0.3.1]: https://github.com/MetaMask/metamask-connect-monorepo/compare/@metamask/connect-multichain@0.3.0...@metamask/connect-multichain@0.3.1
71
+ [0.3.0]: https://github.com/MetaMask/metamask-connect-monorepo/compare/@metamask/connect-multichain@0.2.1...@metamask/connect-multichain@0.3.0
49
72
  [0.2.1]: https://github.com/MetaMask/metamask-connect-monorepo/compare/@metamask/connect-multichain@0.2.0...@metamask/connect-multichain@0.2.1
50
73
  [0.2.0]: https://github.com/MetaMask/metamask-connect-monorepo/compare/@metamask/connect-multichain@0.1.0...@metamask/connect-multichain@0.2.0
51
74
  [0.1.0]: https://github.com/MetaMask/metamask-connect-monorepo/releases/tag/@metamask/connect-multichain@0.1.0
@@ -359,7 +359,7 @@ declare function hasExtension(): Promise<boolean>;
359
359
  * - Using a base64-encoded icon
360
360
  */
361
361
  type DappSettings = {
362
- name?: string;
362
+ name: string;
363
363
  url?: string;
364
364
  } & ({
365
365
  iconUrl?: string;
@@ -603,11 +603,8 @@ function compressString(str) {
603
603
  return base64Encode(binaryString);
604
604
  }
605
605
  function getDappId(dapp) {
606
- var _a, _b;
607
- if (typeof window === "undefined" || typeof window.location === "undefined") {
608
- return (_b = (_a = dapp == null ? void 0 : dapp.name) != null ? _a : dapp == null ? void 0 : dapp.url) != null ? _b : "N/A";
609
- }
610
- return window.location.hostname;
606
+ var _a;
607
+ return (_a = dapp.url) != null ? _a : dapp.name;
611
608
  }
612
609
  function openDeeplink(options, deeplink, universalLink) {
613
610
  const { mobile } = options;
@@ -637,17 +634,19 @@ function getOptionalScopes(scopes) {
637
634
  );
638
635
  }
639
636
  function setupDappMetadata(options) {
640
- var _a;
637
+ var _a, _b;
641
638
  const platform = getPlatformType();
642
639
  const isBrowser = platform === "web-desktop" /* DesktopWeb */ || platform === "web-mobile" /* MobileWeb */ || platform === "in-app-browser" /* MetaMaskMobileWebview */;
643
- if (!((_a = options.dapp) == null ? void 0 : _a.url)) {
644
- if (isBrowser) {
645
- options.dapp = __spreadProps(__spreadValues({}, options.dapp), {
646
- url: `${window.location.protocol}//${window.location.host}`
647
- });
648
- } else {
649
- throw new Error("You must provide dapp url");
650
- }
640
+ if (!((_a = options.dapp) == null ? void 0 : _a.name)) {
641
+ throw new Error("You must provide dapp name");
642
+ }
643
+ if (isBrowser) {
644
+ options.dapp = __spreadProps(__spreadValues({}, options.dapp), {
645
+ url: `${window.location.protocol}//${window.location.host}`
646
+ });
647
+ }
648
+ if (!((_b = options.dapp) == null ? void 0 : _b.url)) {
649
+ throw new Error("You must provide dapp url");
651
650
  }
652
651
  const BASE_64_ICON_MAX_LENGTH = 163400;
653
652
  const urlPattern = /^(http|https):\/\/[^\s]*$/;
@@ -1566,6 +1565,10 @@ var DefaultTransport = class {
1566
1565
  window.removeEventListener("message", __privateGet(this, _handleResponseListener));
1567
1566
  __privateSet(this, _handleResponseListener, void 0);
1568
1567
  }
1568
+ if (__privateGet(this, _handleNotificationListener)) {
1569
+ window.removeEventListener("message", __privateGet(this, _handleNotificationListener));
1570
+ __privateSet(this, _handleNotificationListener, void 0);
1571
+ }
1569
1572
  for (const [, request] of __privateGet(this, _pendingRequests)) {
1570
1573
  clearTimeout(request.timeout);
1571
1574
  request.reject(new Error("Transport disconnected"));
@@ -2053,6 +2056,9 @@ var MWPTransport = class {
2053
2056
  }
2054
2057
  storeWalletSession(request, response) {
2055
2058
  return __async(this, null, function* () {
2059
+ if (response.error) {
2060
+ return;
2061
+ }
2056
2062
  if (CACHED_METHOD_LIST.includes(request.method)) {
2057
2063
  yield this.kvstore.set(SESSION_STORE_KEY, JSON.stringify(response));
2058
2064
  } else if (request.method === "eth_accounts") {
@@ -2503,17 +2509,6 @@ var MultichainSDK = class _MultichainSDK extends MultichainCore {
2503
2509
  }
2504
2510
  }
2505
2511
  );
2506
- } else {
2507
- timeout = setTimeout(() => {
2508
- var _a;
2509
- const deeplink = this.options.ui.factory.createDeeplink();
2510
- const universalLink = this.options.ui.factory.createUniversalLink();
2511
- if ((_a = this.options.mobile) == null ? void 0 : _a.preferredOpenLink) {
2512
- this.options.mobile.preferredOpenLink(deeplink, "_self");
2513
- } else {
2514
- openDeeplink(this.options, deeplink, universalLink);
2515
- }
2516
- }, 250);
2517
2512
  }
2518
2513
  this.transport.connect({ scopes, caipAccountIds }).then(resolve).catch((error) => {
2519
2514
  this.storage.removeTransport();
@@ -2993,7 +2988,7 @@ var ModalFactory = class {
2993
2988
  }
2994
2989
  createDeeplink(connectionRequest) {
2995
2990
  if (!connectionRequest) {
2996
- return `${METAMASK_DEEPLINK_BASE}`;
2991
+ throw new Error("createDeeplink can only be called with a connection request");
2997
2992
  }
2998
2993
  const json = JSON.stringify(connectionRequest);
2999
2994
  const compressed = compressString(json);