@metamask/snaps-rpc-methods 4.1.0 → 6.0.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 (144) hide show
  1. package/CHANGELOG.md +24 -2
  2. package/dist/cjs/endowments/caveats/generic.js +40 -0
  3. package/dist/cjs/endowments/caveats/generic.js.map +1 -0
  4. package/dist/cjs/endowments/caveats/index.js +21 -0
  5. package/dist/cjs/endowments/caveats/index.js.map +1 -0
  6. package/dist/cjs/endowments/caveats/requestTime.js +99 -0
  7. package/dist/cjs/endowments/caveats/requestTime.js.map +1 -0
  8. package/dist/cjs/endowments/cronjob.js +100 -0
  9. package/dist/cjs/endowments/cronjob.js.map +1 -0
  10. package/dist/cjs/endowments/enum.js +26 -0
  11. package/dist/cjs/endowments/enum.js.map +1 -0
  12. package/dist/cjs/endowments/ethereum-provider.js +43 -0
  13. package/dist/cjs/endowments/ethereum-provider.js.map +1 -0
  14. package/dist/cjs/endowments/home-page.js +37 -0
  15. package/dist/cjs/endowments/home-page.js.map +1 -0
  16. package/dist/cjs/endowments/index.js +121 -0
  17. package/dist/cjs/endowments/index.js.map +1 -0
  18. package/dist/cjs/endowments/keyring.js +104 -0
  19. package/dist/cjs/endowments/keyring.js.map +1 -0
  20. package/dist/cjs/endowments/lifecycle-hooks.js +37 -0
  21. package/dist/cjs/endowments/lifecycle-hooks.js.map +1 -0
  22. package/dist/cjs/endowments/name-lookup.js +148 -0
  23. package/dist/cjs/endowments/name-lookup.js.map +1 -0
  24. package/dist/cjs/endowments/network-access.js +44 -0
  25. package/dist/cjs/endowments/network-access.js.map +1 -0
  26. package/dist/cjs/endowments/rpc.js +103 -0
  27. package/dist/cjs/endowments/rpc.js.map +1 -0
  28. package/dist/cjs/endowments/signature-insight.js +110 -0
  29. package/dist/cjs/endowments/signature-insight.js.map +1 -0
  30. package/dist/cjs/endowments/transaction-insight.js +111 -0
  31. package/dist/cjs/endowments/transaction-insight.js.map +1 -0
  32. package/dist/cjs/endowments/web-assembly.js +42 -0
  33. package/dist/cjs/endowments/web-assembly.js.map +1 -0
  34. package/dist/cjs/index.js +3 -1
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/cjs/permissions.js +62 -0
  37. package/dist/cjs/permissions.js.map +1 -0
  38. package/dist/cjs/permitted/createInterface.js +68 -0
  39. package/dist/cjs/permitted/createInterface.js.map +1 -0
  40. package/dist/cjs/permitted/getClientStatus.js +40 -0
  41. package/dist/cjs/permitted/getClientStatus.js.map +1 -0
  42. package/dist/cjs/permitted/getFile.js +1 -1
  43. package/dist/cjs/permitted/getFile.js.map +1 -1
  44. package/dist/cjs/permitted/getInterfaceState.js +67 -0
  45. package/dist/cjs/permitted/getInterfaceState.js.map +1 -0
  46. package/dist/cjs/permitted/handlers.js +9 -1
  47. package/dist/cjs/permitted/handlers.js.map +1 -1
  48. package/dist/cjs/permitted/index.js.map +1 -1
  49. package/dist/cjs/permitted/invokeKeyring.js +2 -3
  50. package/dist/cjs/permitted/invokeKeyring.js.map +1 -1
  51. package/dist/cjs/permitted/updateInterface.js +70 -0
  52. package/dist/cjs/permitted/updateInterface.js.map +1 -0
  53. package/dist/cjs/restricted/dialog.js +51 -24
  54. package/dist/cjs/restricted/dialog.js.map +1 -1
  55. package/dist/cjs/restricted/index.js +3 -0
  56. package/dist/cjs/restricted/index.js.map +1 -1
  57. package/dist/cjs/restricted/manageState.js +4 -13
  58. package/dist/cjs/restricted/manageState.js.map +1 -1
  59. package/dist/esm/endowments/caveats/generic.js +40 -0
  60. package/dist/esm/endowments/caveats/generic.js.map +1 -0
  61. package/dist/esm/endowments/caveats/index.js +4 -0
  62. package/dist/esm/endowments/caveats/index.js.map +1 -0
  63. package/dist/esm/endowments/caveats/requestTime.js +93 -0
  64. package/dist/esm/endowments/caveats/requestTime.js.map +1 -0
  65. package/dist/esm/endowments/cronjob.js +99 -0
  66. package/dist/esm/endowments/cronjob.js.map +1 -0
  67. package/dist/esm/endowments/enum.js +16 -0
  68. package/dist/esm/endowments/enum.js.map +1 -0
  69. package/dist/esm/endowments/ethereum-provider.js +33 -0
  70. package/dist/esm/endowments/ethereum-provider.js.map +1 -0
  71. package/dist/esm/endowments/home-page.js +27 -0
  72. package/dist/esm/endowments/home-page.js.map +1 -0
  73. package/dist/esm/endowments/index.js +68 -0
  74. package/dist/esm/endowments/index.js.map +1 -0
  75. package/dist/esm/endowments/keyring.js +95 -0
  76. package/dist/esm/endowments/keyring.js.map +1 -0
  77. package/dist/esm/endowments/lifecycle-hooks.js +27 -0
  78. package/dist/esm/endowments/lifecycle-hooks.js.map +1 -0
  79. package/dist/esm/endowments/name-lookup.js +146 -0
  80. package/dist/esm/endowments/name-lookup.js.map +1 -0
  81. package/dist/esm/endowments/network-access.js +34 -0
  82. package/dist/esm/endowments/network-access.js.map +1 -0
  83. package/dist/esm/endowments/rpc.js +92 -0
  84. package/dist/esm/endowments/rpc.js.map +1 -0
  85. package/dist/esm/endowments/signature-insight.js +103 -0
  86. package/dist/esm/endowments/signature-insight.js.map +1 -0
  87. package/dist/esm/endowments/transaction-insight.js +104 -0
  88. package/dist/esm/endowments/transaction-insight.js.map +1 -0
  89. package/dist/esm/endowments/web-assembly.js +32 -0
  90. package/dist/esm/endowments/web-assembly.js.map +1 -0
  91. package/dist/esm/index.js +3 -1
  92. package/dist/esm/index.js.map +1 -1
  93. package/dist/esm/permissions.js +51 -0
  94. package/dist/esm/permissions.js.map +1 -0
  95. package/dist/esm/permitted/createInterface.js +58 -0
  96. package/dist/esm/permitted/createInterface.js.map +1 -0
  97. package/dist/esm/permitted/getClientStatus.js +32 -0
  98. package/dist/esm/permitted/getClientStatus.js.map +1 -0
  99. package/dist/esm/permitted/getFile.js +1 -1
  100. package/dist/esm/permitted/getFile.js.map +1 -1
  101. package/dist/esm/permitted/getInterfaceState.js +57 -0
  102. package/dist/esm/permitted/getInterfaceState.js.map +1 -0
  103. package/dist/esm/permitted/handlers.js +9 -1
  104. package/dist/esm/permitted/handlers.js.map +1 -1
  105. package/dist/esm/permitted/index.js.map +1 -1
  106. package/dist/esm/permitted/invokeKeyring.js +2 -3
  107. package/dist/esm/permitted/invokeKeyring.js.map +1 -1
  108. package/dist/esm/permitted/updateInterface.js +60 -0
  109. package/dist/esm/permitted/updateInterface.js.map +1 -0
  110. package/dist/esm/restricted/dialog.js +55 -29
  111. package/dist/esm/restricted/dialog.js.map +1 -1
  112. package/dist/esm/restricted/index.js +1 -0
  113. package/dist/esm/restricted/index.js.map +1 -1
  114. package/dist/esm/restricted/manageState.js +1 -1
  115. package/dist/esm/restricted/manageState.js.map +1 -1
  116. package/dist/types/endowments/caveats/generic.d.ts +19 -0
  117. package/dist/types/endowments/caveats/index.d.ts +2 -0
  118. package/dist/types/endowments/caveats/requestTime.d.ts +29 -0
  119. package/dist/types/endowments/cronjob.d.ts +51 -0
  120. package/dist/types/endowments/enum.d.ts +13 -0
  121. package/dist/types/endowments/ethereum-provider.d.ts +14 -0
  122. package/dist/types/endowments/home-page.d.ts +15 -0
  123. package/dist/types/endowments/index.d.ts +131 -0
  124. package/dist/types/endowments/keyring.d.ts +39 -0
  125. package/dist/types/endowments/lifecycle-hooks.d.ts +15 -0
  126. package/dist/types/endowments/name-lookup.d.ts +49 -0
  127. package/dist/types/endowments/network-access.d.ts +14 -0
  128. package/dist/types/endowments/rpc.d.ts +38 -0
  129. package/dist/types/endowments/signature-insight.d.ts +39 -0
  130. package/dist/types/endowments/transaction-insight.d.ts +39 -0
  131. package/dist/types/endowments/web-assembly.d.ts +14 -0
  132. package/dist/types/index.d.ts +4 -2
  133. package/dist/types/permissions.d.ts +16 -0
  134. package/dist/types/permitted/createInterface.d.ts +150 -0
  135. package/dist/types/permitted/getClientStatus.d.ts +13 -0
  136. package/dist/types/permitted/getInterfaceState.d.ts +18 -0
  137. package/dist/types/permitted/handlers.d.ts +5 -1
  138. package/dist/types/permitted/index.d.ts +5 -1
  139. package/dist/types/permitted/invokeKeyring.d.ts +3 -3
  140. package/dist/types/permitted/updateInterface.d.ts +152 -0
  141. package/dist/types/restricted/dialog.d.ts +776 -14
  142. package/dist/types/restricted/index.d.ts +1 -0
  143. package/dist/types/restricted/manageState.d.ts +18 -0
  144. package/package.json +8 -8
