@metamask/snaps-sdk 2.0.0 → 3.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.
- package/CHANGELOG.md +17 -1
- package/dist/index.js +883 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +810 -0
- package/dist/index.mjs.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/error-wrappers.d.ts +464 -48
- package/dist/types/errors.d.ts +2 -4
- package/dist/types/index.d.ts +1 -1
- package/dist/types/internals/error-wrappers.d.ts +29 -3
- package/dist/types/internals/index.d.ts +1 -0
- package/dist/types/internals/svg.d.ts +14 -0
- package/package.json +19 -16
- package/dist/cjs/error-wrappers.js +0 -80
- package/dist/cjs/error-wrappers.js.map +0 -1
- package/dist/cjs/errors.js +0 -157
- package/dist/cjs/errors.js.map +0 -1
- package/dist/cjs/images.js +0 -54
- package/dist/cjs/images.js.map +0 -1
- package/dist/cjs/index.js +0 -62
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/internals/error-wrappers.js +0 -25
- package/dist/cjs/internals/error-wrappers.js.map +0 -1
- package/dist/cjs/internals/errors.js +0 -59
- package/dist/cjs/internals/errors.js.map +0 -1
- package/dist/cjs/internals/helpers.js +0 -6
- package/dist/cjs/internals/helpers.js.map +0 -1
- package/dist/cjs/internals/index.js +0 -23
- package/dist/cjs/internals/index.js.map +0 -1
- package/dist/cjs/internals/structs.js +0 -43
- package/dist/cjs/internals/structs.js.map +0 -1
- package/dist/cjs/types/caip.js +0 -10
- package/dist/cjs/types/caip.js.map +0 -1
- package/dist/cjs/types/global.js +0 -6
- package/dist/cjs/types/global.js.map +0 -1
- package/dist/cjs/types/handlers/cronjob.js +0 -6
- package/dist/cjs/types/handlers/cronjob.js.map +0 -1
- package/dist/cjs/types/handlers/home-page.js +0 -6
- package/dist/cjs/types/handlers/home-page.js.map +0 -1
- package/dist/cjs/types/handlers/index.js +0 -28
- package/dist/cjs/types/handlers/index.js.map +0 -1
- package/dist/cjs/types/handlers/keyring.js +0 -6
- package/dist/cjs/types/handlers/keyring.js.map +0 -1
- package/dist/cjs/types/handlers/lifecycle.js +0 -6
- package/dist/cjs/types/handlers/lifecycle.js.map +0 -1
- package/dist/cjs/types/handlers/name-lookup.js +0 -6
- package/dist/cjs/types/handlers/name-lookup.js.map +0 -1
- package/dist/cjs/types/handlers/rpc-request.js +0 -6
- package/dist/cjs/types/handlers/rpc-request.js.map +0 -1
- package/dist/cjs/types/handlers/signature.js +0 -6
- package/dist/cjs/types/handlers/signature.js.map +0 -1
- package/dist/cjs/types/handlers/transaction.js +0 -16
- package/dist/cjs/types/handlers/transaction.js.map +0 -1
- package/dist/cjs/types/handlers/user-input.js +0 -51
- package/dist/cjs/types/handlers/user-input.js.map +0 -1
- package/dist/cjs/types/index.js +0 -29
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/types/interface.js +0 -26
- package/dist/cjs/types/interface.js.map +0 -1
- package/dist/cjs/types/methods/create-interface.js +0 -6
- package/dist/cjs/types/methods/create-interface.js.map +0 -1
- package/dist/cjs/types/methods/dialog.js +0 -18
- package/dist/cjs/types/methods/dialog.js.map +0 -1
- package/dist/cjs/types/methods/get-bip32-entropy.js +0 -6
- package/dist/cjs/types/methods/get-bip32-entropy.js.map +0 -1
- package/dist/cjs/types/methods/get-bip32-public-key.js +0 -6
- package/dist/cjs/types/methods/get-bip32-public-key.js.map +0 -1
- package/dist/cjs/types/methods/get-bip44-entropy.js +0 -6
- package/dist/cjs/types/methods/get-bip44-entropy.js.map +0 -1
- package/dist/cjs/types/methods/get-client-status.js +0 -10
- package/dist/cjs/types/methods/get-client-status.js.map +0 -1
- package/dist/cjs/types/methods/get-entropy.js +0 -6
- package/dist/cjs/types/methods/get-entropy.js.map +0 -1
- package/dist/cjs/types/methods/get-file.js +0 -18
- package/dist/cjs/types/methods/get-file.js.map +0 -1
- package/dist/cjs/types/methods/get-interface-state.js +0 -6
- package/dist/cjs/types/methods/get-interface-state.js.map +0 -1
- package/dist/cjs/types/methods/get-locale.js +0 -10
- package/dist/cjs/types/methods/get-locale.js.map +0 -1
- package/dist/cjs/types/methods/get-snaps.js +0 -6
- package/dist/cjs/types/methods/get-snaps.js.map +0 -1
- package/dist/cjs/types/methods/index.js +0 -38
- package/dist/cjs/types/methods/index.js.map +0 -1
- package/dist/cjs/types/methods/invoke-keyring.js +0 -6
- package/dist/cjs/types/methods/invoke-keyring.js.map +0 -1
- package/dist/cjs/types/methods/invoke-snap.js +0 -6
- package/dist/cjs/types/methods/invoke-snap.js.map +0 -1
- package/dist/cjs/types/methods/manage-accounts.js +0 -6
- package/dist/cjs/types/methods/manage-accounts.js.map +0 -1
- package/dist/cjs/types/methods/manage-state.js +0 -18
- package/dist/cjs/types/methods/manage-state.js.map +0 -1
- package/dist/cjs/types/methods/methods.js +0 -6
- package/dist/cjs/types/methods/methods.js.map +0 -1
- package/dist/cjs/types/methods/notify.js +0 -17
- package/dist/cjs/types/methods/notify.js.map +0 -1
- package/dist/cjs/types/methods/request-snaps.js +0 -6
- package/dist/cjs/types/methods/request-snaps.js.map +0 -1
- package/dist/cjs/types/methods/update-interface.js +0 -6
- package/dist/cjs/types/methods/update-interface.js.map +0 -1
- package/dist/cjs/types/permissions.js +0 -6
- package/dist/cjs/types/permissions.js.map +0 -1
- package/dist/cjs/types/provider.js +0 -6
- package/dist/cjs/types/provider.js.map +0 -1
- package/dist/cjs/types/snap.js +0 -6
- package/dist/cjs/types/snap.js.map +0 -1
- package/dist/cjs/ui/builder.js +0 -44
- package/dist/cjs/ui/builder.js.map +0 -1
- package/dist/cjs/ui/component.js +0 -29
- package/dist/cjs/ui/component.js.map +0 -1
- package/dist/cjs/ui/components/address.js +0 -30
- package/dist/cjs/ui/components/address.js.map +0 -1
- package/dist/cjs/ui/components/button.js +0 -59
- package/dist/cjs/ui/components/button.js.map +0 -1
- package/dist/cjs/ui/components/copyable.js +0 -32
- package/dist/cjs/ui/components/copyable.js.map +0 -1
- package/dist/cjs/ui/components/divider.js +0 -27
- package/dist/cjs/ui/components/divider.js.map +0 -1
- package/dist/cjs/ui/components/form.js +0 -41
- package/dist/cjs/ui/components/form.js.map +0 -1
- package/dist/cjs/ui/components/heading.js +0 -30
- package/dist/cjs/ui/components/heading.js.map +0 -1
- package/dist/cjs/ui/components/image.js +0 -47
- package/dist/cjs/ui/components/image.js.map +0 -1
- package/dist/cjs/ui/components/index.js +0 -54
- package/dist/cjs/ui/components/index.js.map +0 -1
- package/dist/cjs/ui/components/input.js +0 -52
- package/dist/cjs/ui/components/input.js.map +0 -1
- package/dist/cjs/ui/components/panel.js +0 -65
- package/dist/cjs/ui/components/panel.js.map +0 -1
- package/dist/cjs/ui/components/row.js +0 -57
- package/dist/cjs/ui/components/row.js.map +0 -1
- package/dist/cjs/ui/components/spinner.js +0 -27
- package/dist/cjs/ui/components/spinner.js.map +0 -1
- package/dist/cjs/ui/components/text.js +0 -32
- package/dist/cjs/ui/components/text.js.map +0 -1
- package/dist/cjs/ui/index.js +0 -28
- package/dist/cjs/ui/index.js.map +0 -1
- package/dist/cjs/ui/nodes.js +0 -46
- package/dist/cjs/ui/nodes.js.map +0 -1
- package/dist/esm/error-wrappers.js +0 -128
- package/dist/esm/error-wrappers.js.map +0 -1
- package/dist/esm/errors.js +0 -150
- package/dist/esm/errors.js.map +0 -1
- package/dist/esm/images.js +0 -84
- package/dist/esm/images.js.map +0 -1
- package/dist/esm/index.js +0 -10
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/internals/error-wrappers.js +0 -25
- package/dist/esm/internals/error-wrappers.js.map +0 -1
- package/dist/esm/internals/errors.js +0 -58
- package/dist/esm/internals/errors.js.map +0 -1
- package/dist/esm/internals/helpers.js +0 -3
- package/dist/esm/internals/helpers.js.map +0 -1
- package/dist/esm/internals/index.js +0 -6
- package/dist/esm/internals/index.js.map +0 -1
- package/dist/esm/internals/structs.js +0 -59
- package/dist/esm/internals/structs.js.map +0 -1
- package/dist/esm/types/caip.js +0 -7
- package/dist/esm/types/caip.js.map +0 -1
- package/dist/esm/types/global.js +0 -3
- package/dist/esm/types/global.js.map +0 -1
- package/dist/esm/types/handlers/cronjob.js +0 -3
- package/dist/esm/types/handlers/cronjob.js.map +0 -1
- package/dist/esm/types/handlers/home-page.js +0 -3
- package/dist/esm/types/handlers/home-page.js.map +0 -1
- package/dist/esm/types/handlers/index.js +0 -11
- package/dist/esm/types/handlers/index.js.map +0 -1
- package/dist/esm/types/handlers/keyring.js +0 -3
- package/dist/esm/types/handlers/keyring.js.map +0 -1
- package/dist/esm/types/handlers/lifecycle.js +0 -3
- package/dist/esm/types/handlers/lifecycle.js.map +0 -1
- package/dist/esm/types/handlers/name-lookup.js +0 -3
- package/dist/esm/types/handlers/name-lookup.js.map +0 -1
- package/dist/esm/types/handlers/rpc-request.js +0 -3
- package/dist/esm/types/handlers/rpc-request.js.map +0 -1
- package/dist/esm/types/handlers/signature.js +0 -3
- package/dist/esm/types/handlers/signature.js.map +0 -1
- package/dist/esm/types/handlers/transaction.js +0 -6
- package/dist/esm/types/handlers/transaction.js.map +0 -1
- package/dist/esm/types/handlers/user-input.js +0 -24
- package/dist/esm/types/handlers/user-input.js.map +0 -1
- package/dist/esm/types/index.js +0 -12
- package/dist/esm/types/index.js.map +0 -1
- package/dist/esm/types/interface.js +0 -12
- package/dist/esm/types/interface.js.map +0 -1
- package/dist/esm/types/methods/create-interface.js +0 -3
- package/dist/esm/types/methods/create-interface.js.map +0 -1
- package/dist/esm/types/methods/dialog.js +0 -8
- package/dist/esm/types/methods/dialog.js.map +0 -1
- package/dist/esm/types/methods/get-bip32-entropy.js +0 -3
- package/dist/esm/types/methods/get-bip32-entropy.js.map +0 -1
- package/dist/esm/types/methods/get-bip32-public-key.js +0 -3
- package/dist/esm/types/methods/get-bip32-public-key.js.map +0 -1
- package/dist/esm/types/methods/get-bip44-entropy.js +0 -3
- package/dist/esm/types/methods/get-bip44-entropy.js.map +0 -1
- package/dist/esm/types/methods/get-client-status.js +0 -7
- package/dist/esm/types/methods/get-client-status.js.map +0 -1
- package/dist/esm/types/methods/get-entropy.js +0 -3
- package/dist/esm/types/methods/get-entropy.js.map +0 -1
- package/dist/esm/types/methods/get-file.js +0 -8
- package/dist/esm/types/methods/get-file.js.map +0 -1
- package/dist/esm/types/methods/get-interface-state.js +0 -3
- package/dist/esm/types/methods/get-interface-state.js.map +0 -1
- package/dist/esm/types/methods/get-locale.js +0 -7
- package/dist/esm/types/methods/get-locale.js.map +0 -1
- package/dist/esm/types/methods/get-snaps.js +0 -3
- package/dist/esm/types/methods/get-snaps.js.map +0 -1
- package/dist/esm/types/methods/index.js +0 -21
- package/dist/esm/types/methods/index.js.map +0 -1
- package/dist/esm/types/methods/invoke-keyring.js +0 -3
- package/dist/esm/types/methods/invoke-keyring.js.map +0 -1
- package/dist/esm/types/methods/invoke-snap.js +0 -3
- package/dist/esm/types/methods/invoke-snap.js.map +0 -1
- package/dist/esm/types/methods/manage-accounts.js +0 -3
- package/dist/esm/types/methods/manage-accounts.js.map +0 -1
- package/dist/esm/types/methods/manage-state.js +0 -8
- package/dist/esm/types/methods/manage-state.js.map +0 -1
- package/dist/esm/types/methods/methods.js +0 -3
- package/dist/esm/types/methods/methods.js.map +0 -1
- package/dist/esm/types/methods/notify.js +0 -7
- package/dist/esm/types/methods/notify.js.map +0 -1
- package/dist/esm/types/methods/request-snaps.js +0 -3
- package/dist/esm/types/methods/request-snaps.js.map +0 -1
- package/dist/esm/types/methods/update-interface.js +0 -3
- package/dist/esm/types/methods/update-interface.js.map +0 -1
- package/dist/esm/types/permissions.js +0 -3
- package/dist/esm/types/permissions.js.map +0 -1
- package/dist/esm/types/provider.js +0 -3
- package/dist/esm/types/provider.js.map +0 -1
- package/dist/esm/types/snap.js +0 -3
- package/dist/esm/types/snap.js.map +0 -1
- package/dist/esm/ui/builder.js +0 -50
- package/dist/esm/ui/builder.js.map +0 -1
- package/dist/esm/ui/component.js +0 -23
- package/dist/esm/ui/component.js.map +0 -1
- package/dist/esm/ui/components/address.js +0 -22
- package/dist/esm/ui/components/address.js.map +0 -1
- package/dist/esm/ui/components/button.js +0 -50
- package/dist/esm/ui/components/button.js.map +0 -1
- package/dist/esm/ui/components/copyable.js +0 -27
- package/dist/esm/ui/components/copyable.js.map +0 -1
- package/dist/esm/ui/components/divider.js +0 -15
- package/dist/esm/ui/components/divider.js.map +0 -1
- package/dist/esm/ui/components/form.js +0 -39
- package/dist/esm/ui/components/form.js.map +0 -1
- package/dist/esm/ui/components/heading.js +0 -22
- package/dist/esm/ui/components/heading.js.map +0 -1
- package/dist/esm/ui/components/image.js +0 -37
- package/dist/esm/ui/components/image.js.map +0 -1
- package/dist/esm/ui/components/index.js +0 -14
- package/dist/esm/ui/components/index.js.map +0 -1
- package/dist/esm/ui/components/input.js +0 -47
- package/dist/esm/ui/components/input.js.map +0 -1
- package/dist/esm/ui/components/panel.js +0 -66
- package/dist/esm/ui/components/panel.js.map +0 -1
- package/dist/esm/ui/components/row.js +0 -50
- package/dist/esm/ui/components/row.js.map +0 -1
- package/dist/esm/ui/components/spinner.js +0 -15
- package/dist/esm/ui/components/spinner.js.map +0 -1
- package/dist/esm/ui/components/text.js +0 -29
- package/dist/esm/ui/components/text.js.map +0 -1
- package/dist/esm/ui/index.js +0 -5
- package/dist/esm/ui/index.js.map +0 -1
- package/dist/esm/ui/nodes.js +0 -29
- package/dist/esm/ui/nodes.js.map +0 -1
package/dist/index.js
ADDED
|
@@ -0,0 +1,883 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var __accessCheck = (obj, member, msg) => {
|
|
20
|
+
if (!member.has(obj))
|
|
21
|
+
throw TypeError("Cannot " + msg);
|
|
22
|
+
};
|
|
23
|
+
var __privateGet = (obj, member, getter) => {
|
|
24
|
+
__accessCheck(obj, member, "read from private field");
|
|
25
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
26
|
+
};
|
|
27
|
+
var __privateAdd = (obj, member, value) => {
|
|
28
|
+
if (member.has(obj))
|
|
29
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
30
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
31
|
+
};
|
|
32
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
33
|
+
__accessCheck(obj, member, "write to private field");
|
|
34
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
35
|
+
return value;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// src/index.ts
|
|
39
|
+
var src_exports = {};
|
|
40
|
+
__export(src_exports, {
|
|
41
|
+
AddressStruct: () => AddressStruct,
|
|
42
|
+
AuxiliaryFileEncoding: () => AuxiliaryFileEncoding,
|
|
43
|
+
ButtonClickEventStruct: () => ButtonClickEventStruct,
|
|
44
|
+
ButtonStruct: () => ButtonStruct,
|
|
45
|
+
ButtonType: () => ButtonType,
|
|
46
|
+
ButtonVariant: () => ButtonVariant,
|
|
47
|
+
ChainDisconnectedError: () => ChainDisconnectedError,
|
|
48
|
+
ComponentStruct: () => ComponentStruct,
|
|
49
|
+
CopyableStruct: () => CopyableStruct,
|
|
50
|
+
DialogType: () => DialogType,
|
|
51
|
+
DisconnectedError: () => DisconnectedError,
|
|
52
|
+
DividerStruct: () => DividerStruct,
|
|
53
|
+
FormComponentStruct: () => FormComponentStruct,
|
|
54
|
+
FormStateStruct: () => FormStateStruct,
|
|
55
|
+
FormStruct: () => FormStruct,
|
|
56
|
+
FormSubmitEventStruct: () => FormSubmitEventStruct,
|
|
57
|
+
GenericEventStruct: () => GenericEventStruct,
|
|
58
|
+
HeadingStruct: () => HeadingStruct,
|
|
59
|
+
ImageStruct: () => ImageStruct,
|
|
60
|
+
InputStruct: () => InputStruct,
|
|
61
|
+
InputType: () => InputType,
|
|
62
|
+
InterfaceStateStruct: () => InterfaceStateStruct,
|
|
63
|
+
InternalError: () => InternalError,
|
|
64
|
+
InvalidInputError: () => InvalidInputError,
|
|
65
|
+
InvalidParamsError: () => InvalidParamsError,
|
|
66
|
+
InvalidRequestError: () => InvalidRequestError,
|
|
67
|
+
LimitExceededError: () => LimitExceededError,
|
|
68
|
+
ManageStateOperation: () => ManageStateOperation,
|
|
69
|
+
MethodNotFoundError: () => MethodNotFoundError,
|
|
70
|
+
MethodNotSupportedError: () => MethodNotSupportedError,
|
|
71
|
+
NodeType: () => NodeType,
|
|
72
|
+
NotificationType: () => NotificationType,
|
|
73
|
+
PanelStruct: () => PanelStruct,
|
|
74
|
+
ParseError: () => ParseError,
|
|
75
|
+
ResourceNotFoundError: () => ResourceNotFoundError,
|
|
76
|
+
ResourceUnavailableError: () => ResourceUnavailableError,
|
|
77
|
+
RowStruct: () => RowStruct,
|
|
78
|
+
RowVariant: () => RowVariant,
|
|
79
|
+
SNAP_ERROR_CODE: () => SNAP_ERROR_CODE,
|
|
80
|
+
SNAP_ERROR_MESSAGE: () => SNAP_ERROR_MESSAGE,
|
|
81
|
+
SeverityLevel: () => SeverityLevel,
|
|
82
|
+
SnapError: () => SnapError,
|
|
83
|
+
SpinnerStruct: () => SpinnerStruct,
|
|
84
|
+
TextStruct: () => TextStruct,
|
|
85
|
+
TransactionRejected: () => TransactionRejected,
|
|
86
|
+
UnauthorizedError: () => UnauthorizedError,
|
|
87
|
+
UnsupportedMethodError: () => UnsupportedMethodError,
|
|
88
|
+
UserInputEventStruct: () => UserInputEventStruct,
|
|
89
|
+
UserInputEventType: () => UserInputEventType,
|
|
90
|
+
UserRejectedRequestError: () => UserRejectedRequestError,
|
|
91
|
+
address: () => address,
|
|
92
|
+
assert: () => import_utils6.assert,
|
|
93
|
+
assertIsComponent: () => assertIsComponent,
|
|
94
|
+
button: () => button,
|
|
95
|
+
copyable: () => copyable,
|
|
96
|
+
divider: () => divider,
|
|
97
|
+
enumValue: () => enumValue,
|
|
98
|
+
form: () => form,
|
|
99
|
+
getErrorData: () => getErrorData,
|
|
100
|
+
getErrorMessage: () => getErrorMessage,
|
|
101
|
+
getErrorStack: () => getErrorStack,
|
|
102
|
+
getImageComponent: () => getImageComponent,
|
|
103
|
+
getImageData: () => getImageData,
|
|
104
|
+
heading: () => heading,
|
|
105
|
+
image: () => image,
|
|
106
|
+
input: () => input,
|
|
107
|
+
isComponent: () => isComponent,
|
|
108
|
+
isSvg: () => isSvg,
|
|
109
|
+
literal: () => literal,
|
|
110
|
+
panel: () => panel,
|
|
111
|
+
parseSvg: () => parseSvg,
|
|
112
|
+
row: () => row,
|
|
113
|
+
spinner: () => spinner,
|
|
114
|
+
text: () => text,
|
|
115
|
+
union: () => union
|
|
116
|
+
});
|
|
117
|
+
module.exports = __toCommonJS(src_exports);
|
|
118
|
+
|
|
119
|
+
// src/errors.ts
|
|
120
|
+
var _code, _message, _data, _stack;
|
|
121
|
+
var SnapError = class extends Error {
|
|
122
|
+
/**
|
|
123
|
+
* Create a new `SnapError`.
|
|
124
|
+
*
|
|
125
|
+
* @param error - The error to create the `SnapError` from. If this is a
|
|
126
|
+
* `string`, it will be used as the error message. If this is an `Error`, its
|
|
127
|
+
* `message` property will be used as the error message. If this is a
|
|
128
|
+
* `JsonRpcError`, its `message` property will be used as the error message
|
|
129
|
+
* and its `code` property will be used as the error code. Otherwise, the
|
|
130
|
+
* error will be converted to a string and used as the error message.
|
|
131
|
+
* @param data - Additional data to include in the error. This will be merged
|
|
132
|
+
* with the error data, if any.
|
|
133
|
+
*/
|
|
134
|
+
constructor(error, data = {}) {
|
|
135
|
+
const message = getErrorMessage(error);
|
|
136
|
+
super(message);
|
|
137
|
+
__privateAdd(this, _code, void 0);
|
|
138
|
+
__privateAdd(this, _message, void 0);
|
|
139
|
+
__privateAdd(this, _data, void 0);
|
|
140
|
+
__privateAdd(this, _stack, void 0);
|
|
141
|
+
__privateSet(this, _message, message);
|
|
142
|
+
__privateSet(this, _code, getErrorCode(error));
|
|
143
|
+
const mergedData = { ...getErrorData(error), ...data };
|
|
144
|
+
if (Object.keys(mergedData).length > 0) {
|
|
145
|
+
__privateSet(this, _data, mergedData);
|
|
146
|
+
}
|
|
147
|
+
__privateSet(this, _stack, super.stack);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The error name.
|
|
151
|
+
*
|
|
152
|
+
* @returns The error name.
|
|
153
|
+
*/
|
|
154
|
+
get name() {
|
|
155
|
+
return "SnapError";
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* The error code.
|
|
159
|
+
*
|
|
160
|
+
* @returns The error code.
|
|
161
|
+
*/
|
|
162
|
+
get code() {
|
|
163
|
+
return __privateGet(this, _code);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* The error message.
|
|
167
|
+
*
|
|
168
|
+
* @returns The error message.
|
|
169
|
+
*/
|
|
170
|
+
// This line is covered, but Jest doesn't pick it up for some reason.
|
|
171
|
+
/* istanbul ignore next */
|
|
172
|
+
get message() {
|
|
173
|
+
return __privateGet(this, _message);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Additional data for the error.
|
|
177
|
+
*
|
|
178
|
+
* @returns Additional data for the error.
|
|
179
|
+
*/
|
|
180
|
+
get data() {
|
|
181
|
+
return __privateGet(this, _data);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The error stack.
|
|
185
|
+
*
|
|
186
|
+
* @returns The error stack.
|
|
187
|
+
*/
|
|
188
|
+
// This line is covered, but Jest doesn't pick it up for some reason.
|
|
189
|
+
/* istanbul ignore next */
|
|
190
|
+
get stack() {
|
|
191
|
+
return __privateGet(this, _stack);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Convert the error to a JSON object.
|
|
195
|
+
*
|
|
196
|
+
* @returns The JSON object.
|
|
197
|
+
*/
|
|
198
|
+
toJSON() {
|
|
199
|
+
return {
|
|
200
|
+
code: SNAP_ERROR_CODE,
|
|
201
|
+
message: SNAP_ERROR_MESSAGE,
|
|
202
|
+
data: {
|
|
203
|
+
cause: {
|
|
204
|
+
code: this.code,
|
|
205
|
+
message: this.message,
|
|
206
|
+
stack: this.stack,
|
|
207
|
+
...this.data ? { data: this.data } : {}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Serialize the error to a JSON object. This is called by
|
|
214
|
+
* `@metamask/rpc-errors` when serializing the error.
|
|
215
|
+
*
|
|
216
|
+
* @returns The JSON object.
|
|
217
|
+
*/
|
|
218
|
+
serialize() {
|
|
219
|
+
return this.toJSON();
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
_code = new WeakMap();
|
|
223
|
+
_message = new WeakMap();
|
|
224
|
+
_data = new WeakMap();
|
|
225
|
+
_stack = new WeakMap();
|
|
226
|
+
|
|
227
|
+
// src/internals/error-wrappers.ts
|
|
228
|
+
function createSnapError(fn) {
|
|
229
|
+
return class SnapJsonRpcError extends SnapError {
|
|
230
|
+
/**
|
|
231
|
+
* Create a new `SnapJsonRpcError` from a message and data.
|
|
232
|
+
*
|
|
233
|
+
* @param message - The message to create the error from.
|
|
234
|
+
* @param data - The data to create the error from.
|
|
235
|
+
*/
|
|
236
|
+
constructor(message, data) {
|
|
237
|
+
if (typeof message === "object") {
|
|
238
|
+
const error2 = fn();
|
|
239
|
+
super({
|
|
240
|
+
code: error2.code,
|
|
241
|
+
message: error2.message,
|
|
242
|
+
data: message
|
|
243
|
+
});
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const error = fn(message);
|
|
247
|
+
super({
|
|
248
|
+
code: error.code,
|
|
249
|
+
message: error.message,
|
|
250
|
+
data
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// src/internals/errors.ts
|
|
257
|
+
var import_utils = require("@metamask/utils");
|
|
258
|
+
var SNAP_ERROR_CODE = -31002;
|
|
259
|
+
var SNAP_ERROR_MESSAGE = "Snap Error";
|
|
260
|
+
function getErrorMessage(error) {
|
|
261
|
+
if ((0, import_utils.isObject)(error) && (0, import_utils.hasProperty)(error, "message") && typeof error.message === "string") {
|
|
262
|
+
return error.message;
|
|
263
|
+
}
|
|
264
|
+
return String(error);
|
|
265
|
+
}
|
|
266
|
+
function getErrorStack(error) {
|
|
267
|
+
if ((0, import_utils.isObject)(error) && (0, import_utils.hasProperty)(error, "stack") && typeof error.stack === "string") {
|
|
268
|
+
return error.stack;
|
|
269
|
+
}
|
|
270
|
+
return void 0;
|
|
271
|
+
}
|
|
272
|
+
function getErrorCode(error) {
|
|
273
|
+
if ((0, import_utils.isObject)(error) && (0, import_utils.hasProperty)(error, "code") && typeof error.code === "number" && Number.isInteger(error.code)) {
|
|
274
|
+
return error.code;
|
|
275
|
+
}
|
|
276
|
+
return -32603;
|
|
277
|
+
}
|
|
278
|
+
function getErrorData(error) {
|
|
279
|
+
if ((0, import_utils.isObject)(error) && (0, import_utils.hasProperty)(error, "data") && typeof error.data === "object" && error.data !== null && (0, import_utils.isValidJson)(error.data) && !Array.isArray(error.data)) {
|
|
280
|
+
return error.data;
|
|
281
|
+
}
|
|
282
|
+
return {};
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// src/internals/structs.ts
|
|
286
|
+
var import_superstruct = require("superstruct");
|
|
287
|
+
function literal(value) {
|
|
288
|
+
return (0, import_superstruct.define)(
|
|
289
|
+
JSON.stringify(value),
|
|
290
|
+
(0, import_superstruct.literal)(value).validator
|
|
291
|
+
);
|
|
292
|
+
}
|
|
293
|
+
function union([
|
|
294
|
+
head,
|
|
295
|
+
...tail
|
|
296
|
+
]) {
|
|
297
|
+
const struct = (0, import_superstruct.union)([head, ...tail]);
|
|
298
|
+
return new import_superstruct.Struct({
|
|
299
|
+
...struct,
|
|
300
|
+
schema: [head, ...tail]
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
function enumValue(constant) {
|
|
304
|
+
return literal(constant);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
// src/internals/svg.ts
|
|
308
|
+
var import_utils2 = require("@metamask/utils");
|
|
309
|
+
var import_fast_xml_parser = require("fast-xml-parser");
|
|
310
|
+
function parseSvg(svg2) {
|
|
311
|
+
try {
|
|
312
|
+
const trimmed = svg2.trim();
|
|
313
|
+
(0, import_utils2.assert)(trimmed.length > 0);
|
|
314
|
+
const parser = new import_fast_xml_parser.XMLParser({
|
|
315
|
+
ignoreAttributes: false,
|
|
316
|
+
parseAttributeValue: true
|
|
317
|
+
});
|
|
318
|
+
const parsed = parser.parse(trimmed, true);
|
|
319
|
+
(0, import_utils2.assert)((0, import_utils2.hasProperty)(parsed, "svg"));
|
|
320
|
+
if (!(0, import_utils2.isObject)(parsed.svg)) {
|
|
321
|
+
return {};
|
|
322
|
+
}
|
|
323
|
+
return parsed.svg;
|
|
324
|
+
} catch {
|
|
325
|
+
throw new Error("Snap icon must be a valid SVG.");
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
function isSvg(svg2) {
|
|
329
|
+
try {
|
|
330
|
+
parseSvg(svg2);
|
|
331
|
+
return true;
|
|
332
|
+
} catch {
|
|
333
|
+
return false;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// src/index.ts
|
|
338
|
+
var import_utils6 = require("@metamask/utils");
|
|
339
|
+
|
|
340
|
+
// src/error-wrappers.ts
|
|
341
|
+
var import_rpc_errors = require("@metamask/rpc-errors");
|
|
342
|
+
var InternalError = createSnapError(import_rpc_errors.rpcErrors.internal);
|
|
343
|
+
var InvalidInputError = createSnapError(import_rpc_errors.rpcErrors.invalidInput);
|
|
344
|
+
var InvalidParamsError = createSnapError(import_rpc_errors.rpcErrors.invalidParams);
|
|
345
|
+
var InvalidRequestError = createSnapError(import_rpc_errors.rpcErrors.invalidRequest);
|
|
346
|
+
var LimitExceededError = createSnapError(import_rpc_errors.rpcErrors.limitExceeded);
|
|
347
|
+
var MethodNotFoundError = createSnapError(import_rpc_errors.rpcErrors.methodNotFound);
|
|
348
|
+
var MethodNotSupportedError = createSnapError(
|
|
349
|
+
import_rpc_errors.rpcErrors.methodNotSupported
|
|
350
|
+
);
|
|
351
|
+
var ParseError = createSnapError(import_rpc_errors.rpcErrors.parse);
|
|
352
|
+
var ResourceNotFoundError = createSnapError(
|
|
353
|
+
import_rpc_errors.rpcErrors.resourceNotFound
|
|
354
|
+
);
|
|
355
|
+
var ResourceUnavailableError = createSnapError(
|
|
356
|
+
import_rpc_errors.rpcErrors.resourceUnavailable
|
|
357
|
+
);
|
|
358
|
+
var TransactionRejected = createSnapError(
|
|
359
|
+
import_rpc_errors.rpcErrors.transactionRejected
|
|
360
|
+
);
|
|
361
|
+
var ChainDisconnectedError = createSnapError(
|
|
362
|
+
import_rpc_errors.providerErrors.chainDisconnected
|
|
363
|
+
);
|
|
364
|
+
var DisconnectedError = createSnapError(import_rpc_errors.providerErrors.disconnected);
|
|
365
|
+
var UnauthorizedError = createSnapError(import_rpc_errors.providerErrors.unauthorized);
|
|
366
|
+
var UnsupportedMethodError = createSnapError(
|
|
367
|
+
import_rpc_errors.providerErrors.unsupportedMethod
|
|
368
|
+
);
|
|
369
|
+
var UserRejectedRequestError = createSnapError(
|
|
370
|
+
import_rpc_errors.providerErrors.userRejectedRequest
|
|
371
|
+
);
|
|
372
|
+
|
|
373
|
+
// src/images.ts
|
|
374
|
+
var import_utils5 = require("@metamask/utils");
|
|
375
|
+
|
|
376
|
+
// src/ui/components/address.ts
|
|
377
|
+
var import_superstruct3 = require("superstruct");
|
|
378
|
+
|
|
379
|
+
// src/ui/builder.ts
|
|
380
|
+
var import_utils3 = require("@metamask/utils");
|
|
381
|
+
function createBuilder(type, struct, keys = []) {
|
|
382
|
+
return (...args) => {
|
|
383
|
+
if (args.length === 1 && (0, import_utils3.isPlainObject)(args[0])) {
|
|
384
|
+
const node2 = { ...args[0], type };
|
|
385
|
+
(0, import_utils3.assertStruct)(node2, struct, `Invalid ${type} component`);
|
|
386
|
+
return node2;
|
|
387
|
+
}
|
|
388
|
+
const node = keys.reduce(
|
|
389
|
+
(partialNode, key, index) => {
|
|
390
|
+
if (args[index] !== void 0) {
|
|
391
|
+
return {
|
|
392
|
+
...partialNode,
|
|
393
|
+
[key]: args[index]
|
|
394
|
+
};
|
|
395
|
+
}
|
|
396
|
+
return partialNode;
|
|
397
|
+
},
|
|
398
|
+
{ type }
|
|
399
|
+
);
|
|
400
|
+
(0, import_utils3.assertStruct)(node, struct, `Invalid ${type} component`);
|
|
401
|
+
return node;
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
// src/ui/nodes.ts
|
|
406
|
+
var import_superstruct2 = require("superstruct");
|
|
407
|
+
var NodeType = /* @__PURE__ */ ((NodeType2) => {
|
|
408
|
+
NodeType2["Copyable"] = "copyable";
|
|
409
|
+
NodeType2["Divider"] = "divider";
|
|
410
|
+
NodeType2["Heading"] = "heading";
|
|
411
|
+
NodeType2["Panel"] = "panel";
|
|
412
|
+
NodeType2["Spinner"] = "spinner";
|
|
413
|
+
NodeType2["Text"] = "text";
|
|
414
|
+
NodeType2["Image"] = "image";
|
|
415
|
+
NodeType2["Row"] = "row";
|
|
416
|
+
NodeType2["Address"] = "address";
|
|
417
|
+
NodeType2["Button"] = "button";
|
|
418
|
+
NodeType2["Input"] = "input";
|
|
419
|
+
NodeType2["Form"] = "form";
|
|
420
|
+
return NodeType2;
|
|
421
|
+
})(NodeType || {});
|
|
422
|
+
var NodeStruct = (0, import_superstruct2.object)({
|
|
423
|
+
type: (0, import_superstruct2.string)()
|
|
424
|
+
});
|
|
425
|
+
var LiteralStruct = (0, import_superstruct2.assign)(
|
|
426
|
+
NodeStruct,
|
|
427
|
+
(0, import_superstruct2.object)({
|
|
428
|
+
value: (0, import_superstruct2.unknown)()
|
|
429
|
+
})
|
|
430
|
+
);
|
|
431
|
+
|
|
432
|
+
// src/ui/components/address.ts
|
|
433
|
+
var AddressStruct = (0, import_superstruct3.assign)(
|
|
434
|
+
LiteralStruct,
|
|
435
|
+
(0, import_superstruct3.object)({
|
|
436
|
+
type: (0, import_superstruct3.literal)("address" /* Address */),
|
|
437
|
+
value: (0, import_superstruct3.pattern)((0, import_superstruct3.string)(), /0x[a-fA-F0-9]{40}/u)
|
|
438
|
+
})
|
|
439
|
+
);
|
|
440
|
+
var address = createBuilder("address" /* Address */, AddressStruct, [
|
|
441
|
+
"value"
|
|
442
|
+
]);
|
|
443
|
+
|
|
444
|
+
// src/ui/components/copyable.ts
|
|
445
|
+
var import_superstruct4 = require("superstruct");
|
|
446
|
+
var CopyableStruct = (0, import_superstruct4.assign)(
|
|
447
|
+
LiteralStruct,
|
|
448
|
+
(0, import_superstruct4.object)({
|
|
449
|
+
type: (0, import_superstruct4.literal)("copyable" /* Copyable */),
|
|
450
|
+
value: (0, import_superstruct4.string)(),
|
|
451
|
+
sensitive: (0, import_superstruct4.optional)((0, import_superstruct4.boolean)())
|
|
452
|
+
})
|
|
453
|
+
);
|
|
454
|
+
var copyable = createBuilder("copyable" /* Copyable */, CopyableStruct, [
|
|
455
|
+
"value",
|
|
456
|
+
"sensitive"
|
|
457
|
+
]);
|
|
458
|
+
|
|
459
|
+
// src/ui/components/divider.ts
|
|
460
|
+
var import_superstruct5 = require("superstruct");
|
|
461
|
+
var DividerStruct = (0, import_superstruct5.assign)(
|
|
462
|
+
NodeStruct,
|
|
463
|
+
(0, import_superstruct5.object)({
|
|
464
|
+
type: (0, import_superstruct5.literal)("divider" /* Divider */)
|
|
465
|
+
})
|
|
466
|
+
);
|
|
467
|
+
var divider = createBuilder("divider" /* Divider */, DividerStruct);
|
|
468
|
+
|
|
469
|
+
// src/ui/components/heading.ts
|
|
470
|
+
var import_superstruct6 = require("superstruct");
|
|
471
|
+
var HeadingStruct = (0, import_superstruct6.assign)(
|
|
472
|
+
LiteralStruct,
|
|
473
|
+
(0, import_superstruct6.object)({
|
|
474
|
+
type: (0, import_superstruct6.literal)("heading" /* Heading */),
|
|
475
|
+
value: (0, import_superstruct6.string)()
|
|
476
|
+
})
|
|
477
|
+
);
|
|
478
|
+
var heading = createBuilder("heading" /* Heading */, HeadingStruct, [
|
|
479
|
+
"value"
|
|
480
|
+
]);
|
|
481
|
+
|
|
482
|
+
// src/ui/components/image.ts
|
|
483
|
+
var import_superstruct7 = require("superstruct");
|
|
484
|
+
function svg() {
|
|
485
|
+
return (0, import_superstruct7.refine)((0, import_superstruct7.string)(), "SVG", (value) => {
|
|
486
|
+
if (!isSvg(value)) {
|
|
487
|
+
return "Value is not a valid SVG.";
|
|
488
|
+
}
|
|
489
|
+
return true;
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
var ImageStruct = (0, import_superstruct7.assign)(
|
|
493
|
+
NodeStruct,
|
|
494
|
+
(0, import_superstruct7.object)({
|
|
495
|
+
type: (0, import_superstruct7.literal)("image" /* Image */),
|
|
496
|
+
value: svg()
|
|
497
|
+
})
|
|
498
|
+
);
|
|
499
|
+
var image = createBuilder("image" /* Image */, ImageStruct, ["value"]);
|
|
500
|
+
|
|
501
|
+
// src/ui/components/panel.ts
|
|
502
|
+
var import_superstruct14 = require("superstruct");
|
|
503
|
+
|
|
504
|
+
// src/ui/components/button.ts
|
|
505
|
+
var import_superstruct8 = require("superstruct");
|
|
506
|
+
var ButtonVariant = /* @__PURE__ */ ((ButtonVariant2) => {
|
|
507
|
+
ButtonVariant2["Primary"] = "primary";
|
|
508
|
+
ButtonVariant2["Secondary"] = "secondary";
|
|
509
|
+
return ButtonVariant2;
|
|
510
|
+
})(ButtonVariant || {});
|
|
511
|
+
var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
|
|
512
|
+
ButtonType2["Button"] = "button";
|
|
513
|
+
ButtonType2["Submit"] = "submit";
|
|
514
|
+
return ButtonType2;
|
|
515
|
+
})(ButtonType || {});
|
|
516
|
+
var ButtonStruct = (0, import_superstruct8.assign)(
|
|
517
|
+
LiteralStruct,
|
|
518
|
+
(0, import_superstruct8.object)({
|
|
519
|
+
type: (0, import_superstruct8.literal)("button" /* Button */),
|
|
520
|
+
value: (0, import_superstruct8.string)(),
|
|
521
|
+
variant: (0, import_superstruct8.optional)(
|
|
522
|
+
(0, import_superstruct8.union)([
|
|
523
|
+
enumValue("primary" /* Primary */),
|
|
524
|
+
enumValue("secondary" /* Secondary */)
|
|
525
|
+
])
|
|
526
|
+
),
|
|
527
|
+
buttonType: (0, import_superstruct8.optional)(
|
|
528
|
+
(0, import_superstruct8.union)([enumValue("button" /* Button */), enumValue("submit" /* Submit */)])
|
|
529
|
+
),
|
|
530
|
+
name: (0, import_superstruct8.optional)((0, import_superstruct8.string)())
|
|
531
|
+
})
|
|
532
|
+
);
|
|
533
|
+
var button = createBuilder("button" /* Button */, ButtonStruct, [
|
|
534
|
+
"value",
|
|
535
|
+
"buttonType",
|
|
536
|
+
"name",
|
|
537
|
+
"variant"
|
|
538
|
+
]);
|
|
539
|
+
|
|
540
|
+
// src/ui/components/form.ts
|
|
541
|
+
var import_superstruct10 = require("superstruct");
|
|
542
|
+
|
|
543
|
+
// src/ui/components/input.ts
|
|
544
|
+
var import_superstruct9 = require("superstruct");
|
|
545
|
+
var InputType = /* @__PURE__ */ ((InputType2) => {
|
|
546
|
+
InputType2["Text"] = "text";
|
|
547
|
+
InputType2["Number"] = "number";
|
|
548
|
+
InputType2["Password"] = "password";
|
|
549
|
+
return InputType2;
|
|
550
|
+
})(InputType || {});
|
|
551
|
+
var InputStruct = (0, import_superstruct9.assign)(
|
|
552
|
+
LiteralStruct,
|
|
553
|
+
(0, import_superstruct9.object)({
|
|
554
|
+
type: (0, import_superstruct9.literal)("input" /* Input */),
|
|
555
|
+
value: (0, import_superstruct9.optional)((0, import_superstruct9.string)()),
|
|
556
|
+
name: (0, import_superstruct9.string)(),
|
|
557
|
+
inputType: (0, import_superstruct9.optional)(
|
|
558
|
+
(0, import_superstruct9.union)([
|
|
559
|
+
enumValue("text" /* Text */),
|
|
560
|
+
enumValue("password" /* Password */),
|
|
561
|
+
enumValue("number" /* Number */)
|
|
562
|
+
])
|
|
563
|
+
),
|
|
564
|
+
placeholder: (0, import_superstruct9.optional)((0, import_superstruct9.string)()),
|
|
565
|
+
label: (0, import_superstruct9.optional)((0, import_superstruct9.string)())
|
|
566
|
+
})
|
|
567
|
+
);
|
|
568
|
+
var input = createBuilder("input" /* Input */, InputStruct, [
|
|
569
|
+
"name",
|
|
570
|
+
"inputType",
|
|
571
|
+
"placeholder",
|
|
572
|
+
"value",
|
|
573
|
+
"label"
|
|
574
|
+
]);
|
|
575
|
+
|
|
576
|
+
// src/ui/components/form.ts
|
|
577
|
+
var FormComponentStruct = (0, import_superstruct10.union)([InputStruct, ButtonStruct]);
|
|
578
|
+
var FormStruct = (0, import_superstruct10.assign)(
|
|
579
|
+
NodeStruct,
|
|
580
|
+
(0, import_superstruct10.object)({
|
|
581
|
+
type: (0, import_superstruct10.literal)("form" /* Form */),
|
|
582
|
+
children: (0, import_superstruct10.array)(FormComponentStruct),
|
|
583
|
+
name: (0, import_superstruct10.string)()
|
|
584
|
+
})
|
|
585
|
+
);
|
|
586
|
+
var form = createBuilder("form" /* Form */, FormStruct, [
|
|
587
|
+
"name",
|
|
588
|
+
"children"
|
|
589
|
+
]);
|
|
590
|
+
|
|
591
|
+
// src/ui/components/row.ts
|
|
592
|
+
var import_superstruct12 = require("superstruct");
|
|
593
|
+
|
|
594
|
+
// src/ui/components/text.ts
|
|
595
|
+
var import_superstruct11 = require("superstruct");
|
|
596
|
+
var TextStruct = (0, import_superstruct11.assign)(
|
|
597
|
+
LiteralStruct,
|
|
598
|
+
(0, import_superstruct11.object)({
|
|
599
|
+
type: (0, import_superstruct11.literal)("text" /* Text */),
|
|
600
|
+
value: (0, import_superstruct11.string)(),
|
|
601
|
+
markdown: (0, import_superstruct11.optional)((0, import_superstruct11.boolean)())
|
|
602
|
+
})
|
|
603
|
+
);
|
|
604
|
+
var text = createBuilder("text" /* Text */, TextStruct, [
|
|
605
|
+
"value",
|
|
606
|
+
"markdown"
|
|
607
|
+
]);
|
|
608
|
+
|
|
609
|
+
// src/ui/components/row.ts
|
|
610
|
+
var RowVariant = /* @__PURE__ */ ((RowVariant2) => {
|
|
611
|
+
RowVariant2["Default"] = "default";
|
|
612
|
+
RowVariant2["Critical"] = "critical";
|
|
613
|
+
RowVariant2["Warning"] = "warning";
|
|
614
|
+
return RowVariant2;
|
|
615
|
+
})(RowVariant || {});
|
|
616
|
+
var RowComponentStruct = (0, import_superstruct12.union)([ImageStruct, TextStruct, AddressStruct]);
|
|
617
|
+
var RowStruct = (0, import_superstruct12.assign)(
|
|
618
|
+
LiteralStruct,
|
|
619
|
+
(0, import_superstruct12.object)({
|
|
620
|
+
type: (0, import_superstruct12.literal)("row" /* Row */),
|
|
621
|
+
variant: (0, import_superstruct12.optional)(
|
|
622
|
+
(0, import_superstruct12.union)([
|
|
623
|
+
enumValue("default" /* Default */),
|
|
624
|
+
enumValue("critical" /* Critical */),
|
|
625
|
+
enumValue("warning" /* Warning */)
|
|
626
|
+
])
|
|
627
|
+
),
|
|
628
|
+
label: (0, import_superstruct12.string)(),
|
|
629
|
+
value: RowComponentStruct
|
|
630
|
+
})
|
|
631
|
+
);
|
|
632
|
+
var row = createBuilder("row" /* Row */, RowStruct, [
|
|
633
|
+
"label",
|
|
634
|
+
"value",
|
|
635
|
+
"variant"
|
|
636
|
+
]);
|
|
637
|
+
|
|
638
|
+
// src/ui/components/spinner.ts
|
|
639
|
+
var import_superstruct13 = require("superstruct");
|
|
640
|
+
var SpinnerStruct = (0, import_superstruct13.assign)(
|
|
641
|
+
NodeStruct,
|
|
642
|
+
(0, import_superstruct13.object)({
|
|
643
|
+
type: (0, import_superstruct13.literal)("spinner" /* Spinner */)
|
|
644
|
+
})
|
|
645
|
+
);
|
|
646
|
+
var spinner = createBuilder("spinner" /* Spinner */, SpinnerStruct);
|
|
647
|
+
|
|
648
|
+
// src/ui/components/panel.ts
|
|
649
|
+
var ParentStruct = (0, import_superstruct14.assign)(
|
|
650
|
+
NodeStruct,
|
|
651
|
+
(0, import_superstruct14.object)({
|
|
652
|
+
// This node references itself indirectly, so we need to use `lazy()`.
|
|
653
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
654
|
+
children: (0, import_superstruct14.array)((0, import_superstruct14.lazy)(() => ComponentStruct))
|
|
655
|
+
})
|
|
656
|
+
);
|
|
657
|
+
var PanelStruct = (0, import_superstruct14.assign)(
|
|
658
|
+
ParentStruct,
|
|
659
|
+
(0, import_superstruct14.object)({
|
|
660
|
+
type: (0, import_superstruct14.literal)("panel" /* Panel */)
|
|
661
|
+
})
|
|
662
|
+
);
|
|
663
|
+
var panel = createBuilder("panel" /* Panel */, PanelStruct, ["children"]);
|
|
664
|
+
var ComponentStruct = (0, import_superstruct14.union)([
|
|
665
|
+
CopyableStruct,
|
|
666
|
+
DividerStruct,
|
|
667
|
+
HeadingStruct,
|
|
668
|
+
ImageStruct,
|
|
669
|
+
PanelStruct,
|
|
670
|
+
SpinnerStruct,
|
|
671
|
+
TextStruct,
|
|
672
|
+
RowStruct,
|
|
673
|
+
AddressStruct,
|
|
674
|
+
InputStruct,
|
|
675
|
+
FormStruct,
|
|
676
|
+
ButtonStruct
|
|
677
|
+
]);
|
|
678
|
+
|
|
679
|
+
// src/ui/component.ts
|
|
680
|
+
var import_utils4 = require("@metamask/utils");
|
|
681
|
+
var import_superstruct15 = require("superstruct");
|
|
682
|
+
function isComponent(value) {
|
|
683
|
+
return (0, import_superstruct15.is)(value, ComponentStruct);
|
|
684
|
+
}
|
|
685
|
+
function assertIsComponent(value) {
|
|
686
|
+
(0, import_utils4.assertStruct)(value, ComponentStruct, "Invalid component");
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
// src/images.ts
|
|
690
|
+
async function getRawImageData(url, options) {
|
|
691
|
+
if (typeof fetch !== "function") {
|
|
692
|
+
throw new Error(
|
|
693
|
+
`Failed to fetch image data from "${url}": Using this function requires the "endowment:network-access" permission.`
|
|
694
|
+
);
|
|
695
|
+
}
|
|
696
|
+
return fetch(url, options).then(async (response) => {
|
|
697
|
+
if (!response.ok) {
|
|
698
|
+
throw new Error(
|
|
699
|
+
`Failed to fetch image data from "${url}": ${response.status} ${response.statusText}`
|
|
700
|
+
);
|
|
701
|
+
}
|
|
702
|
+
const blob = await response.blob();
|
|
703
|
+
(0, import_utils5.assert)(
|
|
704
|
+
blob.type === "image/jpeg" || blob.type === "image/png",
|
|
705
|
+
"Expected image data to be a JPEG or PNG image."
|
|
706
|
+
);
|
|
707
|
+
return blob;
|
|
708
|
+
});
|
|
709
|
+
}
|
|
710
|
+
async function getImageData(url, options) {
|
|
711
|
+
const blob = await getRawImageData(url, options);
|
|
712
|
+
const bytes = new Uint8Array(await blob.arrayBuffer());
|
|
713
|
+
return `data:${blob.type};base64,${(0, import_utils5.bytesToBase64)(bytes)}`;
|
|
714
|
+
}
|
|
715
|
+
async function getImageComponent(url, { width, height = width, request }) {
|
|
716
|
+
(0, import_utils5.assert)(
|
|
717
|
+
typeof width === "number" && width > 0,
|
|
718
|
+
"Expected width to be a number greater than 0."
|
|
719
|
+
);
|
|
720
|
+
(0, import_utils5.assert)(
|
|
721
|
+
typeof height === "number" && height > 0,
|
|
722
|
+
"Expected height to be a number greater than 0."
|
|
723
|
+
);
|
|
724
|
+
const imageData = await getImageData(url, request);
|
|
725
|
+
const size = `width="${width}" height="${height}"`;
|
|
726
|
+
return image(
|
|
727
|
+
`<svg ${size.trim()} xmlns="http://www.w3.org/2000/svg"><image ${size.trim()} href="${imageData}" /></svg>`
|
|
728
|
+
);
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
// src/types/handlers/transaction.ts
|
|
732
|
+
var SeverityLevel = /* @__PURE__ */ ((SeverityLevel2) => {
|
|
733
|
+
SeverityLevel2["Critical"] = "critical";
|
|
734
|
+
return SeverityLevel2;
|
|
735
|
+
})(SeverityLevel || {});
|
|
736
|
+
|
|
737
|
+
// src/types/handlers/user-input.ts
|
|
738
|
+
var import_superstruct16 = require("superstruct");
|
|
739
|
+
var UserInputEventType = /* @__PURE__ */ ((UserInputEventType2) => {
|
|
740
|
+
UserInputEventType2["ButtonClickEvent"] = "ButtonClickEvent";
|
|
741
|
+
UserInputEventType2["FormSubmitEvent"] = "FormSubmitEvent";
|
|
742
|
+
return UserInputEventType2;
|
|
743
|
+
})(UserInputEventType || {});
|
|
744
|
+
var GenericEventStruct = (0, import_superstruct16.object)({
|
|
745
|
+
type: (0, import_superstruct16.string)(),
|
|
746
|
+
name: (0, import_superstruct16.optional)((0, import_superstruct16.string)())
|
|
747
|
+
});
|
|
748
|
+
var ButtonClickEventStruct = (0, import_superstruct16.assign)(
|
|
749
|
+
GenericEventStruct,
|
|
750
|
+
(0, import_superstruct16.object)({
|
|
751
|
+
type: (0, import_superstruct16.literal)("ButtonClickEvent" /* ButtonClickEvent */)
|
|
752
|
+
})
|
|
753
|
+
);
|
|
754
|
+
var FormSubmitEventStruct = (0, import_superstruct16.assign)(
|
|
755
|
+
GenericEventStruct,
|
|
756
|
+
(0, import_superstruct16.object)({
|
|
757
|
+
type: (0, import_superstruct16.literal)("FormSubmitEvent" /* FormSubmitEvent */),
|
|
758
|
+
value: (0, import_superstruct16.record)((0, import_superstruct16.string)(), (0, import_superstruct16.string)()),
|
|
759
|
+
name: (0, import_superstruct16.string)()
|
|
760
|
+
})
|
|
761
|
+
);
|
|
762
|
+
var UserInputEventStruct = (0, import_superstruct16.union)([
|
|
763
|
+
ButtonClickEventStruct,
|
|
764
|
+
FormSubmitEventStruct
|
|
765
|
+
]);
|
|
766
|
+
|
|
767
|
+
// src/types/methods/dialog.ts
|
|
768
|
+
var DialogType = /* @__PURE__ */ ((DialogType2) => {
|
|
769
|
+
DialogType2["Alert"] = "alert";
|
|
770
|
+
DialogType2["Confirmation"] = "confirmation";
|
|
771
|
+
DialogType2["Prompt"] = "prompt";
|
|
772
|
+
return DialogType2;
|
|
773
|
+
})(DialogType || {});
|
|
774
|
+
|
|
775
|
+
// src/types/methods/get-file.ts
|
|
776
|
+
var AuxiliaryFileEncoding = /* @__PURE__ */ ((AuxiliaryFileEncoding2) => {
|
|
777
|
+
AuxiliaryFileEncoding2["Base64"] = "base64";
|
|
778
|
+
AuxiliaryFileEncoding2["Hex"] = "hex";
|
|
779
|
+
AuxiliaryFileEncoding2["Utf8"] = "utf8";
|
|
780
|
+
return AuxiliaryFileEncoding2;
|
|
781
|
+
})(AuxiliaryFileEncoding || {});
|
|
782
|
+
|
|
783
|
+
// src/types/methods/manage-state.ts
|
|
784
|
+
var ManageStateOperation = /* @__PURE__ */ ((ManageStateOperation2) => {
|
|
785
|
+
ManageStateOperation2["ClearState"] = "clear";
|
|
786
|
+
ManageStateOperation2["GetState"] = "get";
|
|
787
|
+
ManageStateOperation2["UpdateState"] = "update";
|
|
788
|
+
return ManageStateOperation2;
|
|
789
|
+
})(ManageStateOperation || {});
|
|
790
|
+
|
|
791
|
+
// src/types/methods/notify.ts
|
|
792
|
+
var NotificationType = /* @__PURE__ */ ((NotificationType2) => {
|
|
793
|
+
NotificationType2["InApp"] = "inApp";
|
|
794
|
+
NotificationType2["Native"] = "native";
|
|
795
|
+
return NotificationType2;
|
|
796
|
+
})(NotificationType || {});
|
|
797
|
+
|
|
798
|
+
// src/types/interface.ts
|
|
799
|
+
var import_superstruct17 = require("superstruct");
|
|
800
|
+
var FormStateStruct = (0, import_superstruct17.record)((0, import_superstruct17.string)(), (0, import_superstruct17.nullable)((0, import_superstruct17.string)()));
|
|
801
|
+
var InterfaceStateStruct = (0, import_superstruct17.record)(
|
|
802
|
+
(0, import_superstruct17.string)(),
|
|
803
|
+
(0, import_superstruct17.union)([FormStateStruct, (0, import_superstruct17.nullable)((0, import_superstruct17.string)())])
|
|
804
|
+
);
|
|
805
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
806
|
+
0 && (module.exports = {
|
|
807
|
+
AddressStruct,
|
|
808
|
+
AuxiliaryFileEncoding,
|
|
809
|
+
ButtonClickEventStruct,
|
|
810
|
+
ButtonStruct,
|
|
811
|
+
ButtonType,
|
|
812
|
+
ButtonVariant,
|
|
813
|
+
ChainDisconnectedError,
|
|
814
|
+
ComponentStruct,
|
|
815
|
+
CopyableStruct,
|
|
816
|
+
DialogType,
|
|
817
|
+
DisconnectedError,
|
|
818
|
+
DividerStruct,
|
|
819
|
+
FormComponentStruct,
|
|
820
|
+
FormStateStruct,
|
|
821
|
+
FormStruct,
|
|
822
|
+
FormSubmitEventStruct,
|
|
823
|
+
GenericEventStruct,
|
|
824
|
+
HeadingStruct,
|
|
825
|
+
ImageStruct,
|
|
826
|
+
InputStruct,
|
|
827
|
+
InputType,
|
|
828
|
+
InterfaceStateStruct,
|
|
829
|
+
InternalError,
|
|
830
|
+
InvalidInputError,
|
|
831
|
+
InvalidParamsError,
|
|
832
|
+
InvalidRequestError,
|
|
833
|
+
LimitExceededError,
|
|
834
|
+
ManageStateOperation,
|
|
835
|
+
MethodNotFoundError,
|
|
836
|
+
MethodNotSupportedError,
|
|
837
|
+
NodeType,
|
|
838
|
+
NotificationType,
|
|
839
|
+
PanelStruct,
|
|
840
|
+
ParseError,
|
|
841
|
+
ResourceNotFoundError,
|
|
842
|
+
ResourceUnavailableError,
|
|
843
|
+
RowStruct,
|
|
844
|
+
RowVariant,
|
|
845
|
+
SNAP_ERROR_CODE,
|
|
846
|
+
SNAP_ERROR_MESSAGE,
|
|
847
|
+
SeverityLevel,
|
|
848
|
+
SnapError,
|
|
849
|
+
SpinnerStruct,
|
|
850
|
+
TextStruct,
|
|
851
|
+
TransactionRejected,
|
|
852
|
+
UnauthorizedError,
|
|
853
|
+
UnsupportedMethodError,
|
|
854
|
+
UserInputEventStruct,
|
|
855
|
+
UserInputEventType,
|
|
856
|
+
UserRejectedRequestError,
|
|
857
|
+
address,
|
|
858
|
+
assert,
|
|
859
|
+
assertIsComponent,
|
|
860
|
+
button,
|
|
861
|
+
copyable,
|
|
862
|
+
divider,
|
|
863
|
+
enumValue,
|
|
864
|
+
form,
|
|
865
|
+
getErrorData,
|
|
866
|
+
getErrorMessage,
|
|
867
|
+
getErrorStack,
|
|
868
|
+
getImageComponent,
|
|
869
|
+
getImageData,
|
|
870
|
+
heading,
|
|
871
|
+
image,
|
|
872
|
+
input,
|
|
873
|
+
isComponent,
|
|
874
|
+
isSvg,
|
|
875
|
+
literal,
|
|
876
|
+
panel,
|
|
877
|
+
parseSvg,
|
|
878
|
+
row,
|
|
879
|
+
spinner,
|
|
880
|
+
text,
|
|
881
|
+
union
|
|
882
|
+
});
|
|
883
|
+
//# sourceMappingURL=index.js.map
|