@dynamic-labs/wallet-book 0.0.0-exp20240808.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 (117) hide show
  1. package/CHANGELOG.md +3746 -0
  2. package/LICENSE +21 -0
  3. package/README.md +142 -0
  4. package/_virtual/_tslib.cjs +49 -0
  5. package/_virtual/_tslib.js +44 -0
  6. package/package.json +38 -0
  7. package/src/build/index.d.ts +76 -0
  8. package/src/build/sources/firstParty/index.d.ts +2 -0
  9. package/src/build/sources/index.d.ts +4 -0
  10. package/src/build/sources/walletConnect/index.d.ts +128 -0
  11. package/src/build/sources/walletConnect/preprocessors.d.ts +14 -0
  12. package/src/build/sources/walletConnectOverrides/index.d.ts +197 -0
  13. package/src/build/sources/walletGroups/index.d.ts +2 -0
  14. package/src/components/BrandIcon.cjs +27 -0
  15. package/src/components/BrandIcon.d.ts +8 -0
  16. package/src/components/BrandIcon.js +23 -0
  17. package/src/components/WalletBookContext.cjs +14 -0
  18. package/src/components/WalletBookContext.d.ts +9 -0
  19. package/src/components/WalletBookContext.js +9 -0
  20. package/src/components/WalletIcon.cjs +34 -0
  21. package/src/components/WalletIcon.d.ts +8 -0
  22. package/src/components/WalletIcon.js +30 -0
  23. package/src/components/index.d.ts +3 -0
  24. package/src/helpers/findWalletBookWallet.cjs +18 -0
  25. package/src/helpers/findWalletBookWallet.d.ts +70 -0
  26. package/src/helpers/findWalletBookWallet.js +14 -0
  27. package/src/helpers/findWalletGroup.cjs +19 -0
  28. package/src/helpers/findWalletGroup.d.ts +18 -0
  29. package/src/helpers/findWalletGroup.js +15 -0
  30. package/src/helpers/findWalletGroupOverride.cjs +14 -0
  31. package/src/helpers/findWalletGroupOverride.d.ts +3 -0
  32. package/src/helpers/findWalletGroupOverride.js +10 -0
  33. package/src/helpers/getBrandIconUrl.cjs +15 -0
  34. package/src/helpers/getBrandIconUrl.d.ts +2 -0
  35. package/src/helpers/getBrandIconUrl.js +11 -0
  36. package/src/helpers/getWalletBookCdnUrl.cjs +14 -0
  37. package/src/helpers/getWalletBookCdnUrl.d.ts +1 -0
  38. package/src/helpers/getWalletBookCdnUrl.js +10 -0
  39. package/src/helpers/getWalletBookWallet.cjs +17 -0
  40. package/src/helpers/getWalletBookWallet.d.ts +2 -0
  41. package/src/helpers/getWalletBookWallet.js +13 -0
  42. package/src/helpers/getWalletGroup.cjs +13 -0
  43. package/src/helpers/getWalletGroup.d.ts +3 -0
  44. package/src/helpers/getWalletGroup.js +9 -0
  45. package/src/helpers/getWalletIconUrl.cjs +34 -0
  46. package/src/helpers/getWalletIconUrl.d.ts +3 -0
  47. package/src/helpers/getWalletIconUrl.js +29 -0
  48. package/src/helpers/getWalletLinks.cjs +34 -0
  49. package/src/helpers/getWalletLinks.d.ts +10 -0
  50. package/src/helpers/getWalletLinks.js +30 -0
  51. package/src/helpers/getWalletPrimaryColor.cjs +14 -0
  52. package/src/helpers/getWalletPrimaryColor.d.ts +2 -0
  53. package/src/helpers/getWalletPrimaryColor.js +10 -0
  54. package/src/helpers/index.d.ts +14 -0
  55. package/src/helpers/isWalletEventSupported.cjs +8 -0
  56. package/src/helpers/isWalletEventSupported.d.ts +2 -0
  57. package/src/helpers/isWalletEventSupported.js +4 -0
  58. package/src/helpers/isWalletMethodSupported.cjs +8 -0
  59. package/src/helpers/isWalletMethodSupported.d.ts +2 -0
  60. package/src/helpers/isWalletMethodSupported.js +4 -0
  61. package/src/helpers/logger.cjs +10 -0
  62. package/src/helpers/logger.d.ts +2 -0
  63. package/src/helpers/logger.js +6 -0
  64. package/src/helpers/renderTemplate.cjs +23 -0
  65. package/src/helpers/renderTemplate.d.ts +12 -0
  66. package/src/helpers/renderTemplate.js +19 -0
  67. package/src/hooks/index.d.ts +2 -0
  68. package/src/hooks/useWalletBookCdn.cjs +51 -0
  69. package/src/hooks/useWalletBookCdn.d.ts +88 -0
  70. package/src/hooks/useWalletBookCdn.js +47 -0
  71. package/src/hooks/useWalletBookContext.cjs +24 -0
  72. package/src/hooks/useWalletBookContext.d.ts +1 -0
  73. package/src/hooks/useWalletBookContext.js +20 -0
  74. package/src/index.cjs +44 -0
  75. package/src/index.d.ts +18 -0
  76. package/src/index.js +20 -0
  77. package/src/schemas/index.d.ts +3 -0
  78. package/src/schemas/utils/filterEmptyObject.cjs +13 -0
  79. package/src/schemas/utils/filterEmptyObject.d.ts +6 -0
  80. package/src/schemas/utils/filterEmptyObject.js +9 -0
  81. package/src/schemas/utils/nonEmptyString.cjs +13 -0
  82. package/src/schemas/utils/nonEmptyString.d.ts +5 -0
  83. package/src/schemas/utils/nonEmptyString.js +9 -0
  84. package/src/schemas/utils/nonEmptyStringArray.cjs +13 -0
  85. package/src/schemas/utils/nonEmptyStringArray.d.ts +5 -0
  86. package/src/schemas/utils/nonEmptyStringArray.js +9 -0
  87. package/src/schemas/utils/processWalletConnectNativeUrl.d.ts +1 -0
  88. package/src/schemas/utils/sortKeys.d.ts +5 -0
  89. package/src/schemas/utils/transformAndroidId.cjs +24 -0
  90. package/src/schemas/utils/transformAndroidId.d.ts +1 -0
  91. package/src/schemas/utils/transformAndroidId.js +20 -0
  92. package/src/schemas/utils/transformChromeExtensionId.cjs +21 -0
  93. package/src/schemas/utils/transformChromeExtensionId.d.ts +1 -0
  94. package/src/schemas/utils/transformChromeExtensionId.js +17 -0
  95. package/src/schemas/utils/transformEdgeExtensionId.cjs +21 -0
  96. package/src/schemas/utils/transformEdgeExtensionId.d.ts +1 -0
  97. package/src/schemas/utils/transformEdgeExtensionId.js +17 -0
  98. package/src/schemas/utils/transformFirefoxExtensionId.cjs +21 -0
  99. package/src/schemas/utils/transformFirefoxExtensionId.d.ts +1 -0
  100. package/src/schemas/utils/transformFirefoxExtensionId.js +17 -0
  101. package/src/schemas/utils/transformIosId.cjs +28 -0
  102. package/src/schemas/utils/transformIosId.d.ts +1 -0
  103. package/src/schemas/utils/transformIosId.js +24 -0
  104. package/src/schemas/walletBookSchema.cjs +17 -0
  105. package/src/schemas/walletBookSchema.d.ts +1369 -0
  106. package/src/schemas/walletBookSchema.js +13 -0
  107. package/src/schemas/walletConnectSourceSchema.cjs +78 -0
  108. package/src/schemas/walletConnectSourceSchema.d.ts +516 -0
  109. package/src/schemas/walletConnectSourceSchema.js +74 -0
  110. package/src/schemas/walletGroup.cjs +27 -0
  111. package/src/schemas/walletGroup.d.ts +113 -0
  112. package/src/schemas/walletGroup.js +23 -0
  113. package/src/schemas/walletSchema.cjs +141 -0
  114. package/src/schemas/walletSchema.d.ts +614 -0
  115. package/src/schemas/walletSchema.js +136 -0
  116. package/wallet-book-fallbacks.cjs +1082 -0
  117. package/wallet-book-fallbacks.js +1076 -0
