@metamask/snaps-rpc-methods 8.1.0 → 9.1.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 (100) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/dist/{chunk-MXCJWR45.mjs → chunk-2CTOCP34.mjs} +8 -8
  3. package/dist/chunk-2CTOCP34.mjs.map +1 -0
  4. package/dist/{chunk-TKXU7ZXP.mjs → chunk-2L2ATCIK.mjs} +2 -2
  5. package/dist/{chunk-YG7W4CDT.js → chunk-33MTKZ4H.js} +11 -4
  6. package/dist/chunk-33MTKZ4H.js.map +1 -0
  7. package/dist/{chunk-3W4SMZFD.mjs → chunk-3XL562LA.mjs} +4 -4
  8. package/dist/{chunk-LGUJMQC7.js → chunk-4BPNRCZJ.js} +5 -4
  9. package/dist/chunk-4BPNRCZJ.js.map +1 -0
  10. package/dist/{chunk-IDZGMGIB.js → chunk-DLVPMPRZ.js} +8 -8
  11. package/dist/chunk-DLVPMPRZ.js.map +1 -0
  12. package/dist/{chunk-AOWUGDER.js → chunk-E27BGHCR.js} +3 -3
  13. package/dist/{chunk-INB4AX37.js → chunk-F3VP6B2X.js} +7 -7
  14. package/dist/{chunk-Y4LNTDZ2.mjs → chunk-FR26QD3N.mjs} +3 -3
  15. package/dist/{chunk-PG32JMWC.mjs → chunk-I3QG3QZL.mjs} +5 -5
  16. package/dist/{chunk-S7AR3ROH.js → chunk-IE6EHYEG.js} +3 -3
  17. package/dist/{chunk-Q5W3YGEB.js → chunk-IVD2ORDS.js} +3 -3
  18. package/dist/{chunk-IBV23QOX.mjs → chunk-KIXPIIY5.mjs} +2 -2
  19. package/dist/{chunk-AYJK7MSH.js → chunk-LLH2T5NT.js} +5 -5
  20. package/dist/{chunk-TNRH2LRU.mjs → chunk-LXJBBRQ4.mjs} +2 -2
  21. package/dist/{chunk-R2M4YLJ7.js → chunk-M2JQCKR7.js} +3 -3
  22. package/dist/{chunk-RIALLTR7.js → chunk-O2VSIMDY.js} +9 -9
  23. package/dist/{chunk-UDB4MUXI.js → chunk-PPR53SPJ.js} +8 -4
  24. package/dist/chunk-PPR53SPJ.js.map +1 -0
  25. package/dist/{chunk-RX7WZZ32.js → chunk-QAKSH24Z.js} +8 -8
  26. package/dist/{chunk-GP6TDVNT.js → chunk-QSVAU6X4.js} +5 -5
  27. package/dist/{chunk-6WUIFFMQ.mjs → chunk-R3DRYUNH.mjs} +5 -4
  28. package/dist/chunk-R3DRYUNH.mjs.map +1 -0
  29. package/dist/{chunk-VNH2GKLV.mjs → chunk-T3O2PFSR.mjs} +3 -3
  30. package/dist/{chunk-NESDQ4PF.mjs → chunk-TE4W25CA.mjs} +2 -2
  31. package/dist/{chunk-L675SYPP.mjs → chunk-TUIJOZXZ.mjs} +4 -4
  32. package/dist/{chunk-SGQXD5K7.mjs → chunk-W33UWNA2.mjs} +11 -4
  33. package/dist/chunk-W33UWNA2.mjs.map +1 -0
  34. package/dist/{chunk-634BK2VP.mjs → chunk-WEUKWKAQ.mjs} +10 -6
  35. package/dist/chunk-WEUKWKAQ.mjs.map +1 -0
  36. package/dist/index.js +14 -14
  37. package/dist/index.mjs +13 -13
  38. package/dist/permissions.js +9 -9
  39. package/dist/permissions.mjs +8 -8
  40. package/dist/permitted/createInterface.js +2 -2
  41. package/dist/permitted/createInterface.mjs +1 -1
  42. package/dist/permitted/handlers.js +5 -5
  43. package/dist/permitted/handlers.mjs +4 -4
  44. package/dist/permitted/index.js +7 -7
  45. package/dist/permitted/index.mjs +6 -6
  46. package/dist/permitted/invokeKeyring.js +3 -3
  47. package/dist/permitted/invokeKeyring.mjs +2 -2
  48. package/dist/permitted/invokeSnapSugar.js +2 -2
  49. package/dist/permitted/invokeSnapSugar.mjs +1 -1
  50. package/dist/permitted/middleware.js +7 -7
  51. package/dist/permitted/middleware.mjs +6 -6
  52. package/dist/restricted/caveats/index.js +5 -5
  53. package/dist/restricted/caveats/index.mjs +4 -4
  54. package/dist/restricted/getBip32Entropy.js +3 -3
  55. package/dist/restricted/getBip32Entropy.mjs +2 -2
  56. package/dist/restricted/getBip32PublicKey.js +3 -3
  57. package/dist/restricted/getBip32PublicKey.mjs +2 -2
  58. package/dist/restricted/getEntropy.js +3 -3
  59. package/dist/restricted/getEntropy.mjs +2 -2
  60. package/dist/restricted/index.js +8 -8
  61. package/dist/restricted/index.mjs +7 -7
  62. package/dist/restricted/manageState.js +3 -3
  63. package/dist/restricted/manageState.mjs +2 -2
  64. package/dist/tsconfig.build.tsbuildinfo +1 -1
  65. package/dist/types/permitted/createInterface.d.ts +46 -4
  66. package/dist/types/permitted/handlers.d.ts +2 -2
  67. package/dist/types/permitted/invokeSnapSugar.d.ts +12 -7
  68. package/dist/types/permitted/updateInterface.d.ts +42 -2
  69. package/dist/types/restricted/dialog.d.ts +252 -180
  70. package/dist/types/restricted/getBip32PublicKey.d.ts +2 -5
  71. package/dist/types/utils.d.ts +7 -5
  72. package/dist/utils.js +2 -2
  73. package/dist/utils.mjs +1 -1
  74. package/package.json +5 -5
  75. package/dist/chunk-634BK2VP.mjs.map +0 -1
  76. package/dist/chunk-6WUIFFMQ.mjs.map +0 -1
  77. package/dist/chunk-IDZGMGIB.js.map +0 -1
  78. package/dist/chunk-LGUJMQC7.js.map +0 -1
  79. package/dist/chunk-MXCJWR45.mjs.map +0 -1
  80. package/dist/chunk-SGQXD5K7.mjs.map +0 -1
  81. package/dist/chunk-UDB4MUXI.js.map +0 -1
  82. package/dist/chunk-YG7W4CDT.js.map +0 -1
  83. /package/dist/{chunk-TKXU7ZXP.mjs.map → chunk-2L2ATCIK.mjs.map} +0 -0
  84. /package/dist/{chunk-3W4SMZFD.mjs.map → chunk-3XL562LA.mjs.map} +0 -0
  85. /package/dist/{chunk-AOWUGDER.js.map → chunk-E27BGHCR.js.map} +0 -0
  86. /package/dist/{chunk-INB4AX37.js.map → chunk-F3VP6B2X.js.map} +0 -0
  87. /package/dist/{chunk-Y4LNTDZ2.mjs.map → chunk-FR26QD3N.mjs.map} +0 -0
  88. /package/dist/{chunk-PG32JMWC.mjs.map → chunk-I3QG3QZL.mjs.map} +0 -0
  89. /package/dist/{chunk-S7AR3ROH.js.map → chunk-IE6EHYEG.js.map} +0 -0
  90. /package/dist/{chunk-Q5W3YGEB.js.map → chunk-IVD2ORDS.js.map} +0 -0
  91. /package/dist/{chunk-IBV23QOX.mjs.map → chunk-KIXPIIY5.mjs.map} +0 -0
  92. /package/dist/{chunk-AYJK7MSH.js.map → chunk-LLH2T5NT.js.map} +0 -0
  93. /package/dist/{chunk-TNRH2LRU.mjs.map → chunk-LXJBBRQ4.mjs.map} +0 -0
  94. /package/dist/{chunk-R2M4YLJ7.js.map → chunk-M2JQCKR7.js.map} +0 -0
  95. /package/dist/{chunk-RIALLTR7.js.map → chunk-O2VSIMDY.js.map} +0 -0
  96. /package/dist/{chunk-RX7WZZ32.js.map → chunk-QAKSH24Z.js.map} +0 -0
  97. /package/dist/{chunk-GP6TDVNT.js.map → chunk-QSVAU6X4.js.map} +0 -0
  98. /package/dist/{chunk-VNH2GKLV.mjs.map → chunk-T3O2PFSR.mjs.map} +0 -0
  99. /package/dist/{chunk-NESDQ4PF.mjs.map → chunk-TE4W25CA.mjs.map} +0 -0
  100. /package/dist/{chunk-L675SYPP.mjs.map → chunk-TUIJOZXZ.mjs.map} +0 -0