@@ -1,30 +1,39 @@
1
1
  import type { PermissionSpecificationBuilder, RestrictedMethodOptions } from '@metamask/permission-controller';
2
2
  import { PermissionType } from '@metamask/permission-controller';
3
3
  import { DialogType } from '@metamask/snaps-sdk';
4
- import type { DialogParams, EnumToUnion, Component } from '@metamask/snaps-sdk';
4
+ import type { DialogParams, EnumToUnion, Component, InterfaceState, SnapId } from '@metamask/snaps-sdk';
5
5
  import type { InferMatching } from '@metamask/snaps-utils';
6
- import type { NonEmptyArray } from '@metamask/utils';
6
+ import { type NonEmptyArray } from '@metamask/utils';
7
7
  import type { Infer, Struct } from 'superstruct';
8
8
  import { type MethodHooksObject } from '../utils';
9
9
  declare const methodName = "snap_dialog";
10
10
  declare const PlaceholderStruct: Struct<string | undefined, null>;
11
11
  export declare type Placeholder = Infer<typeof PlaceholderStruct>;
12
- declare type ShowDialog = (snapId: string, type: EnumToUnion<DialogType>, content: Component, placeholder?: Placeholder) => Promise<null | boolean | string>;
13
- declare type MaybeUpdatePhisingList = () => Promise<void>;
14
- declare type IsOnPhishingList = (url: string) => boolean;
12
+ declare type ShowDialog = (snapId: string, type: EnumToUnion<DialogType>, id: string, placeholder?: Placeholder) => Promise<null | boolean | string>;
13
+ declare type CreateInterface = (snapId: string, content: Component) => Promise<string>;
14
+ declare type GetInterface = (snapId: string, id: string) => {
15
+ content: Component;
16
+ snapId: SnapId;
17
+ state: InterfaceState;
18
+ };
15
19
  export declare type DialogMethodHooks = {
16
20
  /**
17
21
  * @param snapId - The ID of the Snap that created the alert.
18
22
  * @param type - The dialog type.
19
- * @param content - The dialog custom UI.
23
+ * @param id - The interface ID.
20
24
  * @param placeholder - The placeholder for the Prompt dialog input.
21
25
  */
22
26
  showDialog: ShowDialog;
23
- maybeUpdatePhishingList: MaybeUpdatePhisingList;
24
27
  /**
25
- * @param url - The URL to check against the phishing list.
28
+ * @param snapId - The Snap ID creating the interface.
29
+ * @param content - The content of the interface.
30
+ */
31
+ createInterface: CreateInterface;
32
+ /**
33
+ * @param snapId - The SnapId requesting the interface.
34
+ * @param id - The interface ID.
26
35
  */
27
- isOnPhishingList: IsOnPhishingList;
36
+ getInterface: GetInterface;
28
37
  };