@@ -0,0 +1,113 @@
1
+ import { z } from 'zod';
2
+ declare const WalletOverrideEntrySchema: z.ZodObject<{
3
+ brand: z.ZodOptional<z.ZodObject<{
4
+ alt: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
5
+ primaryColor: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
6
+ spriteId: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ alt?: string | undefined;
9
+ primaryColor?: string | undefined;
10
+ spriteId?: string | undefined;
11
+ }, {
12
+ alt?: unknown;
13
+ primaryColor?: unknown;
14
+ spriteId?: unknown;
15
+ }>>;
16
+ name: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ brand?: {
19
+ alt?: string | undefined;
20
+ primaryColor?: string | undefined;
21
+ spriteId?: string | undefined;
22
+ } | undefined;
23
+ name?: string | undefined;
24
+ }, {
25
+ brand?: {
26
+ alt?: unknown;
27
+ primaryColor?: unknown;
28
+ spriteId?: unknown;
29
+ } | undefined;
30
+ name?: unknown;
31
+ }>;
32
+ export declare const walletGroupSchema: z.ZodObject<{
33
+ brand: z.ZodOptional<z.ZodObject<{
34
+ alt: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
35
+ primaryColor: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
36
+ spriteId: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ alt?: string | undefined;
39
+ primaryColor?: string | undefined;
40
+ spriteId?: string | undefined;
41
+ }, {
42
+ alt?: unknown;
43
+ primaryColor?: unknown;
44
+ spriteId?: unknown;
45
+ }>>;
46
+ key: z.ZodString;
47
+ name: z.ZodString;
48
+ walletOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
49
+ brand: z.ZodOptional<z.ZodObject<{
50
+ alt: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
51
+ primaryColor: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
52
+ spriteId: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ alt?: string | undefined;
55
+ primaryColor?: string | undefined;
56
+ spriteId?: string | undefined;
57
+ }, {
58
+ alt?: unknown;
59
+ primaryColor?: unknown;
60
+ spriteId?: unknown;
61
+ }>>;
62
+ name: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, unknown>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ brand?: {
65
+ alt?: string | undefined;
66
+ primaryColor?: string | undefined;
67
+ spriteId?: string | undefined;
68
+ } | undefined;
69
+ name?: string | undefined;
70
+ }, {
71
+ brand?: {
72
+ alt?: unknown;
73
+ primaryColor?: unknown;
74
+ spriteId?: unknown;
75
+ } | undefined;
76
+ name?: unknown;
77
+ }>>>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ name: string;
80
+ key: string;
81
+ brand?: {
82
+ alt?: string | undefined;
83
+ primaryColor?: string | undefined;
84
+ spriteId?: string | undefined;
85
+ } | undefined;
86
+ walletOverrides?: Record<string, {
87
+ brand?: {
88
+ alt?: string | undefined;
89
+ primaryColor?: string | undefined;
90
+ spriteId?: string | undefined;
91
+ } | undefined;
92
+ name?: string | undefined;
93
+ }> | undefined;
94
+ }, {
95
+ name: string;
96
+ key: string;
97
+ brand?: {
98
+ alt?: unknown;
99
+ primaryColor?: unknown;
100
+ spriteId?: unknown;
101
+ } | undefined;
102
+ walletOverrides?: Record<string, {
103
+ brand?: {
104
+ alt?: unknown;
105
+ primaryColor?: unknown;
106
+ spriteId?: unknown;
107
+ } | undefined;
108
+ name?: unknown;
109
+ }> | undefined;
110
+ }>;
111
+ export type WalletGroupSchema = z.infer<typeof walletGroupSchema>;
112
+ export type WalletGroupOverride = z.infer<typeof WalletOverrideEntrySchema>;
113
+ export {};
@@ -0,0 +1,23 @@
1
+ 'use client'
2
+ import { z } from 'zod';
3
+ import { nonEmptyString } from './utils/nonEmptyString.js';
4
+ import { brandSchema } from './walletSchema.js';
5
+
6
+ const WalletOverrideEntrySchema = z.object({
7
+ brand: brandSchema.optional(),
8
+ name: nonEmptyString,
9
+ });
10
+ const walletGroupSchema = z.object({
11
+ brand: z
12
+ .object({
13
+ alt: nonEmptyString,
14
+ primaryColor: nonEmptyString,
15
+ spriteId: nonEmptyString,
16
+ })
17
+ .optional(),
18
+ key: z.string(),
19
+ name: z.string(),
20
+ walletOverrides: z.record(WalletOverrideEntrySchema).optional(),
21
+ });
22
+
23
+ export { walletGroupSchema };
@@ -0,0 +1,141 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var zod = require('zod');
7
+ var nonEmptyString = require('./utils/nonEmptyString.cjs');
8
+ var transformChromeExtensionId = require('./utils/transformChromeExtensionId.cjs');
9
+ var transformEdgeExtensionId = require('./utils/transformEdgeExtensionId.cjs');
10
+ var transformFirefoxExtensionId = require('./utils/transformFirefoxExtensionId.cjs');
11
+ var transformIosId = require('./utils/transformIosId.cjs');
12
+ var transformAndroidId = require('./utils/transformAndroidId.cjs');
13
+ var nonEmptyStringArray = require('./utils/nonEmptyStringArray.cjs');
14
+ var filterEmptyObject = require('./utils/filterEmptyObject.cjs');
15
+
16
+ const injectedConfigSchema = zod.z.object({
17
+ chain: zod.z.string(),
18
+ extensionLocators: zod.z.array(zod.z.object({
19
+ flag: zod.z.string(),
20
+ value: zod.z.boolean().optional().default(true),
21
+ })),
22
+ /**
23
+ * Allows declaring which interface, if any, this wallet's implementation follows
24
+ * ex. Leather with https://btckit.org/
25
+ */
26
+ providerInterface: zod.z.string().optional(),
27
+ /**
28
+ * Allows declaring that this wallet is discoverable through the the Wallet Standard
29
+ * See https://github.com/wallet-standard/wallet-standard
30
+ * Also allows ignoring wallets that don't support the provided features
31
+ */
32
+ walletStandard: zod.z
33
+ .object({ features: zod.z.array(zod.z.string()), name: zod.z.string() })
34
+ .optional(),
35
+ walletStandardLocators: zod.z
36
+ .array(zod.z.object({ locator: zod.z.string(), name: zod.z.string() }))
37
+ .optional(),
38
+ windowLocations: zod.z
39
+ .array(zod.z.string())
40
+ .optional()
41
+ .refine((val) => {
42
+ if (!val)
43
+ return true;
44
+ if (!val.some((v) => ['ethereum', 'ethereum.providers'].includes(v)))
45
+ return true;
46
+ return false;
47
+ }, {
48
+ message: 'windowLocations cannot include ethereum or ethereum.providers as they are included by default',
49
+ path: ['config'],
50
+ }),
51
+ });
52
+ const brandSchema = zod.z.object({
53
+ alt: nonEmptyString.nonEmptyString,
54
+ primaryColor: nonEmptyString.nonEmptyString,
55
+ spriteId: nonEmptyString.nonEmptyString,
56
+ });
57
+ const walletSchema = zod.z
58
+ .preprocess((val) => val, zod.z.object({
59
+ brand: brandSchema.optional(),
60
+ chainGroup: zod.z.string().optional(),
61
+ chains: zod.z.array(zod.z.string()).optional(),
62
+ desktop: zod.z
63
+ .object({
64
+ chromeId: nonEmptyString.nonEmptyString.transform(transformChromeExtensionId.transformChromeExtensionId),
65
+ edgeId: nonEmptyString.nonEmptyString.transform(transformEdgeExtensionId.transformEdgeExtensionId),
66
+ firefoxId: nonEmptyString.nonEmptyString.transform(transformFirefoxExtensionId.transformFirefoxExtensionId),
67
+ native: nonEmptyString.nonEmptyString,
68
+ operaId: nonEmptyString.nonEmptyString,
69
+ safariId: nonEmptyString.nonEmptyString,
70
+ universal: nonEmptyString.nonEmptyString,
71
+ })
72
+ .optional()
73
+ .transform(filterEmptyObject.filterEmptyObject),
74
+ eip6963Config: zod.z.object({ rdns: zod.z.string() }).optional(),
75
+ filterFromWalletConnect: zod.z.boolean().optional(),
76
+ group: zod.z.string().optional(),
77
+ /**
78
+ * Indicates which hardware wallets are enabled for this wallet
79
+ */
80
+ hardwareWallets: zod.z.array(zod.z.string()).optional(),
81
+ injectedConfig: zod.z.array(injectedConfigSchema).optional(),
82
+ mobile: zod.z
83
+ .object({
84
+ android: zod.string().nullish(),
85
+ androidId: nonEmptyString.nonEmptyString.transform(transformAndroidId.transformAndroidId),
86
+ inAppBrowser: zod.string().nullish(),
87
+ ios: zod.string().nullish(),
88
+ iosId: nonEmptyString.nonEmptyString.transform(transformIosId.transformIosId),
89
+ native: nonEmptyString.nonEmptyString,
90
+ universal: nonEmptyString.nonEmptyString,
91
+ })
92
+ .optional()
93
+ .transform(filterEmptyObject.filterEmptyObject),
94
+ mobileExperience: zod.z.enum(['in-app-browser', 'redirect']).optional(),
95
+ name: zod.z.string(),
96
+ shortName: nonEmptyString.nonEmptyString,
97
+ showOnlyIfInstalled: zod.z.boolean().optional(),
98
+ switchNetworkOnlyFromWallet: zod.z.boolean().optional(),
99
+ walletConnect: zod.z
100
+ .object({
101
+ sdks: nonEmptyStringArray.nonEmptyStringArray,
102
+ })
103
+ .optional()
104
+ .transform(filterEmptyObject.filterEmptyObject),
105
+ walletGroup: zod.z.string().optional(),
106
+ /**
107
+ * Indicates which connector methods/events are not supported, keyed by wallet type
108
+ */
109
+ walletLimitations: zod.z
110
+ .object({
111
+ browserExtension: zod.z
112
+ .object({
113
+ unsupportedEvents: zod.z.array(zod.z.string()).optional(),
114
+ unsupportedMethods: zod.z.array(zod.z.string()).optional(),
115
+ })
116
+ .optional(),
117
+ mobile: zod.z
118
+ .object({
119
+ unsupportedEvents: zod.z.array(zod.z.string()).optional(),
120
+ unsupportedMethods: zod.z.array(zod.z.string()).optional(),
121
+ })
122
+ .optional(),
123
+ })
124
+ .optional(),
125
+ }))
126
+ .transform((val) => {
127
+ var _a, _b, _c, _d, _e, _f;
128
+ if (val.group) {
129
+ val.chainGroup = val.group;
130
+ }
131
+ if (((_a = val.mobile) === null || _a === void 0 ? void 0 : _a.iosId) || ((_b = val.mobile) === null || _b === void 0 ? void 0 : _b.ios) === null) {
132
+ (_c = val.mobile) === null || _c === void 0 ? true : delete _c.ios;
133
+ }
134
+ if (((_d = val.mobile) === null || _d === void 0 ? void 0 : _d.androidId) || ((_e = val.mobile) === null || _e === void 0 ? void 0 : _e.android) === null) {
135
+ (_f = val.mobile) === null || _f === void 0 ? true : delete _f.android;
136
+ }
137
+ return val;
138
+ });
139
+
140
+ exports.brandSchema = brandSchema;
141
+ exports.walletSchema = walletSchema;