@@ -1,16 +1,36 @@
1
1
  import type { PermittedHandlerExport } from '@metamask/permission-controller';
2
- import type { CreateInterfaceParams, CreateInterfaceResult, ComponentOrElement } from '@metamask/snaps-sdk';
2
+ import type { CreateInterfaceParams, CreateInterfaceResult, ComponentOrElement, InterfaceContext } from '@metamask/snaps-sdk';
3
3
  import { type InferMatching } from '@metamask/snaps-utils';
4
4
  export declare type CreateInterfaceMethodHooks = {
5
5
  /**
6
6
  * @param ui - The UI components.
7
7
  * @returns The unique identifier of the interface.
8
8
  */
9
- createInterface: (ui: ComponentOrElement) => Promise<string>;
9
+ createInterface: (ui: ComponentOrElement, context?: InterfaceContext) => Promise<string>;
10
10
  };
11
11
  export declare const createInterfaceHandler: PermittedHandlerExport<CreateInterfaceMethodHooks, CreateInterfaceParameters, CreateInterfaceResult>;
12
12
  declare const CreateInterfaceParametersStruct: import("superstruct").Struct<{
13
- ui: import("@metamask/snaps-sdk/jsx-runtime").JSXElement | import("@metamask/snaps-sdk").Panel | {
13
+ ui: import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
14
+ name: string;
15
+ value?: string | undefined;
16
+ children: import("@metamask/snaps-sdk/jsx-runtime").MaybeArray<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
17
+ value: string;
18
+ children: string;
19
+ }, "Option">>;
20
+ }, "Dropdown"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
21
+ name: string;
22
+ type?: "number" | "text" | "password" | undefined;
23
+ value?: string | undefined;
24
+ placeholder?: string | undefined;
25
+ }, "Input"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
26
+ children: import("@metamask/snaps-sdk/jsx-runtime").MaybeArray<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").FieldProps, "Field">>;
27
+ name: string;
28
+ }, "Form"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
29
+ children: import("@metamask/snaps-sdk/jsx-runtime").StringElement;
30
+ }, "Heading"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
31
+ src: string;
32
+ alt?: string | undefined;
33
+ }, "Image"> | {
14
34
  value: string;
15
35
  type: import("@metamask/snaps-sdk").NodeType.Copyable;
16
36
  sensitive?: boolean | undefined;
@@ -79,8 +99,29 @@ declare const CreateInterfaceParametersStruct: import("superstruct").Struct<{
79
99
  buttonType?: "button" | "submit" | undefined;
80
100
  })[];
