@metamask/snaps-utils 7.3.0 → 7.4.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.
- package/CHANGELOG.md +14 -1
- package/dist/{chunk-4LELSKWG.js → chunk-3ZSYZX3I.js} +3 -3
- package/dist/{chunk-YAKDZ5LP.js → chunk-4YAWNZXM.js} +1 -1
- package/dist/chunk-4YAWNZXM.js.map +1 -0
- package/dist/{chunk-E5WSD47S.js → chunk-IAHW6IFC.js} +9 -3
- package/dist/chunk-IAHW6IFC.js.map +1 -0
- package/dist/{chunk-XNUUUOKX.js → chunk-KSRDEGBC.js} +6 -1
- package/dist/chunk-KSRDEGBC.js.map +1 -0
- package/dist/{chunk-YACE3IOJ.mjs → chunk-MJGSG5N2.mjs} +1 -1
- package/dist/chunk-MJGSG5N2.mjs.map +1 -0
- package/dist/{chunk-D7Z3SN2N.js → chunk-N4KSSDO5.js} +3 -3
- package/dist/{chunk-HTS6HGUU.mjs → chunk-QNPXK3B3.mjs} +8 -2
- package/dist/chunk-QNPXK3B3.mjs.map +1 -0
- package/dist/{chunk-PBSBESZZ.mjs → chunk-RLA43SHY.mjs} +2 -2
- package/dist/{chunk-2OJY3BXD.mjs → chunk-UCRFECSX.mjs} +2 -2
- package/dist/{chunk-PBXAWRWW.mjs → chunk-X3XJN63W.mjs} +6 -1
- package/dist/chunk-X3XJN63W.mjs.map +1 -0
- package/dist/derivation-paths.js +2 -2
- package/dist/derivation-paths.mjs +1 -1
- package/dist/index.js +7 -5
- package/dist/index.mjs +6 -4
- package/dist/manifest/index.js +4 -2
- package/dist/manifest/index.mjs +3 -1
- package/dist/manifest/manifest.js +3 -3
- package/dist/manifest/manifest.mjs +2 -2
- package/dist/manifest/node.js +5 -3
- package/dist/manifest/node.mjs +4 -2
- package/dist/manifest/validation.js +4 -2
- package/dist/manifest/validation.mjs +3 -1
- package/dist/node.js +8 -6
- package/dist/node.mjs +7 -5
- package/dist/npm.js +3 -3
- package/dist/npm.mjs +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/handlers.d.ts +168 -28
- package/dist/types/manifest/validation.d.ts +7 -11
- package/dist/types/ui.d.ts +2 -2
- package/dist/ui.js +2 -2
- package/dist/ui.mjs +1 -1
- package/dist/validation.js +3 -3
- package/dist/validation.mjs +2 -2
- package/package.json +5 -5
- package/dist/chunk-E5WSD47S.js.map +0 -1
- package/dist/chunk-HTS6HGUU.mjs.map +0 -1
- package/dist/chunk-PBXAWRWW.mjs.map +0 -1
- package/dist/chunk-XNUUUOKX.js.map +0 -1
- package/dist/chunk-YACE3IOJ.mjs.map +0 -1
- package/dist/chunk-YAKDZ5LP.js.map +0 -1
- /package/dist/{chunk-4LELSKWG.js.map → chunk-3ZSYZX3I.js.map} +0 -0
- /package/dist/{chunk-D7Z3SN2N.js.map → chunk-N4KSSDO5.js.map} +0 -0
- /package/dist/{chunk-PBSBESZZ.mjs.map → chunk-RLA43SHY.mjs.map} +0 -0
- /package/dist/{chunk-2OJY3BXD.mjs.map → chunk-UCRFECSX.mjs.map} +0 -0
package/dist/types/handlers.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ export declare const OnTransactionResponseWithIdStruct: import("superstruct").St
|
|
|
72
72
|
severity: import("superstruct").Struct<SeverityLevel | undefined, SeverityLevel>;
|
|
73
73
|
}>;
|
|
74
74
|
export declare const OnTransactionResponseWithContentStruct: import("superstruct").Struct<{
|
|
75
|
-
content: import("@metamask/snaps-sdk/jsx-
|
|
75
|
+
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | {
|
|
76
76
|
value: string;
|
|
77
77
|
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
78
78
|
sensitive?: boolean | undefined;
|
|
@@ -113,9 +113,9 @@ export declare const OnTransactionResponseWithContentStruct: import("superstruct
|
|
|
113
113
|
name: string;
|
|
114
114
|
value?: string | undefined;
|
|
115
115
|
error?: string | undefined;
|
|
116
|
-
placeholder?: string | undefined;
|
|
117
116
|
label?: string | undefined;
|
|
118
117
|
inputType?: "number" | "text" | "password" | undefined;
|
|
118
|
+
placeholder?: string | undefined;
|
|
119
119
|
} | {
|
|
120
120
|
value: string;
|
|
121
121
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -130,9 +130,9 @@ export declare const OnTransactionResponseWithContentStruct: import("superstruct
|
|
|
130
130
|
name: string;
|
|
131
131
|
value?: string | undefined;
|
|
132
132
|
error?: string | undefined;
|
|
133
|
-
placeholder?: string | undefined;
|
|
134
133
|
label?: string | undefined;
|
|
135
134
|
inputType?: "number" | "text" | "password" | undefined;
|
|
135
|
+
placeholder?: string | undefined;
|
|
136
136
|
} | {
|
|
137
137
|
value: string;
|
|
138
138
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -140,10 +140,30 @@ export declare const OnTransactionResponseWithContentStruct: import("superstruct
|
|
|
140
140
|
variant?: "primary" | "secondary" | undefined;
|
|
141
141
|
buttonType?: "button" | "submit" | undefined;
|
|
142
142
|
})[];
|
|
143
|
-
}
|
|
143
|
+
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
144
|
+
name: string;
|
|
145
|
+
type?: "number" | "text" | "password" | undefined;
|
|
146
|
+
value?: string | undefined;
|
|
147
|
+
placeholder?: string | undefined;
|
|
148
|
+
}, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
149
|
+
name: string;
|
|
150
|
+
value?: string | undefined;
|
|
151
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
152
|
+
value: string;
|
|
153
|
+
children: string;
|
|
154
|
+
}, "Option">>;
|
|
155
|
+
}, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
156
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field">>;
|
|
157
|
+
name: string;
|
|
158
|
+
}, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
159
|
+
children: import("@metamask/snaps-sdk/jsx").StringElement;
|
|
160
|
+
}, "Heading"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
161
|
+
src: string;
|
|
162
|
+
alt?: string | undefined;
|
|
163
|
+
}, "Image">;
|
|
144
164
|
severity?: SeverityLevel | undefined;
|
|
145
165
|
}, {
|
|
146
|
-
content: import("superstruct").Struct<import("@metamask/snaps-sdk/jsx-
|
|
166
|
+
content: import("superstruct").Struct<import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | {
|
|
147
167
|
value: string;
|
|
148
168
|
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
149
169
|
sensitive?: boolean | undefined;
|
|
@@ -184,9 +204,9 @@ export declare const OnTransactionResponseWithContentStruct: import("superstruct
|
|
|
184
204
|
name: string;
|
|
185
205
|
value?: string | undefined;
|
|
186
206
|
error?: string | undefined;
|
|
187
|
-
placeholder?: string | undefined;
|
|
188
207
|
label?: string | undefined;
|
|
189
208
|
inputType?: "number" | "text" | "password" | undefined;
|
|
209
|
+
placeholder?: string | undefined;
|
|
190
210
|
} | {
|
|
191
211
|
value: string;
|
|
192
212
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -201,9 +221,9 @@ export declare const OnTransactionResponseWithContentStruct: import("superstruct
|
|
|
201
221
|
name: string;
|
|
202
222
|
value?: string | undefined;
|
|
203
223
|
error?: string | undefined;
|
|
204
|
-
placeholder?: string | undefined;
|
|
205
224
|
label?: string | undefined;
|
|
206
225
|
inputType?: "number" | "text" | "password" | undefined;
|
|
226
|
+
placeholder?: string | undefined;
|
|
207
227
|
} | {
|
|
208
228
|
value: string;
|
|
209
229
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -211,14 +231,34 @@ export declare const OnTransactionResponseWithContentStruct: import("superstruct
|
|
|
211
231
|
variant?: "primary" | "secondary" | undefined;
|
|
212
232
|
buttonType?: "button" | "submit" | undefined;
|
|
213
233
|
})[];
|
|
214
|
-
}
|
|
234
|
+
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
235
|
+
name: string;
|
|
236
|
+
type?: "number" | "text" | "password" | undefined;
|
|
237
|
+
value?: string | undefined;
|
|
238
|
+
placeholder?: string | undefined;
|
|
239
|
+
}, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
240
|
+
name: string;
|
|
241
|
+
value?: string | undefined;
|
|
242
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
243
|
+
value: string;
|
|
244
|
+
children: string;
|
|
245
|
+
}, "Option">>;
|
|
246
|
+
}, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
247
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field">>;
|
|
248
|
+
name: string;
|
|
249
|
+
}, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
250
|
+
children: import("@metamask/snaps-sdk/jsx").StringElement;
|
|
251
|
+
}, "Heading"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
252
|
+
src: string;
|
|
253
|
+
alt?: string | undefined;
|
|
254
|
+
}, "Image">, null>;
|
|
215
255
|
severity: import("superstruct").Struct<SeverityLevel | undefined, SeverityLevel>;
|
|
216
256
|
}>;
|
|
217
257
|
export declare const OnTransactionResponseStruct: import("superstruct").Struct<{
|
|
218
258
|
id: string;
|
|
219
259
|
severity?: SeverityLevel | undefined;
|
|
220
260
|
} | {
|
|
221
|
-
content: import("@metamask/snaps-sdk/jsx-
|
|
261
|
+
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | {
|
|
222
262
|
value: string;
|
|
223
263
|
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
224
264
|
sensitive?: boolean | undefined;
|
|
@@ -259,9 +299,9 @@ export declare const OnTransactionResponseStruct: import("superstruct").Struct<{
|
|
|
259
299
|
name: string;
|
|
260
300
|
value?: string | undefined;
|
|
261
301
|
error?: string | undefined;
|
|
262
|
-
placeholder?: string | undefined;
|
|
263
302
|
label?: string | undefined;
|
|
264
303
|
inputType?: "number" | "text" | "password" | undefined;
|
|
304
|
+
placeholder?: string | undefined;
|
|
265
305
|
} | {
|
|
266
306
|
value: string;
|
|
267
307
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -276,9 +316,9 @@ export declare const OnTransactionResponseStruct: import("superstruct").Struct<{
|
|
|
276
316
|
name: string;
|
|
277
317
|
value?: string | undefined;
|
|
278
318
|
error?: string | undefined;
|
|
279
|
-
placeholder?: string | undefined;
|
|
280
319
|
label?: string | undefined;
|
|
281
320
|
inputType?: "number" | "text" | "password" | undefined;
|
|
321
|
+
placeholder?: string | undefined;
|
|
282
322
|
} | {
|
|
283
323
|
value: string;
|
|
284
324
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -286,14 +326,34 @@ export declare const OnTransactionResponseStruct: import("superstruct").Struct<{
|
|
|
286
326
|
variant?: "primary" | "secondary" | undefined;
|
|
287
327
|
buttonType?: "button" | "submit" | undefined;
|
|
288
328
|
})[];
|
|
289
|
-
}
|
|
329
|
+
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
330
|
+
name: string;
|
|
331
|
+
type?: "number" | "text" | "password" | undefined;
|
|
332
|
+
value?: string | undefined;
|
|
333
|
+
placeholder?: string | undefined;
|
|
334
|
+
}, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
335
|
+
name: string;
|
|
336
|
+
value?: string | undefined;
|
|
337
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
338
|
+
value: string;
|
|
339
|
+
children: string;
|
|
340
|
+
}, "Option">>;
|
|
341
|
+
}, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
342
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field">>;
|
|
343
|
+
name: string;
|
|
344
|
+
}, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
345
|
+
children: import("@metamask/snaps-sdk/jsx").StringElement;
|
|
346
|
+
}, "Heading"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
347
|
+
src: string;
|
|
348
|
+
alt?: string | undefined;
|
|
349
|
+
}, "Image">;
|
|
290
350
|
severity?: SeverityLevel | undefined;
|
|
291
351
|
} | null, null>;
|
|
292
352
|
export declare const OnSignatureResponseStruct: import("superstruct").Struct<{
|
|
293
353
|
id: string;
|
|
294
354
|
severity?: SeverityLevel | undefined;
|
|
295
355
|
} | {
|
|
296
|
-
content: import("@metamask/snaps-sdk/jsx-
|
|
356
|
+
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | {
|
|
297
357
|
value: string;
|
|
298
358
|
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
299
359
|
sensitive?: boolean | undefined;
|
|
@@ -334,9 +394,9 @@ export declare const OnSignatureResponseStruct: import("superstruct").Struct<{
|
|
|
334
394
|
name: string;
|
|
335
395
|
value?: string | undefined;
|
|
336
396
|
error?: string | undefined;
|
|
337
|
-
placeholder?: string | undefined;
|
|
338
397
|
label?: string | undefined;
|
|
339
398
|
inputType?: "number" | "text" | "password" | undefined;
|
|
399
|
+
placeholder?: string | undefined;
|
|
340
400
|
} | {
|
|
341
401
|
value: string;
|
|
342
402
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -351,9 +411,9 @@ export declare const OnSignatureResponseStruct: import("superstruct").Struct<{
|
|
|
351
411
|
name: string;
|
|
352
412
|
value?: string | undefined;
|
|
353
413
|
error?: string | undefined;
|
|
354
|
-
placeholder?: string | undefined;
|
|
355
414
|
label?: string | undefined;
|
|
356
415
|
inputType?: "number" | "text" | "password" | undefined;
|
|
416
|
+
placeholder?: string | undefined;
|
|
357
417
|
} | {
|
|
358
418
|
value: string;
|
|
359
419
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -361,11 +421,31 @@ export declare const OnSignatureResponseStruct: import("superstruct").Struct<{
|
|
|
361
421
|
variant?: "primary" | "secondary" | undefined;
|
|
362
422
|
buttonType?: "button" | "submit" | undefined;
|
|
363
423
|
})[];
|
|
364
|
-
}
|
|
424
|
+
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
425
|
+
name: string;
|
|
426
|
+
type?: "number" | "text" | "password" | undefined;
|
|
427
|
+
value?: string | undefined;
|
|
428
|
+
placeholder?: string | undefined;
|
|
429
|
+
}, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
430
|
+
name: string;
|
|
431
|
+
value?: string | undefined;
|
|
432
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
433
|
+
value: string;
|
|
434
|
+
children: string;
|
|
435
|
+
}, "Option">>;
|
|
436
|
+
}, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
437
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field">>;
|
|
438
|
+
name: string;
|
|
439
|
+
}, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
440
|
+
children: import("@metamask/snaps-sdk/jsx").StringElement;
|
|
441
|
+
}, "Heading"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
442
|
+
src: string;
|
|
443
|
+
alt?: string | undefined;
|
|
444
|
+
}, "Image">;
|
|
365
445
|
severity?: SeverityLevel | undefined;
|
|
366
446
|
} | null, null>;
|
|
367
447
|
export declare const OnHomePageResponseWithContentStruct: import("superstruct").Struct<{
|
|
368
|
-
content: import("@metamask/snaps-sdk/jsx-
|
|
448
|
+
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | {
|
|
369
449
|
value: string;
|
|
370
450
|
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
371
451
|
sensitive?: boolean | undefined;
|
|
@@ -406,9 +486,9 @@ export declare const OnHomePageResponseWithContentStruct: import("superstruct").
|
|
|
406
486
|
name: string;
|
|
407
487
|
value?: string | undefined;
|
|
408
488
|
error?: string | undefined;
|
|
409
|
-
placeholder?: string | undefined;
|
|
410
489
|
label?: string | undefined;
|
|
411
490
|
inputType?: "number" | "text" | "password" | undefined;
|
|
491
|
+
placeholder?: string | undefined;
|
|
412
492
|
} | {
|
|
413
493
|
value: string;
|
|
414
494
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -423,9 +503,9 @@ export declare const OnHomePageResponseWithContentStruct: import("superstruct").
|
|
|
423
503
|
name: string;
|
|
424
504
|
value?: string | undefined;
|
|
425
505
|
error?: string | undefined;
|
|
426
|
-
placeholder?: string | undefined;
|
|
427
506
|
label?: string | undefined;
|
|
428
507
|
inputType?: "number" | "text" | "password" | undefined;
|
|
508
|
+
placeholder?: string | undefined;
|
|
429
509
|
} | {
|
|
430
510
|
value: string;
|
|
431
511
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -433,9 +513,29 @@ export declare const OnHomePageResponseWithContentStruct: import("superstruct").
|
|
|
433
513
|
variant?: "primary" | "secondary" | undefined;
|
|
434
514
|
buttonType?: "button" | "submit" | undefined;
|
|
435
515
|
})[];
|
|
436
|
-
}
|
|
516
|
+
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
517
|
+
name: string;
|
|
518
|
+
type?: "number" | "text" | "password" | undefined;
|
|
519
|
+
value?: string | undefined;
|
|
520
|
+
placeholder?: string | undefined;
|
|
521
|
+
}, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
522
|
+
name: string;
|
|
523
|
+
value?: string | undefined;
|
|
524
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
525
|
+
value: string;
|
|
526
|
+
children: string;
|
|
527
|
+
}, "Option">>;
|
|
528
|
+
}, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
529
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field">>;
|
|
530
|
+
name: string;
|
|
531
|
+
}, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
532
|
+
children: import("@metamask/snaps-sdk/jsx").StringElement;
|
|
533
|
+
}, "Heading"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
534
|
+
src: string;
|
|
535
|
+
alt?: string | undefined;
|
|
536
|
+
}, "Image">;
|
|
437
537
|
}, {
|
|
438
|
-
content: import("superstruct").Struct<import("@metamask/snaps-sdk/jsx-
|
|
538
|
+
content: import("superstruct").Struct<import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | {
|
|
439
539
|
value: string;
|
|
440
540
|
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
441
541
|
sensitive?: boolean | undefined;
|
|
@@ -476,9 +576,9 @@ export declare const OnHomePageResponseWithContentStruct: import("superstruct").
|
|
|
476
576
|
name: string;
|
|
477
577
|
value?: string | undefined;
|
|
478
578
|
error?: string | undefined;
|
|
479
|
-
placeholder?: string | undefined;
|
|
480
579
|
label?: string | undefined;
|
|
481
580
|
inputType?: "number" | "text" | "password" | undefined;
|
|
581
|
+
placeholder?: string | undefined;
|
|
482
582
|
} | {
|
|
483
583
|
value: string;
|
|
484
584
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -493,9 +593,9 @@ export declare const OnHomePageResponseWithContentStruct: import("superstruct").
|
|
|
493
593
|
name: string;
|
|
494
594
|
value?: string | undefined;
|
|
495
595
|
error?: string | undefined;
|
|
496
|
-
placeholder?: string | undefined;
|
|
497
596
|
label?: string | undefined;
|
|
498
597
|
inputType?: "number" | "text" | "password" | undefined;
|
|
598
|
+
placeholder?: string | undefined;
|
|
499
599
|
} | {
|
|
500
600
|
value: string;
|
|
501
601
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -503,7 +603,27 @@ export declare const OnHomePageResponseWithContentStruct: import("superstruct").
|
|
|
503
603
|
variant?: "primary" | "secondary" | undefined;
|
|
504
604
|
buttonType?: "button" | "submit" | undefined;
|
|
505
605
|
})[];
|
|
506
|
-
}
|
|
606
|
+
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
607
|
+
name: string;
|
|
608
|
+
type?: "number" | "text" | "password" | undefined;
|
|
609
|
+
value?: string | undefined;
|
|
610
|
+
placeholder?: string | undefined;
|
|
611
|
+
}, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
612
|
+
name: string;
|
|
613
|
+
value?: string | undefined;
|
|
614
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
615
|
+
value: string;
|
|
616
|
+
children: string;
|
|
617
|
+
}, "Option">>;
|
|
618
|
+
}, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
619
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field">>;
|
|
620
|
+
name: string;
|
|
621
|
+
}, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
622
|
+
children: import("@metamask/snaps-sdk/jsx").StringElement;
|
|
623
|
+
}, "Heading"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
624
|
+
src: string;
|
|
625
|
+
alt?: string | undefined;
|
|
626
|
+
}, "Image">, null>;
|
|
507
627
|
}>;
|
|
508
628
|
export declare const OnHomePageResponseWithIdStruct: import("superstruct").Struct<{
|
|
509
629
|
id: string;
|
|
@@ -511,7 +631,7 @@ export declare const OnHomePageResponseWithIdStruct: import("superstruct").Struc
|
|
|
511
631
|
id: import("superstruct").Struct<string, null>;
|
|
512
632
|
}>;
|
|
513
633
|
export declare const OnHomePageResponseStruct: import("superstruct").Struct<{
|
|
514
|
-
content: import("@metamask/snaps-sdk/jsx-
|
|
634
|
+
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | {
|
|
515
635
|
value: string;
|
|
516
636
|
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
517
637
|
sensitive?: boolean | undefined;
|
|
@@ -552,9 +672,9 @@ export declare const OnHomePageResponseStruct: import("superstruct").Struct<{
|
|
|
552
672
|
name: string;
|
|
553
673
|
value?: string | undefined;
|
|
554
674
|
error?: string | undefined;
|
|
555
|
-
placeholder?: string | undefined;
|
|
556
675
|
label?: string | undefined;
|
|
557
676
|
inputType?: "number" | "text" | "password" | undefined;
|
|
677
|
+
placeholder?: string | undefined;
|
|
558
678
|
} | {
|
|
559
679
|
value: string;
|
|
560
680
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -569,9 +689,9 @@ export declare const OnHomePageResponseStruct: import("superstruct").Struct<{
|
|
|
569
689
|
name: string;
|
|
570
690
|
value?: string | undefined;
|
|
571
691
|
error?: string | undefined;
|
|
572
|
-
placeholder?: string | undefined;
|
|
573
692
|
label?: string | undefined;
|
|
574
693
|
inputType?: "number" | "text" | "password" | undefined;
|
|
694
|
+
placeholder?: string | undefined;
|
|
575
695
|
} | {
|
|
576
696
|
value: string;
|
|
577
697
|
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
@@ -579,7 +699,27 @@ export declare const OnHomePageResponseStruct: import("superstruct").Struct<{
|
|
|
579
699
|
variant?: "primary" | "secondary" | undefined;
|
|
580
700
|
buttonType?: "button" | "submit" | undefined;
|
|
581
701
|
})[];
|
|
582
|
-
}
|
|
702
|
+
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
703
|
+
name: string;
|
|
704
|
+
type?: "number" | "text" | "password" | undefined;
|
|
705
|
+
value?: string | undefined;
|
|
706
|
+
placeholder?: string | undefined;
|
|
707
|
+
}, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
708
|
+
name: string;
|
|
709
|
+
value?: string | undefined;
|
|
710
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
711
|
+
value: string;
|
|
712
|
+
children: string;
|
|
713
|
+
}, "Option">>;
|
|
714
|
+
}, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
715
|
+
children: import("@metamask/snaps-sdk/jsx").MaybeArray<import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field">>;
|
|
716
|
+
name: string;
|
|
717
|
+
}, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
718
|
+
children: import("@metamask/snaps-sdk/jsx").StringElement;
|
|
719
|
+
}, "Heading"> | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
720
|
+
src: string;
|
|
721
|
+
alt?: string | undefined;
|
|
722
|
+
}, "Image">;
|
|
583
723
|
} | {
|
|
584
724
|
id: string;
|
|
585
725
|
}, null>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SupportedCurve } from '@metamask/key-tree';
|
|
1
2
|
import type { EmptyObject, InitialPermissions } from '@metamask/snaps-sdk';
|
|
2
3
|
import type { Describe, Infer, Struct } from 'superstruct';
|
|
3
4
|
import type { InferMatching } from '../structs';
|
|
@@ -7,29 +8,24 @@ export declare const bip32entropy: <Type extends {
|
|
|
7
8
|
path: string[];
|
|
8
9
|
curve: string;
|
|
9
10
|
}, Schema>(struct: Struct<Type, Schema>) => Struct<Type, Schema>;
|
|
11
|
+
export declare const CurveStruct: Describe<SupportedCurve>;
|
|
10
12
|
export declare const Bip32EntropyStruct: Struct<{
|
|
11
13
|
path: string[];
|
|
12
|
-
curve: "ed25519" | "secp256k1";
|
|
14
|
+
curve: "ed25519" | "ed25519Bip32" | "secp256k1";
|
|
13
15
|
}, {
|
|
14
16
|
path: Struct<string[], Struct<string, null>>;
|
|
15
|
-
curve:
|
|
16
|
-
ed25519: "ed25519";
|
|
17
|
-
secp256k1: "secp256k1";
|
|
18
|
-
}>;
|
|
17
|
+
curve: Describe<"ed25519" | "ed25519Bip32" | "secp256k1">;
|
|
19
18
|
}>;
|
|
20
19
|
export declare type Bip32Entropy = Infer<typeof Bip32EntropyStruct>;
|
|
21
20
|
export declare const SnapGetBip32EntropyPermissionsStruct: Struct<{
|
|
22
21
|
path: string[];
|
|
23
|
-
curve: "ed25519" | "secp256k1";
|
|
22
|
+
curve: "ed25519" | "ed25519Bip32" | "secp256k1";
|
|
24
23
|
}[], Struct<{
|
|
25
24
|
path: string[];
|
|
26
|
-
curve: "ed25519" | "secp256k1";
|
|
25
|
+
curve: "ed25519" | "ed25519Bip32" | "secp256k1";
|
|
27
26
|
}, {
|
|
28
27
|
path: Struct<string[], Struct<string, null>>;
|
|
29
|
-
curve:
|
|
30
|
-
ed25519: "ed25519";
|
|
31
|
-
secp256k1: "secp256k1";
|
|
32
|
-
}>;
|
|
28
|
+
curve: Describe<"ed25519" | "ed25519Bip32" | "secp256k1">;
|
|
33
29
|
}>>;
|
|
34
30
|
export declare const SemVerRangeStruct: Struct<string, null>;
|
|
35
31
|
export declare const SnapIdsStruct: Struct<Record<string, {
|
package/dist/types/ui.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Component } from '@metamask/snaps-sdk';
|
|
2
|
-
import type { JSXElement, MaybeArray } from '@metamask/snaps-sdk/jsx';
|
|
2
|
+
import type { JSXElement, LinkElement, MaybeArray, StandardFormattingElement } from '@metamask/snaps-sdk/jsx';
|
|
3
3
|
/**
|
|
4
4
|
* Get all text children from a markdown string.
|
|
5
5
|
*
|
|
6
6
|
* @param value - The markdown string.
|
|
7
7
|
* @returns The text children.
|
|
8
8
|
*/
|
|
9
|
-
export declare function getTextChildren(value: string): (string |
|
|
9
|
+
export declare function getTextChildren(value: string): (string | StandardFormattingElement | LinkElement)[];
|
|
10
10
|
/**
|
|
11
11
|
* Get a JSX element from a legacy UI component. This supports all legacy UI
|
|
12
12
|
* components, and maps them to their JSX equivalents where possible.
|
package/dist/ui.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunk4YAWNZXMjs = require('./chunk-4YAWNZXM.js');
|
|
11
11
|
require('./chunk-PHUTP7NB.js');
|
|
12
12
|
|
|
13
13
|
|
|
@@ -18,5 +18,5 @@ require('./chunk-PHUTP7NB.js');
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
exports.getJsxChildren =
|
|
21
|
+
exports.getJsxChildren = _chunk4YAWNZXMjs.getJsxChildren; exports.getJsxElementFromComponent = _chunk4YAWNZXMjs.getJsxElementFromComponent; exports.getTextChildren = _chunk4YAWNZXMjs.getTextChildren; exports.getTotalTextLength = _chunk4YAWNZXMjs.getTotalTextLength; exports.hasChildren = _chunk4YAWNZXMjs.hasChildren; exports.validateJsxLinks = _chunk4YAWNZXMjs.validateJsxLinks; exports.validateTextLinks = _chunk4YAWNZXMjs.validateTextLinks; exports.walkJsx = _chunk4YAWNZXMjs.walkJsx;
|
|
22
22
|
//# sourceMappingURL=ui.js.map
|
package/dist/ui.mjs
CHANGED
package/dist/validation.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
3
|
+
var _chunk3ZSYZX3Ijs = require('./chunk-3ZSYZX3I.js');
|
|
4
|
+
require('./chunk-IAHW6IFC.js');
|
|
5
5
|
require('./chunk-HVTYDKBO.js');
|
|
6
6
|
require('./chunk-M3KAAQFK.js');
|
|
7
7
|
require('./chunk-6LOYTBS3.js');
|
|
@@ -20,5 +20,5 @@ require('./chunk-NUCLSR2G.js');
|
|
|
20
20
|
require('./chunk-PHUTP7NB.js');
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
exports.validateFetchedSnap =
|
|
23
|
+
exports.validateFetchedSnap = _chunk3ZSYZX3Ijs.validateFetchedSnap;
|
|
24
24
|
//# sourceMappingURL=validation.js.map
|
package/dist/validation.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/snaps-utils",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.4.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/MetaMask/snaps.git"
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
"@babel/core": "^7.23.2",
|
|
54
54
|
"@babel/types": "^7.23.0",
|
|
55
55
|
"@metamask/base-controller": "^5.0.2",
|
|
56
|
-
"@metamask/key-tree": "^9.
|
|
56
|
+
"@metamask/key-tree": "^9.1.1",
|
|
57
57
|
"@metamask/permission-controller": "^9.0.2",
|
|
58
58
|
"@metamask/rpc-errors": "^6.2.1",
|
|
59
59
|
"@metamask/slip44": "^3.1.0",
|
|
60
60
|
"@metamask/snaps-registry": "^3.1.0",
|
|
61
|
-
"@metamask/snaps-sdk": "^4.1
|
|
61
|
+
"@metamask/snaps-sdk": "^4.4.1",
|
|
62
62
|
"@metamask/utils": "^8.3.0",
|
|
63
63
|
"@noble/hashes": "^1.3.1",
|
|
64
64
|
"@scure/base": "^1.1.1",
|
|
@@ -76,13 +76,13 @@
|
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@esbuild-plugins/node-globals-polyfill": "^0.2.3",
|
|
78
78
|
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
|
|
79
|
-
"@lavamoat/allow-scripts": "^3.0.
|
|
79
|
+
"@lavamoat/allow-scripts": "^3.0.4",
|
|
80
80
|
"@metamask/auto-changelog": "^3.4.4",
|
|
81
81
|
"@metamask/eslint-config": "^12.1.0",
|
|
82
82
|
"@metamask/eslint-config-jest": "^12.1.0",
|
|
83
83
|
"@metamask/eslint-config-nodejs": "^12.1.0",
|
|
84
84
|
"@metamask/eslint-config-typescript": "^12.1.0",
|
|
85
|
-
"@metamask/post-message-stream": "^8.
|
|
85
|
+
"@metamask/post-message-stream": "^8.1.0",
|
|
86
86
|
"@swc/core": "1.3.78",
|
|
87
87
|
"@swc/jest": "^0.2.26",
|
|
88
88
|
"@types/jest": "^27.5.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/manifest/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { isValidBIP32PathSegment } from '@metamask/key-tree';\nimport type { EmptyObject, InitialPermissions } from '@metamask/snaps-sdk';\nimport {\n assertStruct,\n ChecksumStruct,\n VersionStruct,\n isValidSemVerRange,\n inMilliseconds,\n Duration,\n} from '@metamask/utils';\nimport type { Describe, Infer, Struct } from 'superstruct';\nimport {\n array,\n boolean,\n create,\n enums,\n integer,\n is,\n literal,\n object,\n optional,\n refine,\n record,\n size,\n string,\n type,\n union,\n intersection,\n assign,\n} from 'superstruct';\n\nimport { isEqual } from '../array';\nimport { CronjobSpecificationArrayStruct } from '../cronjob';\nimport { SIP_6_MAGIC_VALUE, STATE_ENCRYPTION_MAGIC_VALUE } from '../entropy';\nimport { KeyringOriginsStruct, RpcOriginsStruct } from '../json-rpc';\nimport { ChainIdStruct } from '../namespace';\nimport { SnapIdStruct } from '../snaps';\nimport type { InferMatching } from '../structs';\nimport { NameStruct, NpmSnapFileNames, uri } from '../types';\n\n// BIP-43 purposes that cannot be used for entropy derivation. These are in the\n// string form, ending with `'`.\nconst FORBIDDEN_PURPOSES: string[] = [\n SIP_6_MAGIC_VALUE,\n STATE_ENCRYPTION_MAGIC_VALUE,\n];\n\nexport const FORBIDDEN_COIN_TYPES: number[] = [60];\nconst FORBIDDEN_PATHS: string[][] = FORBIDDEN_COIN_TYPES.map((coinType) => [\n 'm',\n \"44'\",\n `${coinType}'`,\n]);\n\nexport const Bip32PathStruct = refine(\n array(string()),\n 'BIP-32 path',\n (path: string[]) => {\n if (path.length === 0) {\n return 'Path must be a non-empty BIP-32 derivation path array';\n }\n\n if (path[0] !== 'm') {\n return 'Path must start with \"m\".';\n }\n\n if (path.length < 3) {\n return 'Paths must have a length of at least three.';\n }\n\n if (path.slice(1).some((part) => !isValidBIP32PathSegment(part))) {\n return 'Path must be a valid BIP-32 derivation path array.';\n }\n\n if (FORBIDDEN_PURPOSES.includes(path[1])) {\n return `The purpose \"${path[1]}\" is not allowed for entropy derivation.`;\n }\n\n if (\n FORBIDDEN_PATHS.some((forbiddenPath) =>\n isEqual(path.slice(0, forbiddenPath.length), forbiddenPath),\n )\n ) {\n return `The path \"${path.join(\n '/',\n )}\" is not allowed for entropy derivation.`;\n }\n\n return true;\n },\n);\n\nexport const bip32entropy = <\n Type extends { path: string[]; curve: string },\n Schema,\n>(\n struct: Struct<Type, Schema>,\n) =>\n refine(struct, 'BIP-32 entropy', (value) => {\n if (\n value.curve === 'ed25519' &&\n value.path.slice(1).some((part) => !part.endsWith(\"'\"))\n ) {\n return 'Ed25519 does not support unhardened paths.';\n }\n\n return true;\n });\n\n// Used outside @metamask/snap-utils\nexport const Bip32EntropyStruct = bip32entropy(\n type({\n path: Bip32PathStruct,\n curve: enums(['ed25519', 'secp256k1']),\n }),\n);\n\nexport type Bip32Entropy = Infer<typeof Bip32EntropyStruct>;\n\nexport const SnapGetBip32EntropyPermissionsStruct = size(\n array(Bip32EntropyStruct),\n 1,\n Infinity,\n);\n\nexport const SemVerRangeStruct = refine(string(), 'SemVer range', (value) => {\n if (isValidSemVerRange(value)) {\n return true;\n }\n return 'Expected a valid SemVer range.';\n});\n\nexport const SnapIdsStruct = refine(\n record(SnapIdStruct, object({ version: optional(SemVerRangeStruct) })),\n 'SnapIds',\n (value) => {\n if (Object.keys(value).length === 0) {\n return false;\n }\n\n return true;\n },\n);\n\nexport type SnapIds = Infer<typeof SnapIdsStruct>;\n\nexport const ChainIdsStruct = size(array(ChainIdStruct), 1, Infinity);\n\nexport const LookupMatchersStruct = union([\n object({\n tlds: size(array(string()), 1, Infinity),\n }),\n object({\n schemes: size(array(string()), 1, Infinity),\n }),\n object({\n tlds: size(array(string()), 1, Infinity),\n schemes: size(array(string()), 1, Infinity),\n }),\n]);\n\nexport const MINIMUM_REQUEST_TIMEOUT = inMilliseconds(5, Duration.Second);\nexport const MAXIMUM_REQUEST_TIMEOUT = inMilliseconds(3, Duration.Minute);\n\nexport const MaxRequestTimeStruct = size(\n integer(),\n MINIMUM_REQUEST_TIMEOUT,\n MAXIMUM_REQUEST_TIMEOUT,\n);\n\n// Utility type to union with for all handler structs\nexport const HandlerCaveatsStruct = object({\n maxRequestTime: optional(MaxRequestTimeStruct),\n});\n\nexport type HandlerCaveats = Infer<typeof HandlerCaveatsStruct>;\n\nexport const EmptyObjectStruct = object<EmptyObject>({}) as unknown as Struct<\n EmptyObject,\n null\n>;\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport const PermissionsStruct: Describe<InitialPermissions> = type({\n 'endowment:cronjob': optional(\n assign(\n HandlerCaveatsStruct,\n object({ jobs: CronjobSpecificationArrayStruct }),\n ),\n ),\n 'endowment:ethereum-provider': optional(EmptyObjectStruct),\n 'endowment:keyring': optional(\n assign(HandlerCaveatsStruct, KeyringOriginsStruct),\n ),\n 'endowment:lifecycle-hooks': optional(HandlerCaveatsStruct),\n 'endowment:name-lookup': optional(\n assign(\n HandlerCaveatsStruct,\n object({\n chains: optional(ChainIdsStruct),\n matchers: optional(LookupMatchersStruct),\n }),\n ),\n ),\n 'endowment:network-access': optional(EmptyObjectStruct),\n 'endowment:page-home': optional(HandlerCaveatsStruct),\n 'endowment:rpc': optional(assign(HandlerCaveatsStruct, RpcOriginsStruct)),\n 'endowment:signature-insight': optional(\n assign(\n HandlerCaveatsStruct,\n object({\n allowSignatureOrigin: optional(boolean()),\n }),\n ),\n ),\n 'endowment:transaction-insight': optional(\n assign(\n HandlerCaveatsStruct,\n object({\n allowTransactionOrigin: optional(boolean()),\n }),\n ),\n ),\n 'endowment:webassembly': optional(EmptyObjectStruct),\n snap_dialog: optional(EmptyObjectStruct),\n snap_manageState: optional(EmptyObjectStruct),\n snap_manageAccounts: optional(EmptyObjectStruct),\n snap_notify: optional(EmptyObjectStruct),\n snap_getBip32Entropy: optional(SnapGetBip32EntropyPermissionsStruct),\n snap_getBip32PublicKey: optional(SnapGetBip32EntropyPermissionsStruct),\n snap_getBip44Entropy: optional(\n size(\n array(object({ coinType: size(integer(), 0, 2 ** 32 - 1) })),\n 1,\n Infinity,\n ),\n ),\n snap_getEntropy: optional(EmptyObjectStruct),\n snap_getLocale: optional(EmptyObjectStruct),\n wallet_snap: optional(SnapIdsStruct),\n});\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport type SnapPermissions = InferMatching<\n typeof PermissionsStruct,\n InitialPermissions\n>;\n\nexport const SnapAuxilaryFilesStruct = array(string());\n\nexport const InitialConnectionsStruct = record(\n intersection([string(), uri()]),\n object({}),\n);\n\nexport type InitialConnections = Infer<typeof InitialConnectionsStruct>;\n\nexport const SnapManifestStruct = object({\n version: VersionStruct,\n description: size(string(), 1, 280),\n proposedName: size(string(), 1, 214),\n repository: optional(\n object({\n type: size(string(), 1, Infinity),\n url: size(string(), 1, Infinity),\n }),\n ),\n source: object({\n shasum: ChecksumStruct,\n location: object({\n npm: object({\n filePath: size(string(), 1, Infinity),\n iconPath: optional(size(string(), 1, Infinity)),\n packageName: NameStruct,\n registry: union([\n literal('https://registry.npmjs.org'),\n literal('https://registry.npmjs.org/'),\n ]),\n }),\n }),\n files: optional(SnapAuxilaryFilesStruct),\n locales: optional(SnapAuxilaryFilesStruct),\n }),\n initialConnections: optional(InitialConnectionsStruct),\n initialPermissions: PermissionsStruct,\n manifestVersion: literal('0.1'),\n $schema: optional(string()), // enables JSON-Schema linting in VSC and other IDEs\n});\n\nexport type SnapManifest = Infer<typeof SnapManifestStruct>;\n\n/**\n * Check if the given value is a valid {@link SnapManifest} object.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid {@link SnapManifest} object.\n */\nexport function isSnapManifest(value: unknown): value is SnapManifest {\n return is(value, SnapManifestStruct);\n}\n\n/**\n * Assert that the given value is a valid {@link SnapManifest} object.\n *\n * @param value - The value to check.\n * @throws If the value is not a valid {@link SnapManifest} object.\n */\nexport function assertIsSnapManifest(\n value: unknown,\n): asserts value is SnapManifest {\n assertStruct(\n value,\n SnapManifestStruct,\n `\"${NpmSnapFileNames.Manifest}\" is invalid`,\n );\n}\n\n/**\n * Creates a {@link SnapManifest} object from JSON.\n *\n * @param value - The value to check.\n * @throws If the value cannot be coerced to a {@link SnapManifest} object.\n * @returns The created {@link SnapManifest} object.\n */\nexport function createSnapManifest(value: unknown): SnapManifest {\n // TODO: Add a utility to prefix these errors similar to assertStruct\n return create(value, SnapManifestStruct);\n}\n"]}
|