@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.
Files changed (265) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/index.js +883 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/index.mjs +810 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/tsconfig.build.tsbuildinfo +1 -0
  7. package/dist/types/error-wrappers.d.ts +464 -48
  8. package/dist/types/errors.d.ts +2 -4
  9. package/dist/types/index.d.ts +1 -1
  10. package/dist/types/internals/error-wrappers.d.ts +29 -3
  11. package/dist/types/internals/index.d.ts +1 -0
  12. package/dist/types/internals/svg.d.ts +14 -0
  13. package/package.json +19 -16
  14. package/dist/cjs/error-wrappers.js +0 -80
  15. package/dist/cjs/error-wrappers.js.map +0 -1
  16. package/dist/cjs/errors.js +0 -157
  17. package/dist/cjs/errors.js.map +0 -1
  18. package/dist/cjs/images.js +0 -54
  19. package/dist/cjs/images.js.map +0 -1
  20. package/dist/cjs/index.js +0 -62
  21. package/dist/cjs/index.js.map +0 -1
  22. package/dist/cjs/internals/error-wrappers.js +0 -25
  23. package/dist/cjs/internals/error-wrappers.js.map +0 -1
  24. package/dist/cjs/internals/errors.js +0 -59
  25. package/dist/cjs/internals/errors.js.map +0 -1
  26. package/dist/cjs/internals/helpers.js +0 -6
  27. package/dist/cjs/internals/helpers.js.map +0 -1
  28. package/dist/cjs/internals/index.js +0 -23
  29. package/dist/cjs/internals/index.js.map +0 -1
  30. package/dist/cjs/internals/structs.js +0 -43
  31. package/dist/cjs/internals/structs.js.map +0 -1
  32. package/dist/cjs/types/caip.js +0 -10
  33. package/dist/cjs/types/caip.js.map +0 -1
  34. package/dist/cjs/types/global.js +0 -6
  35. package/dist/cjs/types/global.js.map +0 -1
  36. package/dist/cjs/types/handlers/cronjob.js +0 -6
  37. package/dist/cjs/types/handlers/cronjob.js.map +0 -1
  38. package/dist/cjs/types/handlers/home-page.js +0 -6
  39. package/dist/cjs/types/handlers/home-page.js.map +0 -1
  40. package/dist/cjs/types/handlers/index.js +0 -28
  41. package/dist/cjs/types/handlers/index.js.map +0 -1
  42. package/dist/cjs/types/handlers/keyring.js +0 -6
  43. package/dist/cjs/types/handlers/keyring.js.map +0 -1
  44. package/dist/cjs/types/handlers/lifecycle.js +0 -6
  45. package/dist/cjs/types/handlers/lifecycle.js.map +0 -1
  46. package/dist/cjs/types/handlers/name-lookup.js +0 -6
  47. package/dist/cjs/types/handlers/name-lookup.js.map +0 -1
  48. package/dist/cjs/types/handlers/rpc-request.js +0 -6
  49. package/dist/cjs/types/handlers/rpc-request.js.map +0 -1
  50. package/dist/cjs/types/handlers/signature.js +0 -6
  51. package/dist/cjs/types/handlers/signature.js.map +0 -1
  52. package/dist/cjs/types/handlers/transaction.js +0 -16
  53. package/dist/cjs/types/handlers/transaction.js.map +0 -1
  54. package/dist/cjs/types/handlers/user-input.js +0 -51
  55. package/dist/cjs/types/handlers/user-input.js.map +0 -1
  56. package/dist/cjs/types/index.js +0 -29
  57. package/dist/cjs/types/index.js.map +0 -1
  58. package/dist/cjs/types/interface.js +0 -26
  59. package/dist/cjs/types/interface.js.map +0 -1
  60. package/dist/cjs/types/methods/create-interface.js +0 -6
  61. package/dist/cjs/types/methods/create-interface.js.map +0 -1
  62. package/dist/cjs/types/methods/dialog.js +0 -18
  63. package/dist/cjs/types/methods/dialog.js.map +0 -1
  64. package/dist/cjs/types/methods/get-bip32-entropy.js +0 -6
  65. package/dist/cjs/types/methods/get-bip32-entropy.js.map +0 -1
  66. package/dist/cjs/types/methods/get-bip32-public-key.js +0 -6
  67. package/dist/cjs/types/methods/get-bip32-public-key.js.map +0 -1
  68. package/dist/cjs/types/methods/get-bip44-entropy.js +0 -6
  69. package/dist/cjs/types/methods/get-bip44-entropy.js.map +0 -1
  70. package/dist/cjs/types/methods/get-client-status.js +0 -10
  71. package/dist/cjs/types/methods/get-client-status.js.map +0 -1
  72. package/dist/cjs/types/methods/get-entropy.js +0 -6
  73. package/dist/cjs/types/methods/get-entropy.js.map +0 -1
  74. package/dist/cjs/types/methods/get-file.js +0 -18
  75. package/dist/cjs/types/methods/get-file.js.map +0 -1
  76. package/dist/cjs/types/methods/get-interface-state.js +0 -6
  77. package/dist/cjs/types/methods/get-interface-state.js.map +0 -1
  78. package/dist/cjs/types/methods/get-locale.js +0 -10
  79. package/dist/cjs/types/methods/get-locale.js.map +0 -1
  80. package/dist/cjs/types/methods/get-snaps.js +0 -6
  81. package/dist/cjs/types/methods/get-snaps.js.map +0 -1
  82. package/dist/cjs/types/methods/index.js +0 -38
  83. package/dist/cjs/types/methods/index.js.map +0 -1
  84. package/dist/cjs/types/methods/invoke-keyring.js +0 -6
  85. package/dist/cjs/types/methods/invoke-keyring.js.map +0 -1
  86. package/dist/cjs/types/methods/invoke-snap.js +0 -6
  87. package/dist/cjs/types/methods/invoke-snap.js.map +0 -1
  88. package/dist/cjs/types/methods/manage-accounts.js +0 -6
  89. package/dist/cjs/types/methods/manage-accounts.js.map +0 -1
  90. package/dist/cjs/types/methods/manage-state.js +0 -18
  91. package/dist/cjs/types/methods/manage-state.js.map +0 -1
  92. package/dist/cjs/types/methods/methods.js +0 -6
  93. package/dist/cjs/types/methods/methods.js.map +0 -1
  94. package/dist/cjs/types/methods/notify.js +0 -17
  95. package/dist/cjs/types/methods/notify.js.map +0 -1
  96. package/dist/cjs/types/methods/request-snaps.js +0 -6
  97. package/dist/cjs/types/methods/request-snaps.js.map +0 -1
  98. package/dist/cjs/types/methods/update-interface.js +0 -6
  99. package/dist/cjs/types/methods/update-interface.js.map +0 -1
  100. package/dist/cjs/types/permissions.js +0 -6
  101. package/dist/cjs/types/permissions.js.map +0 -1
  102. package/dist/cjs/types/provider.js +0 -6
  103. package/dist/cjs/types/provider.js.map +0 -1
  104. package/dist/cjs/types/snap.js +0 -6
  105. package/dist/cjs/types/snap.js.map +0 -1
  106. package/dist/cjs/ui/builder.js +0 -44
  107. package/dist/cjs/ui/builder.js.map +0 -1
  108. package/dist/cjs/ui/component.js +0 -29
  109. package/dist/cjs/ui/component.js.map +0 -1
  110. package/dist/cjs/ui/components/address.js +0 -30
  111. package/dist/cjs/ui/components/address.js.map +0 -1
  112. package/dist/cjs/ui/components/button.js +0 -59
  113. package/dist/cjs/ui/components/button.js.map +0 -1
  114. package/dist/cjs/ui/components/copyable.js +0 -32
  115. package/dist/cjs/ui/components/copyable.js.map +0 -1
  116. package/dist/cjs/ui/components/divider.js +0 -27
  117. package/dist/cjs/ui/components/divider.js.map +0 -1
  118. package/dist/cjs/ui/components/form.js +0 -41
  119. package/dist/cjs/ui/components/form.js.map +0 -1
  120. package/dist/cjs/ui/components/heading.js +0 -30
  121. package/dist/cjs/ui/components/heading.js.map +0 -1
  122. package/dist/cjs/ui/components/image.js +0 -47
  123. package/dist/cjs/ui/components/image.js.map +0 -1
  124. package/dist/cjs/ui/components/index.js +0 -54
  125. package/dist/cjs/ui/components/index.js.map +0 -1
  126. package/dist/cjs/ui/components/input.js +0 -52
  127. package/dist/cjs/ui/components/input.js.map +0 -1
  128. package/dist/cjs/ui/components/panel.js +0 -65
  129. package/dist/cjs/ui/components/panel.js.map +0 -1
  130. package/dist/cjs/ui/components/row.js +0 -57
  131. package/dist/cjs/ui/components/row.js.map +0 -1
  132. package/dist/cjs/ui/components/spinner.js +0 -27
  133. package/dist/cjs/ui/components/spinner.js.map +0 -1
  134. package/dist/cjs/ui/components/text.js +0 -32
  135. package/dist/cjs/ui/components/text.js.map +0 -1
  136. package/dist/cjs/ui/index.js +0 -28
  137. package/dist/cjs/ui/index.js.map +0 -1
  138. package/dist/cjs/ui/nodes.js +0 -46
  139. package/dist/cjs/ui/nodes.js.map +0 -1
  140. package/dist/esm/error-wrappers.js +0 -128
  141. package/dist/esm/error-wrappers.js.map +0 -1
  142. package/dist/esm/errors.js +0 -150
  143. package/dist/esm/errors.js.map +0 -1
  144. package/dist/esm/images.js +0 -84
  145. package/dist/esm/images.js.map +0 -1
  146. package/dist/esm/index.js +0 -10
  147. package/dist/esm/index.js.map +0 -1
  148. package/dist/esm/internals/error-wrappers.js +0 -25
  149. package/dist/esm/internals/error-wrappers.js.map +0 -1
  150. package/dist/esm/internals/errors.js +0 -58
  151. package/dist/esm/internals/errors.js.map +0 -1
  152. package/dist/esm/internals/helpers.js +0 -3
  153. package/dist/esm/internals/helpers.js.map +0 -1
  154. package/dist/esm/internals/index.js +0 -6
  155. package/dist/esm/internals/index.js.map +0 -1
  156. package/dist/esm/internals/structs.js +0 -59
  157. package/dist/esm/internals/structs.js.map +0 -1
  158. package/dist/esm/types/caip.js +0 -7
  159. package/dist/esm/types/caip.js.map +0 -1
  160. package/dist/esm/types/global.js +0 -3
  161. package/dist/esm/types/global.js.map +0 -1
  162. package/dist/esm/types/handlers/cronjob.js +0 -3
  163. package/dist/esm/types/handlers/cronjob.js.map +0 -1
  164. package/dist/esm/types/handlers/home-page.js +0 -3
  165. package/dist/esm/types/handlers/home-page.js.map +0 -1
  166. package/dist/esm/types/handlers/index.js +0 -11
  167. package/dist/esm/types/handlers/index.js.map +0 -1
  168. package/dist/esm/types/handlers/keyring.js +0 -3
  169. package/dist/esm/types/handlers/keyring.js.map +0 -1
  170. package/dist/esm/types/handlers/lifecycle.js +0 -3
  171. package/dist/esm/types/handlers/lifecycle.js.map +0 -1
  172. package/dist/esm/types/handlers/name-lookup.js +0 -3
  173. package/dist/esm/types/handlers/name-lookup.js.map +0 -1
  174. package/dist/esm/types/handlers/rpc-request.js +0 -3
  175. package/dist/esm/types/handlers/rpc-request.js.map +0 -1
  176. package/dist/esm/types/handlers/signature.js +0 -3
  177. package/dist/esm/types/handlers/signature.js.map +0 -1
  178. package/dist/esm/types/handlers/transaction.js +0 -6
  179. package/dist/esm/types/handlers/transaction.js.map +0 -1
  180. package/dist/esm/types/handlers/user-input.js +0 -24
  181. package/dist/esm/types/handlers/user-input.js.map +0 -1
  182. package/dist/esm/types/index.js +0 -12
  183. package/dist/esm/types/index.js.map +0 -1
  184. package/dist/esm/types/interface.js +0 -12
  185. package/dist/esm/types/interface.js.map +0 -1
  186. package/dist/esm/types/methods/create-interface.js +0 -3
  187. package/dist/esm/types/methods/create-interface.js.map +0 -1
  188. package/dist/esm/types/methods/dialog.js +0 -8
  189. package/dist/esm/types/methods/dialog.js.map +0 -1
  190. package/dist/esm/types/methods/get-bip32-entropy.js +0 -3
  191. package/dist/esm/types/methods/get-bip32-entropy.js.map +0 -1
  192. package/dist/esm/types/methods/get-bip32-public-key.js +0 -3
  193. package/dist/esm/types/methods/get-bip32-public-key.js.map +0 -1
  194. package/dist/esm/types/methods/get-bip44-entropy.js +0 -3
  195. package/dist/esm/types/methods/get-bip44-entropy.js.map +0 -1
  196. package/dist/esm/types/methods/get-client-status.js +0 -7
  197. package/dist/esm/types/methods/get-client-status.js.map +0 -1
  198. package/dist/esm/types/methods/get-entropy.js +0 -3
  199. package/dist/esm/types/methods/get-entropy.js.map +0 -1
  200. package/dist/esm/types/methods/get-file.js +0 -8
  201. package/dist/esm/types/methods/get-file.js.map +0 -1
  202. package/dist/esm/types/methods/get-interface-state.js +0 -3
  203. package/dist/esm/types/methods/get-interface-state.js.map +0 -1
  204. package/dist/esm/types/methods/get-locale.js +0 -7
  205. package/dist/esm/types/methods/get-locale.js.map +0 -1
  206. package/dist/esm/types/methods/get-snaps.js +0 -3
  207. package/dist/esm/types/methods/get-snaps.js.map +0 -1
  208. package/dist/esm/types/methods/index.js +0 -21
  209. package/dist/esm/types/methods/index.js.map +0 -1
  210. package/dist/esm/types/methods/invoke-keyring.js +0 -3
  211. package/dist/esm/types/methods/invoke-keyring.js.map +0 -1
  212. package/dist/esm/types/methods/invoke-snap.js +0 -3
  213. package/dist/esm/types/methods/invoke-snap.js.map +0 -1
  214. package/dist/esm/types/methods/manage-accounts.js +0 -3
  215. package/dist/esm/types/methods/manage-accounts.js.map +0 -1
  216. package/dist/esm/types/methods/manage-state.js +0 -8
  217. package/dist/esm/types/methods/manage-state.js.map +0 -1
  218. package/dist/esm/types/methods/methods.js +0 -3
  219. package/dist/esm/types/methods/methods.js.map +0 -1
  220. package/dist/esm/types/methods/notify.js +0 -7
  221. package/dist/esm/types/methods/notify.js.map +0 -1
  222. package/dist/esm/types/methods/request-snaps.js +0 -3
  223. package/dist/esm/types/methods/request-snaps.js.map +0 -1
  224. package/dist/esm/types/methods/update-interface.js +0 -3
  225. package/dist/esm/types/methods/update-interface.js.map +0 -1
  226. package/dist/esm/types/permissions.js +0 -3
  227. package/dist/esm/types/permissions.js.map +0 -1
  228. package/dist/esm/types/provider.js +0 -3
  229. package/dist/esm/types/provider.js.map +0 -1
  230. package/dist/esm/types/snap.js +0 -3
  231. package/dist/esm/types/snap.js.map +0 -1
  232. package/dist/esm/ui/builder.js +0 -50
  233. package/dist/esm/ui/builder.js.map +0 -1
  234. package/dist/esm/ui/component.js +0 -23
  235. package/dist/esm/ui/component.js.map +0 -1
  236. package/dist/esm/ui/components/address.js +0 -22
  237. package/dist/esm/ui/components/address.js.map +0 -1
  238. package/dist/esm/ui/components/button.js +0 -50
  239. package/dist/esm/ui/components/button.js.map +0 -1
  240. package/dist/esm/ui/components/copyable.js +0 -27
  241. package/dist/esm/ui/components/copyable.js.map +0 -1
  242. package/dist/esm/ui/components/divider.js +0 -15
  243. package/dist/esm/ui/components/divider.js.map +0 -1
  244. package/dist/esm/ui/components/form.js +0 -39
  245. package/dist/esm/ui/components/form.js.map +0 -1
  246. package/dist/esm/ui/components/heading.js +0 -22
  247. package/dist/esm/ui/components/heading.js.map +0 -1
  248. package/dist/esm/ui/components/image.js +0 -37
  249. package/dist/esm/ui/components/image.js.map +0 -1
  250. package/dist/esm/ui/components/index.js +0 -14
  251. package/dist/esm/ui/components/index.js.map +0 -1
  252. package/dist/esm/ui/components/input.js +0 -47
  253. package/dist/esm/ui/components/input.js.map +0 -1
  254. package/dist/esm/ui/components/panel.js +0 -66
  255. package/dist/esm/ui/components/panel.js.map +0 -1
  256. package/dist/esm/ui/components/row.js +0 -50
  257. package/dist/esm/ui/components/row.js.map +0 -1
  258. package/dist/esm/ui/components/spinner.js +0 -15
  259. package/dist/esm/ui/components/spinner.js.map +0 -1
  260. package/dist/esm/ui/components/text.js +0 -29
  261. package/dist/esm/ui/components/text.js.map +0 -1
  262. package/dist/esm/ui/index.js +0 -5
  263. package/dist/esm/ui/index.js.map +0 -1
  264. package/dist/esm/ui/nodes.js +0 -29
  265. 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