81
101
  };
102
+ context?: Record<string, import("@metamask/snaps-sdk").Json> | undefined;
82
103
  }, {
83
- ui: import("superstruct").Struct<import("@metamask/snaps-sdk/jsx-runtime").JSXElement | import("@metamask/snaps-sdk").Panel | {
104
+ ui: import("superstruct").Struct<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
105
+ name: string;
106
+ value?: string | undefined;
107
+ children: import("@metamask/snaps-sdk/jsx-runtime").MaybeArray<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
108
+ value: string;
109
+ children: string;
110
+ }, "Option">>;
111
+ }, "Dropdown"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
112
+ name: string;
113
+ type?: "number" | "text" | "password" | undefined;
114
+ value?: string | undefined;
115
+ placeholder?: string | undefined;
116
+ }, "Input"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
117
+ children: import("@metamask/snaps-sdk/jsx-runtime").MaybeArray<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").FieldProps, "Field">>;
118
+ name: string;
119
+ }, "Form"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
120
+ children: import("@metamask/snaps-sdk/jsx-runtime").StringElement;
121
+ }, "Heading"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
122
+ src: string;
123
+ alt?: string | undefined;
124
+ }, "Image"> | {
84
125
  value: string;
85
126
  type: import("@metamask/snaps-sdk").NodeType.Copyable;
86
127
  sensitive?: boolean | undefined;
@@ -149,6 +190,7 @@ declare const CreateInterfaceParametersStruct: import("superstruct").Struct<{
149
190
  buttonType?: "button" | "submit" | undefined;
150
191
  })[];
