@dynamic-labs/wallet-book 0.18.0-RC.1 → 0.18.0-RC.2

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 (74) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/package.json +2 -2
  3. package/src/build/sources/walletConnect/index.d.ts +8 -8
  4. package/src/components/WalletBookContext.cjs +13 -0
  5. package/src/components/WalletBookContext.d.ts +9 -0
  6. package/src/components/WalletBookContext.js +8 -0
  7. package/src/components/WalletIcon.cjs +8 -3
  8. package/src/components/WalletIcon.js +8 -3
  9. package/src/components/index.d.ts +1 -0
  10. package/src/helpers/findWalletBookWallet.cjs +2 -2
  11. package/src/helpers/findWalletBookWallet.d.ts +2 -1
  12. package/src/helpers/findWalletBookWallet.js +2 -2
  13. package/src/helpers/findWalletGroup.cjs +2 -2
  14. package/src/helpers/findWalletGroup.d.ts +2 -1
  15. package/src/helpers/findWalletGroup.js +2 -2
  16. package/src/helpers/getWalletBookCdnUrl.cjs +4 -1
  17. package/src/helpers/getWalletBookCdnUrl.js +4 -1
  18. package/src/helpers/getWalletBookWallet.cjs +3 -6
  19. package/src/helpers/getWalletBookWallet.d.ts +2 -2
  20. package/src/helpers/getWalletBookWallet.js +3 -6
  21. package/src/helpers/getWalletGroup.cjs +1 -5
  22. package/src/helpers/getWalletGroup.d.ts +2 -1
  23. package/src/helpers/getWalletGroup.js +1 -5
  24. package/src/helpers/{getIconUrl.cjs → getWalletIconUrl.cjs} +2 -2
  25. package/src/helpers/getWalletIconUrl.d.ts +2 -0
  26. package/src/helpers/{getIconUrl.js → getWalletIconUrl.js} +2 -2
  27. package/src/helpers/getWalletLinks.cjs +12 -11
  28. package/src/helpers/getWalletLinks.d.ts +2 -1
  29. package/src/helpers/getWalletLinks.js +12 -11
  30. package/src/helpers/getWalletPrimaryColor.cjs +2 -2
  31. package/src/helpers/getWalletPrimaryColor.d.ts +2 -1
  32. package/src/helpers/getWalletPrimaryColor.js +2 -2
  33. package/src/helpers/index.d.ts +1 -1
  34. package/src/hooks/index.d.ts +1 -1
  35. package/src/hooks/useWalletBookCdn.cjs +33 -0
  36. package/src/hooks/useWalletBookCdn.js +29 -0
  37. package/src/hooks/useWalletBookContext.cjs +20 -0
  38. package/src/hooks/useWalletBookContext.d.ts +1 -0
  39. package/src/hooks/useWalletBookContext.js +16 -0
  40. package/src/index.cjs +8 -5
  41. package/src/index.d.ts +2 -2
  42. package/src/index.js +4 -3
  43. package/src/schemas/utils/filterEmptyObject.cjs +12 -0
  44. package/src/schemas/utils/filterEmptyObject.js +8 -0
  45. package/src/schemas/utils/nonEmptyString.cjs +12 -0
  46. package/src/schemas/utils/nonEmptyString.js +8 -0
  47. package/src/schemas/utils/nonEmptyStringArray.cjs +12 -0
  48. package/src/schemas/utils/nonEmptyStringArray.js +8 -0
  49. package/src/schemas/utils/transformAndroidId.cjs +23 -0
  50. package/src/schemas/utils/transformAndroidId.js +19 -0
  51. package/src/schemas/utils/transformChromeExtensionId.cjs +20 -0
  52. package/src/schemas/utils/transformChromeExtensionId.js +16 -0
  53. package/src/schemas/utils/transformEdgeExtensionId.cjs +20 -0
  54. package/src/schemas/utils/transformEdgeExtensionId.js +16 -0
  55. package/src/schemas/utils/transformFirefoxExtensionId.cjs +20 -0
  56. package/src/schemas/utils/transformFirefoxExtensionId.js +16 -0
  57. package/src/schemas/utils/transformIosId.cjs +27 -0
  58. package/src/schemas/utils/transformIosId.js +23 -0
  59. package/src/schemas/walletBookSchema.cjs +16 -0
  60. package/src/schemas/walletBookSchema.js +12 -0
  61. package/src/schemas/walletConnectSourceSchema.cjs +73 -0
  62. package/src/schemas/walletConnectSourceSchema.js +69 -0
  63. package/src/schemas/walletGroup.cjs +32 -0
  64. package/src/schemas/walletGroup.js +28 -0
  65. package/src/schemas/walletSchema.cjs +83 -0
  66. package/src/schemas/walletSchema.js +79 -0
  67. package/wallet-book-fallbacks.cjs +297 -0
  68. package/wallet-book-fallbacks.js +291 -0
  69. package/src/helpers/getIconUrl.d.ts +0 -1
  70. package/src/hooks/useWalletBook.cjs +0 -9
  71. package/src/hooks/useWalletBook.d.ts +0 -2
  72. package/src/hooks/useWalletBook.js +0 -5
  73. package/wallet-book.cjs +0 -6534
  74. package/wallet-book.js +0 -6528