29
38
  declare type DialogSpecificationBuilderOptions = {
30
39
  allowedCaveats?: Readonly<NonEmptyArray<string>> | null;
@@ -78,9 +87,620 @@ declare const DialogParametersStruct: Struct<{
78
87
  type: import("@metamask/snaps-sdk").NodeType.Row;
79
88
  label: string;
80
89
  variant?: "default" | "warning" | "critical" | undefined;
90
+ } | {
91
+ type: import("@metamask/snaps-sdk").NodeType.Input;
92
+ name: string;
93
+ value?: string | undefined;
94
+ label?: string | undefined;
95
+ inputType?: "number" | "text" | "password" | undefined;
96
+ placeholder?: string | undefined;
97
+ } | {
98
+ value: string;
99
+ type: import("@metamask/snaps-sdk").NodeType.Button;
100
+ name?: string | undefined;
101
+ variant?: "primary" | "secondary" | undefined;
102
+ buttonType?: "button" | "submit" | undefined;
103
+ } | {
104
+ type: import("@metamask/snaps-sdk").NodeType.Form;
105
+ name: string;
106
+ children: ({
107
+ type: import("@metamask/snaps-sdk").NodeType.Input;
108
+ name: string;
109
+ value?: string | undefined;
110
+ label?: string | undefined;
111
+ inputType?: "number" | "text" | "password" | undefined;
112
+ placeholder?: string | undefined;
113
+ } | {
114
+ value: string;
115
+ type: import("@metamask/snaps-sdk").NodeType.Button;
116
+ name?: string | undefined;
117
+ variant?: "primary" | "secondary" | undefined;
118
+ buttonType?: "button" | "submit" | undefined;
119
+ })[];
120
+ };
121
+ } | {
122
+ type: "alert";
123
+ id: string;
124
+ } | {
125
+ type: "confirmation";
126
+ content: import("@metamask/snaps-sdk").Panel | {
127
+ value: string;
128
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
129
+ sensitive?: boolean | undefined;
130
+ } | {
131
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
132
+ } | {
133
+ value: string;
134
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
135
+ } | {
136
+ value: string;
137
+ type: import("@metamask/snaps-sdk").NodeType.Image;
138
+ } | {
139
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
140
+ } | {
141
+ value: string;
142
+ type: import("@metamask/snaps-sdk").NodeType.Text;
143
+ markdown?: boolean | undefined;
144
+ } | {
145
+ value: string;
146
+ type: import("@metamask/snaps-sdk").NodeType.Address;
147
+ } | {
148
+ value: {
149
+ value: string;
150
+ type: import("@metamask/snaps-sdk").NodeType.Image;
151
+ } | {
152
+ value: string;
153
+ type: import("@metamask/snaps-sdk").NodeType.Text;
154
+ markdown?: boolean | undefined;
155
+ } | {
156
+ value: string;
157
+ type: import("@metamask/snaps-sdk").NodeType.Address;
158
+ };
159
+ type: import("@metamask/snaps-sdk").NodeType.Row;
160
+ label: string;
161
+ variant?: "default" | "warning" | "critical" | undefined;
162
+ } | {
163
+ type: import("@metamask/snaps-sdk").NodeType.Input;
164
+ name: string;
165
+ value?: string | undefined;
166
+ label?: string | undefined;
167
+ inputType?: "number" | "text" | "password" | undefined;
168
+ placeholder?: string | undefined;
169
+ } | {
170
+ value: string;
171
+ type: import("@metamask/snaps-sdk").NodeType.Button;
172
+ name?: string | undefined;
173
+ variant?: "primary" | "secondary" | undefined;
174
+ buttonType?: "button" | "submit" | undefined;
175
+ } | {
176
+ type: import("@metamask/snaps-sdk").NodeType.Form;
177
+ name: string;
178
+ children: ({
179
+ type: import("@metamask/snaps-sdk").NodeType.Input;
180
+ name: string;
181
+ value?: string | undefined;
182
+ label?: string | undefined;
183
+ inputType?: "number" | "text" | "password" | undefined;
184
+ placeholder?: string | undefined;
185
+ } | {
186
+ value: string;
187
+ type: import("@metamask/snaps-sdk").NodeType.Button;
188
+ name?: string | undefined;
189
+ variant?: "primary" | "secondary" | undefined;
190
+ buttonType?: "button" | "submit" | undefined;
191
+ })[];
192
+ };
193
+ } | {
194
+ type: "confirmation";
195
+ id: string;
196
+ } | {
197
+ type: "prompt";
198
+ content: import("@metamask/snaps-sdk").Panel | {
199
+ value: string;
200
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
201
+ sensitive?: boolean | undefined;
202
+ } | {
203
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
204
+ } | {
205
+ value: string;
206
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
207
+ } | {
208
+ value: string;
209
+ type: import("@metamask/snaps-sdk").NodeType.Image;
210
+ } | {
211
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
212
+ } | {
213
+ value: string;
214
+ type: import("@metamask/snaps-sdk").NodeType.Text;
215
+ markdown?: boolean | undefined;
216
+ } | {
217
+ value: string;
218
+ type: import("@metamask/snaps-sdk").NodeType.Address;
219
+ } | {
220
+ value: {
221
+ value: string;
222
+ type: import("@metamask/snaps-sdk").NodeType.Image;
223
+ } | {
224
+ value: string;
225
+ type: import("@metamask/snaps-sdk").NodeType.Text;
226
+ markdown?: boolean | undefined;
227
+ } | {
228
+ value: string;
229
+ type: import("@metamask/snaps-sdk").NodeType.Address;
230
+ };
231
+ type: import("@metamask/snaps-sdk").NodeType.Row;
232
+ label: string;
233
+ variant?: "default" | "warning" | "critical" | undefined;
234
+ } | {
235
+ type: import("@metamask/snaps-sdk").NodeType.Input;
236
+ name: string;
237
+ value?: string | undefined;
238
+ label?: string | undefined;
239
+ inputType?: "number" | "text" | "password" | undefined;
240
+ placeholder?: string | undefined;
241
+ } | {
242
+ value: string;
243
+ type: import("@metamask/snaps-sdk").NodeType.Button;
244
+ name?: string | undefined;
245
+ variant?: "primary" | "secondary" | undefined;
246
+ buttonType?: "button" | "submit" | undefined;
247
+ } | {
248
+ type: import("@metamask/snaps-sdk").NodeType.Form;
249
+ name: string;
250
+ children: ({
251
+ type: import("@metamask/snaps-sdk").NodeType.Input;
252
+ name: string;
253
+ value?: string | undefined;
254
+ label?: string | undefined;
255
+ inputType?: "number" | "text" | "password" | undefined;
256
+ placeholder?: string | undefined;
257
+ } | {
258
+ value: string;
259
+ type: import("@metamask/snaps-sdk").NodeType.Button;
260
+ name?: string | undefined;
261
+ variant?: "primary" | "secondary" | undefined;
262
+ buttonType?: "button" | "submit" | undefined;
263
+ })[];
264
+ };
265
+ placeholder?: string | undefined;
266
+ } | {
267
+ type: "prompt";
268
+ id: string;
269
+ placeholder?: string | undefined;
270
+ }, [Struct<{
271
+ type: "alert";
272
+ content: import("@metamask/snaps-sdk").Panel | {
273
+ value: string;
274
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
275
+ sensitive?: boolean | undefined;
276
+ } | {
277
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
278
+ } | {
279
+ value: string;
280
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
281
+ } | {
282
+ value: string;
283
+ type: import("@metamask/snaps-sdk").NodeType.Image;
284
+ } | {
285
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
286
+ } | {
287
+ value: string;
288
+ type: import("@metamask/snaps-sdk").NodeType.Text;
289
+ markdown?: boolean | undefined;
290
+ } | {
291
+ value: string;
292
+ type: import("@metamask/snaps-sdk").NodeType.Address;
293
+ } | {
294
+ value: {
295
+ value: string;
296
+ type: import("@metamask/snaps-sdk").NodeType.Image;
297
+ } | {
298
+ value: string;
299
+ type: import("@metamask/snaps-sdk").NodeType.Text;
300
+ markdown?: boolean | undefined;
301
+ } | {
302
+ value: string;
303
+ type: import("@metamask/snaps-sdk").NodeType.Address;
304
+ };
305
+ type: import("@metamask/snaps-sdk").NodeType.Row;
306
+ label: string;
307
+ variant?: "default" | "warning" | "critical" | undefined;
308
+ } | {
309
+ type: import("@metamask/snaps-sdk").NodeType.Input;
310
+ name: string;
311
+ value?: string | undefined;
312
+ label?: string | undefined;
313
+ inputType?: "number" | "text" | "password" | undefined;
314
+ placeholder?: string | undefined;
315
+ } | {
316
+ value: string;
317
+ type: import("@metamask/snaps-sdk").NodeType.Button;
318
+ name?: string | undefined;
319
+ variant?: "primary" | "secondary" | undefined;
320
+ buttonType?: "button" | "submit" | undefined;
321
+ } | {
322
+ type: import("@metamask/snaps-sdk").NodeType.Form;
323
+ name: string;
324
+ children: ({
325
+ type: import("@metamask/snaps-sdk").NodeType.Input;
326
+ name: string;
327
+ value?: string | undefined;
328
+ label?: string | undefined;
329
+ inputType?: "number" | "text" | "password" | undefined;
330
+ placeholder?: string | undefined;
331
+ } | {
332
+ value: string;
333
+ type: import("@metamask/snaps-sdk").NodeType.Button;
334
+ name?: string | undefined;
335
+ variant?: "primary" | "secondary" | undefined;
336
+ buttonType?: "button" | "submit" | undefined;
337
+ })[];
338
+ };
339
+ } | {
340
+ type: "alert";
341
+ id: string;
342
+ }, [Struct<{
343
+ type: "alert";
344
+ content: import("@metamask/snaps-sdk").Panel | {
345
+ value: string;
346
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
347
+ sensitive?: boolean | undefined;
348
+ } | {
349
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
350
+ } | {
351
+ value: string;
352
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
353
+ } | {
354
+ value: string;
355
+ type: import("@metamask/snaps-sdk").NodeType.Image;
356
+ } | {
357
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
358
+ } | {
359
+ value: string;
360
+ type: import("@metamask/snaps-sdk").NodeType.Text;
361
+ markdown?: boolean | undefined;
362
+ } | {
363
+ value: string;
364
+ type: import("@metamask/snaps-sdk").NodeType.Address;
365
+ } | {
366
+ value: {
367
+ value: string;
368
+ type: import("@metamask/snaps-sdk").NodeType.Image;
369
+ } | {
370
+ value: string;
371
+ type: import("@metamask/snaps-sdk").NodeType.Text;
372
+ markdown?: boolean | undefined;
373
+ } | {
374
+ value: string;
375
+ type: import("@metamask/snaps-sdk").NodeType.Address;
376
+ };
377
+ type: import("@metamask/snaps-sdk").NodeType.Row;
378
+ label: string;
379
+ variant?: "default" | "warning" | "critical" | undefined;
380
+ } | {
381
+ type: import("@metamask/snaps-sdk").NodeType.Input;
382
+ name: string;
383
+ value?: string | undefined;
384
+ label?: string | undefined;
385
+ inputType?: "number" | "text" | "password" | undefined;
386
+ placeholder?: string | undefined;
387
+ } | {
388
+ value: string;
389
+ type: import("@metamask/snaps-sdk").NodeType.Button;
390
+ name?: string | undefined;
391
+ variant?: "primary" | "secondary" | undefined;
392
+ buttonType?: "button" | "submit" | undefined;
393
+ } | {
394
+ type: import("@metamask/snaps-sdk").NodeType.Form;
395
+ name: string;
396
+ children: ({
397
+ type: import("@metamask/snaps-sdk").NodeType.Input;
398
+ name: string;
399
+ value?: string | undefined;
400
+ label?: string | undefined;
401
+ inputType?: "number" | "text" | "password" | undefined;
402
+ placeholder?: string | undefined;
403
+ } | {
404
+ value: string;
405
+ type: import("@metamask/snaps-sdk").NodeType.Button;
406
+ name?: string | undefined;
407
+ variant?: "primary" | "secondary" | undefined;
408
+ buttonType?: "button" | "submit" | undefined;
409
+ })[];
410
+ };
411
+ }, {
412
+ type: Struct<"alert", null>;
413
+ content: Struct<import("@metamask/snaps-sdk").Panel | {
414
+ value: string;
415
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
416
+ sensitive?: boolean | undefined;
417
+ } | {
418
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
419
+ } | {
420
+ value: string;
421
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
422
+ } | {
423
+ value: string;
424
+ type: import("@metamask/snaps-sdk").NodeType.Image;
425
+ } | {
426
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
427
+ } | {
428
+ value: string;
429
+ type: import("@metamask/snaps-sdk").NodeType.Text;
430
+ markdown?: boolean | undefined;
431
+ } | {
432
+ value: string;
433
+ type: import("@metamask/snaps-sdk").NodeType.Address;
434
+ } | {
435
+ value: {
436
+ value: string;
437
+ type: import("@metamask/snaps-sdk").NodeType.Image;
438
+ } | {
439
+ value: string;
440
+ type: import("@metamask/snaps-sdk").NodeType.Text;
441
+ markdown?: boolean | undefined;
442
+ } | {
443
+ value: string;
444
+ type: import("@metamask/snaps-sdk").NodeType.Address;
445
+ };
446
+ type: import("@metamask/snaps-sdk").NodeType.Row;
447
+ label: string;
448
+ variant?: "default" | "warning" | "critical" | undefined;
449
+ } | {
450
+ type: import("@metamask/snaps-sdk").NodeType.Input;
451
+ name: string;
452
+ value?: string | undefined;
453
+ label?: string | undefined;
454
+ inputType?: "number" | "text" | "password" | undefined;
455
+ placeholder?: string | undefined;
456
+ } | {
457
+ value: string;
458
+ type: import("@metamask/snaps-sdk").NodeType.Button;
459
+ name?: string | undefined;
460
+ variant?: "primary" | "secondary" | undefined;
461
+ buttonType?: "button" | "submit" | undefined;
462
+ } | {
463
+ type: import("@metamask/snaps-sdk").NodeType.Form;
464
+ name: string;
465
+ children: ({
466
+ type: import("@metamask/snaps-sdk").NodeType.Input;
467
+ name: string;
468
+ value?: string | undefined;
469
+ label?: string | undefined;
470
+ inputType?: "number" | "text" | "password" | undefined;
471
+ placeholder?: string | undefined;
472
+ } | {
473
+ value: string;
474
+ type: import("@metamask/snaps-sdk").NodeType.Button;
475
+ name?: string | undefined;
476
+ variant?: "primary" | "secondary" | undefined;
477
+ buttonType?: "button" | "submit" | undefined;
478
+ })[];
479
+ }, null>;
480
+ }>, Struct<{
481
+ type: "alert";
482
+ id: string;
483
+ }, {
484
+ type: Struct<"alert", null>;
485
+ id: Struct<string, null>;
486
+ }>]>, Struct<{
487
+ type: "confirmation";
488
+ content: import("@metamask/snaps-sdk").Panel | {
489
+ value: string;
490
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
491
+ sensitive?: boolean | undefined;
492
+ } | {
493
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
494
+ } | {
495
+ value: string;
496
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
497
+ } | {
498
+ value: string;
499
+ type: import("@metamask/snaps-sdk").NodeType.Image;
500
+ } | {
501
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
502
+ } | {
503
+ value: string;
504
+ type: import("@metamask/snaps-sdk").NodeType.Text;
505
+ markdown?: boolean | undefined;
506
+ } | {
507
+ value: string;
508
+ type: import("@metamask/snaps-sdk").NodeType.Address;
509
+ } | {
510
+ value: {
511
+ value: string;
512
+ type: import("@metamask/snaps-sdk").NodeType.Image;
513
+ } | {
514
+ value: string;
515
+ type: import("@metamask/snaps-sdk").NodeType.Text;
516
+ markdown?: boolean | undefined;
517
+ } | {
518
+ value: string;
519
+ type: import("@metamask/snaps-sdk").NodeType.Address;
520
+ };
521
+ type: import("@metamask/snaps-sdk").NodeType.Row;
522
+ label: string;
523
+ variant?: "default" | "warning" | "critical" | undefined;
524
+ } | {
525
+ type: import("@metamask/snaps-sdk").NodeType.Input;
526
+ name: string;
527
+ value?: string | undefined;
528
+ label?: string | undefined;
529
+ inputType?: "number" | "text" | "password" | undefined;
530
+ placeholder?: string | undefined;
531
+ } | {
532
+ value: string;
533
+ type: import("@metamask/snaps-sdk").NodeType.Button;
534
+ name?: string | undefined;
535
+ variant?: "primary" | "secondary" | undefined;
536
+ buttonType?: "button" | "submit" | undefined;
537
+ } | {
538
+ type: import("@metamask/snaps-sdk").NodeType.Form;
539
+ name: string;
540
+ children: ({
541
+ type: import("@metamask/snaps-sdk").NodeType.Input;
542
+ name: string;
543
+ value?: string | undefined;
544
+ label?: string | undefined;
545
+ inputType?: "number" | "text" | "password" | undefined;
546
+ placeholder?: string | undefined;
547
+ } | {
548
+ value: string;
549
+ type: import("@metamask/snaps-sdk").NodeType.Button;
550
+ name?: string | undefined;
551
+ variant?: "primary" | "secondary" | undefined;
552
+ buttonType?: "button" | "submit" | undefined;
553
+ })[];
81
554
  };
82
555
  } | {
83
556
  type: "confirmation";
557
+ id: string;
558
+ }, [Struct<{
559
+ type: "confirmation";
560
+ content: import("@metamask/snaps-sdk").Panel | {
561
+ value: string;
562
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
563
+ sensitive?: boolean | undefined;
564
+ } | {
565
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
566
+ } | {
567
+ value: string;
568
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
569
+ } | {
570
+ value: string;
571
+ type: import("@metamask/snaps-sdk").NodeType.Image;
572
+ } | {
573
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
574
+ } | {
575
+ value: string;
576
+ type: import("@metamask/snaps-sdk").NodeType.Text;
577
+ markdown?: boolean | undefined;
578
+ } | {
579
+ value: string;
580
+ type: import("@metamask/snaps-sdk").NodeType.Address;
581
+ } | {
582
+ value: {
583
+ value: string;
584
+ type: import("@metamask/snaps-sdk").NodeType.Image;
585
+ } | {
586
+ value: string;
587
+ type: import("@metamask/snaps-sdk").NodeType.Text;
588
+ markdown?: boolean | undefined;
589
+ } | {
590
+ value: string;
591
+ type: import("@metamask/snaps-sdk").NodeType.Address;
592
+ };
593
+ type: import("@metamask/snaps-sdk").NodeType.Row;
594
+ label: string;
595
+ variant?: "default" | "warning" | "critical" | undefined;
596
+ } | {
597
+ type: import("@metamask/snaps-sdk").NodeType.Input;
598
+ name: string;
599
+ value?: string | undefined;
600
+ label?: string | undefined;
601
+ inputType?: "number" | "text" | "password" | undefined;
602
+ placeholder?: string | undefined;
603
+ } | {
604
+ value: string;
605
+ type: import("@metamask/snaps-sdk").NodeType.Button;
606
+ name?: string | undefined;
607
+ variant?: "primary" | "secondary" | undefined;
608
+ buttonType?: "button" | "submit" | undefined;
609
+ } | {
610
+ type: import("@metamask/snaps-sdk").NodeType.Form;
611
+ name: string;
612
+ children: ({
613
+ type: import("@metamask/snaps-sdk").NodeType.Input;
614
+ name: string;
615
+ value?: string | undefined;
616
+ label?: string | undefined;
617
+ inputType?: "number" | "text" | "password" | undefined;
618
+ placeholder?: string | undefined;
619
+ } | {
620
+ value: string;
621
+ type: import("@metamask/snaps-sdk").NodeType.Button;
622
+ name?: string | undefined;
623
+ variant?: "primary" | "secondary" | undefined;
624
+ buttonType?: "button" | "submit" | undefined;
625
+ })[];
626
+ };
627
+ }, {
628
+ type: Struct<"confirmation", null>;
629
+ content: Struct<import("@metamask/snaps-sdk").Panel | {
630
+ value: string;
631
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
632
+ sensitive?: boolean | undefined;
633
+ } | {
634
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
635
+ } | {
636
+ value: string;
637
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
638
+ } | {
639
+ value: string;
640
+ type: import("@metamask/snaps-sdk").NodeType.Image;
641
+ } | {
642
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
643
+ } | {
644
+ value: string;
645
+ type: import("@metamask/snaps-sdk").NodeType.Text;
646
+ markdown?: boolean | undefined;
647
+ } | {
648
+ value: string;
649
+ type: import("@metamask/snaps-sdk").NodeType.Address;
650
+ } | {
651
+ value: {
652
+ value: string;
653
+ type: import("@metamask/snaps-sdk").NodeType.Image;
654
+ } | {
655
+ value: string;
656
+ type: import("@metamask/snaps-sdk").NodeType.Text;
657
+ markdown?: boolean | undefined;
658
+ } | {
659
+ value: string;
660
+ type: import("@metamask/snaps-sdk").NodeType.Address;
661
+ };
662
+ type: import("@metamask/snaps-sdk").NodeType.Row;
663
+ label: string;
664
+ variant?: "default" | "warning" | "critical" | undefined;
665
+ } | {
666
+ type: import("@metamask/snaps-sdk").NodeType.Input;
667
+ name: string;
668
+ value?: string | undefined;
669
+ label?: string | undefined;
670
+ inputType?: "number" | "text" | "password" | undefined;
671
+ placeholder?: string | undefined;
672
+ } | {
673
+ value: string;
674
+ type: import("@metamask/snaps-sdk").NodeType.Button;
675
+ name?: string | undefined;
676
+ variant?: "primary" | "secondary" | undefined;
677
+ buttonType?: "button" | "submit" | undefined;
678
+ } | {
679
+ type: import("@metamask/snaps-sdk").NodeType.Form;
680
+ name: string;
681
+ children: ({
682
+ type: import("@metamask/snaps-sdk").NodeType.Input;
683
+ name: string;
684
+ value?: string | undefined;
685
+ label?: string | undefined;
686
+ inputType?: "number" | "text" | "password" | undefined;
687
+ placeholder?: string | undefined;
688
+ } | {
689
+ value: string;
690
+ type: import("@metamask/snaps-sdk").NodeType.Button;
691
+ name?: string | undefined;
692
+ variant?: "primary" | "secondary" | undefined;
693
+ buttonType?: "button" | "submit" | undefined;
694
+ })[];
695
+ }, null>;
696
+ }>, Struct<{
697
+ type: "confirmation";
698
+ id: string;
699
+ }, {
700
+ type: Struct<"confirmation", null>;
701
+ id: Struct<string, null>;
702
+ }>]>, Struct<{
703
+ type: "prompt";
84
704
  content: import("@metamask/snaps-sdk").Panel | {
85
705
  value: string;
86
706
  type: import("@metamask/snaps-sdk").NodeType.Copyable;
@@ -117,8 +737,43 @@ declare const DialogParametersStruct: Struct<{
117
737
  type: import("@metamask/snaps-sdk").NodeType.Row;
118
738
  label: string;
119
739
  variant?: "default" | "warning" | "critical" | undefined;
740
+ } | {
741
+ type: import("@metamask/snaps-sdk").NodeType.Input;
742
+ name: string;
743
+ value?: string | undefined;
744
+ label?: string | undefined;
745
+ inputType?: "number" | "text" | "password" | undefined;
746
+ placeholder?: string | undefined;
747
+ } | {
748
+ value: string;
749
+ type: import("@metamask/snaps-sdk").NodeType.Button;
750
+ name?: string | undefined;
751
+ variant?: "primary" | "secondary" | undefined;
752
+ buttonType?: "button" | "submit" | undefined;
753
+ } | {
754
+ type: import("@metamask/snaps-sdk").NodeType.Form;
755
+ name: string;
756
+ children: ({
757
+ type: import("@metamask/snaps-sdk").NodeType.Input;
758
+ name: string;
759
+ value?: string | undefined;
760
+ label?: string | undefined;
761
+ inputType?: "number" | "text" | "password" | undefined;
762
+ placeholder?: string | undefined;
763
+ } | {
764
+ value: string;
765
+ type: import("@metamask/snaps-sdk").NodeType.Button;
766
+ name?: string | undefined;
767
+ variant?: "primary" | "secondary" | undefined;
768
+ buttonType?: "button" | "submit" | undefined;
769
+ })[];
120
770
  };
771
+ placeholder?: string | undefined;
121
772
  } | {
773
+ type: "prompt";
774
+ id: string;
775
+ placeholder?: string | undefined;
776
+ }, [Struct<{
122
777
  type: "prompt";
123
778
  content: import("@metamask/snaps-sdk").Panel | {
124
779
  value: string;
@@ -156,9 +811,117 @@ declare const DialogParametersStruct: Struct<{
156
811
  type: import("@metamask/snaps-sdk").NodeType.Row;
157
812
  label: string;
158
813
  variant?: "default" | "warning" | "critical" | undefined;
814
+ } | {
815
+ type: import("@metamask/snaps-sdk").NodeType.Input;
816
+ name: string;
817
+ value?: string | undefined;
818
+ label?: string | undefined;
819
+ inputType?: "number" | "text" | "password" | undefined;
820
+ placeholder?: string | undefined;
821
+ } | {
822
+ value: string;
823
+ type: import("@metamask/snaps-sdk").NodeType.Button;
824
+ name?: string | undefined;
825
+ variant?: "primary" | "secondary" | undefined;
826
+ buttonType?: "button" | "submit" | undefined;
827
+ } | {
828
+ type: import("@metamask/snaps-sdk").NodeType.Form;
829
+ name: string;
830
+ children: ({
831
+ type: import("@metamask/snaps-sdk").NodeType.Input;
832
+ name: string;
833
+ value?: string | undefined;
834
+ label?: string | undefined;
835
+ inputType?: "number" | "text" | "password" | undefined;
836
+ placeholder?: string | undefined;
837
+ } | {
838
+ value: string;
839
+ type: import("@metamask/snaps-sdk").NodeType.Button;
840
+ name?: string | undefined;
841
+ variant?: "primary" | "secondary" | undefined;
842
+ buttonType?: "button" | "submit" | undefined;
843
+ })[];
159
844
  };
160
845
  placeholder?: string | undefined;
161
- }, null>;
846
+ }, {
847
+ type: Struct<"prompt", null>;
848
+ content: Struct<import("@metamask/snaps-sdk").Panel | {
849
+ value: string;
850
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
851
+ sensitive?: boolean | undefined;
852
+ } | {
853
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
854
+ } | {
855
+ value: string;
856
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
857
+ } | {
858
+ value: string;
859
+ type: import("@metamask/snaps-sdk").NodeType.Image;
860
+ } | {
861
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
862
+ } | {
863
+ value: string;
864
+ type: import("@metamask/snaps-sdk").NodeType.Text;
865
+ markdown?: boolean | undefined;
866
+ } | {
867
+ value: string;
868
+ type: import("@metamask/snaps-sdk").NodeType.Address;
869
+ } | {
870
+ value: {
871
+ value: string;
872
+ type: import("@metamask/snaps-sdk").NodeType.Image;
873
+ } | {
874
+ value: string;
875
+ type: import("@metamask/snaps-sdk").NodeType.Text;
876
+ markdown?: boolean | undefined;
877
+ } | {
878
+ value: string;
879
+ type: import("@metamask/snaps-sdk").NodeType.Address;
880
+ };
881
+ type: import("@metamask/snaps-sdk").NodeType.Row;
882
+ label: string;
883
+ variant?: "default" | "warning" | "critical" | undefined;
884
+ } | {
885
+ type: import("@metamask/snaps-sdk").NodeType.Input;
886
+ name: string;
887
+ value?: string | undefined;
888
+ label?: string | undefined;
889
+ inputType?: "number" | "text" | "password" | undefined;
890
+ placeholder?: string | undefined;
891
+ } | {
892
+ value: string;
893
+ type: import("@metamask/snaps-sdk").NodeType.Button;
894
+ name?: string | undefined;
895
+ variant?: "primary" | "secondary" | undefined;
896
+ buttonType?: "button" | "submit" | undefined;
897
+ } | {
898
+ type: import("@metamask/snaps-sdk").NodeType.Form;
899
+ name: string;
900
+ children: ({
901
+ type: import("@metamask/snaps-sdk").NodeType.Input;
902
+ name: string;
903
+ value?: string | undefined;
904
+ label?: string | undefined;
905
+ inputType?: "number" | "text" | "password" | undefined;
906
+ placeholder?: string | undefined;
907
+ } | {
908
+ value: string;
909
+ type: import("@metamask/snaps-sdk").NodeType.Button;
910
+ name?: string | undefined;
911
+ variant?: "primary" | "secondary" | undefined;
912
+ buttonType?: "button" | "submit" | undefined;
913
+ })[];
914
+ }, null>;
915
+ placeholder: Struct<string | undefined, null>;
916
+ }>, Struct<{
917
+ type: "prompt";
918
+ id: string;
919
+ placeholder?: string | undefined;
920
+ }, {
921
+ type: Struct<"prompt", null>;
922
+ id: Struct<string, null>;
923
+ placeholder: Struct<string | undefined, null>;
924
+ }>]>]>;
162
925
  export declare type DialogParameters = InferMatching<typeof DialogParametersStruct, DialogParams>;
163
926
  /**
164
927
  * Builds the method implementation for `snap_dialog`.
@@ -166,11 +929,10 @@ export declare type DialogParameters = InferMatching<typeof DialogParametersStru
166
929
  * @param hooks - The RPC method hooks.
167
930
  * @param hooks.showDialog - A function that shows the specified dialog in the
168
931
  * MetaMask UI and returns the appropriate value for the dialog type.
169
- * @param hooks.isOnPhishingList - A function that checks a link against the
170
- * phishing list and return true if it's in, otherwise false.
171
- * @param hooks.maybeUpdatePhishingList - A function that updates the phishing list if needed.
932
+ * @param hooks.createInterface - A function that creates the interface in SnapInterfaceController.
933
+ * @param hooks.getInterface - A function that gets an interface from SnapInterfaceController.
172
934
  * @returns The method implementation which return value depends on the dialog
173
935
  * type, valid return types are: string, boolean, null.
174
936
  */
175
- export declare function getDialogImplementation({ showDialog, isOnPhishingList, maybeUpdatePhishingList, }: DialogMethodHooks): (args: RestrictedMethodOptions<DialogParameters>) => Promise<boolean | null | string>;
937
+ export declare function getDialogImplementation({ showDialog, createInterface, getInterface, }: DialogMethodHooks): (args: RestrictedMethodOptions<DialogParameters>) => Promise<boolean | null | string>;
176
938
  export {};