151
192
  }, null>;
193
+ context: import("superstruct").Struct<Record<string, import("@metamask/snaps-sdk").Json> | undefined, null>;
152
194
  }>;
153
195
  export declare type CreateInterfaceParameters = InferMatching<typeof CreateInterfaceParametersStruct, CreateInterfaceParams>;
154
196
  export {};
@@ -2,7 +2,7 @@ export declare const methodHandlers: {
2
2
  wallet_getAllSnaps: import("@metamask/permission-controller").PermittedHandlerExport<import("./getAllSnaps").GetAllSnapsHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetSnapsResult>;
3
3
  wallet_getSnaps: import("@metamask/permission-controller").PermittedHandlerExport<import("./getSnaps").GetSnapsHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetSnapsResult>;
4
4
  wallet_requestSnaps: import("@metamask/permission-controller").PermittedHandlerExport<import("./requestSnaps").RequestSnapsHooks, import("@metamask/snaps-sdk").RequestSnapsParams, import("@metamask/snaps-sdk").RequestSnapsResult>;
5
- wallet_invokeSnap: import("@metamask/permission-controller").PermittedHandlerExport<void, import("@metamask/snaps-sdk").InvokeSnapParams, import("@metamask/utils").Json>;
5
+ wallet_invokeSnap: import("@metamask/permission-controller").PermittedHandlerExport<import("./invokeSnapSugar").InvokeSnapSugarHooks, import("@metamask/snaps-sdk").InvokeSnapParams, import("@metamask/utils").Json>;
6
6
  wallet_invokeKeyring: import("@metamask/permission-controller").PermittedHandlerExport<import("./invokeKeyring").InvokeKeyringHooks, import("@metamask/snaps-sdk").InvokeSnapParams, import("@metamask/utils").Json>;
7
7
  snap_getClientStatus: import("@metamask/permission-controller").PermittedHandlerExport<import("./getClientStatus").GetClientStatusHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetClientStatusResult>;
8
8
  snap_getFile: import("@metamask/permission-controller").PermittedHandlerExport<import("./getFile").GetFileHooks, import("@metamask/snaps-sdk").GetFileParams, string>;
@@ -10,4 +10,4 @@ export declare const methodHandlers: {
10
10
  snap_updateInterface: import("@metamask/permission-controller").PermittedHandlerExport<import("./updateInterface").UpdateInterfaceMethodHooks, import("@metamask/snaps-sdk").UpdateInterfaceParams, null>;
11
11
  snap_getInterfaceState: import("@metamask/permission-controller").PermittedHandlerExport<import("./getInterfaceState").GetInterfaceStateMethodHooks, import("@metamask/snaps-sdk").GetInterfaceStateParams, Record<string, string | Record<string, string | null> | null>>;
12
12
  };
13
- export declare const handlers: (import("@metamask/permission-controller").PermittedHandlerExport<import("./createInterface").CreateInterfaceMethodHooks, import("@metamask/snaps-sdk").CreateInterfaceParams, string> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getAllSnaps").GetAllSnapsHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetSnapsResult> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getClientStatus").GetClientStatusHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetClientStatusResult> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getInterfaceState").GetInterfaceStateMethodHooks, import("@metamask/snaps-sdk").GetInterfaceStateParams, Record<string, string | Record<string, string | null> | null>> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getSnaps").GetSnapsHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetSnapsResult> | import("@metamask/permission-controller").PermittedHandlerExport<import("./requestSnaps").RequestSnapsHooks, import("@metamask/snaps-sdk").RequestSnapsParams, import("@metamask/snaps-sdk").RequestSnapsResult> | import("@metamask/permission-controller").PermittedHandlerExport<import("./updateInterface").UpdateInterfaceMethodHooks, import("@metamask/snaps-sdk").UpdateInterfaceParams, null> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getFile").GetFileHooks, import("@metamask/snaps-sdk").GetFileParams, string> | import("@metamask/permission-controller").PermittedHandlerExport<void, import("@metamask/snaps-sdk").InvokeSnapParams, import("@metamask/utils").Json> | import("@metamask/permission-controller").PermittedHandlerExport<import("./invokeKeyring").InvokeKeyringHooks, import("@metamask/snaps-sdk").InvokeSnapParams, import("@metamask/utils").Json>)[];
13
+ export declare const handlers: (import("@metamask/permission-controller").PermittedHandlerExport<import("./createInterface").CreateInterfaceMethodHooks, import("@metamask/snaps-sdk").CreateInterfaceParams, string> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getAllSnaps").GetAllSnapsHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetSnapsResult> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getClientStatus").GetClientStatusHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetClientStatusResult> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getInterfaceState").GetInterfaceStateMethodHooks, import("@metamask/snaps-sdk").GetInterfaceStateParams, Record<string, string | Record<string, string | null> | null>> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getSnaps").GetSnapsHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetSnapsResult> | import("@metamask/permission-controller").PermittedHandlerExport<import("./requestSnaps").RequestSnapsHooks, import("@metamask/snaps-sdk").RequestSnapsParams, import("@metamask/snaps-sdk").RequestSnapsResult> | import("@metamask/permission-controller").PermittedHandlerExport<import("./updateInterface").UpdateInterfaceMethodHooks, import("@metamask/snaps-sdk").UpdateInterfaceParams, null> | import("@metamask/permission-controller").PermittedHandlerExport<import("./getFile").GetFileHooks, import("@metamask/snaps-sdk").GetFileParams, string> | import("@metamask/permission-controller").PermittedHandlerExport<import("./invokeSnapSugar").InvokeSnapSugarHooks, import("@metamask/snaps-sdk").InvokeSnapParams, import("@metamask/utils").Json> | import("@metamask/permission-controller").PermittedHandlerExport<import("./invokeKeyring").InvokeKeyringHooks, import("@metamask/snaps-sdk").InvokeSnapParams, import("@metamask/utils").Json>)[];
@@ -1,24 +1,29 @@
1
1
  import type { JsonRpcEngineEndCallback, JsonRpcEngineNextCallback } from '@metamask/json-rpc-engine';
