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