@dynamic-labs/wallet-book 0.19.0-alpha.9 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/CHANGELOG.md +292 -0
  2. package/README.md +34 -0
  3. package/package.json +3 -3
  4. package/src/build/index.d.ts +50 -50
  5. package/src/build/sources/firstParty/index.d.ts +2 -2
  6. package/src/build/sources/index.d.ts +4 -4
  7. package/src/build/sources/walletConnect/index.d.ts +100 -100
  8. package/src/build/sources/walletConnect/preprocessors.d.ts +13 -13
  9. package/src/build/sources/walletConnectOverrides/index.d.ts +249 -249
  10. package/src/build/sources/walletGroups/index.d.ts +2 -2
  11. package/src/components/WalletBookContext.cjs +3 -3
  12. package/src/components/WalletBookContext.d.ts +9 -9
  13. package/src/components/WalletBookContext.js +3 -3
  14. package/src/components/WalletIcon.cjs +19 -19
  15. package/src/components/WalletIcon.d.ts +8 -8
  16. package/src/components/WalletIcon.js +19 -19
  17. package/src/components/index.d.ts +2 -2
  18. package/src/helpers/findWalletBookWallet.cjs +9 -9
  19. package/src/helpers/findWalletBookWallet.d.ts +44 -44
  20. package/src/helpers/findWalletBookWallet.js +9 -9
  21. package/src/helpers/findWalletGroup.cjs +8 -8
  22. package/src/helpers/findWalletGroup.d.ts +11 -11
  23. package/src/helpers/findWalletGroup.js +8 -8
  24. package/src/helpers/getWalletBookCdnUrl.cjs +8 -8
  25. package/src/helpers/getWalletBookCdnUrl.d.ts +1 -1
  26. package/src/helpers/getWalletBookCdnUrl.js +8 -8
  27. package/src/helpers/getWalletBookWallet.cjs +6 -9
  28. package/src/helpers/getWalletBookWallet.d.ts +2 -2
  29. package/src/helpers/getWalletBookWallet.js +6 -9
  30. package/src/helpers/getWalletGroup.cjs +5 -5
  31. package/src/helpers/getWalletGroup.d.ts +3 -3
  32. package/src/helpers/getWalletGroup.js +5 -5
  33. package/src/helpers/getWalletIconUrl.cjs +23 -23
  34. package/src/helpers/getWalletIconUrl.d.ts +3 -3
  35. package/src/helpers/getWalletIconUrl.js +23 -23
  36. package/src/helpers/getWalletLinks.cjs +26 -26
  37. package/src/helpers/getWalletLinks.d.ts +10 -10
  38. package/src/helpers/getWalletLinks.js +26 -26
  39. package/src/helpers/getWalletPrimaryColor.cjs +3 -3
  40. package/src/helpers/getWalletPrimaryColor.d.ts +2 -2
  41. package/src/helpers/getWalletPrimaryColor.js +3 -3
  42. package/src/helpers/index.d.ts +11 -11
  43. package/src/helpers/logger.d.ts +2 -2
  44. package/src/helpers/normalizeWalletName.d.ts +1 -1
  45. package/src/helpers/renderTemplate.cjs +13 -13
  46. package/src/helpers/renderTemplate.d.ts +12 -12
  47. package/src/helpers/renderTemplate.js +13 -13
  48. package/src/hooks/index.d.ts +2 -2
  49. package/src/hooks/useWalletBookCdn.cjs +27 -27
  50. package/src/hooks/useWalletBookCdn.d.ts +55 -55
  51. package/src/hooks/useWalletBookCdn.js +27 -27
  52. package/src/hooks/useWalletBookContext.cjs +6 -6
  53. package/src/hooks/useWalletBookContext.d.ts +1 -1
  54. package/src/hooks/useWalletBookContext.js +6 -6
  55. package/src/index.d.ts +18 -18
  56. package/src/schemas/index.d.ts +3 -3
  57. package/src/schemas/utils/filterEmptyObject.cjs +5 -5
  58. package/src/schemas/utils/filterEmptyObject.d.ts +6 -6
  59. package/src/schemas/utils/filterEmptyObject.js +5 -5
  60. package/src/schemas/utils/nonEmptyString.cjs +3 -3
  61. package/src/schemas/utils/nonEmptyString.d.ts +5 -5
  62. package/src/schemas/utils/nonEmptyString.js +3 -3
  63. package/src/schemas/utils/nonEmptyStringArray.cjs +3 -3
  64. package/src/schemas/utils/nonEmptyStringArray.d.ts +5 -5
  65. package/src/schemas/utils/nonEmptyStringArray.js +3 -3
  66. package/src/schemas/utils/processWalletConnectNativeUrl.d.ts +1 -1
  67. package/src/schemas/utils/sortKeys.d.ts +5 -5
  68. package/src/schemas/utils/transformAndroidId.cjs +16 -16
  69. package/src/schemas/utils/transformAndroidId.d.ts +1 -1
  70. package/src/schemas/utils/transformAndroidId.js +16 -16
  71. package/src/schemas/utils/transformChromeExtensionId.cjs +13 -13
  72. package/src/schemas/utils/transformChromeExtensionId.d.ts +1 -1
  73. package/src/schemas/utils/transformChromeExtensionId.js +13 -13
  74. package/src/schemas/utils/transformEdgeExtensionId.cjs +13 -13
  75. package/src/schemas/utils/transformEdgeExtensionId.d.ts +1 -1
  76. package/src/schemas/utils/transformEdgeExtensionId.js +13 -13
  77. package/src/schemas/utils/transformFirefoxExtensionId.cjs +13 -13
  78. package/src/schemas/utils/transformFirefoxExtensionId.d.ts +1 -1
  79. package/src/schemas/utils/transformFirefoxExtensionId.js +13 -13
  80. package/src/schemas/utils/transformIosId.cjs +20 -20
  81. package/src/schemas/utils/transformIosId.d.ts +1 -1
  82. package/src/schemas/utils/transformIosId.js +20 -20
  83. package/src/schemas/walletBookSchema.cjs +5 -5
  84. package/src/schemas/walletBookSchema.d.ts +862 -862
  85. package/src/schemas/walletBookSchema.js +5 -5
  86. package/src/schemas/walletConnectSourceSchema.cjs +64 -64
  87. package/src/schemas/walletConnectSourceSchema.d.ts +504 -504
  88. package/src/schemas/walletConnectSourceSchema.js +64 -64
  89. package/src/schemas/walletGroup.cjs +22 -22
  90. package/src/schemas/walletGroup.d.ts +50 -50
  91. package/src/schemas/walletGroup.js +22 -22
  92. package/src/schemas/walletSchema.cjs +88 -88
  93. package/src/schemas/walletSchema.d.ts +351 -351
  94. package/src/schemas/walletSchema.js +88 -88
  95. package/wallet-book-fallbacks.cjs +66 -0
  96. package/wallet-book-fallbacks.js +66 -0