2
2
  import type { PermittedHandlerExport } from '@metamask/permission-controller';
3
3
  import type { InvokeSnapParams, InvokeSnapResult } from '@metamask/snaps-sdk';
4
- import type { JsonRpcRequest } from '@metamask/utils';
4
+ import type { JsonRpcRequest, PendingJsonRpcResponse } from '@metamask/utils';
5
5
  /**
6
6
  * `wallet_invokeSnap` attempts to invoke an RPC method of the specified Snap.
7
7
  */
8
- export declare const invokeSnapSugarHandler: PermittedHandlerExport<void, InvokeSnapParams, InvokeSnapResult>;
8
+ export declare const invokeSnapSugarHandler: PermittedHandlerExport<InvokeSnapSugarHooks, InvokeSnapParams, InvokeSnapResult>;
9
+ export declare type InvokeSnapSugarHooks = {
10
+ invokeSnap: (params: InvokeSnapParams) => Promise<InvokeSnapResult>;
11
+ };
9
12
  /**
10
13
  * The `wallet_invokeSnap` method implementation.
11
- * Reroutes incoming JSON-RPC requests that are targeting snaps, by modifying the method and params.
14
+ * Effectively calls `wallet_snap` under the hood.
12
15
  *
13
16
  * @param req - The JSON-RPC request object.
14
- * @param _res - The JSON-RPC response object. Not used by this
15
- * function.
16
- * @param next - The `json-rpc-engine` "next" callback.
17
+ * @param res - The JSON-RPC response object.
18
+ * @param _next - The `json-rpc-engine` "next" callback.
17
19
  * @param end - The `json-rpc-engine` "end" callback.
20
+ * @param hooks - The RPC method hooks.
21
+ * @param hooks.invokeSnap - A function to invoke a snap designated by its parameters,
22
+ * bound to the requesting origin.
18
23
  * @returns Nothing.
19
24
  * @throws If the params are invalid.
20
25
  */
