@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
@@ -0,0 +1,150 @@
1
+ import type { PermittedHandlerExport } from '@metamask/permission-controller';
2
+ import type { Component, CreateInterfaceParams, CreateInterfaceResult } from '@metamask/snaps-sdk';
3
+ import { type InferMatching } from '@metamask/snaps-utils';
4
+ export declare type CreateInterfaceMethodHooks = {
5
+ /**
6
+ * @param ui - The UI components.
7
+ * @returns The unique identifier of the interface.
8
+ */
9
+ createInterface: (ui: Component) => Promise<string>;
10
+ };
11
+ export declare const createInterfaceHandler: PermittedHandlerExport<CreateInterfaceMethodHooks, CreateInterfaceParameters, CreateInterfaceResult>;
12
+ declare const CreateInterfaceParametersStruct: import("superstruct").Struct<{
13
+ ui: import("@metamask/snaps-sdk").Panel | {
14
+ value: string;
15
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
16
+ sensitive?: boolean | undefined;
17
+ } | {
18
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
19
+ } | {
20
+ value: string;
21
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
22
+ } | {
23
+ value: string;
24
+ type: import("@metamask/snaps-sdk").NodeType.Image;
25
+ } | {
26
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
27
+ } | {
28
+ value: string;
29
+ type: import("@metamask/snaps-sdk").NodeType.Text;
30
+ markdown?: boolean | undefined;
31
+ } | {
32
+ value: string;
33
+ type: import("@metamask/snaps-sdk").NodeType.Address;
34
+ } | {
35
+ value: {
36
+ value: string;
37
+ type: import("@metamask/snaps-sdk").NodeType.Image;
38
+ } | {
39
+ value: string;
40
+ type: import("@metamask/snaps-sdk").NodeType.Text;
41
+ markdown?: boolean | undefined;
42
+ } | {
43
+ value: string;
44
+ type: import("@metamask/snaps-sdk").NodeType.Address;
45
+ };
46
+ type: import("@metamask/snaps-sdk").NodeType.Row;
47
+ label: string;
48
+ variant?: "default" | "warning" | "critical" | undefined;
49
+ } | {
50
+ type: import("@metamask/snaps-sdk").NodeType.Input;
51
+ name: string;
52
+ value?: string | undefined;
53
+ label?: string | undefined;
54
+ inputType?: "number" | "text" | "password" | undefined;
55
+ placeholder?: string | undefined;
56
+ } | {
57
+ value: string;
58
+ type: import("@metamask/snaps-sdk").NodeType.Button;
59
+ name?: string | undefined;
60
+ variant?: "primary" | "secondary" | undefined;
61
+ buttonType?: "button" | "submit" | undefined;
62
+ } | {
63
+ type: import("@metamask/snaps-sdk").NodeType.Form;
64
+ name: string;
65
+ children: ({
66
+ type: import("@metamask/snaps-sdk").NodeType.Input;
67
+ name: string;
68
+ value?: string | undefined;
69
+ label?: string | undefined;
70
+ inputType?: "number" | "text" | "password" | undefined;
71
+ placeholder?: string | undefined;
72
+ } | {
73
+ value: string;
74
+ type: import("@metamask/snaps-sdk").NodeType.Button;
75
+ name?: string | undefined;
76
+ variant?: "primary" | "secondary" | undefined;
77
+ buttonType?: "button" | "submit" | undefined;
78
+ })[];
79
+ };
80
+ }, {
81
+ ui: import("superstruct").Struct<import("@metamask/snaps-sdk").Panel | {
82
+ value: string;
83
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
84
+ sensitive?: boolean | undefined;
85
+ } | {
86
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
87
+ } | {
88
+ value: string;
89
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
90
+ } | {
91
+ value: string;
92
+ type: import("@metamask/snaps-sdk").NodeType.Image;
93
+ } | {
94
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
95
+ } | {
96
+ value: string;
97
+ type: import("@metamask/snaps-sdk").NodeType.Text;
98
+ markdown?: boolean | undefined;
99
+ } | {
100
+ value: string;
101
+ type: import("@metamask/snaps-sdk").NodeType.Address;
102
+ } | {
103
+ value: {
104
+ value: string;
105
+ type: import("@metamask/snaps-sdk").NodeType.Image;
106
+ } | {
107
+ value: string;
108
+ type: import("@metamask/snaps-sdk").NodeType.Text;
109
+ markdown?: boolean | undefined;
110
+ } | {
111
+ value: string;
112
+ type: import("@metamask/snaps-sdk").NodeType.Address;
113
+ };
114
+ type: import("@metamask/snaps-sdk").NodeType.Row;
115
+ label: string;
116
+ variant?: "default" | "warning" | "critical" | undefined;
117
+ } | {
118
+ type: import("@metamask/snaps-sdk").NodeType.Input;
119
+ name: string;
120
+ value?: string | undefined;
121
+ label?: string | undefined;
122
+ inputType?: "number" | "text" | "password" | undefined;
123
+ placeholder?: string | undefined;
124
+ } | {
125
+ value: string;
126
+ type: import("@metamask/snaps-sdk").NodeType.Button;
127
+ name?: string | undefined;
128
+ variant?: "primary" | "secondary" | undefined;
129
+ buttonType?: "button" | "submit" | undefined;
130
+ } | {
131
+ type: import("@metamask/snaps-sdk").NodeType.Form;
132
+ name: string;
133
+ children: ({
134
+ type: import("@metamask/snaps-sdk").NodeType.Input;
135
+ name: string;
136
+ value?: string | undefined;
137
+ label?: string | undefined;
138
+ inputType?: "number" | "text" | "password" | undefined;
139
+ placeholder?: string | undefined;
140
+ } | {
141
+ value: string;
142
+ type: import("@metamask/snaps-sdk").NodeType.Button;
143
+ name?: string | undefined;
144
+ variant?: "primary" | "secondary" | undefined;
145
+ buttonType?: "button" | "submit" | undefined;
146
+ })[];
147
+ }, null>;
148
+ }>;
149
+ export declare type CreateInterfaceParameters = InferMatching<typeof CreateInterfaceParametersStruct, CreateInterfaceParams>;
150
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { PermittedHandlerExport } from '@metamask/permission-controller';
2
+ import type { GetClientStatusResult } from '@metamask/snaps-sdk';
3
+ import type { JsonRpcParams } from '@metamask/utils';
4
+ /**
5
+ * `snap_getClientStatus` returns useful information about the client running the snap.
6
+ */
7
+ export declare const getClientStatusHandler: PermittedHandlerExport<GetClientStatusHooks, JsonRpcParams, GetClientStatusResult>;
8
+ export declare type GetClientStatusHooks = {
9
+ /**
10
+ * @returns Whether the client is locked or not.
11
+ */
12
+ getIsLocked: () => boolean;
13
+ };
@@ -0,0 +1,18 @@
1
+ import type { PermittedHandlerExport } from '@metamask/permission-controller';
2
+ import type { GetInterfaceStateParams, GetInterfaceStateResult, InterfaceState } from '@metamask/snaps-sdk';
3
+ import { type InferMatching } from '@metamask/snaps-utils';
4
+ export declare type GetInterfaceStateMethodHooks = {
5
+ /**
6
+ * @param id - The interface ID.
7
+ * @returns The interface state.
8
+ */
9
+ getInterfaceState: (id: string) => InterfaceState;
10
+ };
11
+ export declare const getInterfaceStateHandler: PermittedHandlerExport<GetInterfaceStateMethodHooks, GetInterfaceStateParameters, GetInterfaceStateResult>;
12
+ declare const GetInterfaceStateParametersStruct: import("superstruct").Struct<{
13
+ id: string;
14
+ }, {
15
+ id: import("superstruct").Struct<string, null>;
16
+ }>;
17
+ export declare type GetInterfaceStateParameters = InferMatching<typeof GetInterfaceStateParametersStruct, GetInterfaceStateParams>;
18
+ export {};
@@ -4,6 +4,10 @@ export declare const methodHandlers: {
4
4
  wallet_requestSnaps: import("@metamask/permission-controller").PermittedHandlerExport<import("./requestSnaps").RequestSnapsHooks, import("@metamask/snaps-sdk").RequestSnapsParams, import("@metamask/snaps-sdk").RequestSnapsResult>;
5
5
  wallet_invokeSnap: import("@metamask/permission-controller").PermittedHandlerExport<void, 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
+ snap_getClientStatus: import("@metamask/permission-controller").PermittedHandlerExport<import("./getClientStatus").GetClientStatusHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetClientStatusResult>;
7
8
  snap_getFile: import("@metamask/permission-controller").PermittedHandlerExport<import("./getFile").GetFileHooks, import("@metamask/snaps-sdk").GetFileParams, string>;
9
+ snap_createInterface: import("@metamask/permission-controller").PermittedHandlerExport<import("./createInterface").CreateInterfaceMethodHooks, import("@metamask/snaps-sdk").CreateInterfaceParams, string>;
10
+ snap_updateInterface: import("@metamask/permission-controller").PermittedHandlerExport<import("./updateInterface").UpdateInterfaceMethodHooks, import("@metamask/snaps-sdk").UpdateInterfaceParams, null>;
11
+ snap_getInterfaceState: import("@metamask/permission-controller").PermittedHandlerExport<import("./getInterfaceState").GetInterfaceStateMethodHooks, import("@metamask/snaps-sdk").GetInterfaceStateParams, Record<string, string | Record<string, string | null> | null>>;
8
12
  };