@@ -1,69 +1,69 @@
1
1
  import { z } from 'zod';
2
2
 
3
- const walletConnectSourceValueSchema = z
4
- .object({
5
- app: z.object({
6
- android: z.string().nullable(),
7
- browser: z.string().nullable(),
8
- chrome: z.string().nullable(),
9
- edge: z.string().nullable(),
10
- firefox: z.string().nullable(),
11
- ios: z.string().nullable(),
12
- linux: z.string().nullable(),
13
- mac: z.string().nullable(),
14
- opera: z.string().nullable(),
15
- safari: z.string().nullable(),
16
- windows: z.string().nullable(),
17
- }),
18
- app_type: z.string(),
19
- chains: z.array(z.string()),
20
- description: z.string().nullable(),
21
- desktop: z.object({
22
- native: z.string().nullable(),
23
- universal: z.string().nullable(),
24
- }),
25
- homepage: z.string(),
26
- id: z.string(),
27
- image_id: z.string(),
28
- image_url: z.object({
29
- lg: z.string(),
30
- md: z.string(),
31
- sm: z.string(),
32
- }),
33
- injected: z
34
- .array(z.object({
35
- injected_id: z.string(),
36
- namespace: z.string(),
37
- }))
38
- .nullable(),
39
- metadata: z.object({
40
- colors: z.object({
41
- primary: z.string().nullable(),
42
- secondary: z.string().nullable(),
43
- }),
44
- shortName: z.string().nullable(),
45
- }),
46
- mobile: z.object({
47
- native: z.string().nullable(),
48
- universal: z.string().nullable(),
49
- }),
50
- name: z.string(),
51
- sdks: z.array(z.string()),
52
- slug: z.string(),
53
- supported_standards: z.array(z.object({
54
- id: z.string(),
55
- standard_id: z.number(),
56
- standard_prefix: z.string(),
57
- title: z.string(),
58
- url: z.string(),
59
- })),
60
- updatedAt: z.string(),
61
- versions: z.array(z.string()),
62
- })
63
- .strict();
64
- /**
65
- * Validates the walletconnect.json file to ensure it is in the correct format
66
- */
3
+ const walletConnectSourceValueSchema = z
4
+ .object({
5
+ app: z.object({
6
+ android: z.string().nullable(),
7
+ browser: z.string().nullable(),
8
+ chrome: z.string().nullable(),
9
+ edge: z.string().nullable(),
10
+ firefox: z.string().nullable(),
11
+ ios: z.string().nullable(),
12
+ linux: z.string().nullable(),
13
+ mac: z.string().nullable(),
14
+ opera: z.string().nullable(),
15
+ safari: z.string().nullable(),
16
+ windows: z.string().nullable(),
17
+ }),
18
+ app_type: z.string(),
19
+ chains: z.array(z.string()),
20
+ description: z.string().nullable(),
21
+ desktop: z.object({
22
+ native: z.string().nullable(),
23
+ universal: z.string().nullable(),
24
+ }),
25
+ homepage: z.string(),
26
+ id: z.string(),
27
+ image_id: z.string(),
28
+ image_url: z.object({
29
+ lg: z.string(),
30
+ md: z.string(),
31
+ sm: z.string(),
32
+ }),
33
+ injected: z
34
+ .array(z.object({
35
+ injected_id: z.string(),
36
+ namespace: z.string(),
37
+ }))
38
+ .nullable(),
39
+ metadata: z.object({
40
+ colors: z.object({
41
+ primary: z.string().nullable(),
42
+ secondary: z.string().nullable(),
43
+ }),
44
+ shortName: z.string().nullable(),
45
+ }),
46
+ mobile: z.object({
47
+ native: z.string().nullable(),
48
+ universal: z.string().nullable(),
49
+ }),
50
+ name: z.string(),
51
+ sdks: z.array(z.string()),
52
+ slug: z.string(),
53
+ supported_standards: z.array(z.object({
54
+ id: z.string(),
55
+ standard_id: z.number(),
56
+ standard_prefix: z.string(),
57
+ title: z.string(),
58
+ url: z.string(),
59
+ })),
60
+ updatedAt: z.string(),
61
+ versions: z.array(z.string()),
62
+ })
63
+ .strict();
64
+ /**
65
+ * Validates the walletconnect.json file to ensure it is in the correct format
66
+ */
67
67
  z.record(z.string(), walletConnectSourceValueSchema);