package/CHANGELOG.md CHANGED
@@ -1,4 +1,27 @@
1
1
 
2
+ ## [0.18.0-RC.2](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.1...v0.18.0-RC.2) (2023-06-16)
3
+
4
+
5
+ ### Features
6
+
7
+ * add Dynamic Bridge widget ([#2316](https://github.com/dynamic-labs/DynamicAuth/issues/2316)) ([0e71a88](https://github.com/dynamic-labs/DynamicAuth/commit/0e71a88c6dd740583448ed7b45fa335aaa736079))
8
+ * add search bar to bridge wallets view ([#2357](https://github.com/dynamic-labs/DynamicAuth/issues/2357)) ([a8415fc](https://github.com/dynamic-labs/DynamicAuth/commit/a8415fc744216660a78c1443962711699e45429a))
9
+ * bridge flow improvements ([#2367](https://github.com/dynamic-labs/DynamicAuth/issues/2367)) ([38a44be](https://github.com/dynamic-labs/DynamicAuth/commit/38a44be417fd1363b0d8e45ec1834f9aaf680427))
10
+ * **Bridge:** add bridge navigation component ([#2340](https://github.com/dynamic-labs/DynamicAuth/issues/2340)) ([1e9adae](https://github.com/dynamic-labs/DynamicAuth/commit/1e9adaed3682bc9a7aab385221818946cad397f2))
11
+ * **Bridge:** integrate dynamic bridge ui ([#2354](https://github.com/dynamic-labs/DynamicAuth/issues/2354)) ([1465bf8](https://github.com/dynamic-labs/DynamicAuth/commit/1465bf8717cbc9905285c2d867bc3e1d0cd1114b))
12
+ * **DYN-2519:** create state for multiple connected wallets ([#2326](https://github.com/dynamic-labs/DynamicAuth/issues/2326)) ([fc05aa4](https://github.com/dynamic-labs/DynamicAuth/commit/fc05aa4d91b0af8950c5da84c69130557ba36b09)), closes [#2319](https://github.com/dynamic-labs/DynamicAuth/issues/2319)
13
+ * **MultiWalletStepSelectorModal:** add modal to connect multiple wallets ([#2348](https://github.com/dynamic-labs/DynamicAuth/issues/2348)) ([39ce0b2](https://github.com/dynamic-labs/DynamicAuth/commit/39ce0b26fdf6494a4e1ba7867e80bf399d11631f))
14
+ * use wallet-book from CDN ([#2352](https://github.com/dynamic-labs/DynamicAuth/issues/2352)) ([9d1498f](https://github.com/dynamic-labs/DynamicAuth/commit/9d1498f2aec4bb9f3e3d6b386d9cafea3a33bd58))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * handle email only without primary wallet state ([#2342](https://github.com/dynamic-labs/DynamicAuth/issues/2342)) ([98583bb](https://github.com/dynamic-labs/DynamicAuth/commit/98583bb8820ac80967bf1059cbaf47d04bfd603a))
20
+ * s3 cp for walletbook json ([8127b79](https://github.com/dynamic-labs/DynamicAuth/commit/8127b790333b36f40a2cc230a576c01aaad42196))
21
+ * setting initial view when error in auth flow ([#2345](https://github.com/dynamic-labs/DynamicAuth/issues/2345)) ([85dcefb](https://github.com/dynamic-labs/DynamicAuth/commit/85dcefb54be498b540904b381b53f9ea7e0cd024))
22
+ * typo in github action ([d746bc0](https://github.com/dynamic-labs/DynamicAuth/commit/d746bc01981a3263e3ab4f654debf77b408cda3a))
23
+ * **widget:** add fallback icon when oauth provider does not exist ([#2349](https://github.com/dynamic-labs/DynamicAuth/issues/2349)) ([bd2a505](https://github.com/dynamic-labs/DynamicAuth/commit/bd2a505724affd6f5356c0c4f31586ffd188e539))
24
+
2
25
  ## [0.18.0-RC.1](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.0...v0.18.0-RC.1) (2023-06-14)
3
26
 
4
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/wallet-book",
3
- "version": "0.18.0-RC.1",
3
+ "version": "0.18.0-RC.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -29,6 +29,6 @@
29
29
  "react-dom": "^17.0.2 || ^18.0.0"
30
30
  },
31
31
  "dependencies": {
32
- "@dynamic-labs/logger": "0.18.0-RC.1"
32
+ "@dynamic-labs/logger": "0.18.0-RC.2"
33
33
  }
34
34
  }
@@ -10,6 +10,13 @@ export declare const walletConnectSourceData: Record<string, {
10
10
  universal: string | null;
11
11
  };
12
12
  sdks: string[];
13
+ metadata: {
14
+ shortName: string | null;
15
+ colors: {
16
+ primary: string | null;
17
+ secondary: string | null;
18
+ };
19
+ };
13
20
  app: {
14
21
  android: string | null;
15
22
  ios: string | null;
@@ -37,19 +44,12 @@ export declare const walletConnectSourceData: Record<string, {
37
44
  injected_id: string;
38
45
  namespace: string;
39
46
  }[] | null;
40
- metadata: {
41
- shortName: string | null;
42
- colors: {
43
- primary: string | null;
44
- secondary: string | null;
45
- };
46
- };
47
47
  slug: string;
48
48
  supported_standards: {
49
+ title: string;
49
50
  id: string;
50
51
  standard_id: number;
51
52
  standard_prefix: string;
52
- title: string;
53
53
  url: string;
54
54
  }[];
55
55
  updatedAt: string;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+
7
+ const WalletBookContext = react.createContext({});
8
+ const WalletBookContextProvider = ({ walletBook, children, }) => react.createElement(WalletBookContext.Provider, {
9
+ value: { walletBook },
10
+ }, children);
11
+
12
+ exports.WalletBookContext = WalletBookContext;
13
+ exports.WalletBookContextProvider = WalletBookContextProvider;
@@ -0,0 +1,9 @@
1
+ import { WalletBookSchema } from '../schemas';
2
+ export type IWalletBookContext = {
3
+ walletBook: WalletBookSchema;
4
+ };
5
+ export declare const WalletBookContext: import("react").Context<IWalletBookContext>;
6
+ export declare const WalletBookContextProvider: ({ walletBook, children, }: {
7
+ walletBook: WalletBookSchema;
8
+ children: React.ReactNode;
9
+ }) => import("react").FunctionComponentElement<import("react").ProviderProps<IWalletBookContext>>;
@@ -0,0 +1,8 @@
1
+ import { createContext, createElement } from 'react';
2
+
3
+ const WalletBookContext = createContext({});
4
+ const WalletBookContextProvider = ({ walletBook, children, }) => createElement(WalletBookContext.Provider, {
5
+ value: { walletBook },
6
+ }, children);
7
+
8
+ export { WalletBookContext, WalletBookContextProvider };
@@ -3,13 +3,18 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('react');
6
- var getIconUrl = require('../helpers/getIconUrl.cjs');
6
+ var getWalletIconUrl = require('../helpers/getWalletIconUrl.cjs');
7
7
  var findWalletBookWallet = require('../helpers/findWalletBookWallet.cjs');
8
8
  require('../helpers/logger.cjs');
9
+ require('../schemas/walletConnectSourceSchema.cjs');
10
+ require('../schemas/walletBookSchema.cjs');
11
+ require('../schemas/walletSchema.cjs');
12
+ var useWalletBookContext = require('../hooks/useWalletBookContext.cjs');
9
13
 
10
14
  const WalletIcon = ({ walletName, children, ...props }) => {
11
- const walletData = findWalletBookWallet.findWalletBookWallet(walletName);
12
- const walletIconUrl = getIconUrl.getWalletIconUrl(walletName);
15
+ const { walletBook } = useWalletBookContext.useWalletBookContext();
16
+ const walletData = findWalletBookWallet.findWalletBookWallet(walletBook, walletName);
17
+ const walletIconUrl = getWalletIconUrl.getWalletIconUrl(walletBook, walletName);
13
18
  if (!walletData || !walletData.brand || !walletIconUrl) {
14
19
  return react.createElement(react.Fragment, {}, children);
15
20
  }
@@ -1,11 +1,16 @@
1
1
  import { createElement, Fragment } from 'react';
2
- import { getWalletIconUrl } from '../helpers/getIconUrl.js';
2
+ import { getWalletIconUrl } from '../helpers/getWalletIconUrl.js';
3
3
  import { findWalletBookWallet } from '../helpers/findWalletBookWallet.js';
4
4
  import '../helpers/logger.js';
5
+ import '../schemas/walletConnectSourceSchema.js';
6
+ import '../schemas/walletBookSchema.js';
7
+ import '../schemas/walletSchema.js';
8
+ import { useWalletBookContext } from '../hooks/useWalletBookContext.js';
5
9
 
6
10
  const WalletIcon = ({ walletName, children, ...props }) => {
7
- const walletData = findWalletBookWallet(walletName);
8
- const walletIconUrl = getWalletIconUrl(walletName);
11
+ const { walletBook } = useWalletBookContext();
12
+ const walletData = findWalletBookWallet(walletBook, walletName);
13
+ const walletIconUrl = getWalletIconUrl(walletBook, walletName);
9
14
  if (!walletData || !walletData.brand || !walletIconUrl) {
10
15
  return createElement(Fragment, {}, children);
11
16
  }
@@ -1 +1,2 @@
1
1
  export * from './WalletIcon';
2
+ export * from './WalletBookContext';
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var getWalletBookWallet = require('./getWalletBookWallet.cjs');
6
6
  var logger = require('./logger.cjs');
7
7
 
8
- const findWalletBookWallet = (walletName) => {
8
+ const findWalletBookWallet = (walletBook, walletName) => {
9
9
  try {
10
- const walletData = getWalletBookWallet.getWalletBookWallet(walletName);
10
+ const walletData = getWalletBookWallet.getWalletBookWallet(walletBook, walletName);
11
11
  return walletData;
12
12
  }
13
13
  catch (err) {
@@ -1,4 +1,5 @@
1
- export declare const findWalletBookWallet: (walletName: string | undefined) => {
1
+ import { WalletBookSchema } from '../schemas';
2
+ export declare const findWalletBookWallet: (walletBook: WalletBookSchema, walletName: string | undefined) => {
2
3
  name: string;
3
4
  brand?: {
4
5
  alt?: string | undefined;
@@ -1,9 +1,9 @@
1
1
  import { getWalletBookWallet } from './getWalletBookWallet.js';
2
2
  import { logger } from './logger.js';
3
3
 
4
- const findWalletBookWallet = (walletName) => {
4
+ const findWalletBookWallet = (walletBook, walletName) => {
5
5
  try {
6
- const walletData = getWalletBookWallet(walletName);
6
+ const walletData = getWalletBookWallet(walletBook, walletName);
7
7
  return walletData;
8
8
  }
9
9
  catch (err) {
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var getWalletGroup = require('./getWalletGroup.cjs');
6
6
  var logger = require('./logger.cjs');
7
7
 
8
- const findWalletGroup = (walletGroup) => {
8
+ const findWalletGroup = (walletBook, walletGroup) => {
9
9
  try {
10
- return getWalletGroup.getWalletGroup(walletGroup);
10
+ return getWalletGroup.getWalletGroup(walletBook, walletGroup);
11
11
  }
12
12
  catch (err) {
13
13
  logger.logger.error(err);
@@ -1,4 +1,5 @@
1
- export declare const findWalletGroup: (walletGroup: string) => {
1
+ import { WalletBookSchema } from '../schemas';
2
+ export declare const findWalletGroup: (walletBook: WalletBookSchema, walletGroup: string) => {
2
3
  key: string;
3
4
  name: string;
4
5
  brand?: {
@@ -1,9 +1,9 @@
1
1
  import { getWalletGroup } from './getWalletGroup.js';
2
2
  import { logger } from './logger.js';
3
3
 
4
- const findWalletGroup = (walletGroup) => {
4
+ const findWalletGroup = (walletBook, walletGroup) => {
5
5
  try {
6
- return getWalletGroup(walletGroup);
6
+ return getWalletGroup(walletBook, walletGroup);
7
7
  }
8
8
  catch (err) {
9
9
  logger.error(err);
@@ -2,6 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const getWalletBookCdnUrl = () => 'https://dynamic-static-assets.com/wallet-book/v1/data.json';
5
+ const getWalletBookCdnUrl = () => process.env.WALLET_BOOK_CDN_URL ??
6
+ process.env.NEXT_PUBLIC_WALLET_BOOK_CDN_URL ??
7
+ process.env.REACT_APP_WALLET_BOOK_CDN_URL ??
8
+ 'https://dynamic-static-assets.com/wallet-book/v1/stable/wallet-book.json';
6
9
 
7
10
  exports.getWalletBookCdnUrl = getWalletBookCdnUrl;
@@ -1,3 +1,6 @@
1
- const getWalletBookCdnUrl = () => 'https://dynamic-static-assets.com/wallet-book/v1/data.json';
1
+ const getWalletBookCdnUrl = () => process.env.WALLET_BOOK_CDN_URL ??
2
+ process.env.NEXT_PUBLIC_WALLET_BOOK_CDN_URL ??
3
+ process.env.REACT_APP_WALLET_BOOK_CDN_URL ??
4
+ 'https://dynamic-static-assets.com/wallet-book/v1/stable/wallet-book.json';
2
5
 
3
6
  export { getWalletBookCdnUrl };
@@ -2,16 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var useWalletBook = require('../hooks/useWalletBook.cjs');
6
- require('react');
7
5
  var normalizeWalletName = require('./normalizeWalletName.cjs');
8
6
 
9
- const getWalletBookWallet = (walletName) => {
10
- const walletBook = useWalletBook.useWalletBook();
7
+ const getWalletBookWallet = (walletBook, walletName) => {
11
8
  const normalizedWalletName = normalizeWalletName.normalizeWalletName(walletName);
12
- const walletData = walletBook.wallets[normalizedWalletName];
9
+ const walletData = walletBook.wallets?.[normalizedWalletName];
13
10
  if (!walletData)
14
- throw new Error(`Wallet ${walletName} not found in wallet book`);
11
+ throw new Error(`Wallet ${walletName} not found in wallet book (${Object.keys(walletBook.wallets ?? {}).length} wallets found)`);
15
12
  return walletData;
16
13
  };
17
14
 
@@ -1,2 +1,2 @@
1
- import { WalletSchema } from '../schemas';
2
- export declare const getWalletBookWallet: (walletName: string | undefined) => WalletSchema;
1
+ import { WalletBookSchema, WalletSchema } from '../schemas';
2
+ export declare const getWalletBookWallet: (walletBook: WalletBookSchema, walletName: string | undefined) => WalletSchema;
@@ -1,13 +1,10 @@
1
- import { useWalletBook } from '../hooks/useWalletBook.js';
2
- import 'react';
3
1
  import { normalizeWalletName } from './normalizeWalletName.js';
4
2
 
5
- const getWalletBookWallet = (walletName) => {
6
- const walletBook = useWalletBook();
3
+ const getWalletBookWallet = (walletBook, walletName) => {
7
4
  const normalizedWalletName = normalizeWalletName(walletName);
8
- const walletData = walletBook.wallets[normalizedWalletName];
5
+ const walletData = walletBook.wallets?.[normalizedWalletName];
9
6
  if (!walletData)
10
- throw new Error(`Wallet ${walletName} not found in wallet book`);
7
+ throw new Error(`Wallet ${walletName} not found in wallet book (${Object.keys(walletBook.wallets ?? {}).length} wallets found)`);
11
8
  return walletData;
12
9
  };
13
10
 
@@ -2,11 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var useWalletBook = require('../hooks/useWalletBook.cjs');
6
- require('react');
7
-
8
- const getWalletGroup = (key) => {
9
- const walletBook = useWalletBook.useWalletBook();
5
+ const getWalletGroup = (walletBook, key) => {
10
6
  const group = walletBook.groups[key];
11
7
  if (!group)
12
8
  throw new Error(`Group ${key} not found in wallet book`);
@@ -1,2 +1,3 @@
1
+ import { WalletBookSchema } from '../schemas';
1
2
  import { WalletGroupSchema } from '../schemas/walletGroup';
2
- export declare const getWalletGroup: (key: string) => WalletGroupSchema;
3
+ export declare const getWalletGroup: (walletBook: WalletBookSchema, key: string) => WalletGroupSchema;
@@ -1,8 +1,4 @@
1
- import { useWalletBook } from '../hooks/useWalletBook.js';
2
- import 'react';
3
-
4
- const getWalletGroup = (key) => {
5
- const walletBook = useWalletBook();
1
+ const getWalletGroup = (walletBook, key) => {
6
2
  const group = walletBook.groups[key];
7
3
  if (!group)
8
4
  throw new Error(`Group ${key} not found in wallet book`);
@@ -6,9 +6,9 @@ var getWalletBookWallet = require('./getWalletBookWallet.cjs');
6
6
  var logger = require('./logger.cjs');
7
7
  var renderTemplate = require('./renderTemplate.cjs');
8
8
 
9
- const getWalletIconUrl = (walletName) => {
9
+ const getWalletIconUrl = (walletBook, walletName) => {
10
10
  try {
11
- const walletData = getWalletBookWallet.getWalletBookWallet(walletName);
11
+ const walletData = getWalletBookWallet.getWalletBookWallet(walletBook, walletName);
12
12
  if (walletData?.brand?.spriteId) {
13
13
  return renderTemplate.renderTemplate('iconicUrl', walletData.brand.spriteId);
14
14
  }
@@ -0,0 +1,2 @@
1
+ import { WalletBookSchema } from '../schemas';
2
+ export declare const getWalletIconUrl: (walletBook: WalletBookSchema, walletName?: string) => string | undefined;
@@ -2,9 +2,9 @@ import { getWalletBookWallet } from './getWalletBookWallet.js';
2
2
  import { logger } from './logger.js';
3
3
  import { renderTemplate } from './renderTemplate.js';
4
4
 
5
- const getWalletIconUrl = (walletName) => {
5
+ const getWalletIconUrl = (walletBook, walletName) => {
6
6
  try {
7
- const walletData = getWalletBookWallet(walletName);
7
+ const walletData = getWalletBookWallet(walletBook, walletName);
8
8
  if (walletData?.brand?.spriteId) {
9
9
  return renderTemplate('iconicUrl', walletData.brand.spriteId);
10
10
  }
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var getWalletBookWallet = require('./getWalletBookWallet.cjs');
5
+ var findWalletBookWallet = require('./findWalletBookWallet.cjs');
6
6
  var renderTemplate = require('./renderTemplate.cjs');
7
7
 
8
- const getWalletLinks = (walletName) => {
9
- const walletData = getWalletBookWallet.getWalletBookWallet(walletName);
8
+ const getWalletLinks = (walletBook, walletName) => {
9
+ const walletData = findWalletBookWallet.findWalletBookWallet(walletBook, walletName);
10
10
  const links = {
11
11
  android: '',
12
12
  brave: '',
@@ -15,19 +15,20 @@ const getWalletLinks = (walletName) => {
15
15
  firefox: '',
16
16
  ios: '',
17
17
  };
18
- links.brave = renderTemplate.renderTemplate('chromeUrl', walletData.desktop?.chromeId) ?? '';
18
+ links.brave =
19
+ renderTemplate.renderTemplate('chromeUrl', walletData?.desktop?.chromeId) ?? '';
19
20
  links.chrome =
20
- renderTemplate.renderTemplate('chromeUrl', walletData.desktop?.chromeId) ?? '';
21
- links.edge = renderTemplate.renderTemplate('edgeUrl', walletData.desktop?.edgeId) ?? '';
21
+ renderTemplate.renderTemplate('chromeUrl', walletData?.desktop?.chromeId) ?? '';
22
+ links.edge = renderTemplate.renderTemplate('edgeUrl', walletData?.desktop?.edgeId) ?? '';
22
23
  links.firefox =
23
- renderTemplate.renderTemplate('firefoxUrl', walletData.desktop?.firefoxId) ?? '';
24
+ renderTemplate.renderTemplate('firefoxUrl', walletData?.desktop?.firefoxId) ?? '';
24
25
  links.ios =
25
- renderTemplate.renderTemplate('iosUrl', walletData.mobile?.iosId) ??
26
- walletData.mobile?.ios ??
26
+ renderTemplate.renderTemplate('iosUrl', walletData?.mobile?.iosId) ??
27
+ walletData?.mobile?.ios ??
27
28
  '';
28
29
  links.android =
29
- renderTemplate.renderTemplate('androidUrl', walletData.mobile?.androidId) ??
30
- walletData.mobile?.android ??
30
+ renderTemplate.renderTemplate('androidUrl', walletData?.mobile?.androidId) ??
31
+ walletData?.mobile?.android ??
31
32
  '';
32
33
  return links;
33
34
  };
@@ -1,3 +1,4 @@
1
+ import { WalletBookSchema } from '../schemas';
1
2
  export type WalletLinks = {
2
3
  android: string;
3
4
  brave: string;
@@ -6,4 +7,4 @@ export type WalletLinks = {
6
7
  firefox: string;
7
8
  ios: string;
8
9
  };
9
- export declare const getWalletLinks: (walletName: string) => WalletLinks;
10
+ export declare const getWalletLinks: (walletBook: WalletBookSchema, walletName: string) => WalletLinks;
@@ -1,8 +1,8 @@
1
- import { getWalletBookWallet } from './getWalletBookWallet.js';
1
+ import { findWalletBookWallet } from './findWalletBookWallet.js';
2
2
  import { renderTemplate } from './renderTemplate.js';
3
3
 
4
- const getWalletLinks = (walletName) => {
5
- const walletData = getWalletBookWallet(walletName);
4
+ const getWalletLinks = (walletBook, walletName) => {
5
+ const walletData = findWalletBookWallet(walletBook, walletName);
6
6
  const links = {
7
7
  android: '',
8
8
  brave: '',
@@ -11,19 +11,20 @@ const getWalletLinks = (walletName) => {
11
11
  firefox: '',
12
12
  ios: '',
13
13
  };
14
- links.brave = renderTemplate('chromeUrl', walletData.desktop?.chromeId) ?? '';
14
+ links.brave =
15
+ renderTemplate('chromeUrl', walletData?.desktop?.chromeId) ?? '';
15
16
  links.chrome =
16
- renderTemplate('chromeUrl', walletData.desktop?.chromeId) ?? '';
17
- links.edge = renderTemplate('edgeUrl', walletData.desktop?.edgeId) ?? '';
17
+ renderTemplate('chromeUrl', walletData?.desktop?.chromeId) ?? '';
18
+ links.edge = renderTemplate('edgeUrl', walletData?.desktop?.edgeId) ?? '';
18
19
  links.firefox =
19
- renderTemplate('firefoxUrl', walletData.desktop?.firefoxId) ?? '';
20
+ renderTemplate('firefoxUrl', walletData?.desktop?.firefoxId) ?? '';
20
21
  links.ios =
21
- renderTemplate('iosUrl', walletData.mobile?.iosId) ??
22
- walletData.mobile?.ios ??
22
+ renderTemplate('iosUrl', walletData?.mobile?.iosId) ??
23
+ walletData?.mobile?.ios ??
23
24
  '';
24
25
  links.android =
25
- renderTemplate('androidUrl', walletData.mobile?.androidId) ??
26
- walletData.mobile?.android ??
26
+ renderTemplate('androidUrl', walletData?.mobile?.androidId) ??
27
+ walletData?.mobile?.android ??
27
28
  '';
28
29
  return links;
29
30
  };
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var getWalletBookWallet = require('./getWalletBookWallet.cjs');
6
6
 
7
- const getWalletPrimaryColor = (walletName) => {
8
- const walletData = getWalletBookWallet.getWalletBookWallet(walletName);
7
+ const getWalletPrimaryColor = (walletBook, walletName) => {
8
+ const walletData = getWalletBookWallet.getWalletBookWallet(walletBook, walletName);
9
9
  return walletData?.brand?.primaryColor;
10
10
  };
11
11
 
@@ -1 +1,2 @@
1
- export declare const getWalletPrimaryColor: (walletName: string) => string | undefined;
1
+ import { WalletBookSchema } from '../schemas';
2
+ export declare const getWalletPrimaryColor: (walletBook: WalletBookSchema, walletName: string) => string | undefined;
@@ -1,7 +1,7 @@
1
1
  import { getWalletBookWallet } from './getWalletBookWallet.js';
2
2
 
3
- const getWalletPrimaryColor = (walletName) => {
4
- const walletData = getWalletBookWallet(walletName);
3
+ const getWalletPrimaryColor = (walletBook, walletName) => {
4
+ const walletData = getWalletBookWallet(walletBook, walletName);
5
5
  return walletData?.brand?.primaryColor;
6
6
  };
7
7
 
@@ -1,4 +1,4 @@
1
- export * from './getIconUrl';
1
+ export * from './getWalletIconUrl';
2
2
  export * from './getWalletBookWallet';
3
3
  export * from './getWalletLinks';
4
4
  export * from './getWalletPrimaryColor';
@@ -1,2 +1,2 @@
1
- export * from './useWalletBook';
2
1
  export * from './useWalletBookCdn';
2
+ export * from './useWalletBookContext';
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+ require('../schemas/walletConnectSourceSchema.cjs');
7
+ var walletBookSchema = require('../schemas/walletBookSchema.cjs');
8
+ require('../schemas/walletSchema.cjs');
9
+ var logger = require('../helpers/logger.cjs');
10
+ var getWalletBookCdnUrl = require('../helpers/getWalletBookCdnUrl.cjs');
11
+ var walletBookFallbacks = require('../../wallet-book-fallbacks.cjs');
12
+
13
+ const useWalletBookCdn = () => {
14
+ const [walletBook, setWalletBook] = react.useState({});
15
+ react.useEffect(() => {
16
+ const fetchWalletBook = async () => {
17
+ try {
18
+ const response = await fetch(getWalletBookCdnUrl.getWalletBookCdnUrl());
19
+ const walletBook = walletBookSchema.walletBookSchema.parse(await response.json());
20
+ setWalletBook(walletBook);
21
+ }
22
+ catch (e) {
23
+ logger.logger.error(`Failed to fetch wallet book from CDN (using fallbacks): ${e.message}`);
24
+ const walletBook = walletBookFallbacks["default"];
25
+ setWalletBook(walletBook);
26
+ }
27
+ };
28
+ fetchWalletBook();
29
+ }, []);
30
+ return walletBook;
31
+ };
32
+
33
+ exports.useWalletBookCdn = useWalletBookCdn;
@@ -0,0 +1,29 @@
1
+ import { useState, useEffect } from 'react';
2
+ import '../schemas/walletConnectSourceSchema.js';
3
+ import { walletBookSchema } from '../schemas/walletBookSchema.js';
4
+ import '../schemas/walletSchema.js';
5
+ import { logger } from '../helpers/logger.js';
6
+ import { getWalletBookCdnUrl } from '../helpers/getWalletBookCdnUrl.js';
7
+ import walletBookFallbacks from '../../wallet-book-fallbacks.js';
8
+
9
+ const useWalletBookCdn = () => {
10
+ const [walletBook, setWalletBook] = useState({});
11
+ useEffect(() => {
12
+ const fetchWalletBook = async () => {
13
+ try {
14
+ const response = await fetch(getWalletBookCdnUrl());
15
+ const walletBook = walletBookSchema.parse(await response.json());
16
+ setWalletBook(walletBook);
17
+ }
18
+ catch (e) {
19
+ logger.error(`Failed to fetch wallet book from CDN (using fallbacks): ${e.message}`);
20
+ const walletBook = walletBookFallbacks;
21
+ setWalletBook(walletBook);
22
+ }
23
+ };
24
+ fetchWalletBook();
25
+ }, []);
26
+ return walletBook;
27
+ };
28
+
29
+ export { useWalletBookCdn };
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+ require('../helpers/logger.cjs');
7
+ require('../schemas/walletConnectSourceSchema.cjs');
8
+ require('../schemas/walletBookSchema.cjs');
9
+ require('../schemas/walletSchema.cjs');
10
+ var WalletBookContext = require('../components/WalletBookContext.cjs');
11
+
12
+ const useWalletBookContext = () => {
13
+ const context = react.useContext(WalletBookContext.WalletBookContext);
14
+ if (context === undefined) {
15
+ throw new Error('useWalletBookContext must be used within a WalletBookContextProvider');
16
+ }
17
+ return context;
18
+ };
19
+
20
+ exports.useWalletBookContext = useWalletBookContext;
@@ -0,0 +1 @@
1
+ export declare const useWalletBookContext: () => import("../components").IWalletBookContext;
@@ -0,0 +1,16 @@
1
+ import { useContext } from 'react';
2
+ import '../helpers/logger.js';
3
+ import '../schemas/walletConnectSourceSchema.js';
4
+ import '../schemas/walletBookSchema.js';
5
+ import '../schemas/walletSchema.js';
6
+ import { WalletBookContext } from '../components/WalletBookContext.js';
7
+
8
+ const useWalletBookContext = () => {
9
+ const context = useContext(WalletBookContext);
10
+ if (context === undefined) {
11
+ throw new Error('useWalletBookContext must be used within a WalletBookContextProvider');
12
+ }
13
+ return context;
14
+ };
15
+
16
+ export { useWalletBookContext };