@metamask/snaps-rpc-methods 11.13.1 → 12.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.
- package/CHANGELOG.md +17 -1
- package/dist/endowments/index.cjs +1 -0
- package/dist/endowments/index.cjs.map +1 -1
- package/dist/endowments/index.d.cts.map +1 -1
- package/dist/endowments/index.d.mts.map +1 -1
- package/dist/endowments/index.mjs +1 -0
- package/dist/endowments/index.mjs.map +1 -1
- package/dist/permitted/createInterface.d.cts +44 -44
- package/dist/permitted/createInterface.d.mts +44 -44
- package/dist/permitted/experimentalProviderRequest.d.cts +3 -3
- package/dist/permitted/experimentalProviderRequest.d.mts +3 -3
- package/dist/permitted/getFile.d.cts +2 -2
- package/dist/permitted/getFile.d.mts +2 -2
- package/dist/permitted/getState.d.cts +1 -1
- package/dist/permitted/getState.d.mts +1 -1
- package/dist/permitted/handlers.d.cts +16 -0
- package/dist/permitted/handlers.d.cts.map +1 -1
- package/dist/permitted/handlers.d.mts +16 -0
- package/dist/permitted/handlers.d.mts.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.cjs +2 -19
- package/dist/permitted/scheduleBackgroundEvent.cjs.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.d.cts +4 -4
- package/dist/permitted/scheduleBackgroundEvent.d.cts.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.d.mts +4 -4
- package/dist/permitted/scheduleBackgroundEvent.d.mts.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.mjs +4 -21
- package/dist/permitted/scheduleBackgroundEvent.mjs.map +1 -1
- package/dist/permitted/setState.d.cts +1 -1
- package/dist/permitted/setState.d.mts +1 -1
- package/dist/permitted/updateInterface.d.cts +44 -44
- package/dist/permitted/updateInterface.d.mts +44 -44
- package/dist/restricted/dialog.d.cts +91 -147
- package/dist/restricted/dialog.d.cts.map +1 -1
- package/dist/restricted/dialog.d.mts +91 -147
- package/dist/restricted/dialog.d.mts.map +1 -1
- package/dist/restricted/getBip32Entropy.cjs +16 -3
- package/dist/restricted/getBip32Entropy.cjs.map +1 -1
- package/dist/restricted/getBip32Entropy.d.cts +11 -1
- package/dist/restricted/getBip32Entropy.d.cts.map +1 -1
- package/dist/restricted/getBip32Entropy.d.mts +11 -1
- package/dist/restricted/getBip32Entropy.d.mts.map +1 -1
- package/dist/restricted/getBip32Entropy.mjs +17 -4
- package/dist/restricted/getBip32Entropy.mjs.map +1 -1
- package/dist/restricted/getBip32PublicKey.cjs +19 -3
- package/dist/restricted/getBip32PublicKey.cjs.map +1 -1
- package/dist/restricted/getBip32PublicKey.d.cts +13 -3
- package/dist/restricted/getBip32PublicKey.d.cts.map +1 -1
- package/dist/restricted/getBip32PublicKey.d.mts +13 -3
- package/dist/restricted/getBip32PublicKey.d.mts.map +1 -1
- package/dist/restricted/getBip32PublicKey.mjs +20 -4
- package/dist/restricted/getBip32PublicKey.mjs.map +1 -1
- package/dist/restricted/getBip44Entropy.cjs +8 -5
- package/dist/restricted/getBip44Entropy.cjs.map +1 -1
- package/dist/restricted/getBip44Entropy.d.cts +6 -6
- package/dist/restricted/getBip44Entropy.d.cts.map +1 -1
- package/dist/restricted/getBip44Entropy.d.mts +6 -6
- package/dist/restricted/getBip44Entropy.d.mts.map +1 -1
- package/dist/restricted/getBip44Entropy.mjs +9 -6
- package/dist/restricted/getBip44Entropy.mjs.map +1 -1
- package/dist/restricted/getEntropy.cjs +7 -7
- package/dist/restricted/getEntropy.cjs.map +1 -1
- package/dist/restricted/getEntropy.d.cts +8 -8
- package/dist/restricted/getEntropy.d.cts.map +1 -1
- package/dist/restricted/getEntropy.d.mts +8 -8
- package/dist/restricted/getEntropy.d.mts.map +1 -1
- package/dist/restricted/getEntropy.mjs +8 -8
- package/dist/restricted/getEntropy.mjs.map +1 -1
- package/dist/restricted/manageAccounts.d.cts +1 -1
- package/dist/restricted/manageAccounts.d.mts +1 -1
- package/dist/restricted/manageState.cjs +4 -4
- package/dist/restricted/manageState.cjs.map +1 -1
- package/dist/restricted/manageState.d.cts +3 -3
- package/dist/restricted/manageState.d.cts.map +1 -1
- package/dist/restricted/manageState.d.mts +3 -3
- package/dist/restricted/manageState.d.mts.map +1 -1
- package/dist/restricted/manageState.mjs +5 -5
- package/dist/restricted/manageState.mjs.map +1 -1
- package/dist/restricted/notify.d.cts +74 -74
- package/dist/restricted/notify.d.mts +74 -74
- package/dist/utils.cjs +68 -23
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +40 -16
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.mts +40 -16
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.mjs +63 -19
- package/dist/utils.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -71,90 +71,76 @@ export declare const dialogBuilder: Readonly<{
|
|
|
71
71
|
readonly methodHooks: MethodHooksObject<DialogMethodHooks>;
|
|
72
72
|
}>;
|
|
73
73
|
declare const DialogParametersStruct: import("@metamask/superstruct").Struct<{
|
|
74
|
-
type: "alert";
|
|
75
74
|
id: string;
|
|
75
|
+
type: "alert";
|
|
76
76
|
} | {
|
|
77
77
|
type: "alert";
|
|
78
|
-
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CheckboxProps, "Checkbox"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FormProps, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FileInputProps, "FileInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").InputProps, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").DropdownProps, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SelectorProps, "Selector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AvatarProps, "Avatar"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CardProps, "Card"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ContainerProps, "Container"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").IconProps, "Icon"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SectionProps, "Section"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TooltipProps, "Tooltip"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BannerProps, "Banner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SkeletonProps, "Skeleton"> | {
|
|
79
|
-
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
78
|
+
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AssetSelectorProps, "AssetSelector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressInputProps, "AddressInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CheckboxProps, "Checkbox"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FormProps, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FileInputProps, "FileInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").InputProps, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").DropdownProps, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SelectorProps, "Selector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AvatarProps, "Avatar"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CardProps, "Card"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ContainerProps, "Container"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").IconProps, "Icon"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SectionProps, "Section"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TooltipProps, "Tooltip"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BannerProps, "Banner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SkeletonProps, "Skeleton"> | {
|
|
80
79
|
value: string;
|
|
80
|
+
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
81
81
|
sensitive?: boolean | undefined;
|
|
82
82
|
} | {
|
|
83
83
|
type: import("@metamask/snaps-sdk").NodeType.Divider;
|
|
84
84
|
} | {
|
|
85
|
-
type: import("@metamask/snaps-sdk").NodeType.Heading;
|
|
86
85
|
value: string;
|
|
86
|
+
type: import("@metamask/snaps-sdk").NodeType.Heading;
|
|
87
87
|
} | {
|
|
88
|
-
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
89
88
|
value: string;
|
|
89
|
+
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
90
90
|
} | {
|
|
91
91
|
type: import("@metamask/snaps-sdk").NodeType.Spinner;
|
|
92
92
|
} | {
|
|
93
|
-
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
94
93
|
value: string;
|
|
94
|
+
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
95
95
|
markdown?: boolean | undefined;
|
|
96
96
|
} | {
|
|
97
|
-
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
98
97
|
value: `0x${string}`;
|
|
98
|
+
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
99
99
|
} | {
|
|
100
|
-
type: import("@metamask/snaps-sdk").NodeType.Row;
|
|
101
100
|
value: {
|
|
102
|
-
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
103
101
|
value: string;
|
|
102
|
+
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
104
103
|
} | {
|
|
105
|
-
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
106
104
|
value: string;
|
|
105
|
+
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
107
106
|
markdown?: boolean | undefined;
|
|
108
107
|
} | {
|
|
109
|
-
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
110
108
|
value: `0x${string}`;
|
|
109
|
+
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
111
110
|
};
|
|
111
|
+
type: import("@metamask/snaps-sdk").NodeType.Row;
|
|
112
112
|
label: string;
|
|
113
|
-
variant?: "default" | "
|
|
113
|
+
variant?: "default" | "critical" | "warning" | undefined;
|
|
114
114
|
} | {
|
|
115
|
-
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
116
115
|
name: string;
|
|
117
|
-
|
|
118
|
-
inputType?: "number" | "text" | "password" | undefined;
|
|
116
|
+
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
119
117
|
value?: string | undefined;
|
|
120
118
|
label?: string | undefined;
|
|
119
|
+
inputType?: "number" | "text" | "password" | undefined;
|
|
121
120
|
placeholder?: string | undefined;
|
|
121
|
+
error?: string | undefined;
|
|
122
122
|
} | {
|
|
123
|
-
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
124
123
|
value: string;
|
|
125
|
-
|
|
124
|
+
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
126
125
|
name?: string | undefined;
|
|
126
|
+
variant?: "primary" | "secondary" | undefined;
|
|
127
127
|
buttonType?: "button" | "submit" | undefined;
|
|
128
128
|
} | {
|
|
129
|
-
type: import("@metamask/snaps-sdk").NodeType.Form;
|
|
130
129
|
name: string;
|
|
130
|
+
type: import("@metamask/snaps-sdk").NodeType.Form;
|
|
131
131
|
children: ({
|
|
132
|
-
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
133
132
|
name: string;
|
|
134
|
-
|
|
135
|
-
* The specification builder for the `snap_dialog` permission. `snap_dialog`
|
|
136
|
-
* lets the Snap display one of the following dialogs to the user:
|
|
137
|
-
* - An alert, for displaying information.
|
|
138
|
-
* - A confirmation, for accepting or rejecting some action.
|
|
139
|
-
* - A prompt, for inputting some information.
|
|
140
|
-
*
|
|
141
|
-
* @param options - The specification builder options.
|
|
142
|
-
* @param options.allowedCaveats - The optional allowed caveats for the
|
|
143
|
-
* permission.
|
|
144
|
-
* @param options.methodHooks - The RPC method hooks needed by the method
|
|
145
|
-
* implementation.
|
|
146
|
-
* @returns The specification for the `snap_dialog` permission.
|
|
147
|
-
*/
|
|
148
|
-
error?: string | undefined;
|
|
149
|
-
inputType?: "number" | "text" | "password" | undefined;
|
|
133
|
+
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
150
134
|
value?: string | undefined;
|
|
151
135
|
label?: string | undefined;
|
|
136
|
+
inputType?: "number" | "text" | "password" | undefined;
|
|
152
137
|
placeholder?: string | undefined;
|
|
138
|
+
error?: string | undefined;
|
|
153
139
|
} | {
|
|
154
|
-
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
155
140
|
value: string;
|
|
156
|
-
|
|
141
|
+
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
157
142
|
name?: string | undefined;
|
|
143
|
+
variant?: "primary" | "secondary" | undefined;
|
|
158
144
|
buttonType?: "button" | "submit" | undefined;
|
|
159
145
|
})[];
|
|
160
146
|
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
@@ -175,90 +161,76 @@ declare const DialogParametersStruct: import("@metamask/superstruct").Struct<{
|
|
|
175
161
|
size?: "sm" | "md" | "lg" | undefined;
|
|
176
162
|
}, "Heading">;
|
|
177
163
|
} | {
|
|
178
|
-
type: "confirmation";
|
|
179
164
|
id: string;
|
|
165
|
+
type: "confirmation";
|
|
180
166
|
} | {
|
|
181
167
|
type: "confirmation";
|
|
182
|
-
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CheckboxProps, "Checkbox"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FormProps, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FileInputProps, "FileInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").InputProps, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").DropdownProps, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SelectorProps, "Selector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AvatarProps, "Avatar"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CardProps, "Card"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ContainerProps, "Container"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").IconProps, "Icon"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SectionProps, "Section"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TooltipProps, "Tooltip"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BannerProps, "Banner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SkeletonProps, "Skeleton"> | {
|
|
183
|
-
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
168
|
+
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AssetSelectorProps, "AssetSelector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressInputProps, "AddressInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CheckboxProps, "Checkbox"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FormProps, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FileInputProps, "FileInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").InputProps, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").DropdownProps, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SelectorProps, "Selector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AvatarProps, "Avatar"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CardProps, "Card"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ContainerProps, "Container"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").IconProps, "Icon"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SectionProps, "Section"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TooltipProps, "Tooltip"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BannerProps, "Banner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SkeletonProps, "Skeleton"> | {
|
|
184
169
|
value: string;
|
|
170
|
+
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
185
171
|
sensitive?: boolean | undefined;
|
|
186
172
|
} | {
|
|
187
173
|
type: import("@metamask/snaps-sdk").NodeType.Divider;
|
|
188
174
|
} | {
|
|
189
|
-
type: import("@metamask/snaps-sdk").NodeType.Heading;
|
|
190
175
|
value: string;
|
|
176
|
+
type: import("@metamask/snaps-sdk").NodeType.Heading;
|
|
191
177
|
} | {
|
|
192
|
-
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
193
178
|
value: string;
|
|
179
|
+
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
194
180
|
} | {
|
|
195
181
|
type: import("@metamask/snaps-sdk").NodeType.Spinner;
|
|
196
182
|
} | {
|
|
197
|
-
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
198
183
|
value: string;
|
|
184
|
+
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
199
185
|
markdown?: boolean | undefined;
|
|
200
186
|
} | {
|
|
201
|
-
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
202
187
|
value: `0x${string}`;
|
|
188
|
+
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
203
189
|
} | {
|
|
204
|
-
type: import("@metamask/snaps-sdk").NodeType.Row;
|
|
205
190
|
value: {
|
|
206
|
-
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
207
191
|
value: string;
|
|
192
|
+
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
208
193
|
} | {
|
|
209
|
-
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
210
194
|
value: string;
|
|
195
|
+
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
211
196
|
markdown?: boolean | undefined;
|
|
212
197
|
} | {
|
|
213
|
-
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
214
198
|
value: `0x${string}`;
|
|
199
|
+
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
215
200
|
};
|
|
201
|
+
type: import("@metamask/snaps-sdk").NodeType.Row;
|
|
216
202
|
label: string;
|
|
217
|
-
variant?: "default" | "
|
|
203
|
+
variant?: "default" | "critical" | "warning" | undefined;
|
|
218
204
|
} | {
|
|
219
|
-
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
220
205
|
name: string;
|
|
221
|
-
|
|
222
|
-
inputType?: "number" | "text" | "password" | undefined;
|
|
206
|
+
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
223
207
|
value?: string | undefined;
|
|
224
208
|
label?: string | undefined;
|
|
209
|
+
inputType?: "number" | "text" | "password" | undefined;
|
|
225
210
|
placeholder?: string | undefined;
|
|
211
|
+
error?: string | undefined;
|
|
226
212
|
} | {
|
|
227
|
-
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
228
213
|
value: string;
|
|
229
|
-
|
|
214
|
+
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
230
215
|
name?: string | undefined;
|
|
216
|
+
variant?: "primary" | "secondary" | undefined;
|
|
231
217
|
buttonType?: "button" | "submit" | undefined;
|
|
232
218
|
} | {
|
|
233
|
-
type: import("@metamask/snaps-sdk").NodeType.Form;
|
|
234
219
|
name: string;
|
|
220
|
+
type: import("@metamask/snaps-sdk").NodeType.Form;
|
|
235
221
|
children: ({
|
|
236
|
-
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
237
222
|
name: string;
|
|
238
|
-
|
|
239
|
-
* The specification builder for the `snap_dialog` permission. `snap_dialog`
|
|
240
|
-
* lets the Snap display one of the following dialogs to the user:
|
|
241
|
-
* - An alert, for displaying information.
|
|
242
|
-
* - A confirmation, for accepting or rejecting some action.
|
|
243
|
-
* - A prompt, for inputting some information.
|
|
244
|
-
*
|
|
245
|
-
* @param options - The specification builder options.
|
|
246
|
-
* @param options.allowedCaveats - The optional allowed caveats for the
|
|
247
|
-
* permission.
|
|
248
|
-
* @param options.methodHooks - The RPC method hooks needed by the method
|
|
249
|
-
* implementation.
|
|
250
|
-
* @returns The specification for the `snap_dialog` permission.
|
|
251
|
-
*/
|
|
252
|
-
error?: string | undefined;
|
|
253
|
-
inputType?: "number" | "text" | "password" | undefined;
|
|
223
|
+
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
254
224
|
value?: string | undefined;
|
|
255
225
|
label?: string | undefined;
|
|
226
|
+
inputType?: "number" | "text" | "password" | undefined;
|
|
256
227
|
placeholder?: string | undefined;
|
|
228
|
+
error?: string | undefined;
|
|
257
229
|
} | {
|
|
258
|
-
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
259
230
|
value: string;
|
|
260
|
-
|
|
231
|
+
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
261
232
|
name?: string | undefined;
|
|
233
|
+
variant?: "primary" | "secondary" | undefined;
|
|
262
234
|
buttonType?: "button" | "submit" | undefined;
|
|
263
235
|
})[];
|
|
264
236
|
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
@@ -279,91 +251,77 @@ declare const DialogParametersStruct: import("@metamask/superstruct").Struct<{
|
|
|
279
251
|
size?: "sm" | "md" | "lg" | undefined;
|
|
280
252
|
}, "Heading">;
|
|
281
253
|
} | {
|
|
282
|
-
type: "prompt";
|
|
283
254
|
id: string;
|
|
255
|
+
type: "prompt";
|
|
284
256
|
placeholder?: string | undefined;
|
|
285
257
|
} | {
|
|
286
258
|
type: "prompt";
|
|
287
|
-
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CheckboxProps, "Checkbox"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FormProps, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FileInputProps, "FileInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").InputProps, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").DropdownProps, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SelectorProps, "Selector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AvatarProps, "Avatar"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CardProps, "Card"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ContainerProps, "Container"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").IconProps, "Icon"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SectionProps, "Section"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TooltipProps, "Tooltip"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BannerProps, "Banner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SkeletonProps, "Skeleton"> | {
|
|
288
|
-
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
259
|
+
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AssetSelectorProps, "AssetSelector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressInputProps, "AddressInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CheckboxProps, "Checkbox"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FormProps, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FileInputProps, "FileInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").InputProps, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").DropdownProps, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SelectorProps, "Selector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AvatarProps, "Avatar"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CardProps, "Card"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ContainerProps, "Container"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").IconProps, "Icon"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SectionProps, "Section"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TooltipProps, "Tooltip"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BannerProps, "Banner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SkeletonProps, "Skeleton"> | {
|
|
289
260
|
value: string;
|
|
261
|
+
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
290
262
|
sensitive?: boolean | undefined;
|
|
291
263
|
} | {
|
|
292
264
|
type: import("@metamask/snaps-sdk").NodeType.Divider;
|
|
293
265
|
} | {
|
|
294
|
-
type: import("@metamask/snaps-sdk").NodeType.Heading;
|
|
295
266
|
value: string;
|
|
267
|
+
type: import("@metamask/snaps-sdk").NodeType.Heading;
|
|
296
268
|
} | {
|
|
297
|
-
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
298
269
|
value: string;
|
|
270
|
+
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
299
271
|
} | {
|
|
300
272
|
type: import("@metamask/snaps-sdk").NodeType.Spinner;
|
|
301
273
|
} | {
|
|
302
|
-
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
303
274
|
value: string;
|
|
275
|
+
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
304
276
|
markdown?: boolean | undefined;
|
|
305
277
|
} | {
|
|
306
|
-
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
307
278
|
value: `0x${string}`;
|
|
279
|
+
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
308
280
|
} | {
|
|
309
|
-
type: import("@metamask/snaps-sdk").NodeType.Row;
|
|
310
281
|
value: {
|
|
311
|
-
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
312
282
|
value: string;
|
|
283
|
+
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
313
284
|
} | {
|
|
314
|
-
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
315
285
|
value: string;
|
|
286
|
+
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
316
287
|
markdown?: boolean | undefined;
|
|
317
288
|
} | {
|
|
318
|
-
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
319
289
|
value: `0x${string}`;
|
|
290
|
+
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
320
291
|
};
|
|
292
|
+
type: import("@metamask/snaps-sdk").NodeType.Row;
|
|
321
293
|
label: string;
|
|
322
|
-
variant?: "default" | "
|
|
294
|
+
variant?: "default" | "critical" | "warning" | undefined;
|
|
323
295
|
} | {
|
|
324
|
-
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
325
296
|
name: string;
|
|
326
|
-
|
|
327
|
-
inputType?: "number" | "text" | "password" | undefined;
|
|
297
|
+
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
328
298
|
value?: string | undefined;
|
|
329
299
|
label?: string | undefined;
|
|
300
|
+
inputType?: "number" | "text" | "password" | undefined;
|
|
330
301
|
placeholder?: string | undefined;
|
|
302
|
+
error?: string | undefined;
|
|
331
303
|
} | {
|
|
332
|
-
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
333
304
|
value: string;
|
|
334
|
-
|
|
305
|
+
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
335
306
|
name?: string | undefined;
|
|
307
|
+
variant?: "primary" | "secondary" | undefined;
|
|
336
308
|
buttonType?: "button" | "submit" | undefined;
|
|
337
309
|
} | {
|
|
338
|
-
type: import("@metamask/snaps-sdk").NodeType.Form;
|
|
339
310
|
name: string;
|
|
311
|
+
type: import("@metamask/snaps-sdk").NodeType.Form;
|
|
340
312
|
children: ({
|
|
341
|
-
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
342
313
|
name: string;
|
|
343
|
-
|
|
344
|
-
* The specification builder for the `snap_dialog` permission. `snap_dialog`
|
|
345
|
-
* lets the Snap display one of the following dialogs to the user:
|
|
346
|
-
* - An alert, for displaying information.
|
|
347
|
-
* - A confirmation, for accepting or rejecting some action.
|
|
348
|
-
* - A prompt, for inputting some information.
|
|
349
|
-
*
|
|
350
|
-
* @param options - The specification builder options.
|
|
351
|
-
* @param options.allowedCaveats - The optional allowed caveats for the
|
|
352
|
-
* permission.
|
|
353
|
-
* @param options.methodHooks - The RPC method hooks needed by the method
|
|
354
|
-
* implementation.
|
|
355
|
-
* @returns The specification for the `snap_dialog` permission.
|
|
356
|
-
*/
|
|
357
|
-
error?: string | undefined;
|
|
358
|
-
inputType?: "number" | "text" | "password" | undefined;
|
|
314
|
+
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
359
315
|
value?: string | undefined;
|
|
360
316
|
label?: string | undefined;
|
|
317
|
+
inputType?: "number" | "text" | "password" | undefined;
|
|
361
318
|
placeholder?: string | undefined;
|
|
319
|
+
error?: string | undefined;
|
|
362
320
|
} | {
|
|
363
|
-
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
364
321
|
value: string;
|
|
365
|
-
|
|
322
|
+
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
366
323
|
name?: string | undefined;
|
|
324
|
+
variant?: "primary" | "secondary" | undefined;
|
|
367
325
|
buttonType?: "button" | "submit" | undefined;
|
|
368
326
|
})[];
|
|
369
327
|
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
@@ -387,86 +345,72 @@ declare const DialogParametersStruct: import("@metamask/superstruct").Struct<{
|
|
|
387
345
|
} | {
|
|
388
346
|
id: string;
|
|
389
347
|
} | {
|
|
390
|
-
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CheckboxProps, "Checkbox"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FormProps, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FileInputProps, "FileInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").InputProps, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").DropdownProps, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SelectorProps, "Selector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AvatarProps, "Avatar"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CardProps, "Card"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ContainerProps, "Container"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").IconProps, "Icon"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SectionProps, "Section"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TooltipProps, "Tooltip"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BannerProps, "Banner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SkeletonProps, "Skeleton"> | {
|
|
391
|
-
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
348
|
+
content: import("@metamask/snaps-sdk").Panel | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AssetSelectorProps, "AssetSelector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressInputProps, "AddressInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ButtonProps, "Button"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CheckboxProps, "Checkbox"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FormProps, "Form"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FieldProps, "Field"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").FileInputProps, "FileInput"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").InputProps, "Input"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").DropdownProps, "Dropdown"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SelectorProps, "Selector"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoldProps, "Bold"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ItalicProps, "Italic"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AvatarProps, "Avatar"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").AddressProps, "Address"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BoxProps, "Box"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CardProps, "Card"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").ContainerProps, "Container"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").CopyableProps, "Copyable"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Divider"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").IconProps, "Icon"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").LinkProps, "Link"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").RowProps, "Row"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SectionProps, "Section"> | import("@metamask/snaps-sdk/jsx").SnapElement<Record<string, never>, "Spinner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TextProps, "Text"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").TooltipProps, "Tooltip"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").BannerProps, "Banner"> | import("@metamask/snaps-sdk/jsx").SnapElement<import("@metamask/snaps-sdk/jsx").SkeletonProps, "Skeleton"> | {
|
|
392
349
|
value: string;
|
|
350
|
+
type: import("@metamask/snaps-sdk").NodeType.Copyable;
|
|
393
351
|
sensitive?: boolean | undefined;
|
|
394
352
|
} | {
|
|
395
353
|
type: import("@metamask/snaps-sdk").NodeType.Divider;
|
|
396
354
|
} | {
|
|
397
|
-
type: import("@metamask/snaps-sdk").NodeType.Heading;
|
|
398
355
|
value: string;
|
|
356
|
+
type: import("@metamask/snaps-sdk").NodeType.Heading;
|
|
399
357
|
} | {
|
|
400
|
-
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
401
358
|
value: string;
|
|
359
|
+
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
402
360
|
} | {
|
|
403
361
|
type: import("@metamask/snaps-sdk").NodeType.Spinner;
|
|
404
362
|
} | {
|
|
405
|
-
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
406
363
|
value: string;
|
|
364
|
+
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
407
365
|
markdown?: boolean | undefined;
|
|
408
366
|
} | {
|
|
409
|
-
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
410
367
|
value: `0x${string}`;
|
|
368
|
+
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
411
369
|
} | {
|
|
412
|
-
type: import("@metamask/snaps-sdk").NodeType.Row;
|
|
413
370
|
value: {
|
|
414
|
-
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
415
371
|
value: string;
|
|
372
|
+
type: import("@metamask/snaps-sdk").NodeType.Image;
|
|
416
373
|
} | {
|
|
417
|
-
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
418
374
|
value: string;
|
|
375
|
+
type: import("@metamask/snaps-sdk").NodeType.Text;
|
|
419
376
|
markdown?: boolean | undefined;
|
|
420
377
|
} | {
|
|
421
|
-
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
422
378
|
value: `0x${string}`;
|
|
379
|
+
type: import("@metamask/snaps-sdk").NodeType.Address;
|
|
423
380
|
};
|
|
381
|
+
type: import("@metamask/snaps-sdk").NodeType.Row;
|
|
424
382
|
label: string;
|
|
425
|
-
variant?: "default" | "
|
|
383
|
+
variant?: "default" | "critical" | "warning" | undefined;
|
|
426
384
|
} | {
|
|
427
|
-
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
428
385
|
name: string;
|
|
429
|
-
|
|
430
|
-
inputType?: "number" | "text" | "password" | undefined;
|
|
386
|
+
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
431
387
|
value?: string | undefined;
|
|
432
388
|
label?: string | undefined;
|
|
389
|
+
inputType?: "number" | "text" | "password" | undefined;
|
|
433
390
|
placeholder?: string | undefined;
|
|
391
|
+
error?: string | undefined;
|
|
434
392
|
} | {
|
|
435
|
-
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
436
393
|
value: string;
|
|
437
|
-
|
|
394
|
+
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
438
395
|
name?: string | undefined;
|
|
396
|
+
variant?: "primary" | "secondary" | undefined;
|
|
439
397
|
buttonType?: "button" | "submit" | undefined;
|
|
440
398
|
} | {
|
|
441
|
-
type: import("@metamask/snaps-sdk").NodeType.Form;
|
|
442
399
|
name: string;
|
|
400
|
+
type: import("@metamask/snaps-sdk").NodeType.Form;
|
|
443
401
|
children: ({
|
|
444
|
-
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
445
402
|
name: string;
|
|
446
|
-
|
|
447
|
-
* The specification builder for the `snap_dialog` permission. `snap_dialog`
|
|
448
|
-
* lets the Snap display one of the following dialogs to the user:
|
|
449
|
-
* - An alert, for displaying information.
|
|
450
|
-
* - A confirmation, for accepting or rejecting some action.
|
|
451
|
-
* - A prompt, for inputting some information.
|
|
452
|
-
*
|
|
453
|
-
* @param options - The specification builder options.
|
|
454
|
-
* @param options.allowedCaveats - The optional allowed caveats for the
|
|
455
|
-
* permission.
|
|
456
|
-
* @param options.methodHooks - The RPC method hooks needed by the method
|
|
457
|
-
* implementation.
|
|
458
|
-
* @returns The specification for the `snap_dialog` permission.
|
|
459
|
-
*/
|
|
460
|
-
error?: string | undefined;
|
|
461
|
-
inputType?: "number" | "text" | "password" | undefined;
|
|
403
|
+
type: import("@metamask/snaps-sdk").NodeType.Input;
|
|
462
404
|
value?: string | undefined;
|
|
463
405
|
label?: string | undefined;
|
|
406
|
+
inputType?: "number" | "text" | "password" | undefined;
|
|
464
407
|
placeholder?: string | undefined;
|
|
408
|
+
error?: string | undefined;
|
|
465
409
|
} | {
|
|
466
|
-
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
467
410
|
value: string;
|
|
468
|
-
|
|
411
|
+
type: import("@metamask/snaps-sdk").NodeType.Button;
|
|
469
412
|
name?: string | undefined;
|
|
413
|
+
variant?: "primary" | "secondary" | undefined;
|
|
470
414
|
buttonType?: "button" | "submit" | undefined;
|
|
471
415
|
})[];
|
|
472
416
|
} | import("@metamask/snaps-sdk/jsx").SnapElement<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.mts","sourceRoot":"","sources":["../../src/restricted/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,uBAAuB,EAExB,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAE9E,OAAO,EACL,UAAU,EAIX,4BAA4B;AAC7B,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACd,MAAM,EAEN,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACZ,4BAA4B;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAEnD,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB;AAG3D,OAAO,EAAE,KAAK,iBAAiB,EAAE,qBAAiB;AAElD,QAAA,MAAM,UAAU,gBAAgB,CAAC;AAEjC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG;IAC7D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;CAKjC,CAAC;AAEF,QAAA,MAAM,iBAAiB,kEAAkC,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE1D,KAAK,0BAA0B,GAAG;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,KAAK,mBAAmB,GAAG,CACzB,IAAI,EAAE,0BAA0B,KAC7B,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7C,KAAK,eAAe,GAAG,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,gBAAgB,EAC1B,WAAW,CAAC,EAAE,WAAW,KACtB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,KAAK,YAAY,GAAG,CAClB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,KACP;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;;;;;OAQG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IAEzC;;;OAGG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IACxD,WAAW,EAAE,iBAAiB,CAAC;CAChC,CAAC;AA8CF,eAAO,MAAM,aAAa;;;wBA3CR,eAAe,gBAAgB;oBACnC,iBAAiB;8BACP,WAAW,8BAA8B,CAAC;wBAChD,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;;;EA4C7C,CAAC;AAsEZ,QAAA,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"dialog.d.mts","sourceRoot":"","sources":["../../src/restricted/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,uBAAuB,EAExB,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAE9E,OAAO,EACL,UAAU,EAIX,4BAA4B;AAC7B,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACd,MAAM,EAEN,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACZ,4BAA4B;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAEnD,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB;AAG3D,OAAO,EAAE,KAAK,iBAAiB,EAAE,qBAAiB;AAElD,QAAA,MAAM,UAAU,gBAAgB,CAAC;AAEjC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG;IAC7D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;CAKjC,CAAC;AAEF,QAAA,MAAM,iBAAiB,kEAAkC,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE1D,KAAK,0BAA0B,GAAG;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,KAAK,mBAAmB,GAAG,CACzB,IAAI,EAAE,0BAA0B,KAC7B,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7C,KAAK,eAAe,GAAG,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,gBAAgB,EAC1B,WAAW,CAAC,EAAE,WAAW,KACtB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,KAAK,YAAY,GAAG,CAClB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,KACP;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;;;;;OAQG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IAEzC;;;OAGG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IACxD,WAAW,EAAE,iBAAiB,CAAC;CAChC,CAAC;AA8CF,eAAO,MAAM,aAAa;;;wBA3CR,eAAe,gBAAgB;oBACnC,iBAAiB;8BACP,WAAW,8BAA8B,CAAC;wBAChD,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;;;EA4C7C,CAAC;AAsEZ,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmB1B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAC1C,OAAO,sBAAsB,EAC7B,YAAY,CACb,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,mBAAmB,EACnB,eAAe,EACf,YAAY,GACb,EAAE,iBAAiB,UAEV,wBAAwB,gBAAgB,CAAC,KAC9C,QAAQ,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,CAoD3C"}
|
|
@@ -35,6 +35,7 @@ const specificationBuilder = ({ methodHooks }) => {
|
|
|
35
35
|
};
|
|
36
36
|
const methodHooks = {
|
|
37
37
|
getMnemonic: true,
|
|
38
|
+
getMnemonicSeed: true,
|
|
38
39
|
getUnlockPromise: true,
|
|
39
40
|
getClientCryptography: true,
|
|
40
41
|
};
|
|
@@ -48,6 +49,7 @@ exports.getBip32EntropyBuilder = Object.freeze({
|
|
|
48
49
|
*
|
|
49
50
|
* @param hooks - The RPC method hooks.
|
|
50
51
|
* @param hooks.getMnemonic - A function to retrieve the Secret Recovery Phrase of the user.
|
|
52
|
+
* @param hooks.getMnemonicSeed - A function to retrieve the BIP-39 seed of the user.
|
|
51
53
|
* @param hooks.getUnlockPromise - A function that resolves once the MetaMask extension is unlocked
|
|
52
54
|
* and prompts the user to unlock their MetaMask if it is locked.
|
|
53
55
|
* @param hooks.getClientCryptography - A function to retrieve the cryptographic
|
|
@@ -55,13 +57,24 @@ exports.getBip32EntropyBuilder = Object.freeze({
|
|
|
55
57
|
* @returns The method implementation which returns a `JsonSLIP10Node`.
|
|
56
58
|
* @throws If the params are invalid.
|
|
57
59
|
*/
|
|
58
|
-
function getBip32EntropyImplementation({ getMnemonic, getUnlockPromise, getClientCryptography, }) {
|
|
60
|
+
function getBip32EntropyImplementation({ getMnemonic, getMnemonicSeed, getUnlockPromise, getClientCryptography, }) {
|
|
59
61
|
return async function getBip32Entropy(args) {
|
|
60
62
|
await getUnlockPromise(true);
|
|
61
63
|
const { params } = args;
|
|
62
64
|
(0, utils_1.assert)(params);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
// Using the seed is much faster, but we can only do it for these specific curves.
|
|
66
|
+
if (params.curve === 'secp256k1' || params.curve === 'ed25519') {
|
|
67
|
+
const seed = await (0, utils_2.getValueFromEntropySource)(getMnemonicSeed, params.source);
|
|
68
|
+
const node = await (0, utils_2.getNodeFromSeed)({
|
|
69
|
+
curve: params.curve,
|
|
70
|
+
path: params.path,
|
|
71
|
+
seed,
|
|
72
|
+
cryptographicFunctions: getClientCryptography(),
|
|
73
|
+
});
|
|
74
|
+
return node.toJSON();
|
|
75
|
+
}
|
|
76
|
+
const secretRecoveryPhrase = await (0, utils_2.getValueFromEntropySource)(getMnemonic, params.source);
|
|
77
|
+
const node = await (0, utils_2.getNodeFromMnemonic)({
|
|
65
78
|
curve: params.curve,
|
|
66
79
|
path: params.path,
|
|
67
80
|
secretRecoveryPhrase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBip32Entropy.cjs","sourceRoot":"","sources":["../../src/restricted/getBip32Entropy.ts"],"names":[],"mappings":";;;AAOA,2EAA8E;AAC9E,qDAAiD;AAKjD,uDAAuD;AAEvD,2CAAyC;AAGzC,
|
|
1
|
+
{"version":3,"file":"getBip32Entropy.cjs","sourceRoot":"","sources":["../../src/restricted/getBip32Entropy.ts"],"names":[],"mappings":";;;AAOA,2EAA8E;AAC9E,qDAAiD;AAKjD,uDAAuD;AAEvD,2CAAyC;AAGzC,wCAIkB;AAElB,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAoD1C;;;;;;;;GAQG;AACH,MAAM,oBAAoB,GAItB,CAAC,EAAE,WAAW,EAA8C,EAAE,EAAE;IAClE,OAAO;QACL,cAAc,EAAE,sCAAc,CAAC,gBAAgB;QAC/C,UAAU;QACV,cAAc,EAAE,CAAC,4BAAc,CAAC,wBAAwB,CAAC;QACzD,oBAAoB,EAAE,6BAA6B,CAAC,WAAW,CAAC;QAChE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACzB,IACE,OAAO,EAAE,MAAM,KAAK,CAAC;gBACrB,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,4BAAc,CAAC,wBAAwB,EAC3D,CAAC;gBACD,MAAM,sBAAS,CAAC,aAAa,CAAC;oBAC5B,OAAO,EAAE,sBAAsB,4BAAc,CAAC,wBAAwB,WAAW;iBAClF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,YAAY,EAAE,CAAC,mCAAW,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAkD;IACjE,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,IAAI;IACtB,qBAAqB,EAAE,IAAI;CAC5B,CAAC;AAEW,QAAA,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,UAAU;IACV,oBAAoB;IACpB,WAAW;CACH,CAAC,CAAC;AAEZ;;;;;;;;;;;;GAYG;AACH,SAAgB,6BAA6B,CAAC,EAC5C,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACM;IAC3B,OAAO,KAAK,UAAU,eAAe,CACnC,IAAoD;QAEpD,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,IAAA,cAAM,EAAC,MAAM,CAAC,CAAC;QAEf,kFAAkF;QAClF,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAM,IAAA,iCAAyB,EAC1C,eAAe,EACf,MAAM,CAAC,MAAM,CACd,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAe,EAAC;gBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI;gBACJ,sBAAsB,EAAE,qBAAqB,EAAE;aAChD,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,oBAAoB,GAAG,MAAM,IAAA,iCAAyB,EAC1D,WAAW,EACX,MAAM,CAAC,MAAM,CACd,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAmB,EAAC;YACrC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,oBAAoB;YACpB,sBAAsB,EAAE,qBAAqB,EAAE;SAChD,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC;AA7CD,sEA6CC","sourcesContent":["import type { CryptographicFunctions } from '@metamask/key-tree';\nimport type {\n PermissionSpecificationBuilder,\n PermissionValidatorConstraint,\n RestrictedMethodOptions,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type {\n GetBip32EntropyParams,\n GetBip32EntropyResult,\n} from '@metamask/snaps-sdk';\nimport { SnapCaveatType } from '@metamask/snaps-utils';\nimport type { NonEmptyArray } from '@metamask/utils';\nimport { assert } from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\nimport {\n getNodeFromMnemonic,\n getNodeFromSeed,\n getValueFromEntropySource,\n} from '../utils';\n\nconst targetName = 'snap_getBip32Entropy';\n\nexport type GetBip32EntropyMethodHooks = {\n /**\n * Get the mnemonic of the provided source. If no source is provided, the\n * mnemonic of the primary keyring will be returned.\n *\n * @param source - The optional ID of the source to get the mnemonic of.\n * @returns The mnemonic of the provided source, or the default source if no\n * source is provided.\n */\n getMnemonic: (source?: string | undefined) => Promise<Uint8Array>;\n\n /**\n * Get the mnemonic seed of the provided source. If no source is provided, the\n * mnemonic seed of the primary keyring will be returned.\n *\n * @param source - The optional ID of the source to get the mnemonic of.\n * @returns The mnemonic seed of the provided source, or the default source if no\n * source is provided.\n */\n getMnemonicSeed: (source?: string | undefined) => Promise<Uint8Array>;\n\n /**\n * Waits for the extension to be unlocked.\n *\n * @returns A promise that resolves once the extension is unlocked.\n */\n getUnlockPromise: (shouldShowUnlockRequest: boolean) => Promise<void>;\n\n /**\n * Get the cryptographic functions to use for the client. This may return an\n * empty object or `undefined` to fall back to the default cryptographic\n * functions.\n *\n * @returns The cryptographic functions to use for the client.\n */\n getClientCryptography: () => CryptographicFunctions | undefined;\n};\n\ntype GetBip32EntropySpecificationBuilderOptions = {\n methodHooks: GetBip32EntropyMethodHooks;\n};\n\ntype GetBip32EntropySpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.RestrictedMethod;\n targetName: typeof targetName;\n methodImplementation: ReturnType<typeof getBip32EntropyImplementation>;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n validator: PermissionValidatorConstraint;\n}>;\n\n/**\n * The specification builder for the `snap_getBip32Entropy` permission.\n * `snap_getBip32Entropy` lets the Snap control private keys for a particular\n * BIP-32 node.\n *\n * @param options - The specification builder options.\n * @param options.methodHooks - The RPC method hooks needed by the method implementation.\n * @returns The specification for the `snap_getBip32Entropy` permission.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.RestrictedMethod,\n GetBip32EntropySpecificationBuilderOptions,\n GetBip32EntropySpecification\n> = ({ methodHooks }: GetBip32EntropySpecificationBuilderOptions) => {\n return {\n permissionType: PermissionType.RestrictedMethod,\n targetName,\n allowedCaveats: [SnapCaveatType.PermittedDerivationPaths],\n methodImplementation: getBip32EntropyImplementation(methodHooks),\n validator: ({ caveats }) => {\n if (\n caveats?.length !== 1 ||\n caveats[0].type !== SnapCaveatType.PermittedDerivationPaths\n ) {\n throw rpcErrors.invalidParams({\n message: `Expected a single \"${SnapCaveatType.PermittedDerivationPaths}\" caveat.`,\n });\n }\n },\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nconst methodHooks: MethodHooksObject<GetBip32EntropyMethodHooks> = {\n getMnemonic: true,\n getMnemonicSeed: true,\n getUnlockPromise: true,\n getClientCryptography: true,\n};\n\nexport const getBip32EntropyBuilder = Object.freeze({\n targetName,\n specificationBuilder,\n methodHooks,\n} as const);\n\n/**\n * Builds the method implementation for `snap_getBip32Entropy`.\n *\n * @param hooks - The RPC method hooks.\n * @param hooks.getMnemonic - A function to retrieve the Secret Recovery Phrase of the user.\n * @param hooks.getMnemonicSeed - A function to retrieve the BIP-39 seed of the user.\n * @param hooks.getUnlockPromise - A function that resolves once the MetaMask extension is unlocked\n * and prompts the user to unlock their MetaMask if it is locked.\n * @param hooks.getClientCryptography - A function to retrieve the cryptographic\n * functions to use for the client.\n * @returns The method implementation which returns a `JsonSLIP10Node`.\n * @throws If the params are invalid.\n */\nexport function getBip32EntropyImplementation({\n getMnemonic,\n getMnemonicSeed,\n getUnlockPromise,\n getClientCryptography,\n}: GetBip32EntropyMethodHooks) {\n return async function getBip32Entropy(\n args: RestrictedMethodOptions<GetBip32EntropyParams>,\n ): Promise<GetBip32EntropyResult> {\n await getUnlockPromise(true);\n\n const { params } = args;\n assert(params);\n\n // Using the seed is much faster, but we can only do it for these specific curves.\n if (params.curve === 'secp256k1' || params.curve === 'ed25519') {\n const seed = await getValueFromEntropySource(\n getMnemonicSeed,\n params.source,\n );\n\n const node = await getNodeFromSeed({\n curve: params.curve,\n path: params.path,\n seed,\n cryptographicFunctions: getClientCryptography(),\n });\n\n return node.toJSON();\n }\n\n const secretRecoveryPhrase = await getValueFromEntropySource(\n getMnemonic,\n params.source,\n );\n\n const node = await getNodeFromMnemonic({\n curve: params.curve,\n path: params.path,\n secretRecoveryPhrase,\n cryptographicFunctions: getClientCryptography(),\n });\n\n return node.toJSON();\n };\n}\n"]}
|