68
68
 
69
69
  export { walletConnectSourceValueSchema };
@@ -5,28 +5,28 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var zod = require('zod');
6
6
  var nonEmptyString = require('./utils/nonEmptyString.cjs');
7
7
 
8
- const walletGroupSchema = zod.z.object({
9
- brand: zod.z
10
- .object({
11
- alt: nonEmptyString.nonEmptyString,
12
- imageId: nonEmptyString.nonEmptyString,
13
- primaryColor: nonEmptyString.nonEmptyString,
14
- spriteId: nonEmptyString.nonEmptyString,
15
- })
16
- .optional()
17
- .refine((val) => {
18
- if (!val)
19
- return true;
20
- if (!(val.spriteId && val.imageId) && (val.spriteId || val.imageId)) {
21
- return true;
22
- }
23
- return false;
24
- }, {
25
- message: 'Only one of spriteId or imageId can be defined',
26
- path: ['brand'],
27
- }),
28
- key: zod.z.string(),
29
- name: zod.z.string(),
8
+ const walletGroupSchema = zod.z.object({
9
+ brand: zod.z
10
+ .object({
11
+ alt: nonEmptyString.nonEmptyString,
12
+ imageId: nonEmptyString.nonEmptyString,
13
+ primaryColor: nonEmptyString.nonEmptyString,
14
+ spriteId: nonEmptyString.nonEmptyString,
15
+ })
16
+ .optional()
17
+ .refine((val) => {
18
+ if (!val)
19
+ return true;
20
+ if (!(val.spriteId && val.imageId) && (val.spriteId || val.imageId)) {
21
+ return true;
22
+ }
23
+ return false;
24
+ }, {
25
+ message: 'Only one of spriteId or imageId can be defined',
26
+ path: ['brand'],
27
+ }),
28
+ key: zod.z.string(),
29
+ name: zod.z.string(),
30
30
  });
31
31
 
32
32
  exports.walletGroupSchema = walletGroupSchema;
@@ -1,50 +1,50 @@
1
- import { z } from 'zod';
2
- export declare const walletGroupSchema: z.ZodObject<{
3
- brand: z.ZodEffects<z.ZodOptional<z.ZodObject<{
4
- alt: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
5
- imageId: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
6
- primaryColor: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
7
- spriteId: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
8
- }, "strip", z.ZodTypeAny, {
9
- alt?: string | undefined;
10
- imageId?: string | undefined;
11
- primaryColor?: string | undefined;
12
- spriteId?: string | undefined;
13
- }, {
14
- alt?: unknown;
15
- imageId?: unknown;
16
- primaryColor?: unknown;
17
- spriteId?: unknown;
18
- }>>, {
19
- alt?: string | undefined;
20
- imageId?: string | undefined;
21
- primaryColor?: string | undefined;
22
- spriteId?: string | undefined;
23
- } | undefined, {
24
- alt?: unknown;
25
- imageId?: unknown;
26
- primaryColor?: unknown;
27
- spriteId?: unknown;
28
- } | undefined>;
29
- key: z.ZodString;
30
- name: z.ZodString;
31
- }, "strip", z.ZodTypeAny, {
32
- key: string;
33
- name: string;
34
- brand?: {
35
- alt?: string | undefined;
36
- imageId?: string | undefined;
37
- primaryColor?: string | undefined;
38
- spriteId?: string | undefined;
39
- } | undefined;
40
- }, {
41
- key: string;
42
- name: string;
43
- brand?: {
44
- alt?: unknown;
45
- imageId?: unknown;
46
- primaryColor?: unknown;
47
- spriteId?: unknown;
48
- } | undefined;
49
- }>;
50
- export type WalletGroupSchema = z.infer<typeof walletGroupSchema>;
1
+ import { z } from 'zod';
2
+ export declare const walletGroupSchema: z.ZodObject<{
3
+ brand: z.ZodEffects<z.ZodOptional<z.ZodObject<{
4
+ alt: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
5
+ imageId: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
6
+ primaryColor: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
7
+ spriteId: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ alt?: string | undefined;
10
+ imageId?: string | undefined;
11
+ primaryColor?: string | undefined;
12
+ spriteId?: string | undefined;
13
+ }, {
14
+ alt?: unknown;
15
+ imageId?: unknown;
16
+ primaryColor?: unknown;
17
+ spriteId?: unknown;
18
+ }>>, {
19
+ alt?: string | undefined;
20
+ imageId?: string | undefined;
21
+ primaryColor?: string | undefined;
22
+ spriteId?: string | undefined;
23
+ } | undefined, {
24
+ alt?: unknown;
25
+ imageId?: unknown;
26
+ primaryColor?: unknown;
27
+ spriteId?: unknown;
28
+ } | undefined>;
29
+ key: z.ZodString;
30
+ name: z.ZodString;
31
+ }, "strip", z.ZodTypeAny, {
32
+ key: string;
33
+ name: string;
34
+ brand?: {
35
+ alt?: string | undefined;
36
+ imageId?: string | undefined;
37
+ primaryColor?: string | undefined;
38
+ spriteId?: string | undefined;
39
+ } | undefined;
40
+ }, {
41
+ key: string;
42
+ name: string;
43
+ brand?: {
44
+ alt?: unknown;
45
+ imageId?: unknown;
46
+ primaryColor?: unknown;
47
+ spriteId?: unknown;
48
+ } | undefined;
49
+ }>;
50
+ export type WalletGroupSchema = z.infer<typeof walletGroupSchema>;
@@ -1,28 +1,28 @@
1
1
  import { z } from 'zod';
2
2
  import { nonEmptyString } from './utils/nonEmptyString.js';
3
3
 
4
- const walletGroupSchema = z.object({
5
- brand: z
6
- .object({
7
- alt: nonEmptyString,
8
- imageId: nonEmptyString,
9
- primaryColor: nonEmptyString,
10
- spriteId: nonEmptyString,
11
- })
12
- .optional()
13
- .refine((val) => {
14
- if (!val)
15
- return true;
16
- if (!(val.spriteId && val.imageId) && (val.spriteId || val.imageId)) {
17
- return true;
18
- }
19
- return false;
20
- }, {
21
- message: 'Only one of spriteId or imageId can be defined',
22
- path: ['brand'],
23
- }),
24
- key: z.string(),
25
- name: z.string(),
4
+ const walletGroupSchema = z.object({
5
+ brand: z
6
+ .object({
7
+ alt: nonEmptyString,
8
+ imageId: nonEmptyString,
9
+ primaryColor: nonEmptyString,
10
+ spriteId: nonEmptyString,
11
+ })
12
+ .optional()
13
+ .refine((val) => {
14
+ if (!val)
15
+ return true;
16
+ if (!(val.spriteId && val.imageId) && (val.spriteId || val.imageId)) {
17
+ return true;
18
+ }
19
+ return false;
20
+ }, {
21
+ message: 'Only one of spriteId or imageId can be defined',
22
+ path: ['brand'],
23
+ }),
24
+ key: z.string(),
25
+ name: z.string(),
26
26
  });
27
27
 
28
28
  export { walletGroupSchema };
@@ -12,94 +12,94 @@ var transformAndroidId = require('./utils/transformAndroidId.cjs');
12
12
  var nonEmptyStringArray = require('./utils/nonEmptyStringArray.cjs');
13
13
  var filterEmptyObject = require('./utils/filterEmptyObject.cjs');
14
14
 
15
- const injectedConfigSchema = zod.z.object({
16
- chain: zod.z.string(),
17
- extensionLocators: zod.z.array(zod.z.object({
18
- flag: zod.z.string(),
19
- value: zod.z.boolean().optional().default(true),
20
- })),
21
- windowLocations: zod.z
22
- .array(zod.z.string())
23
- .optional()
24
- .refine((val) => {
25
- if (!val)
26
- return true;
27
- if (!val.some((v) => ['ethereum', 'ethereum.providers'].includes(v)))
28
- return true;
29
- return false;
30
- }, {
31
- message: 'windowLocations cannot include ethereum or ethereum.providers as they are included by default',
32
- path: ['config'],
33
- }),
34
- });
35
- const walletSchema = zod.z
36
- .preprocess((val) => val, zod.z.object({
37
- brand: zod.z
38
- .object({
39
- alt: nonEmptyString.nonEmptyString,
40
- imageId: nonEmptyString.nonEmptyString,
41
- primaryColor: nonEmptyString.nonEmptyString,
42
- spriteId: nonEmptyString.nonEmptyString,
43
- })
44
- .optional()
45
- .refine((val) => {
46
- if (!val)
47
- return true;
48
- if (!(val.spriteId && val.imageId) &&
49
- (val.spriteId || val.imageId)) {
50
- return true;
51
- }
52
- return false;
53
- }, {
54
- message: 'Only one of spriteId or imageId can be defined',
55
- path: ['brand'],
56
- }),
57
- chains: zod.z.array(zod.z.string()).optional(),
58
- desktop: zod.z
59
- .object({
60
- chromeId: nonEmptyString.nonEmptyString.transform(transformChromeExtensionId.transformChromeExtensionId),
61
- edgeId: nonEmptyString.nonEmptyString.transform(transformEdgeExtensionId.transformEdgeExtensionId),
62
- firefoxId: nonEmptyString.nonEmptyString.transform(transformFirefoxExtensionId.transformFirefoxExtensionId),
63
- native: nonEmptyString.nonEmptyString,
64
- operaId: nonEmptyString.nonEmptyString,
65
- safariId: nonEmptyString.nonEmptyString,
66
- universal: nonEmptyString.nonEmptyString,
67
- })
68
- .optional()
69
- .transform(filterEmptyObject.filterEmptyObject),
70
- filterFromWalletConnect: zod.z.boolean().optional(),
71
- group: zod.z.string().optional(),
72
- injectedConfig: zod.z.array(injectedConfigSchema).optional(),
73
- mobile: zod.z
74
- .object({
75
- android: zod.string().nullish(),
76
- androidId: nonEmptyString.nonEmptyString.transform(transformAndroidId.transformAndroidId),
77
- ios: zod.string().nullish(),
78
- iosId: nonEmptyString.nonEmptyString.transform(transformIosId.transformIosId),
79
- native: nonEmptyString.nonEmptyString,
80
- universal: nonEmptyString.nonEmptyString,
81
- })
82
- .optional()
83
- .transform(filterEmptyObject.filterEmptyObject),
84
- name: zod.z.string(),
85
- shortName: nonEmptyString.nonEmptyString,
86
- showOnlyIfInstalled: zod.z.boolean().optional(),
87
- switchNetworkOnlyFromWallet: zod.z.boolean().optional(),
88
- walletConnect: zod.z
89
- .object({
90
- sdks: nonEmptyStringArray.nonEmptyStringArray,
91
- })
92
- .optional()
93
- .transform(filterEmptyObject.filterEmptyObject),
94
- }))
95
- .transform((val) => {
96
- if (val.mobile?.iosId || val.mobile?.ios === null) {
97
- delete val.mobile?.ios;
98
- }
99
- if (val.mobile?.androidId || val.mobile?.android === null) {
100
- delete val.mobile?.android;
101
- }
102
- return val;
15
+ const injectedConfigSchema = zod.z.object({
16
+ chain: zod.z.string(),
17
+ extensionLocators: zod.z.array(zod.z.object({
18
+ flag: zod.z.string(),
19
+ value: zod.z.boolean().optional().default(true),
20
+ })),
21
+ windowLocations: zod.z
22
+ .array(zod.z.string())
23
+ .optional()
24
+ .refine((val) => {
25
+ if (!val)
26
+ return true;
27
+ if (!val.some((v) => ['ethereum', 'ethereum.providers'].includes(v)))
28
+ return true;
29
+ return false;
30
+ }, {
31
+ message: 'windowLocations cannot include ethereum or ethereum.providers as they are included by default',
32
+ path: ['config'],
33
+ }),
34
+ });
35
+ const walletSchema = zod.z
36
+ .preprocess((val) => val, zod.z.object({
37
+ brand: zod.z
38
+ .object({
39
+ alt: nonEmptyString.nonEmptyString,
40
+ imageId: nonEmptyString.nonEmptyString,
41
+ primaryColor: nonEmptyString.nonEmptyString,
42
+ spriteId: nonEmptyString.nonEmptyString,
43
+ })
44
+ .optional()
45
+ .refine((val) => {
46
+ if (!val)
47
+ return true;
48
+ if (!(val.spriteId && val.imageId) &&
49
+ (val.spriteId || val.imageId)) {
50
+ return true;
51
+ }
52
+ return false;
53
+ }, {
54
+ message: 'Only one of spriteId or imageId can be defined',
55
+ path: ['brand'],
56
+ }),
57
+ chains: zod.z.array(zod.z.string()).optional(),
58
+ desktop: zod.z
59
+ .object({
60
+ chromeId: nonEmptyString.nonEmptyString.transform(transformChromeExtensionId.transformChromeExtensionId),
61
+ edgeId: nonEmptyString.nonEmptyString.transform(transformEdgeExtensionId.transformEdgeExtensionId),
62
+ firefoxId: nonEmptyString.nonEmptyString.transform(transformFirefoxExtensionId.transformFirefoxExtensionId),
63
+ native: nonEmptyString.nonEmptyString,
64
+ operaId: nonEmptyString.nonEmptyString,
65
+ safariId: nonEmptyString.nonEmptyString,
66
+ universal: nonEmptyString.nonEmptyString,
67
+ })
68
+ .optional()
69
+ .transform(filterEmptyObject.filterEmptyObject),
70
+ filterFromWalletConnect: zod.z.boolean().optional(),
71
+ group: zod.z.string().optional(),
72
+ injectedConfig: zod.z.array(injectedConfigSchema).optional(),
73
+ mobile: zod.z
74
+ .object({
75
+ android: zod.string().nullish(),
76
+ androidId: nonEmptyString.nonEmptyString.transform(transformAndroidId.transformAndroidId),
77
+ ios: zod.string().nullish(),
78
+ iosId: nonEmptyString.nonEmptyString.transform(transformIosId.transformIosId),
79
+ native: nonEmptyString.nonEmptyString,
80
+ universal: nonEmptyString.nonEmptyString,
81
+ })
82
+ .optional()
83
+ .transform(filterEmptyObject.filterEmptyObject),
84
+ name: zod.z.string(),
85
+ shortName: nonEmptyString.nonEmptyString,
86
+ showOnlyIfInstalled: zod.z.boolean().optional(),
87
+ switchNetworkOnlyFromWallet: zod.z.boolean().optional(),
88
+ walletConnect: zod.z
89
+ .object({
90
+ sdks: nonEmptyStringArray.nonEmptyStringArray,
91
+ })
92
+ .optional()
93
+ .transform(filterEmptyObject.filterEmptyObject),
94
+ }))
95
+ .transform((val) => {
96
+ if (val.mobile?.iosId || val.mobile?.ios === null) {
97
+ delete val.mobile?.ios;
98
+ }
99
+ if (val.mobile?.androidId || val.mobile?.android === null) {
100
+ delete val.mobile?.android;
101
+ }
102
+ return val;
103
103
  });
104
104
 
105
105
  exports.walletSchema = walletSchema;