9
- export declare const handlers: (import("@metamask/permission-controller").PermittedHandlerExport<import("./getAllSnaps").GetAllSnapsHooks, import("@metamask/utils").JsonRpcParams, import("@metamask/snaps-sdk").GetSnapsResult> | 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("./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<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>)[];
@@ -1,6 +1,10 @@
1
+ import type { CreateInterfaceMethodHooks } from './createInterface';
1
2
  import type { GetAllSnapsHooks } from './getAllSnaps';
3
+ import type { GetClientStatusHooks } from './getClientStatus';
4
+ import type { GetInterfaceStateMethodHooks } from './getInterfaceState';
2
5
  import type { GetSnapsHooks } from './getSnaps';
3
6
  import type { RequestSnapsHooks } from './requestSnaps';
4
- export declare type PermittedRpcMethodHooks = GetAllSnapsHooks & GetSnapsHooks & RequestSnapsHooks;
7
+ import type { UpdateInterfaceMethodHooks } from './updateInterface';
8
+ export declare type PermittedRpcMethodHooks = GetAllSnapsHooks & GetClientStatusHooks & GetSnapsHooks & RequestSnapsHooks & CreateInterfaceMethodHooks & UpdateInterfaceMethodHooks & GetInterfaceStateMethodHooks;
5
9
  export * from './handlers';
6
10
  export * from './middleware';
@@ -6,10 +6,10 @@ import type { Snap, SnapRpcHookArgs } from '@metamask/snaps-utils';
6
6
  */
7
7
  export declare const invokeKeyringHandler: PermittedHandlerExport<InvokeKeyringHooks, InvokeSnapParams, InvokeKeyringResult>;
8
8
  export declare type InvokeKeyringHooks = {
9
- hasPermission: (origin: string, permissionName: string) => boolean;
10
- handleSnapRpcRequest: ({ snapId, origin, handler, request, }: SnapRpcHookArgs & {
9
+ hasPermission: (permissionName: string) => boolean;
10
+ handleSnapRpcRequest: ({ snapId, handler, request, }: Omit<SnapRpcHookArgs, 'origin'> & {
11
11
  snapId: string;
12
12
  }) => Promise<unknown>;
13
13
  getSnap: (snapId: string) => Snap | undefined;
14
- getAllowedKeyringMethods: (origin: string) => string[];
14
+ getAllowedKeyringMethods: () => string[];
15
15
  };
@@ -0,0 +1,152 @@
1
+ import type { PermittedHandlerExport } from '@metamask/permission-controller';
2
+ import type { Component, UpdateInterfaceParams, UpdateInterfaceResult } from '@metamask/snaps-sdk';
3
+ import { type InferMatching } from '@metamask/snaps-utils';
4
+ export declare type UpdateInterfaceMethodHooks = {
5
+ /**
6
+ * @param id - The interface ID.
7
+ * @param ui - The UI components.
8
+ */
9
+ updateInterface: (id: string, ui: Component) => Promise<void>;
10
+ };
11
+ export declare const updateInterfaceHandler: PermittedHandlerExport<UpdateInterfaceMethodHooks, UpdateInterfaceParameters, UpdateInterfaceResult>;
12
+ declare const UpdateInterfaceParametersStruct: import("superstruct").Struct<{
13
+ id: string;
14
+ ui: import("@metamask/snaps-sdk").Panel | {
15
+ value: string;
16
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
17
+ sensitive?: boolean | undefined;
18
+ } | {
19
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
20
+ } | {
21
+ value: string;
22
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
23
+ } | {
24
+ value: string;
25
+ type: import("@metamask/snaps-sdk").NodeType.Image;
26
+ } | {
27
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
28
+ } | {
29
+ value: string;
30
+ type: import("@metamask/snaps-sdk").NodeType.Text;
31
+ markdown?: boolean | undefined;
32
+ } | {
33
+ value: string;
34
+ type: import("@metamask/snaps-sdk").NodeType.Address;
35
+ } | {
36
+ value: {
37
+ value: string;
38
+ type: import("@metamask/snaps-sdk").NodeType.Image;
39
+ } | {
40
+ value: string;
41
+ type: import("@metamask/snaps-sdk").NodeType.Text;
42
+ markdown?: boolean | undefined;
43
+ } | {
44
+ value: string;
45
+ type: import("@metamask/snaps-sdk").NodeType.Address;
46
+ };
47
+ type: import("@metamask/snaps-sdk").NodeType.Row;
48
+ label: string;
49
+ variant?: "default" | "warning" | "critical" | undefined;
50
+ } | {
51
+ type: import("@metamask/snaps-sdk").NodeType.Input;
52
+ name: string;
53
+ value?: string | undefined;
54
+ label?: string | undefined;
55
+ inputType?: "number" | "text" | "password" | undefined;
56
+ placeholder?: string | undefined;
57
+ } | {
58
+ value: string;
59
+ type: import("@metamask/snaps-sdk").NodeType.Button;
60
+ name?: string | undefined;
61
+ variant?: "primary" | "secondary" | undefined;
62
+ buttonType?: "button" | "submit" | undefined;
63
+ } | {
64
+ type: import("@metamask/snaps-sdk").NodeType.Form;
65
+ name: string;
66
+ children: ({
67
+ type: import("@metamask/snaps-sdk").NodeType.Input;
68
+ name: string;
69
+ value?: string | undefined;
70
+ label?: string | undefined;
71
+ inputType?: "number" | "text" | "password" | undefined;
72
+ placeholder?: string | undefined;
73
+ } | {
74
+ value: string;
75
+ type: import("@metamask/snaps-sdk").NodeType.Button;
76
+ name?: string | undefined;
77
+ variant?: "primary" | "secondary" | undefined;
78
+ buttonType?: "button" | "submit" | undefined;
79
+ })[];
80
+ };
81
+ }, {
82
+ id: import("superstruct").Struct<string, null>;
83
+ ui: import("superstruct").Struct<import("@metamask/snaps-sdk").Panel | {
84
+ value: string;
85
+ type: import("@metamask/snaps-sdk").NodeType.Copyable;
86
+ sensitive?: boolean | undefined;
87
+ } | {
88
+ type: import("@metamask/snaps-sdk").NodeType.Divider;
89
+ } | {
90
+ value: string;
91
+ type: import("@metamask/snaps-sdk").NodeType.Heading;
92
+ } | {
93
+ value: string;
94
+ type: import("@metamask/snaps-sdk").NodeType.Image;
95
+ } | {
96
+ type: import("@metamask/snaps-sdk").NodeType.Spinner;
97
+ } | {
98
+ value: string;
99
+ type: import("@metamask/snaps-sdk").NodeType.Text;
100
+ markdown?: boolean | undefined;
101
+ } | {
102
+ value: string;
103
+ type: import("@metamask/snaps-sdk").NodeType.Address;
104
+ } | {
105
+ value: {
106
+ value: string;
107
+ type: import("@metamask/snaps-sdk").NodeType.Image;
108
+ } | {
109
+ value: string;
110
+ type: import("@metamask/snaps-sdk").NodeType.Text;
111
+ markdown?: boolean | undefined;
112
+ } | {
113
+ value: string;
114
+ type: import("@metamask/snaps-sdk").NodeType.Address;
115
+ };
116
+ type: import("@metamask/snaps-sdk").NodeType.Row;
117
+ label: string;
118
+ variant?: "default" | "warning" | "critical" | undefined;
119
+ } | {
120
+ type: import("@metamask/snaps-sdk").NodeType.Input;
121
+ name: string;
122
+ value?: string | undefined;
123
+ label?: string | undefined;
124
+ inputType?: "number" | "text" | "password" | undefined;
125
+ placeholder?: string | undefined;
126
+ } | {
127
+ value: string;
128
+ type: import("@metamask/snaps-sdk").NodeType.Button;
129
+ name?: string | undefined;
130
+ variant?: "primary" | "secondary" | undefined;
131
+ buttonType?: "button" | "submit" | undefined;
132
+ } | {
133
+ type: import("@metamask/snaps-sdk").NodeType.Form;
134
+ name: string;
135
+ children: ({
136
+ type: import("@metamask/snaps-sdk").NodeType.Input;
137
+ name: string;
138
+ value?: string | undefined;
139
+ label?: string | undefined;
140
+ inputType?: "number" | "text" | "password" | undefined;
141
+ placeholder?: string | undefined;
142
+ } | {
143
+ value: string;
144
+ type: import("@metamask/snaps-sdk").NodeType.Button;
145
+ name?: string | undefined;
146
+ variant?: "primary" | "secondary" | undefined;
147
+ buttonType?: "button" | "submit" | undefined;
148
+ })[];
149
+ }, null>;
150
+ }>;
151
+ export declare type UpdateInterfaceParameters = InferMatching<typeof UpdateInterfaceParametersStruct, UpdateInterfaceParams>;
152
+ export {};