21
- export declare function invokeSnapSugar(req: JsonRpcRequest<InvokeSnapParams>, _res: unknown, next: JsonRpcEngineNextCallback, end: JsonRpcEngineEndCallback): void;
26
+ export declare function invokeSnapSugar(req: JsonRpcRequest<InvokeSnapParams>, res: PendingJsonRpcResponse<InvokeSnapResult>, _next: JsonRpcEngineNextCallback, end: JsonRpcEngineEndCallback, { invokeSnap }: InvokeSnapSugarHooks): Promise<void>;
22
27
  /**
23
28
  * Validates the wallet_invokeSnap method `params` and returns them cast to the correct
24
29
  * type. Throws if validation fails.
@@ -11,7 +11,27 @@ export declare type UpdateInterfaceMethodHooks = {
11
11
  export declare const updateInterfaceHandler: PermittedHandlerExport<UpdateInterfaceMethodHooks, UpdateInterfaceParameters, UpdateInterfaceResult>;
12
12
  declare const UpdateInterfaceParametersStruct: import("superstruct").Struct<{
13
13
  id: string;
14
- ui: import("@metamask/snaps-sdk/jsx-runtime").JSXElement | import("@metamask/snaps-sdk").Panel | {
14
+ ui: import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
15
+ name: string;
16
+ value?: string | undefined;
17
+ children: import("@metamask/snaps-sdk/jsx-runtime").MaybeArray<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
18
+ value: string;
19
+ children: string;
20
+ }, "Option">>;
21
+ }, "Dropdown"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
22
+ name: string;
23
+ type?: "number" | "text" | "password" | undefined;
24
+ value?: string | undefined;
25
+ placeholder?: string | undefined;
26
+ }, "Input"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
27
+ children: import("@metamask/snaps-sdk/jsx-runtime").MaybeArray<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").FieldProps, "Field">>;
28
+ name: string;
29
+ }, "Form"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
30
+ children: import("@metamask/snaps-sdk/jsx-runtime").StringElement;
31
+ }, "Heading"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
32
+ src: string;
33
+ alt?: string | undefined;
34
+ }, "Image"> | {
15
35
  value: string;
16
36
  type: import("@metamask/snaps-sdk").NodeType.Copyable;
17
37
  sensitive?: boolean | undefined;
@@ -82,7 +102,27 @@ declare const UpdateInterfaceParametersStruct: import("superstruct").Struct<{
82
102
  };
83
103
  }, {
84
104
  id: import("superstruct").Struct<string, null>;
85
- ui: import("superstruct").Struct<import("@metamask/snaps-sdk/jsx-runtime").JSXElement | import("@metamask/snaps-sdk").Panel | {
105
+ ui: import("superstruct").Struct<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
106
+ name: string;
107
+ value?: string | undefined;
108
+ children: import("@metamask/snaps-sdk/jsx-runtime").MaybeArray<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
109
+ value: string;
110
+ children: string;
111
+ }, "Option">>;
112
+ }, "Dropdown"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
113
+ name: string;
114
+ type?: "number" | "text" | "password" | undefined;
115
+ value?: string | undefined;
116
+ placeholder?: string | undefined;
117
+ }, "Input"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
118
+ children: import("@metamask/snaps-sdk/jsx-runtime").MaybeArray<import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<import("@metamask/snaps-sdk/jsx-runtime").FieldProps, "Field">>;
119
+ name: string;
120
+ }, "Form"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
121
+ children: import("@metamask/snaps-sdk/jsx-runtime").StringElement;
122
+ }, "Heading"> | import("@metamask/snaps-sdk/jsx-runtime").SnapElement<{
123
+ src: string;
124
+ alt?: string | undefined;
125
+ }, "Image"> | {
86
126
  value: string;
87
127
  type: import("@metamask/snaps-sdk").NodeType.Copyable;
88
128
  sensitive?: boolean | undefined;