@ledgerhq/live-common 34.28.0 → 34.29.0-hotfix.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 (95) hide show
  1. package/lib/{platform → wallet-api}/utils/appendQueryParamsToDappURL.d.ts +1 -1
  2. package/lib/wallet-api/utils/appendQueryParamsToDappURL.d.ts.map +1 -0
  3. package/lib/wallet-api/utils/appendQueryParamsToDappURL.js.map +1 -0
  4. package/lib/wallet-api/utils/appendQueryParamsToDappURL.test.d.ts.map +1 -0
  5. package/lib/wallet-api/utils/appendQueryParamsToDappURL.test.js.map +1 -0
  6. package/lib/wallet-api/utils/appendQueryParamsToManifestURL.d.ts +4 -0
  7. package/lib/wallet-api/utils/appendQueryParamsToManifestURL.d.ts.map +1 -0
  8. package/lib/wallet-api/utils/appendQueryParamsToManifestURL.js +25 -0
  9. package/lib/wallet-api/utils/appendQueryParamsToManifestURL.js.map +1 -0
  10. package/lib/wallet-api/utils/appendQueryParamsToManifestURL.test.d.ts +2 -0
  11. package/lib/wallet-api/utils/appendQueryParamsToManifestURL.test.d.ts.map +1 -0
  12. package/lib/wallet-api/utils/appendQueryParamsToManifestURL.test.js +43 -0
  13. package/lib/wallet-api/utils/appendQueryParamsToManifestURL.test.js.map +1 -0
  14. package/lib/{platform → wallet-api}/utils/deriveAccountIdForManifest.d.ts +1 -1
  15. package/lib/wallet-api/utils/deriveAccountIdForManifest.d.ts.map +1 -0
  16. package/lib/wallet-api/utils/deriveAccountIdForManifest.js.map +1 -0
  17. package/lib/wallet-api/utils/extractDappURLFromManifest.d.ts +3 -0
  18. package/lib/wallet-api/utils/extractDappURLFromManifest.d.ts.map +1 -0
  19. package/lib/{platform → wallet-api}/utils/extractDappURLFromManifest.js +13 -0
  20. package/lib/wallet-api/utils/extractDappURLFromManifest.js.map +1 -0
  21. package/lib/wallet-api/utils/extractDappURLFromManifest.test.d.ts.map +1 -0
  22. package/lib/wallet-api/utils/extractDappURLFromManifest.test.js.map +1 -0
  23. package/lib/wallet-api/utils/extractURLFromManifest.d.ts +4 -0
  24. package/lib/wallet-api/utils/extractURLFromManifest.d.ts.map +1 -0
  25. package/lib/wallet-api/utils/extractURLFromManifest.js +27 -0
  26. package/lib/wallet-api/utils/extractURLFromManifest.js.map +1 -0
  27. package/lib-es/{platform → wallet-api}/utils/appendQueryParamsToDappURL.d.ts +1 -1
  28. package/lib-es/wallet-api/utils/appendQueryParamsToDappURL.d.ts.map +1 -0
  29. package/lib-es/wallet-api/utils/appendQueryParamsToDappURL.js.map +1 -0
  30. package/lib-es/wallet-api/utils/appendQueryParamsToDappURL.test.d.ts.map +1 -0
  31. package/lib-es/wallet-api/utils/appendQueryParamsToDappURL.test.js.map +1 -0
  32. package/lib-es/wallet-api/utils/appendQueryParamsToManifestURL.d.ts +4 -0
  33. package/lib-es/wallet-api/utils/appendQueryParamsToManifestURL.d.ts.map +1 -0
  34. package/lib-es/wallet-api/utils/appendQueryParamsToManifestURL.js +21 -0
  35. package/lib-es/wallet-api/utils/appendQueryParamsToManifestURL.js.map +1 -0
  36. package/lib-es/wallet-api/utils/appendQueryParamsToManifestURL.test.d.ts +2 -0
  37. package/lib-es/wallet-api/utils/appendQueryParamsToManifestURL.test.d.ts.map +1 -0
  38. package/lib-es/wallet-api/utils/appendQueryParamsToManifestURL.test.js +41 -0
  39. package/lib-es/wallet-api/utils/appendQueryParamsToManifestURL.test.js.map +1 -0
  40. package/lib-es/{platform → wallet-api}/utils/deriveAccountIdForManifest.d.ts +1 -1
  41. package/lib-es/wallet-api/utils/deriveAccountIdForManifest.d.ts.map +1 -0
  42. package/lib-es/wallet-api/utils/deriveAccountIdForManifest.js.map +1 -0
  43. package/lib-es/wallet-api/utils/extractDappURLFromManifest.d.ts +3 -0
  44. package/lib-es/wallet-api/utils/extractDappURLFromManifest.d.ts.map +1 -0
  45. package/lib-es/{platform → wallet-api}/utils/extractDappURLFromManifest.js +13 -0
  46. package/lib-es/wallet-api/utils/extractDappURLFromManifest.js.map +1 -0
  47. package/lib-es/wallet-api/utils/extractDappURLFromManifest.test.d.ts.map +1 -0
  48. package/lib-es/wallet-api/utils/extractDappURLFromManifest.test.js.map +1 -0
  49. package/lib-es/wallet-api/utils/extractURLFromManifest.d.ts +4 -0
  50. package/lib-es/wallet-api/utils/extractURLFromManifest.d.ts.map +1 -0
  51. package/lib-es/wallet-api/utils/extractURLFromManifest.js +23 -0
  52. package/lib-es/wallet-api/utils/extractURLFromManifest.js.map +1 -0
  53. package/package.json +14 -14
  54. package/src/{platform → wallet-api}/utils/appendQueryParamsToDappURL.test.ts +1 -1
  55. package/src/{platform → wallet-api}/utils/appendQueryParamsToDappURL.ts +1 -1
  56. package/src/wallet-api/utils/appendQueryParamsToManifestURL.test.ts +54 -0
  57. package/src/wallet-api/utils/appendQueryParamsToManifestURL.ts +29 -0
  58. package/src/{platform → wallet-api}/utils/deriveAccountIdForManifest.ts +1 -1
  59. package/src/{platform → wallet-api}/utils/extractDappURLFromManifest.test.ts +1 -1
  60. package/src/{platform → wallet-api}/utils/extractDappURLFromManifest.ts +15 -1
  61. package/src/wallet-api/utils/extractURLFromManifest.ts +26 -0
  62. package/lib/platform/utils/appendQueryParamsToDappURL.d.ts.map +0 -1
  63. package/lib/platform/utils/appendQueryParamsToDappURL.js.map +0 -1
  64. package/lib/platform/utils/appendQueryParamsToDappURL.test.d.ts.map +0 -1
  65. package/lib/platform/utils/appendQueryParamsToDappURL.test.js.map +0 -1
  66. package/lib/platform/utils/deriveAccountIdForManifest.d.ts.map +0 -1
  67. package/lib/platform/utils/deriveAccountIdForManifest.js.map +0 -1
  68. package/lib/platform/utils/extractDappURLFromManifest.d.ts +0 -3
  69. package/lib/platform/utils/extractDappURLFromManifest.d.ts.map +0 -1
  70. package/lib/platform/utils/extractDappURLFromManifest.js.map +0 -1
  71. package/lib/platform/utils/extractDappURLFromManifest.test.d.ts.map +0 -1
  72. package/lib/platform/utils/extractDappURLFromManifest.test.js.map +0 -1
  73. package/lib-es/platform/utils/appendQueryParamsToDappURL.d.ts.map +0 -1
  74. package/lib-es/platform/utils/appendQueryParamsToDappURL.js.map +0 -1
  75. package/lib-es/platform/utils/appendQueryParamsToDappURL.test.d.ts.map +0 -1
  76. package/lib-es/platform/utils/appendQueryParamsToDappURL.test.js.map +0 -1
  77. package/lib-es/platform/utils/deriveAccountIdForManifest.d.ts.map +0 -1
  78. package/lib-es/platform/utils/deriveAccountIdForManifest.js.map +0 -1
  79. package/lib-es/platform/utils/extractDappURLFromManifest.d.ts +0 -3
  80. package/lib-es/platform/utils/extractDappURLFromManifest.d.ts.map +0 -1
  81. package/lib-es/platform/utils/extractDappURLFromManifest.js.map +0 -1
  82. package/lib-es/platform/utils/extractDappURLFromManifest.test.d.ts.map +0 -1
  83. package/lib-es/platform/utils/extractDappURLFromManifest.test.js.map +0 -1
  84. /package/lib/{platform → wallet-api}/utils/appendQueryParamsToDappURL.js +0 -0
  85. /package/lib/{platform → wallet-api}/utils/appendQueryParamsToDappURL.test.d.ts +0 -0
  86. /package/lib/{platform → wallet-api}/utils/appendQueryParamsToDappURL.test.js +0 -0
  87. /package/lib/{platform → wallet-api}/utils/deriveAccountIdForManifest.js +0 -0
  88. /package/lib/{platform → wallet-api}/utils/extractDappURLFromManifest.test.d.ts +0 -0
  89. /package/lib/{platform → wallet-api}/utils/extractDappURLFromManifest.test.js +0 -0
  90. /package/lib-es/{platform → wallet-api}/utils/appendQueryParamsToDappURL.js +0 -0
  91. /package/lib-es/{platform → wallet-api}/utils/appendQueryParamsToDappURL.test.d.ts +0 -0
  92. /package/lib-es/{platform → wallet-api}/utils/appendQueryParamsToDappURL.test.js +0 -0
  93. /package/lib-es/{platform → wallet-api}/utils/deriveAccountIdForManifest.js +0 -0
  94. /package/lib-es/{platform → wallet-api}/utils/extractDappURLFromManifest.test.d.ts +0 -0
  95. /package/lib-es/{platform → wallet-api}/utils/extractDappURLFromManifest.test.js +0 -0
@@ -1,3 +1,3 @@
1
- import { LiveAppManifest } from "../types";
1
+ import { LiveAppManifest } from "../../platform/types";
2
2
  export declare function appendQueryParamsToDappURL(manifest: LiveAppManifest, queryString?: Record<string, string | string[]>): URL | undefined;
3
3
  //# sourceMappingURL=appendQueryParamsToDappURL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToDappURL.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToDappURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,eAAe,EACzB,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAM,GAClD,GAAG,GAAG,SAAS,CAsBjB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToDappURL.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToDappURL.ts"],"names":[],"mappings":";;;AACA,6EAA0E;AAE1E,SAAgB,0BAA0B,CACxC,QAAyB,EACzB,cAAiD,EAAE;IAEnD,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,GAAG,EAAE;QACP,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErD,oDAAoD;QACpD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;aACvD;iBAAM;gBACL,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAErC,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAzBD,gEAyBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToDappURL.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToDappURL.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToDappURL.test.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToDappURL.test.ts"],"names":[],"mappings":";;AACA,6EAA0E;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAC7B,gEAAgE,CACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;aACvB;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAG,EAAqB,CAAC;QACvC,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { LiveAppManifest } from "../../platform/types";
2
+ /** Appends query params to dapp URL or live app URL that might contain existing search params. */
3
+ export declare function appendQueryParamsToManifestURL(manifest: LiveAppManifest, queryString?: Record<string, string | string[]>): URL | undefined;
4
+ //# sourceMappingURL=appendQueryParamsToManifestURL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToManifestURL.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToManifestURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,kGAAkG;AAClG,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,eAAe,EACzB,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAM,GAClD,GAAG,GAAG,SAAS,CAqBjB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendQueryParamsToManifestURL = void 0;
4
+ const extractURLFromManifest_1 = require("./extractURLFromManifest");
5
+ /** Appends query params to dapp URL or live app URL that might contain existing search params. */
6
+ function appendQueryParamsToManifestURL(manifest, queryString = {}) {
7
+ const url = (0, extractURLFromManifest_1.extractURLFromManifest)(manifest);
8
+ if (!url) {
9
+ return undefined;
10
+ }
11
+ const searchParams = new URLSearchParams(url.search);
12
+ // Append the new query strings to the existing ones
13
+ Object.entries(queryString).forEach(([key, value]) => {
14
+ if (Array.isArray(value)) {
15
+ value.forEach(item => searchParams.append(key, item));
16
+ }
17
+ else {
18
+ searchParams.append(key, value);
19
+ }
20
+ });
21
+ url.search = searchParams.toString();
22
+ return url;
23
+ }
24
+ exports.appendQueryParamsToManifestURL = appendQueryParamsToManifestURL;
25
+ //# sourceMappingURL=appendQueryParamsToManifestURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToManifestURL.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToManifestURL.ts"],"names":[],"mappings":";;;AACA,qEAAkE;AAElE,kGAAkG;AAClG,SAAgB,8BAA8B,CAC5C,QAAyB,EACzB,cAAiD,EAAE;IAEnD,MAAM,GAAG,GAAG,IAAA,+CAAsB,EAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErD,oDAAoD;IACpD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;SACvD;aAAM;YACL,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACjC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAErC,OAAO,GAAG,CAAC;AACb,CAAC;AAxBD,wEAwBC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=appendQueryParamsToManifestURL.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToManifestURL.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToManifestURL.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const appendQueryParamsToManifestURL_1 = require("./appendQueryParamsToManifestURL");
4
+ describe("appendQueryParamsToManifestURL", () => {
5
+ it("appends query parameters to a valid dappUrl", () => {
6
+ const manifest = {
7
+ params: {
8
+ dappUrl: "https://example.com/",
9
+ },
10
+ };
11
+ const queryString = {
12
+ param1: "value1",
13
+ param2: ["value2", "value3"],
14
+ };
15
+ const url = (0, appendQueryParamsToManifestURL_1.appendQueryParamsToManifestURL)(manifest, queryString);
16
+ // expect(url).toBeInstanceOf(URL);
17
+ expect(url?.toString()).toEqual("https://example.com/?param1=value1&param2=value2&param2=value3");
18
+ });
19
+ it("returns URL when manifest is for a Live App without a dappUrl in manifest.params", () => {
20
+ const manifest = {
21
+ id: "mock-id",
22
+ url: "https://example.com/?manifestParam=existingValue",
23
+ };
24
+ const queryString = {
25
+ param1: "value1",
26
+ param2: ["value2", "value3"],
27
+ };
28
+ const url = (0, appendQueryParamsToManifestURL_1.appendQueryParamsToManifestURL)(manifest, queryString);
29
+ expect(url?.toString()).toBe("https://example.com/?manifestParam=existingValue&param1=value1&param2=value2&param2=value3");
30
+ });
31
+ it("returns undefined when url is invalid in live app in manifest.params", () => {
32
+ const manifest = {
33
+ url: "invalid-url",
34
+ };
35
+ const queryString = {
36
+ param1: "value1",
37
+ param2: ["value2", "value3"],
38
+ };
39
+ const url = (0, appendQueryParamsToManifestURL_1.appendQueryParamsToManifestURL)(manifest, queryString);
40
+ expect(url).toBeUndefined();
41
+ });
42
+ });
43
+ //# sourceMappingURL=appendQueryParamsToManifestURL.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToManifestURL.test.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToManifestURL.test.ts"],"names":[],"mappings":";;AACA,qFAAkF;AAElF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,+DAA8B,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElE,mCAAmC;QACnC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAC7B,gEAAgE,CACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,SAAS;YACb,GAAG,EAAE,kDAAkD;SACrC,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,+DAA8B,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAC1B,4FAA4F,CAC7F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,QAAQ,GAAG;YACf,GAAG,EAAE,aAAa;SACA,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,+DAA8B,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Account as WalletAPIAccount } from "@ledgerhq/wallet-api-core";
2
2
  import { TokenAccount, Account, AccountLike } from "@ledgerhq/types-live";
3
- import { LiveAppManifest } from "../types";
3
+ import { LiveAppManifest } from "../../platform/types";
4
4
  /** The dapp connector "v3" uses the ledger live account ID to find the correct account. Live app and dapp browser manifests require wallet API ID. */
5
5
  export declare function deriveAccountIdForManifest(accountId: Account["id"] | TokenAccount["id"] | AccountLike["id"], walletApiAccountId: WalletAPIAccount["id"] | string, manifest: LiveAppManifest): string;
6
6
  //# sourceMappingURL=deriveAccountIdForManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveAccountIdForManifest.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/deriveAccountIdForManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,wJAAwJ;AACxJ,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EACjE,kBAAkB,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,EACnD,QAAQ,EAAE,eAAe,UAQ1B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveAccountIdForManifest.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/deriveAccountIdForManifest.ts"],"names":[],"mappings":";;;;;;AACA,0DAAgE;AAGhE,oDAA4B;AAE5B,wJAAwJ;AACxJ,SAAgB,0BAA0B,CACxC,SAAiE,EACjE,kBAAmD,EACnD,QAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAClC,IAAI,MAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,gBAAM,CAAC,SAAS,CAAC,8BAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC9F,OAAO,SAAS,CAAC;KAClB;IACD,qEAAqE;IACrE,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAXD,gEAWC"}
@@ -0,0 +1,3 @@
1
+ import { LiveAppManifest } from "../../platform/types";
2
+ export declare function extractDappURLFromManifest(manifest: LiveAppManifest): URL | undefined;
3
+ //# sourceMappingURL=extractDappURLFromManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDappURLFromManifest.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractDappURLFromManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,GAAG,SAAS,CAqCrF"}
@@ -12,6 +12,19 @@ function extractDappURLFromManifest(manifest) {
12
12
  return undefined;
13
13
  }
14
14
  }
15
+ if (manifest &&
16
+ manifest.params &&
17
+ "dappURL" in manifest.params &&
18
+ typeof manifest.params.dappURL === "string") {
19
+ try {
20
+ const url = new URL(manifest.params.dappURL);
21
+ return url;
22
+ }
23
+ catch (error) {
24
+ // Invalid URL
25
+ return undefined;
26
+ }
27
+ }
15
28
  if (manifest && manifest.dapp) {
16
29
  try {
17
30
  if (manifest.url instanceof URL) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDappURLFromManifest.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractDappURLFromManifest.ts"],"names":[],"mappings":";;;AAEA,SAAgB,0BAA0B,CAAC,QAAyB;IAClE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE;QAC/D,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,IACE,QAAQ;QACR,QAAQ,CAAC,MAAM;QACf,SAAS,IAAI,QAAQ,CAAC,MAAM;QAC5B,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,EAC3C;QACA,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAC7B,IAAI;YACF,IAAI,QAAQ,CAAC,GAAG,YAAY,GAAG,EAAE;gBAC/B,OAAO,QAAQ,CAAC,GAAG,CAAC;aACrB;YACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AArCD,gEAqCC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDappURLFromManifest.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractDappURLFromManifest.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDappURLFromManifest.test.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractDappURLFromManifest.test.ts"],"names":[],"mappings":";;AACA,6EAA0E;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACF,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;aACvB;SACF,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { LiveAppManifest } from "../../platform/types";
2
+ /** Returns dapp dappURL or live app URL from manifest. */
3
+ export declare function extractURLFromManifest(manifest: LiveAppManifest): URL | undefined;
4
+ //# sourceMappingURL=extractURLFromManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractURLFromManifest.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractURLFromManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,0DAA0D;AAC1D,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,GAAG,SAAS,CAqBjF"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractURLFromManifest = void 0;
4
+ const extractDappURLFromManifest_1 = require("./extractDappURLFromManifest");
5
+ /** Returns dapp dappURL or live app URL from manifest. */
6
+ function extractURLFromManifest(manifest) {
7
+ if (!manifest) {
8
+ return undefined;
9
+ }
10
+ const dappUrl = (0, extractDappURLFromManifest_1.extractDappURLFromManifest)(manifest);
11
+ if (dappUrl) {
12
+ return dappUrl;
13
+ }
14
+ try {
15
+ if (manifest.url && manifest.url instanceof URL) {
16
+ return manifest.url;
17
+ }
18
+ const url = new URL(manifest.url);
19
+ return url;
20
+ }
21
+ catch (error) {
22
+ // Invalid URL
23
+ return undefined;
24
+ }
25
+ }
26
+ exports.extractURLFromManifest = extractURLFromManifest;
27
+ //# sourceMappingURL=extractURLFromManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractURLFromManifest.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractURLFromManifest.ts"],"names":[],"mappings":";;;AACA,6EAA0E;AAE1E,0DAA0D;AAC1D,SAAgB,sBAAsB,CAAC,QAAyB;IAC9D,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,OAAO,GAAG,IAAA,uDAA0B,EAAC,QAAQ,CAAC,CAAC;IAErD,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IAED,IAAI;QACF,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,YAAY,GAAG,EAAE;YAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC;SACrB;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC;KACZ;IAAC,OAAO,KAAK,EAAE;QACd,cAAc;QACd,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AArBD,wDAqBC"}
@@ -1,3 +1,3 @@
1
- import { LiveAppManifest } from "../types";
1
+ import { LiveAppManifest } from "../../platform/types";
2
2
  export declare function appendQueryParamsToDappURL(manifest: LiveAppManifest, queryString?: Record<string, string | string[]>): URL | undefined;
3
3
  //# sourceMappingURL=appendQueryParamsToDappURL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToDappURL.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToDappURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,eAAe,EACzB,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAM,GAClD,GAAG,GAAG,SAAS,CAsBjB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToDappURL.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToDappURL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,UAAU,0BAA0B,CACxC,QAAyB,EACzB,cAAiD,EAAE;IAEnD,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,GAAG,EAAE;QACP,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErD,oDAAoD;QACpD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;aACvD;iBAAM;gBACL,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAErC,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToDappURL.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToDappURL.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToDappURL.test.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToDappURL.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAC7B,gEAAgE,CACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;aACvB;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAG,EAAqB,CAAC;QACvC,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { LiveAppManifest } from "../../platform/types";
2
+ /** Appends query params to dapp URL or live app URL that might contain existing search params. */
3
+ export declare function appendQueryParamsToManifestURL(manifest: LiveAppManifest, queryString?: Record<string, string | string[]>): URL | undefined;
4
+ //# sourceMappingURL=appendQueryParamsToManifestURL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToManifestURL.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToManifestURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,kGAAkG;AAClG,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,eAAe,EACzB,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAM,GAClD,GAAG,GAAG,SAAS,CAqBjB"}
@@ -0,0 +1,21 @@
1
+ import { extractURLFromManifest } from "./extractURLFromManifest";
2
+ /** Appends query params to dapp URL or live app URL that might contain existing search params. */
3
+ export function appendQueryParamsToManifestURL(manifest, queryString = {}) {
4
+ const url = extractURLFromManifest(manifest);
5
+ if (!url) {
6
+ return undefined;
7
+ }
8
+ const searchParams = new URLSearchParams(url.search);
9
+ // Append the new query strings to the existing ones
10
+ Object.entries(queryString).forEach(([key, value]) => {
11
+ if (Array.isArray(value)) {
12
+ value.forEach(item => searchParams.append(key, item));
13
+ }
14
+ else {
15
+ searchParams.append(key, value);
16
+ }
17
+ });
18
+ url.search = searchParams.toString();
19
+ return url;
20
+ }
21
+ //# sourceMappingURL=appendQueryParamsToManifestURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToManifestURL.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToManifestURL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,kGAAkG;AAClG,MAAM,UAAU,8BAA8B,CAC5C,QAAyB,EACzB,cAAiD,EAAE;IAEnD,MAAM,GAAG,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErD,oDAAoD;IACpD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;SACvD;aAAM;YACL,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACjC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAErC,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=appendQueryParamsToManifestURL.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToManifestURL.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToManifestURL.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import { appendQueryParamsToManifestURL } from "./appendQueryParamsToManifestURL";
2
+ describe("appendQueryParamsToManifestURL", () => {
3
+ it("appends query parameters to a valid dappUrl", () => {
4
+ const manifest = {
5
+ params: {
6
+ dappUrl: "https://example.com/",
7
+ },
8
+ };
9
+ const queryString = {
10
+ param1: "value1",
11
+ param2: ["value2", "value3"],
12
+ };
13
+ const url = appendQueryParamsToManifestURL(manifest, queryString);
14
+ // expect(url).toBeInstanceOf(URL);
15
+ expect(url?.toString()).toEqual("https://example.com/?param1=value1&param2=value2&param2=value3");
16
+ });
17
+ it("returns URL when manifest is for a Live App without a dappUrl in manifest.params", () => {
18
+ const manifest = {
19
+ id: "mock-id",
20
+ url: "https://example.com/?manifestParam=existingValue",
21
+ };
22
+ const queryString = {
23
+ param1: "value1",
24
+ param2: ["value2", "value3"],
25
+ };
26
+ const url = appendQueryParamsToManifestURL(manifest, queryString);
27
+ expect(url?.toString()).toBe("https://example.com/?manifestParam=existingValue&param1=value1&param2=value2&param2=value3");
28
+ });
29
+ it("returns undefined when url is invalid in live app in manifest.params", () => {
30
+ const manifest = {
31
+ url: "invalid-url",
32
+ };
33
+ const queryString = {
34
+ param1: "value1",
35
+ param2: ["value2", "value3"],
36
+ };
37
+ const url = appendQueryParamsToManifestURL(manifest, queryString);
38
+ expect(url).toBeUndefined();
39
+ });
40
+ });
41
+ //# sourceMappingURL=appendQueryParamsToManifestURL.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendQueryParamsToManifestURL.test.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/appendQueryParamsToManifestURL.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,8BAA8B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElE,mCAAmC;QACnC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAC7B,gEAAgE,CACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,SAAS;YACb,GAAG,EAAE,kDAAkD;SACrC,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,8BAA8B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAC1B,4FAA4F,CAC7F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,QAAQ,GAAG;YACf,GAAG,EAAE,aAAa;SACA,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,8BAA8B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAElE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Account as WalletAPIAccount } from "@ledgerhq/wallet-api-core";
2
2
  import { TokenAccount, Account, AccountLike } from "@ledgerhq/types-live";
3
- import { LiveAppManifest } from "../types";
3
+ import { LiveAppManifest } from "../../platform/types";
4
4
  /** The dapp connector "v3" uses the ledger live account ID to find the correct account. Live app and dapp browser manifests require wallet API ID. */
5
5
  export declare function deriveAccountIdForManifest(accountId: Account["id"] | TokenAccount["id"] | AccountLike["id"], walletApiAccountId: WalletAPIAccount["id"] | string, manifest: LiveAppManifest): string;
6
6
  //# sourceMappingURL=deriveAccountIdForManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveAccountIdForManifest.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/deriveAccountIdForManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,wJAAwJ;AACxJ,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EACjE,kBAAkB,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,EACnD,QAAQ,EAAE,eAAe,UAQ1B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveAccountIdForManifest.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/deriveAccountIdForManifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,wJAAwJ;AACxJ,MAAM,UAAU,0BAA0B,CACxC,SAAiE,EACjE,kBAAmD,EACnD,QAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAClC,IAAI,MAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC9F,OAAO,SAAS,CAAC;KAClB;IACD,qEAAqE;IACrE,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { LiveAppManifest } from "../../platform/types";
2
+ export declare function extractDappURLFromManifest(manifest: LiveAppManifest): URL | undefined;
3
+ //# sourceMappingURL=extractDappURLFromManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDappURLFromManifest.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractDappURLFromManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,GAAG,SAAS,CAqCrF"}
@@ -9,6 +9,19 @@ export function extractDappURLFromManifest(manifest) {
9
9
  return undefined;
10
10
  }
11
11
  }
12
+ if (manifest &&
13
+ manifest.params &&
14
+ "dappURL" in manifest.params &&
15
+ typeof manifest.params.dappURL === "string") {
16
+ try {
17
+ const url = new URL(manifest.params.dappURL);
18
+ return url;
19
+ }
20
+ catch (error) {
21
+ // Invalid URL
22
+ return undefined;
23
+ }
24
+ }
12
25
  if (manifest && manifest.dapp) {
13
26
  try {
14
27
  if (manifest.url instanceof URL) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDappURLFromManifest.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractDappURLFromManifest.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CAAC,QAAyB;IAClE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE;QAC/D,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,IACE,QAAQ;QACR,QAAQ,CAAC,MAAM;QACf,SAAS,IAAI,QAAQ,CAAC,MAAM;QAC5B,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,EAC3C;QACA,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAC7B,IAAI;YACF,IAAI,QAAQ,CAAC,GAAG,YAAY,GAAG,EAAE;gBAC/B,OAAO,QAAQ,CAAC,GAAG,CAAC;aACrB;YACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDappURLFromManifest.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractDappURLFromManifest.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractDappURLFromManifest.test.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractDappURLFromManifest.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACF,CAAC;QACF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;aACvB;SACF,CAAC;QACF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QACF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { LiveAppManifest } from "../../platform/types";
2
+ /** Returns dapp dappURL or live app URL from manifest. */
3
+ export declare function extractURLFromManifest(manifest: LiveAppManifest): URL | undefined;
4
+ //# sourceMappingURL=extractURLFromManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractURLFromManifest.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractURLFromManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,0DAA0D;AAC1D,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,GAAG,SAAS,CAqBjF"}
@@ -0,0 +1,23 @@
1
+ import { extractDappURLFromManifest } from "./extractDappURLFromManifest";
2
+ /** Returns dapp dappURL or live app URL from manifest. */
3
+ export function extractURLFromManifest(manifest) {
4
+ if (!manifest) {
5
+ return undefined;
6
+ }
7
+ const dappUrl = extractDappURLFromManifest(manifest);
8
+ if (dappUrl) {
9
+ return dappUrl;
10
+ }
11
+ try {
12
+ if (manifest.url && manifest.url instanceof URL) {
13
+ return manifest.url;
14
+ }
15
+ const url = new URL(manifest.url);
16
+ return url;
17
+ }
18
+ catch (error) {
19
+ // Invalid URL
20
+ return undefined;
21
+ }
22
+ }
23
+ //# sourceMappingURL=extractURLFromManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractURLFromManifest.js","sourceRoot":"","sources":["../../../src/wallet-api/utils/extractURLFromManifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,0DAA0D;AAC1D,MAAM,UAAU,sBAAsB,CAAC,QAAyB;IAC9D,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAErD,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC;KAChB;IAED,IAAI;QACF,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,YAAY,GAAG,EAAE;YAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC;SACrB;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC;KACZ;IAAC,OAAO,KAAK,EAAE;QACd,cAAc;QACd,OAAO,SAAS,CAAC;KAClB;AACH,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ledgerhq/live-common",
3
3
  "description": "Common ground for the Ledger Live apps",
4
- "version": "34.28.0",
4
+ "version": "34.29.0-hotfix.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/LedgerHQ/ledger-live.git"
@@ -111,7 +111,7 @@
111
111
  "@dfinity/agent": "^0.21.0",
112
112
  "@dfinity/candid": "^0.21.0",
113
113
  "@dfinity/principal": "^0.15.6",
114
- "@ledgerhq/device-management-kit": "0.6.4",
114
+ "@ledgerhq/device-management-kit": "0.6.5",
115
115
  "@ledgerhq/live-app-sdk": "^0.8.1",
116
116
  "@ledgerhq/wallet-api-client": "^1.7.1",
117
117
  "@ledgerhq/wallet-api-core": "^1.17.0",
@@ -172,7 +172,7 @@
172
172
  "@ledgerhq/coin-cardano": "^0.7.0",
173
173
  "@ledgerhq/coin-casper": "^1.5.2",
174
174
  "@ledgerhq/coin-cosmos": "^0.11.0",
175
- "@ledgerhq/coin-evm": "^2.15.0",
175
+ "@ledgerhq/coin-evm": "^2.16.0-hotfix.0",
176
176
  "@ledgerhq/coin-filecoin": "^1.8.0",
177
177
  "@ledgerhq/coin-framework": "^2.5.0",
178
178
  "@ledgerhq/coin-hedera": "^1.5.0",
@@ -180,57 +180,57 @@
180
180
  "@ledgerhq/coin-internet_computer": "^1.6.0",
181
181
  "@ledgerhq/coin-multiversx": "^0.3.0",
182
182
  "@ledgerhq/coin-near": "^0.10.0",
183
- "@ledgerhq/coin-polkadot": "^3.1.0",
184
183
  "@ledgerhq/coin-solana": "^0.17.0",
185
184
  "@ledgerhq/coin-stacks": "^0.7.0",
186
185
  "@ledgerhq/coin-stellar": "^2.1.0",
187
186
  "@ledgerhq/coin-tezos": "^2.1.0",
187
+ "@ledgerhq/coin-polkadot": "^3.1.0",
188
188
  "@ledgerhq/coin-ton": "^0.7.0",
189
- "@ledgerhq/coin-tron": "^0.7.0",
190
189
  "@ledgerhq/coin-vechain": "^2.6.0",
191
190
  "@ledgerhq/coin-xrp": "^3.1.0",
192
- "@ledgerhq/coin-sui": "^0.2.0",
193
191
  "@ledgerhq/crypto-icons-ui": "^1.11.0",
194
192
  "@ledgerhq/cryptoassets": "^13.14.0",
193
+ "@ledgerhq/coin-tron": "^0.7.0",
195
194
  "@ledgerhq/device-core": "^0.4.19",
196
195
  "@ledgerhq/devices": "8.4.4",
197
196
  "@ledgerhq/errors": "^6.19.1",
198
197
  "@ledgerhq/hw-app-algorand": "^6.30.0",
199
- "@ledgerhq/hw-app-aptos": "^6.33.0",
200
198
  "@ledgerhq/hw-app-btc": "^10.7.0",
199
+ "@ledgerhq/hw-app-aptos": "^6.33.0",
201
200
  "@ledgerhq/hw-app-cosmos": "^6.31.0",
202
- "@ledgerhq/hw-app-eth": "^6.44.0",
203
201
  "@ledgerhq/hw-app-exchange": "^0.9.0",
204
202
  "@ledgerhq/hw-app-hedera": "^1.1.0",
205
203
  "@ledgerhq/hw-app-icon": "^1.2.0",
206
204
  "@ledgerhq/hw-app-multiversx": "^6.23.0",
207
205
  "@ledgerhq/hw-app-near": "^6.30.0",
206
+ "@ledgerhq/hw-app-eth": "^6.44.0",
208
207
  "@ledgerhq/hw-app-polkadot": "^6.33.0",
209
- "@ledgerhq/hw-app-solana": "^7.3.0",
210
208
  "@ledgerhq/hw-app-str": "^7.1.0",
211
209
  "@ledgerhq/hw-app-tezos": "^6.30.0",
212
- "@ledgerhq/hw-app-trx": "^6.30.0",
210
+ "@ledgerhq/hw-app-solana": "^7.3.0",
213
211
  "@ledgerhq/hw-app-vet": "^0.4.0",
214
212
  "@ledgerhq/hw-app-xrp": "^6.30.0",
213
+ "@ledgerhq/hw-app-trx": "^6.30.0",
214
+ "@ledgerhq/coin-sui": "^0.2.0",
215
215
  "@ledgerhq/hw-app-sui": "^1.1.0",
216
216
  "@ledgerhq/hw-bolos": "6.32.0",
217
217
  "@ledgerhq/hw-transport": "^6.31.4",
218
- "@ledgerhq/hw-transport-mocker": "^6.29.4",
219
218
  "@ledgerhq/ledger-cal-service": "^0.4.1",
220
- "@ledgerhq/ledger-trust-service": "0.3.1",
221
219
  "@ledgerhq/live-config": "^3.1.0",
220
+ "@ledgerhq/ledger-trust-service": "0.3.1",
222
221
  "@ledgerhq/live-countervalues": "^0.4.6",
223
222
  "@ledgerhq/live-countervalues-react": "^0.2.28",
224
223
  "@ledgerhq/live-env": "^2.7.0",
225
224
  "@ledgerhq/live-hooks": "0.1.0",
226
- "@ledgerhq/live-network": "^2.0.6",
227
225
  "@ledgerhq/live-nft": "^0.7.0",
228
226
  "@ledgerhq/live-promise": "^0.1.0",
229
- "@ledgerhq/live-signer-evm": "^0.2.2",
227
+ "@ledgerhq/live-signer-evm": "^0.3.0-hotfix.0",
228
+ "@ledgerhq/live-network": "^2.0.6",
230
229
  "@ledgerhq/live-wallet": "^0.10.2",
231
230
  "@ledgerhq/logs": "^6.12.0",
232
231
  "@ledgerhq/speculos-transport": "^0.1.11",
233
232
  "@ledgerhq/wallet-api-acre-module": "^0.3.0",
233
+ "@ledgerhq/hw-transport-mocker": "^6.29.4",
234
234
  "@ledgerhq/wallet-api-exchange-module": "^0.11.0"
235
235
  },
236
236
  "devDependencies": {
@@ -1,4 +1,4 @@
1
- import { LiveAppManifest } from "../types";
1
+ import { LiveAppManifest } from "../../platform/types";
2
2
  import { appendQueryParamsToDappURL } from "./appendQueryParamsToDappURL";
3
3
 
4
4
  describe("appendQueryParamsToDappURL", () => {
@@ -1,4 +1,4 @@
1
- import { LiveAppManifest } from "../types";
1
+ import { LiveAppManifest } from "../../platform/types";
2
2
  import { extractDappURLFromManifest } from "./extractDappURLFromManifest";
3
3
 
4
4
  export function appendQueryParamsToDappURL(
@@ -0,0 +1,54 @@
1
+ import { LiveAppManifest } from "../../platform/types";
2
+ import { appendQueryParamsToManifestURL } from "./appendQueryParamsToManifestURL";
3
+
4
+ describe("appendQueryParamsToManifestURL", () => {
5
+ it("appends query parameters to a valid dappUrl", () => {
6
+ const manifest = {
7
+ params: {
8
+ dappUrl: "https://example.com/",
9
+ },
10
+ } as LiveAppManifest;
11
+ const queryString = {
12
+ param1: "value1",
13
+ param2: ["value2", "value3"],
14
+ };
15
+
16
+ const url = appendQueryParamsToManifestURL(manifest, queryString);
17
+
18
+ // expect(url).toBeInstanceOf(URL);
19
+ expect(url?.toString()).toEqual(
20
+ "https://example.com/?param1=value1&param2=value2&param2=value3",
21
+ );
22
+ });
23
+
24
+ it("returns URL when manifest is for a Live App without a dappUrl in manifest.params", () => {
25
+ const manifest = {
26
+ id: "mock-id",
27
+ url: "https://example.com/?manifestParam=existingValue",
28
+ } as LiveAppManifest;
29
+ const queryString = {
30
+ param1: "value1",
31
+ param2: ["value2", "value3"],
32
+ };
33
+
34
+ const url = appendQueryParamsToManifestURL(manifest, queryString);
35
+
36
+ expect(url?.toString()).toBe(
37
+ "https://example.com/?manifestParam=existingValue&param1=value1&param2=value2&param2=value3",
38
+ );
39
+ });
40
+
41
+ it("returns undefined when url is invalid in live app in manifest.params", () => {
42
+ const manifest = {
43
+ url: "invalid-url",
44
+ } as LiveAppManifest;
45
+ const queryString = {
46
+ param1: "value1",
47
+ param2: ["value2", "value3"],
48
+ };
49
+
50
+ const url = appendQueryParamsToManifestURL(manifest, queryString);
51
+
52
+ expect(url).toBeUndefined();
53
+ });
54
+ });
@@ -0,0 +1,29 @@
1
+ import { LiveAppManifest } from "../../platform/types";
2
+ import { extractURLFromManifest } from "./extractURLFromManifest";
3
+
4
+ /** Appends query params to dapp URL or live app URL that might contain existing search params. */
5
+ export function appendQueryParamsToManifestURL(
6
+ manifest: LiveAppManifest,
7
+ queryString: Record<string, string | string[]> = {},
8
+ ): URL | undefined {
9
+ const url = extractURLFromManifest(manifest);
10
+
11
+ if (!url) {
12
+ return undefined;
13
+ }
14
+
15
+ const searchParams = new URLSearchParams(url.search);
16
+
17
+ // Append the new query strings to the existing ones
18
+ Object.entries(queryString).forEach(([key, value]) => {
19
+ if (Array.isArray(value)) {
20
+ value.forEach(item => searchParams.append(key, item));
21
+ } else {
22
+ searchParams.append(key, value);
23
+ }
24
+ });
25
+
26
+ url.search = searchParams.toString();
27
+
28
+ return url;
29
+ }
@@ -1,7 +1,7 @@
1
1
  import { Account as WalletAPIAccount } from "@ledgerhq/wallet-api-core";
2
2
  import { WALLET_API_VERSION } from "../../wallet-api/constants";
3
3
  import { TokenAccount, Account, AccountLike } from "@ledgerhq/types-live";
4
- import { LiveAppManifest } from "../types";
4
+ import { LiveAppManifest } from "../../platform/types";
5
5
  import semver from "semver";
6
6
 
7
7
  /** The dapp connector "v3" uses the ledger live account ID to find the correct account. Live app and dapp browser manifests require wallet API ID. */
@@ -1,4 +1,4 @@
1
- import { LiveAppManifest } from "../types";
1
+ import { LiveAppManifest } from "../../platform/types";
2
2
  import { extractDappURLFromManifest } from "./extractDappURLFromManifest";
3
3
 
4
4
  describe("extractDappURLFromManifest", () => {
@@ -1,4 +1,4 @@
1
- import { LiveAppManifest } from "../types";
1
+ import { LiveAppManifest } from "../../platform/types";
2
2
 
3
3
  export function extractDappURLFromManifest(manifest: LiveAppManifest): URL | undefined {
4
4
  if (manifest && manifest.params && "dappUrl" in manifest.params) {
@@ -10,6 +10,20 @@ export function extractDappURLFromManifest(manifest: LiveAppManifest): URL | und
10
10
  return undefined;
11
11
  }
12
12
  }
13
+ if (
14
+ manifest &&
15
+ manifest.params &&
16
+ "dappURL" in manifest.params &&
17
+ typeof manifest.params.dappURL === "string"
18
+ ) {
19
+ try {
20
+ const url = new URL(manifest.params.dappURL);
21
+ return url;
22
+ } catch (error) {
23
+ // Invalid URL
24
+ return undefined;
25
+ }
26
+ }
13
27
  if (manifest && manifest.dapp) {
14
28
  try {
15
29
  if (manifest.url instanceof URL) {
@@ -0,0 +1,26 @@
1
+ import { LiveAppManifest } from "../../platform/types";
2
+ import { extractDappURLFromManifest } from "./extractDappURLFromManifest";
3
+
4
+ /** Returns dapp dappURL or live app URL from manifest. */
5
+ export function extractURLFromManifest(manifest: LiveAppManifest): URL | undefined {
6
+ if (!manifest) {
7
+ return undefined;
8
+ }
9
+
10
+ const dappUrl = extractDappURLFromManifest(manifest);
11
+
12
+ if (dappUrl) {
13
+ return dappUrl;
14
+ }
15
+
16
+ try {
17
+ if (manifest.url && manifest.url instanceof URL) {
18
+ return manifest.url;
19
+ }
20
+ const url = new URL(manifest.url);
21
+ return url;
22
+ } catch (error) {
23
+ // Invalid URL
24
+ return undefined;
25
+ }
26
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"appendQueryParamsToDappURL.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/appendQueryParamsToDappURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,eAAe,EACzB,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAM,GAClD,GAAG,GAAG,SAAS,CAsBjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"appendQueryParamsToDappURL.js","sourceRoot":"","sources":["../../../src/platform/utils/appendQueryParamsToDappURL.ts"],"names":[],"mappings":";;;AACA,6EAA0E;AAE1E,SAAgB,0BAA0B,CACxC,QAAyB,EACzB,cAAiD,EAAE;IAEnD,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,GAAG,EAAE;QACP,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErD,oDAAoD;QACpD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;aACvD;iBAAM;gBACL,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAErC,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAzBD,gEAyBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"appendQueryParamsToDappURL.test.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/appendQueryParamsToDappURL.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"appendQueryParamsToDappURL.test.js","sourceRoot":"","sources":["../../../src/platform/utils/appendQueryParamsToDappURL.test.ts"],"names":[],"mappings":";;AACA,6EAA0E;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAC7B,gEAAgE,CACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;aACvB;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAG,EAAqB,CAAC;QACvC,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"deriveAccountIdForManifest.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/deriveAccountIdForManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,wJAAwJ;AACxJ,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EACjE,kBAAkB,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,EACnD,QAAQ,EAAE,eAAe,UAQ1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"deriveAccountIdForManifest.js","sourceRoot":"","sources":["../../../src/platform/utils/deriveAccountIdForManifest.ts"],"names":[],"mappings":";;;;;;AACA,0DAAgE;AAGhE,oDAA4B;AAE5B,wJAAwJ;AACxJ,SAAgB,0BAA0B,CACxC,SAAiE,EACjE,kBAAmD,EACnD,QAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAClC,IAAI,MAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,gBAAM,CAAC,SAAS,CAAC,8BAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC9F,OAAO,SAAS,CAAC;KAClB;IACD,qEAAqE;IACrE,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAXD,gEAWC"}
@@ -1,3 +0,0 @@
1
- import { LiveAppManifest } from "../types";
2
- export declare function extractDappURLFromManifest(manifest: LiveAppManifest): URL | undefined;
3
- //# sourceMappingURL=extractDappURLFromManifest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractDappURLFromManifest.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/extractDappURLFromManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,GAAG,SAAS,CAuBrF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractDappURLFromManifest.js","sourceRoot":"","sources":["../../../src/platform/utils/extractDappURLFromManifest.ts"],"names":[],"mappings":";;;AAEA,SAAgB,0BAA0B,CAAC,QAAyB;IAClE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE;QAC/D,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAC7B,IAAI;YACF,IAAI,QAAQ,CAAC,GAAG,YAAY,GAAG,EAAE;gBAC/B,OAAO,QAAQ,CAAC,GAAG,CAAC;aACrB;YACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAvBD,gEAuBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractDappURLFromManifest.test.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/extractDappURLFromManifest.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractDappURLFromManifest.test.js","sourceRoot":"","sources":["../../../src/platform/utils/extractDappURLFromManifest.test.ts"],"names":[],"mappings":";;AACA,6EAA0E;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACF,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;aACvB;SACF,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,uDAA0B,EAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"appendQueryParamsToDappURL.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/appendQueryParamsToDappURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,eAAe,EACzB,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAM,GAClD,GAAG,GAAG,SAAS,CAsBjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"appendQueryParamsToDappURL.js","sourceRoot":"","sources":["../../../src/platform/utils/appendQueryParamsToDappURL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,UAAU,0BAA0B,CACxC,QAAyB,EACzB,cAAiD,EAAE;IAEnD,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,GAAG,EAAE;QACP,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErD,oDAAoD;QACpD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;aACvD;iBAAM;gBACL,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAErC,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"appendQueryParamsToDappURL.test.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/appendQueryParamsToDappURL.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"appendQueryParamsToDappURL.test.js","sourceRoot":"","sources":["../../../src/platform/utils/appendQueryParamsToDappURL.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAC7B,gEAAgE,CACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;aACvB;SACiB,CAAC;QACrB,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAG,EAAqB,CAAC;QACvC,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"deriveAccountIdForManifest.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/deriveAccountIdForManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,wJAAwJ;AACxJ,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EACjE,kBAAkB,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,EACnD,QAAQ,EAAE,eAAe,UAQ1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"deriveAccountIdForManifest.js","sourceRoot":"","sources":["../../../src/platform/utils/deriveAccountIdForManifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,wJAAwJ;AACxJ,MAAM,UAAU,0BAA0B,CACxC,SAAiE,EACjE,kBAAmD,EACnD,QAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAClC,IAAI,MAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC9F,OAAO,SAAS,CAAC;KAClB;IACD,qEAAqE;IACrE,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
@@ -1,3 +0,0 @@
1
- import { LiveAppManifest } from "../types";
2
- export declare function extractDappURLFromManifest(manifest: LiveAppManifest): URL | undefined;
3
- //# sourceMappingURL=extractDappURLFromManifest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractDappURLFromManifest.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/extractDappURLFromManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,GAAG,SAAS,CAuBrF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractDappURLFromManifest.js","sourceRoot":"","sources":["../../../src/platform/utils/extractDappURLFromManifest.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CAAC,QAAyB;IAClE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE;QAC/D,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAC7B,IAAI;YACF,IAAI,QAAQ,CAAC,GAAG,YAAY,GAAG,EAAE;gBAC/B,OAAO,QAAQ,CAAC,GAAG,CAAC;aACrB;YACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,cAAc;YACd,OAAO,SAAS,CAAC;SAClB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractDappURLFromManifest.test.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/extractDappURLFromManifest.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractDappURLFromManifest.test.js","sourceRoot":"","sources":["../../../src/platform/utils/extractDappURLFromManifest.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;aAChC;SACF,CAAC;QACF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;aACvB;SACF,CAAC;QACF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE;gBACN,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QACF,MAAM,GAAG,GAAG,0BAA0B,CAAC,QAA2B,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}