@metamask/snaps-sdk 10.3.0 → 11.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 (738) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/dist/error-wrappers.d.cts +192 -192
  3. package/dist/error-wrappers.d.mts +192 -192
  4. package/dist/errors.cjs +27 -1
  5. package/dist/errors.cjs.map +1 -1
  6. package/dist/errors.d.cts +14 -0
  7. package/dist/errors.d.cts.map +1 -1
  8. package/dist/errors.d.mts +14 -0
  9. package/dist/errors.d.mts.map +1 -1
  10. package/dist/errors.mjs +25 -1
  11. package/dist/errors.mjs.map +1 -1
  12. package/dist/images.cjs +1 -41
  13. package/dist/images.cjs.map +1 -1
  14. package/dist/images.d.cts +0 -49
  15. package/dist/images.d.cts.map +1 -1
  16. package/dist/images.d.mts +0 -49
  17. package/dist/images.d.mts.map +1 -1
  18. package/dist/images.mjs +0 -39
  19. package/dist/images.mjs.map +1 -1
  20. package/dist/index.cjs +8 -0
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +8 -0
  23. package/dist/index.d.cts.map +1 -1
  24. package/dist/index.d.mts +8 -0
  25. package/dist/index.d.mts.map +1 -1
  26. package/dist/index.mjs +8 -0
  27. package/dist/index.mjs.map +1 -1
  28. package/dist/internals/error-wrappers.d.cts +12 -12
  29. package/dist/internals/error-wrappers.d.mts +12 -12
  30. package/dist/jsx/components/Address.cjs +1 -0
  31. package/dist/jsx/components/Address.cjs.map +1 -1
  32. package/dist/jsx/components/Address.d.cts +4 -1
  33. package/dist/jsx/components/Address.d.cts.map +1 -1
  34. package/dist/jsx/components/Address.d.mts +4 -1
  35. package/dist/jsx/components/Address.d.mts.map +1 -1
  36. package/dist/jsx/components/Address.mjs +1 -0
  37. package/dist/jsx/components/Address.mjs.map +1 -1
  38. package/dist/jsx/components/Avatar.cjs +1 -0
  39. package/dist/jsx/components/Avatar.cjs.map +1 -1
  40. package/dist/jsx/components/Avatar.d.cts +4 -1
  41. package/dist/jsx/components/Avatar.d.cts.map +1 -1
  42. package/dist/jsx/components/Avatar.d.mts +4 -1
  43. package/dist/jsx/components/Avatar.d.mts.map +1 -1
  44. package/dist/jsx/components/Avatar.mjs +1 -0
  45. package/dist/jsx/components/Avatar.mjs.map +1 -1
  46. package/dist/jsx/components/Banner.cjs +1 -0
  47. package/dist/jsx/components/Banner.cjs.map +1 -1
  48. package/dist/jsx/components/Banner.d.cts +4 -1
  49. package/dist/jsx/components/Banner.d.cts.map +1 -1
  50. package/dist/jsx/components/Banner.d.mts +4 -1
  51. package/dist/jsx/components/Banner.d.mts.map +1 -1
  52. package/dist/jsx/components/Banner.mjs +1 -0
  53. package/dist/jsx/components/Banner.mjs.map +1 -1
  54. package/dist/jsx/components/Box.cjs +1 -0
  55. package/dist/jsx/components/Box.cjs.map +1 -1
  56. package/dist/jsx/components/Box.d.cts +4 -1
  57. package/dist/jsx/components/Box.d.cts.map +1 -1
  58. package/dist/jsx/components/Box.d.mts +4 -1
  59. package/dist/jsx/components/Box.d.mts.map +1 -1
  60. package/dist/jsx/components/Box.mjs +1 -0
  61. package/dist/jsx/components/Box.mjs.map +1 -1
  62. package/dist/jsx/components/Card.cjs +1 -0
  63. package/dist/jsx/components/Card.cjs.map +1 -1
  64. package/dist/jsx/components/Card.d.cts +4 -1
  65. package/dist/jsx/components/Card.d.cts.map +1 -1
  66. package/dist/jsx/components/Card.d.mts +4 -1
  67. package/dist/jsx/components/Card.d.mts.map +1 -1
  68. package/dist/jsx/components/Card.mjs +1 -0
  69. package/dist/jsx/components/Card.mjs.map +1 -1
  70. package/dist/jsx/components/Container.cjs +1 -0
  71. package/dist/jsx/components/Container.cjs.map +1 -1
  72. package/dist/jsx/components/Container.d.cts +4 -1
  73. package/dist/jsx/components/Container.d.cts.map +1 -1
  74. package/dist/jsx/components/Container.d.mts +4 -1
  75. package/dist/jsx/components/Container.d.mts.map +1 -1
  76. package/dist/jsx/components/Container.mjs +1 -0
  77. package/dist/jsx/components/Container.mjs.map +1 -1
  78. package/dist/jsx/components/Copyable.cjs +1 -0
  79. package/dist/jsx/components/Copyable.cjs.map +1 -1
  80. package/dist/jsx/components/Copyable.d.cts +4 -1
  81. package/dist/jsx/components/Copyable.d.cts.map +1 -1
  82. package/dist/jsx/components/Copyable.d.mts +4 -1
  83. package/dist/jsx/components/Copyable.d.mts.map +1 -1
  84. package/dist/jsx/components/Copyable.mjs +1 -0
  85. package/dist/jsx/components/Copyable.mjs.map +1 -1
  86. package/dist/jsx/components/Divider.cjs +1 -0
  87. package/dist/jsx/components/Divider.cjs.map +1 -1
  88. package/dist/jsx/components/Divider.d.cts +3 -1
  89. package/dist/jsx/components/Divider.d.cts.map +1 -1
  90. package/dist/jsx/components/Divider.d.mts +3 -1
  91. package/dist/jsx/components/Divider.d.mts.map +1 -1
  92. package/dist/jsx/components/Divider.mjs +1 -0
  93. package/dist/jsx/components/Divider.mjs.map +1 -1
  94. package/dist/jsx/components/Footer.cjs +1 -0
  95. package/dist/jsx/components/Footer.cjs.map +1 -1
  96. package/dist/jsx/components/Footer.d.cts +4 -1
  97. package/dist/jsx/components/Footer.d.cts.map +1 -1
  98. package/dist/jsx/components/Footer.d.mts +4 -1
  99. package/dist/jsx/components/Footer.d.mts.map +1 -1
  100. package/dist/jsx/components/Footer.mjs +1 -0
  101. package/dist/jsx/components/Footer.mjs.map +1 -1
  102. package/dist/jsx/components/Heading.cjs +1 -0
  103. package/dist/jsx/components/Heading.cjs.map +1 -1
  104. package/dist/jsx/components/Heading.d.cts +4 -1
  105. package/dist/jsx/components/Heading.d.cts.map +1 -1
  106. package/dist/jsx/components/Heading.d.mts +4 -1
  107. package/dist/jsx/components/Heading.d.mts.map +1 -1
  108. package/dist/jsx/components/Heading.mjs +1 -0
  109. package/dist/jsx/components/Heading.mjs.map +1 -1
  110. package/dist/jsx/components/Icon.cjs +1 -0
  111. package/dist/jsx/components/Icon.cjs.map +1 -1
  112. package/dist/jsx/components/Icon.d.cts +9 -2
  113. package/dist/jsx/components/Icon.d.cts.map +1 -1
  114. package/dist/jsx/components/Icon.d.mts +9 -2
  115. package/dist/jsx/components/Icon.d.mts.map +1 -1
  116. package/dist/jsx/components/Icon.mjs +1 -0
  117. package/dist/jsx/components/Icon.mjs.map +1 -1
  118. package/dist/jsx/components/Image.cjs +1 -0
  119. package/dist/jsx/components/Image.cjs.map +1 -1
  120. package/dist/jsx/components/Image.d.cts +4 -1
  121. package/dist/jsx/components/Image.d.cts.map +1 -1
  122. package/dist/jsx/components/Image.d.mts +4 -1
  123. package/dist/jsx/components/Image.d.mts.map +1 -1
  124. package/dist/jsx/components/Image.mjs +1 -0
  125. package/dist/jsx/components/Image.mjs.map +1 -1
  126. package/dist/jsx/components/Link.cjs +1 -0
  127. package/dist/jsx/components/Link.cjs.map +1 -1
  128. package/dist/jsx/components/Link.d.cts +4 -1
  129. package/dist/jsx/components/Link.d.cts.map +1 -1
  130. package/dist/jsx/components/Link.d.mts +4 -1
  131. package/dist/jsx/components/Link.d.mts.map +1 -1
  132. package/dist/jsx/components/Link.mjs +1 -0
  133. package/dist/jsx/components/Link.mjs.map +1 -1
  134. package/dist/jsx/components/Row.cjs +1 -0
  135. package/dist/jsx/components/Row.cjs.map +1 -1
  136. package/dist/jsx/components/Row.d.cts +4 -1
  137. package/dist/jsx/components/Row.d.cts.map +1 -1
  138. package/dist/jsx/components/Row.d.mts +4 -1
  139. package/dist/jsx/components/Row.d.mts.map +1 -1
  140. package/dist/jsx/components/Row.mjs +1 -0
  141. package/dist/jsx/components/Row.mjs.map +1 -1
  142. package/dist/jsx/components/Section.cjs +1 -0
  143. package/dist/jsx/components/Section.cjs.map +1 -1
  144. package/dist/jsx/components/Section.d.cts +4 -1
  145. package/dist/jsx/components/Section.d.cts.map +1 -1
  146. package/dist/jsx/components/Section.d.mts +4 -1
  147. package/dist/jsx/components/Section.d.mts.map +1 -1
  148. package/dist/jsx/components/Section.mjs +1 -0
  149. package/dist/jsx/components/Section.mjs.map +1 -1
  150. package/dist/jsx/components/Skeleton.cjs +1 -0
  151. package/dist/jsx/components/Skeleton.cjs.map +1 -1
  152. package/dist/jsx/components/Skeleton.d.cts +4 -1
  153. package/dist/jsx/components/Skeleton.d.cts.map +1 -1
  154. package/dist/jsx/components/Skeleton.d.mts +4 -1
  155. package/dist/jsx/components/Skeleton.d.mts.map +1 -1
  156. package/dist/jsx/components/Skeleton.mjs +1 -0
  157. package/dist/jsx/components/Skeleton.mjs.map +1 -1
  158. package/dist/jsx/components/Spinner.cjs +1 -0
  159. package/dist/jsx/components/Spinner.cjs.map +1 -1
  160. package/dist/jsx/components/Spinner.d.cts +3 -1
  161. package/dist/jsx/components/Spinner.d.cts.map +1 -1
  162. package/dist/jsx/components/Spinner.d.mts +3 -1
  163. package/dist/jsx/components/Spinner.d.mts.map +1 -1
  164. package/dist/jsx/components/Spinner.mjs +1 -0
  165. package/dist/jsx/components/Spinner.mjs.map +1 -1
  166. package/dist/jsx/components/Text.cjs +1 -0
  167. package/dist/jsx/components/Text.cjs.map +1 -1
  168. package/dist/jsx/components/Text.d.cts +4 -1
  169. package/dist/jsx/components/Text.d.cts.map +1 -1
  170. package/dist/jsx/components/Text.d.mts +4 -1
  171. package/dist/jsx/components/Text.d.mts.map +1 -1
  172. package/dist/jsx/components/Text.mjs +1 -0
  173. package/dist/jsx/components/Text.mjs.map +1 -1
  174. package/dist/jsx/components/Tooltip.cjs +1 -0
  175. package/dist/jsx/components/Tooltip.cjs.map +1 -1
  176. package/dist/jsx/components/Tooltip.d.cts +4 -1
  177. package/dist/jsx/components/Tooltip.d.cts.map +1 -1
  178. package/dist/jsx/components/Tooltip.d.mts +4 -1
  179. package/dist/jsx/components/Tooltip.d.mts.map +1 -1
  180. package/dist/jsx/components/Tooltip.mjs +1 -0
  181. package/dist/jsx/components/Tooltip.mjs.map +1 -1
  182. package/dist/jsx/components/Value.cjs +1 -0
  183. package/dist/jsx/components/Value.cjs.map +1 -1
  184. package/dist/jsx/components/Value.d.cts +4 -1
  185. package/dist/jsx/components/Value.d.cts.map +1 -1
  186. package/dist/jsx/components/Value.d.mts +4 -1
  187. package/dist/jsx/components/Value.d.mts.map +1 -1
  188. package/dist/jsx/components/Value.mjs +1 -0
  189. package/dist/jsx/components/Value.mjs.map +1 -1
  190. package/dist/jsx/components/form/AccountSelector.cjs +1 -0
  191. package/dist/jsx/components/form/AccountSelector.cjs.map +1 -1
  192. package/dist/jsx/components/form/AccountSelector.d.cts +4 -1
  193. package/dist/jsx/components/form/AccountSelector.d.cts.map +1 -1
  194. package/dist/jsx/components/form/AccountSelector.d.mts +4 -1
  195. package/dist/jsx/components/form/AccountSelector.d.mts.map +1 -1
  196. package/dist/jsx/components/form/AccountSelector.mjs +1 -0
  197. package/dist/jsx/components/form/AccountSelector.mjs.map +1 -1
  198. package/dist/jsx/components/form/AddressInput.cjs +1 -0
  199. package/dist/jsx/components/form/AddressInput.cjs.map +1 -1
  200. package/dist/jsx/components/form/AddressInput.d.cts +18 -0
  201. package/dist/jsx/components/form/AddressInput.d.cts.map +1 -1
  202. package/dist/jsx/components/form/AddressInput.d.mts +18 -0
  203. package/dist/jsx/components/form/AddressInput.d.mts.map +1 -1
  204. package/dist/jsx/components/form/AddressInput.mjs +1 -0
  205. package/dist/jsx/components/form/AddressInput.mjs.map +1 -1
  206. package/dist/jsx/components/form/AssetSelector.cjs +1 -0
  207. package/dist/jsx/components/form/AssetSelector.cjs.map +1 -1
  208. package/dist/jsx/components/form/AssetSelector.d.cts +8 -0
  209. package/dist/jsx/components/form/AssetSelector.d.cts.map +1 -1
  210. package/dist/jsx/components/form/AssetSelector.d.mts +8 -0
  211. package/dist/jsx/components/form/AssetSelector.d.mts.map +1 -1
  212. package/dist/jsx/components/form/AssetSelector.mjs +1 -0
  213. package/dist/jsx/components/form/AssetSelector.mjs.map +1 -1
  214. package/dist/jsx/components/form/Button.cjs +1 -0
  215. package/dist/jsx/components/form/Button.cjs.map +1 -1
  216. package/dist/jsx/components/form/Button.d.cts +4 -1
  217. package/dist/jsx/components/form/Button.d.cts.map +1 -1
  218. package/dist/jsx/components/form/Button.d.mts +4 -1
  219. package/dist/jsx/components/form/Button.d.mts.map +1 -1
  220. package/dist/jsx/components/form/Button.mjs +1 -0
  221. package/dist/jsx/components/form/Button.mjs.map +1 -1
  222. package/dist/jsx/components/form/Checkbox.cjs +1 -0
  223. package/dist/jsx/components/form/Checkbox.cjs.map +1 -1
  224. package/dist/jsx/components/form/Checkbox.d.cts +4 -1
  225. package/dist/jsx/components/form/Checkbox.d.cts.map +1 -1
  226. package/dist/jsx/components/form/Checkbox.d.mts +4 -1
  227. package/dist/jsx/components/form/Checkbox.d.mts.map +1 -1
  228. package/dist/jsx/components/form/Checkbox.mjs +1 -0
  229. package/dist/jsx/components/form/Checkbox.mjs.map +1 -1
  230. package/dist/jsx/components/form/DateTimePicker.cjs +1 -0
  231. package/dist/jsx/components/form/DateTimePicker.cjs.map +1 -1
  232. package/dist/jsx/components/form/DateTimePicker.d.cts +4 -1
  233. package/dist/jsx/components/form/DateTimePicker.d.cts.map +1 -1
  234. package/dist/jsx/components/form/DateTimePicker.d.mts +4 -1
  235. package/dist/jsx/components/form/DateTimePicker.d.mts.map +1 -1
  236. package/dist/jsx/components/form/DateTimePicker.mjs +1 -0
  237. package/dist/jsx/components/form/DateTimePicker.mjs.map +1 -1
  238. package/dist/jsx/components/form/Dropdown.cjs +1 -0
  239. package/dist/jsx/components/form/Dropdown.cjs.map +1 -1
  240. package/dist/jsx/components/form/Dropdown.d.cts +4 -1
  241. package/dist/jsx/components/form/Dropdown.d.cts.map +1 -1
  242. package/dist/jsx/components/form/Dropdown.d.mts +4 -1
  243. package/dist/jsx/components/form/Dropdown.d.mts.map +1 -1
  244. package/dist/jsx/components/form/Dropdown.mjs +1 -0
  245. package/dist/jsx/components/form/Dropdown.mjs.map +1 -1
  246. package/dist/jsx/components/form/Field.cjs +1 -0
  247. package/dist/jsx/components/form/Field.cjs.map +1 -1
  248. package/dist/jsx/components/form/Field.d.cts +4 -1
  249. package/dist/jsx/components/form/Field.d.cts.map +1 -1
  250. package/dist/jsx/components/form/Field.d.mts +4 -1
  251. package/dist/jsx/components/form/Field.d.mts.map +1 -1
  252. package/dist/jsx/components/form/Field.mjs +1 -0
  253. package/dist/jsx/components/form/Field.mjs.map +1 -1
  254. package/dist/jsx/components/form/FileInput.cjs +1 -0
  255. package/dist/jsx/components/form/FileInput.cjs.map +1 -1
  256. package/dist/jsx/components/form/FileInput.d.cts +4 -1
  257. package/dist/jsx/components/form/FileInput.d.cts.map +1 -1
  258. package/dist/jsx/components/form/FileInput.d.mts +4 -1
  259. package/dist/jsx/components/form/FileInput.d.mts.map +1 -1
  260. package/dist/jsx/components/form/FileInput.mjs +1 -0
  261. package/dist/jsx/components/form/FileInput.mjs.map +1 -1
  262. package/dist/jsx/components/form/Form.cjs +1 -0
  263. package/dist/jsx/components/form/Form.cjs.map +1 -1
  264. package/dist/jsx/components/form/Form.d.cts +4 -1
  265. package/dist/jsx/components/form/Form.d.cts.map +1 -1
  266. package/dist/jsx/components/form/Form.d.mts +4 -1
  267. package/dist/jsx/components/form/Form.d.mts.map +1 -1
  268. package/dist/jsx/components/form/Form.mjs +1 -0
  269. package/dist/jsx/components/form/Form.mjs.map +1 -1
  270. package/dist/jsx/components/form/Input.cjs +1 -0
  271. package/dist/jsx/components/form/Input.cjs.map +1 -1
  272. package/dist/jsx/components/form/Input.d.cts +16 -1
  273. package/dist/jsx/components/form/Input.d.cts.map +1 -1
  274. package/dist/jsx/components/form/Input.d.mts +16 -1
  275. package/dist/jsx/components/form/Input.d.mts.map +1 -1
  276. package/dist/jsx/components/form/Input.mjs +1 -0
  277. package/dist/jsx/components/form/Input.mjs.map +1 -1
  278. package/dist/jsx/components/form/Option.cjs +1 -0
  279. package/dist/jsx/components/form/Option.cjs.map +1 -1
  280. package/dist/jsx/components/form/Option.d.cts +4 -1
  281. package/dist/jsx/components/form/Option.d.cts.map +1 -1
  282. package/dist/jsx/components/form/Option.d.mts +4 -1
  283. package/dist/jsx/components/form/Option.d.mts.map +1 -1
  284. package/dist/jsx/components/form/Option.mjs +1 -0
  285. package/dist/jsx/components/form/Option.mjs.map +1 -1
  286. package/dist/jsx/components/form/Radio.cjs +1 -0
  287. package/dist/jsx/components/form/Radio.cjs.map +1 -1
  288. package/dist/jsx/components/form/Radio.d.cts +4 -1
  289. package/dist/jsx/components/form/Radio.d.cts.map +1 -1
  290. package/dist/jsx/components/form/Radio.d.mts +4 -1
  291. package/dist/jsx/components/form/Radio.d.mts.map +1 -1
  292. package/dist/jsx/components/form/Radio.mjs +1 -0
  293. package/dist/jsx/components/form/Radio.mjs.map +1 -1
  294. package/dist/jsx/components/form/RadioGroup.cjs +1 -0
  295. package/dist/jsx/components/form/RadioGroup.cjs.map +1 -1
  296. package/dist/jsx/components/form/RadioGroup.d.cts +4 -1
  297. package/dist/jsx/components/form/RadioGroup.d.cts.map +1 -1
  298. package/dist/jsx/components/form/RadioGroup.d.mts +4 -1
  299. package/dist/jsx/components/form/RadioGroup.d.mts.map +1 -1
  300. package/dist/jsx/components/form/RadioGroup.mjs +1 -0
  301. package/dist/jsx/components/form/RadioGroup.mjs.map +1 -1
  302. package/dist/jsx/components/form/Selector.cjs +1 -0
  303. package/dist/jsx/components/form/Selector.cjs.map +1 -1
  304. package/dist/jsx/components/form/Selector.d.cts +4 -1
  305. package/dist/jsx/components/form/Selector.d.cts.map +1 -1
  306. package/dist/jsx/components/form/Selector.d.mts +4 -1
  307. package/dist/jsx/components/form/Selector.d.mts.map +1 -1
  308. package/dist/jsx/components/form/Selector.mjs +1 -0
  309. package/dist/jsx/components/form/Selector.mjs.map +1 -1
  310. package/dist/jsx/components/form/SelectorOption.cjs +1 -0
  311. package/dist/jsx/components/form/SelectorOption.cjs.map +1 -1
  312. package/dist/jsx/components/form/SelectorOption.d.cts +4 -1
  313. package/dist/jsx/components/form/SelectorOption.d.cts.map +1 -1
  314. package/dist/jsx/components/form/SelectorOption.d.mts +4 -1
  315. package/dist/jsx/components/form/SelectorOption.d.mts.map +1 -1
  316. package/dist/jsx/components/form/SelectorOption.mjs +1 -0
  317. package/dist/jsx/components/form/SelectorOption.mjs.map +1 -1
  318. package/dist/jsx/components/formatting/Bold.cjs +1 -0
  319. package/dist/jsx/components/formatting/Bold.cjs.map +1 -1
  320. package/dist/jsx/components/formatting/Bold.d.cts +4 -1
  321. package/dist/jsx/components/formatting/Bold.d.cts.map +1 -1
  322. package/dist/jsx/components/formatting/Bold.d.mts +4 -1
  323. package/dist/jsx/components/formatting/Bold.d.mts.map +1 -1
  324. package/dist/jsx/components/formatting/Bold.mjs +1 -0
  325. package/dist/jsx/components/formatting/Bold.mjs.map +1 -1
  326. package/dist/jsx/components/formatting/Italic.cjs +1 -0
  327. package/dist/jsx/components/formatting/Italic.cjs.map +1 -1
  328. package/dist/jsx/components/formatting/Italic.d.cts +4 -1
  329. package/dist/jsx/components/formatting/Italic.d.cts.map +1 -1
  330. package/dist/jsx/components/formatting/Italic.d.mts +4 -1
  331. package/dist/jsx/components/formatting/Italic.d.mts.map +1 -1
  332. package/dist/jsx/components/formatting/Italic.mjs +1 -0
  333. package/dist/jsx/components/formatting/Italic.mjs.map +1 -1
  334. package/dist/jsx/index.cjs +22 -0
  335. package/dist/jsx/index.cjs.map +1 -1
  336. package/dist/jsx/index.d.cts +22 -0
  337. package/dist/jsx/index.d.cts.map +1 -1
  338. package/dist/jsx/index.d.mts +22 -0
  339. package/dist/jsx/index.d.mts.map +1 -1
  340. package/dist/jsx/index.mjs +22 -0
  341. package/dist/jsx/index.mjs.map +1 -1
  342. package/dist/jsx/validation.cjs +8 -1
  343. package/dist/jsx/validation.cjs.map +1 -1
  344. package/dist/jsx/validation.d.cts.map +1 -1
  345. package/dist/jsx/validation.d.mts.map +1 -1
  346. package/dist/jsx/validation.mjs +8 -1
  347. package/dist/jsx/validation.mjs.map +1 -1
  348. package/dist/types/handlers/assets-market-data.cjs.map +1 -1
  349. package/dist/types/handlers/assets-market-data.d.cts +1 -1
  350. package/dist/types/handlers/assets-market-data.d.mts +1 -1
  351. package/dist/types/handlers/assets-market-data.mjs.map +1 -1
  352. package/dist/types/methods/cancel-background-event.cjs.map +1 -1
  353. package/dist/types/methods/cancel-background-event.d.cts +6 -6
  354. package/dist/types/methods/cancel-background-event.d.cts.map +1 -1
  355. package/dist/types/methods/cancel-background-event.d.mts +6 -6
  356. package/dist/types/methods/cancel-background-event.d.mts.map +1 -1
  357. package/dist/types/methods/cancel-background-event.mjs.map +1 -1
  358. package/dist/types/methods/clear-state.cjs.map +1 -1
  359. package/dist/types/methods/clear-state.d.cts +8 -4
  360. package/dist/types/methods/clear-state.d.cts.map +1 -1
  361. package/dist/types/methods/clear-state.d.mts +8 -4
  362. package/dist/types/methods/clear-state.d.mts.map +1 -1
  363. package/dist/types/methods/clear-state.mjs.map +1 -1
  364. package/dist/types/methods/close-web-socket.cjs.map +1 -1
  365. package/dist/types/methods/close-web-socket.d.cts +3 -3
  366. package/dist/types/methods/close-web-socket.d.mts +3 -3
  367. package/dist/types/methods/close-web-socket.mjs.map +1 -1
  368. package/dist/types/methods/create-interface.cjs.map +1 -1
  369. package/dist/types/methods/create-interface.d.cts +14 -4
  370. package/dist/types/methods/create-interface.d.cts.map +1 -1
  371. package/dist/types/methods/create-interface.d.mts +14 -4
  372. package/dist/types/methods/create-interface.d.mts.map +1 -1
  373. package/dist/types/methods/create-interface.mjs.map +1 -1
  374. package/dist/types/methods/dialog.cjs.map +1 -1
  375. package/dist/types/methods/dialog.d.cts +49 -18
  376. package/dist/types/methods/dialog.d.cts.map +1 -1
  377. package/dist/types/methods/dialog.d.mts +49 -18
  378. package/dist/types/methods/dialog.d.mts.map +1 -1
  379. package/dist/types/methods/dialog.mjs.map +1 -1
  380. package/dist/types/methods/get-background-events.cjs.map +1 -1
  381. package/dist/types/methods/get-background-events.d.cts +17 -8
  382. package/dist/types/methods/get-background-events.d.cts.map +1 -1
  383. package/dist/types/methods/get-background-events.d.mts +17 -8
  384. package/dist/types/methods/get-background-events.d.mts.map +1 -1
  385. package/dist/types/methods/get-background-events.mjs.map +1 -1
  386. package/dist/types/methods/get-bip32-entropy.cjs.map +1 -1
  387. package/dist/types/methods/get-bip32-entropy.d.cts +2 -4
  388. package/dist/types/methods/get-bip32-entropy.d.cts.map +1 -1
  389. package/dist/types/methods/get-bip32-entropy.d.mts +2 -4
  390. package/dist/types/methods/get-bip32-entropy.d.mts.map +1 -1
  391. package/dist/types/methods/get-bip32-entropy.mjs.map +1 -1
  392. package/dist/types/methods/get-bip32-public-key.cjs.map +1 -1
  393. package/dist/types/methods/get-bip32-public-key.d.cts +3 -5
  394. package/dist/types/methods/get-bip32-public-key.d.cts.map +1 -1
  395. package/dist/types/methods/get-bip32-public-key.d.mts +3 -5
  396. package/dist/types/methods/get-bip32-public-key.d.mts.map +1 -1
  397. package/dist/types/methods/get-bip32-public-key.mjs.map +1 -1
  398. package/dist/types/methods/get-bip44-entropy.cjs.map +1 -1
  399. package/dist/types/methods/get-bip44-entropy.d.cts +3 -4
  400. package/dist/types/methods/get-bip44-entropy.d.cts.map +1 -1
  401. package/dist/types/methods/get-bip44-entropy.d.mts +3 -4
  402. package/dist/types/methods/get-bip44-entropy.d.mts.map +1 -1
  403. package/dist/types/methods/get-bip44-entropy.mjs.map +1 -1
  404. package/dist/types/methods/get-client-status.cjs.map +1 -1
  405. package/dist/types/methods/get-client-status.d.cts +5 -7
  406. package/dist/types/methods/get-client-status.d.cts.map +1 -1
  407. package/dist/types/methods/get-client-status.d.mts +5 -7
  408. package/dist/types/methods/get-client-status.d.mts.map +1 -1
  409. package/dist/types/methods/get-client-status.mjs.map +1 -1
  410. package/dist/types/methods/get-entropy.cjs.map +1 -1
  411. package/dist/types/methods/get-entropy.d.cts +6 -5
  412. package/dist/types/methods/get-entropy.d.cts.map +1 -1
  413. package/dist/types/methods/get-entropy.d.mts +6 -5
  414. package/dist/types/methods/get-entropy.d.mts.map +1 -1
  415. package/dist/types/methods/get-entropy.mjs.map +1 -1
  416. package/dist/types/methods/get-file.cjs.map +1 -1
  417. package/dist/types/methods/get-file.d.cts +9 -5
  418. package/dist/types/methods/get-file.d.cts.map +1 -1
  419. package/dist/types/methods/get-file.d.mts +9 -5
  420. package/dist/types/methods/get-file.d.mts.map +1 -1
  421. package/dist/types/methods/get-file.mjs.map +1 -1
  422. package/dist/types/methods/get-interface-context.cjs.map +1 -1
  423. package/dist/types/methods/get-interface-context.d.cts +5 -3
  424. package/dist/types/methods/get-interface-context.d.cts.map +1 -1
  425. package/dist/types/methods/get-interface-context.d.mts +5 -3
  426. package/dist/types/methods/get-interface-context.d.mts.map +1 -1
  427. package/dist/types/methods/get-interface-context.mjs.map +1 -1
  428. package/dist/types/methods/get-interface-state.cjs.map +1 -1
  429. package/dist/types/methods/get-interface-state.d.cts +10 -3
  430. package/dist/types/methods/get-interface-state.d.cts.map +1 -1
  431. package/dist/types/methods/get-interface-state.d.mts +10 -3
  432. package/dist/types/methods/get-interface-state.d.mts.map +1 -1
  433. package/dist/types/methods/get-interface-state.mjs.map +1 -1
  434. package/dist/types/methods/get-locale.cjs.map +1 -1
  435. package/dist/types/methods/get-locale.d.cts +1 -5
  436. package/dist/types/methods/get-locale.d.cts.map +1 -1
  437. package/dist/types/methods/get-locale.d.mts +1 -5
  438. package/dist/types/methods/get-locale.d.mts.map +1 -1
  439. package/dist/types/methods/get-locale.mjs.map +1 -1
  440. package/dist/types/methods/get-preferences.cjs.map +1 -1
  441. package/dist/types/methods/get-preferences.d.cts +39 -17
  442. package/dist/types/methods/get-preferences.d.cts.map +1 -1
  443. package/dist/types/methods/get-preferences.d.mts +39 -17
  444. package/dist/types/methods/get-preferences.d.mts.map +1 -1
  445. package/dist/types/methods/get-preferences.mjs.map +1 -1
  446. package/dist/types/methods/get-snaps.cjs.map +1 -1
  447. package/dist/types/methods/get-snaps.d.cts +1 -5
  448. package/dist/types/methods/get-snaps.d.cts.map +1 -1
  449. package/dist/types/methods/get-snaps.d.mts +1 -5
  450. package/dist/types/methods/get-snaps.d.mts.map +1 -1
  451. package/dist/types/methods/get-snaps.mjs.map +1 -1
  452. package/dist/types/methods/get-state.cjs.map +1 -1
  453. package/dist/types/methods/get-state.d.cts +8 -3
  454. package/dist/types/methods/get-state.d.cts.map +1 -1
  455. package/dist/types/methods/get-state.d.mts +8 -3
  456. package/dist/types/methods/get-state.d.mts.map +1 -1
  457. package/dist/types/methods/get-state.mjs.map +1 -1
  458. package/dist/types/methods/get-web-sockets.cjs.map +1 -1
  459. package/dist/types/methods/get-web-sockets.d.cts +10 -3
  460. package/dist/types/methods/get-web-sockets.d.cts.map +1 -1
  461. package/dist/types/methods/get-web-sockets.d.mts +10 -3
  462. package/dist/types/methods/get-web-sockets.d.mts.map +1 -1
  463. package/dist/types/methods/get-web-sockets.mjs.map +1 -1
  464. package/dist/types/methods/index.cjs.map +1 -1
  465. package/dist/types/methods/index.d.cts +1 -2
  466. package/dist/types/methods/index.d.cts.map +1 -1
  467. package/dist/types/methods/index.d.mts +1 -2
  468. package/dist/types/methods/index.d.mts.map +1 -1
  469. package/dist/types/methods/index.mjs.map +1 -1
  470. package/dist/types/methods/invoke-keyring.cjs.map +1 -1
  471. package/dist/types/methods/invoke-keyring.d.cts +5 -4
  472. package/dist/types/methods/invoke-keyring.d.cts.map +1 -1
  473. package/dist/types/methods/invoke-keyring.d.mts +5 -4
  474. package/dist/types/methods/invoke-keyring.d.mts.map +1 -1
  475. package/dist/types/methods/invoke-keyring.mjs.map +1 -1
  476. package/dist/types/methods/invoke-snap.cjs.map +1 -1
  477. package/dist/types/methods/invoke-snap.d.cts +10 -6
  478. package/dist/types/methods/invoke-snap.d.cts.map +1 -1
  479. package/dist/types/methods/invoke-snap.d.mts +10 -6
  480. package/dist/types/methods/invoke-snap.d.mts.map +1 -1
  481. package/dist/types/methods/invoke-snap.mjs.map +1 -1
  482. package/dist/types/methods/list-entropy-sources.cjs.map +1 -1
  483. package/dist/types/methods/list-entropy-sources.d.cts +2 -2
  484. package/dist/types/methods/list-entropy-sources.d.mts +2 -2
  485. package/dist/types/methods/list-entropy-sources.mjs.map +1 -1
  486. package/dist/types/methods/manage-accounts.cjs.map +1 -1
  487. package/dist/types/methods/manage-accounts.d.cts +10 -9
  488. package/dist/types/methods/manage-accounts.d.cts.map +1 -1
  489. package/dist/types/methods/manage-accounts.d.mts +10 -9
  490. package/dist/types/methods/manage-accounts.d.mts.map +1 -1
  491. package/dist/types/methods/manage-accounts.mjs.map +1 -1
  492. package/dist/types/methods/manage-state.cjs.map +1 -1
  493. package/dist/types/methods/manage-state.d.cts +35 -32
  494. package/dist/types/methods/manage-state.d.cts.map +1 -1
  495. package/dist/types/methods/manage-state.d.mts +35 -32
  496. package/dist/types/methods/manage-state.d.mts.map +1 -1
  497. package/dist/types/methods/manage-state.mjs.map +1 -1
  498. package/dist/types/methods/methods.cjs.map +1 -1
  499. package/dist/types/methods/methods.d.cts +5 -2
  500. package/dist/types/methods/methods.d.cts.map +1 -1
  501. package/dist/types/methods/methods.d.mts +5 -2
  502. package/dist/types/methods/methods.d.mts.map +1 -1
  503. package/dist/types/methods/methods.mjs.map +1 -1
  504. package/dist/types/methods/{provider-request.cjs → multichain/create-session.cjs} +1 -1
  505. package/dist/types/methods/multichain/create-session.cjs.map +1 -0
  506. package/dist/types/methods/multichain/create-session.d.cts +34 -0
  507. package/dist/types/methods/multichain/create-session.d.cts.map +1 -0
  508. package/dist/types/methods/multichain/create-session.d.mts +34 -0
  509. package/dist/types/methods/multichain/create-session.d.mts.map +1 -0
  510. package/dist/types/methods/multichain/create-session.mjs +2 -0
  511. package/dist/types/methods/multichain/create-session.mjs.map +1 -0
  512. package/dist/types/methods/{get-currency-rate.cjs → multichain/get-session.cjs} +1 -1
  513. package/dist/types/methods/multichain/get-session.cjs.map +1 -0
  514. package/dist/types/methods/multichain/get-session.d.cts +14 -0
  515. package/dist/types/methods/multichain/get-session.d.cts.map +1 -0
  516. package/dist/types/methods/multichain/get-session.d.mts +14 -0
  517. package/dist/types/methods/multichain/get-session.d.mts.map +1 -0
  518. package/dist/types/methods/multichain/get-session.mjs +2 -0
  519. package/dist/types/methods/multichain/get-session.mjs.map +1 -0
  520. package/dist/types/methods/multichain/index.cjs +3 -0
  521. package/dist/types/methods/multichain/index.cjs.map +1 -0
  522. package/dist/types/methods/multichain/index.d.cts +5 -0
  523. package/dist/types/methods/multichain/index.d.cts.map +1 -0
  524. package/dist/types/methods/multichain/index.d.mts +5 -0
  525. package/dist/types/methods/multichain/index.d.mts.map +1 -0
  526. package/dist/types/methods/multichain/index.mjs +2 -0
  527. package/dist/types/methods/multichain/index.mjs.map +1 -0
  528. package/dist/types/methods/multichain/invoke-method.cjs +3 -0
  529. package/dist/types/methods/multichain/invoke-method.cjs.map +1 -0
  530. package/dist/types/methods/multichain/invoke-method.d.cts +18 -0
  531. package/dist/types/methods/multichain/invoke-method.d.cts.map +1 -0
  532. package/dist/types/methods/multichain/invoke-method.d.mts +18 -0
  533. package/dist/types/methods/multichain/invoke-method.d.mts.map +1 -0
  534. package/dist/types/methods/multichain/invoke-method.mjs +2 -0
  535. package/dist/types/methods/multichain/invoke-method.mjs.map +1 -0
  536. package/dist/types/methods/multichain/revoke-session.cjs +3 -0
  537. package/dist/types/methods/multichain/revoke-session.cjs.map +1 -0
  538. package/dist/types/methods/multichain/revoke-session.d.cts +13 -0
  539. package/dist/types/methods/multichain/revoke-session.d.cts.map +1 -0
  540. package/dist/types/methods/multichain/revoke-session.d.mts +13 -0
  541. package/dist/types/methods/multichain/revoke-session.d.mts.map +1 -0
  542. package/dist/types/methods/multichain/revoke-session.mjs +2 -0
  543. package/dist/types/methods/multichain/revoke-session.mjs.map +1 -0
  544. package/dist/types/methods/notify.cjs.map +1 -1
  545. package/dist/types/methods/notify.d.cts +39 -7
  546. package/dist/types/methods/notify.d.cts.map +1 -1
  547. package/dist/types/methods/notify.d.mts +39 -7
  548. package/dist/types/methods/notify.d.mts.map +1 -1
  549. package/dist/types/methods/notify.mjs.map +1 -1
  550. package/dist/types/methods/open-web-socket.cjs.map +1 -1
  551. package/dist/types/methods/open-web-socket.d.cts +6 -3
  552. package/dist/types/methods/open-web-socket.d.cts.map +1 -1
  553. package/dist/types/methods/open-web-socket.d.mts +6 -3
  554. package/dist/types/methods/open-web-socket.d.mts.map +1 -1
  555. package/dist/types/methods/open-web-socket.mjs.map +1 -1
  556. package/dist/types/methods/request-snaps.cjs.map +1 -1
  557. package/dist/types/methods/request-snaps.d.cts +5 -6
  558. package/dist/types/methods/request-snaps.d.cts.map +1 -1
  559. package/dist/types/methods/request-snaps.d.mts +5 -6
  560. package/dist/types/methods/request-snaps.d.mts.map +1 -1
  561. package/dist/types/methods/request-snaps.mjs.map +1 -1
  562. package/dist/types/methods/resolve-interface.cjs.map +1 -1
  563. package/dist/types/methods/resolve-interface.d.cts +1 -1
  564. package/dist/types/methods/resolve-interface.d.mts +1 -1
  565. package/dist/types/methods/resolve-interface.mjs.map +1 -1
  566. package/dist/types/methods/schedule-background-event.cjs.map +1 -1
  567. package/dist/types/methods/schedule-background-event.d.cts +18 -8
  568. package/dist/types/methods/schedule-background-event.d.cts.map +1 -1
  569. package/dist/types/methods/schedule-background-event.d.mts +18 -8
  570. package/dist/types/methods/schedule-background-event.d.mts.map +1 -1
  571. package/dist/types/methods/schedule-background-event.mjs.map +1 -1
  572. package/dist/types/methods/send-web-socket-message.cjs.map +1 -1
  573. package/dist/types/methods/send-web-socket-message.d.cts +9 -5
  574. package/dist/types/methods/send-web-socket-message.d.cts.map +1 -1
  575. package/dist/types/methods/send-web-socket-message.d.mts +9 -5
  576. package/dist/types/methods/send-web-socket-message.d.mts.map +1 -1
  577. package/dist/types/methods/send-web-socket-message.mjs.map +1 -1
  578. package/dist/types/methods/set-state.cjs.map +1 -1
  579. package/dist/types/methods/set-state.d.cts +6 -2
  580. package/dist/types/methods/set-state.d.cts.map +1 -1
  581. package/dist/types/methods/set-state.d.mts +6 -2
  582. package/dist/types/methods/set-state.d.mts.map +1 -1
  583. package/dist/types/methods/set-state.mjs.map +1 -1
  584. package/dist/types/methods/update-interface.cjs.map +1 -1
  585. package/dist/types/methods/update-interface.d.cts +13 -5
  586. package/dist/types/methods/update-interface.d.cts.map +1 -1
  587. package/dist/types/methods/update-interface.d.mts +13 -5
  588. package/dist/types/methods/update-interface.d.mts.map +1 -1
  589. package/dist/types/methods/update-interface.mjs.map +1 -1
  590. package/dist/types/permissions.cjs.map +1 -1
  591. package/dist/types/permissions.d.cts +32 -2
  592. package/dist/types/permissions.d.cts.map +1 -1
  593. package/dist/types/permissions.d.mts +32 -2
  594. package/dist/types/permissions.d.mts.map +1 -1
  595. package/dist/types/permissions.mjs.map +1 -1
  596. package/dist/ui/components/address.cjs +1 -18
  597. package/dist/ui/components/address.cjs.map +1 -1
  598. package/dist/ui/components/address.d.cts +0 -28
  599. package/dist/ui/components/address.d.cts.map +1 -1
  600. package/dist/ui/components/address.d.mts +0 -28
  601. package/dist/ui/components/address.d.mts.map +1 -1
  602. package/dist/ui/components/address.mjs +0 -17
  603. package/dist/ui/components/address.mjs.map +1 -1
  604. package/dist/ui/components/button.cjs +1 -26
  605. package/dist/ui/components/button.cjs.map +1 -1
  606. package/dist/ui/components/button.d.cts +0 -42
  607. package/dist/ui/components/button.d.cts.map +1 -1
  608. package/dist/ui/components/button.d.mts +0 -42
  609. package/dist/ui/components/button.d.mts.map +1 -1
  610. package/dist/ui/components/button.mjs +0 -25
  611. package/dist/ui/components/button.mjs.map +1 -1
  612. package/dist/ui/components/copyable.cjs +1 -22
  613. package/dist/ui/components/copyable.cjs.map +1 -1
  614. package/dist/ui/components/copyable.d.cts +0 -38
  615. package/dist/ui/components/copyable.d.cts.map +1 -1
  616. package/dist/ui/components/copyable.d.mts +0 -38
  617. package/dist/ui/components/copyable.d.mts.map +1 -1
  618. package/dist/ui/components/copyable.mjs +0 -21
  619. package/dist/ui/components/copyable.mjs.map +1 -1
  620. package/dist/ui/components/divider.cjs +1 -12
  621. package/dist/ui/components/divider.cjs.map +1 -1
  622. package/dist/ui/components/divider.d.cts +0 -17
  623. package/dist/ui/components/divider.d.cts.map +1 -1
  624. package/dist/ui/components/divider.d.mts +0 -17
  625. package/dist/ui/components/divider.d.mts.map +1 -1
  626. package/dist/ui/components/divider.mjs +0 -11
  627. package/dist/ui/components/divider.mjs.map +1 -1
  628. package/dist/ui/components/form.cjs +1 -28
  629. package/dist/ui/components/form.cjs.map +1 -1
  630. package/dist/ui/components/form.d.cts +0 -86
  631. package/dist/ui/components/form.d.cts.map +1 -1
  632. package/dist/ui/components/form.d.mts +0 -86
  633. package/dist/ui/components/form.d.mts.map +1 -1
  634. package/dist/ui/components/form.mjs +0 -27
  635. package/dist/ui/components/form.mjs.map +1 -1
  636. package/dist/ui/components/heading.cjs +1 -18
  637. package/dist/ui/components/heading.cjs.map +1 -1
  638. package/dist/ui/components/heading.d.cts +0 -30
  639. package/dist/ui/components/heading.d.cts.map +1 -1
  640. package/dist/ui/components/heading.d.mts +0 -30
  641. package/dist/ui/components/heading.d.mts.map +1 -1
  642. package/dist/ui/components/heading.mjs +0 -17
  643. package/dist/ui/components/heading.mjs.map +1 -1
  644. package/dist/ui/components/image.cjs +1 -17
  645. package/dist/ui/components/image.cjs.map +1 -1
  646. package/dist/ui/components/image.d.cts +0 -29
  647. package/dist/ui/components/image.d.cts.map +1 -1
  648. package/dist/ui/components/image.d.mts +0 -29
  649. package/dist/ui/components/image.d.mts.map +1 -1
  650. package/dist/ui/components/image.mjs +0 -16
  651. package/dist/ui/components/image.mjs.map +1 -1
  652. package/dist/ui/components/index.cjs +2 -5
  653. package/dist/ui/components/index.cjs.map +1 -1
  654. package/dist/ui/components/index.d.cts +2 -3
  655. package/dist/ui/components/index.d.cts.map +1 -1
  656. package/dist/ui/components/index.d.mts +2 -3
  657. package/dist/ui/components/index.d.mts.map +1 -1
  658. package/dist/ui/components/index.mjs +2 -2
  659. package/dist/ui/components/index.mjs.map +1 -1
  660. package/dist/ui/components/input.cjs +1 -29
  661. package/dist/ui/components/input.cjs.map +1 -1
  662. package/dist/ui/components/input.d.cts +0 -50
  663. package/dist/ui/components/input.d.cts.map +1 -1
  664. package/dist/ui/components/input.d.mts +0 -50
  665. package/dist/ui/components/input.d.mts.map +1 -1
  666. package/dist/ui/components/input.mjs +0 -28
  667. package/dist/ui/components/input.mjs.map +1 -1
  668. package/dist/ui/components/panel.cjs +5 -27
  669. package/dist/ui/components/panel.cjs.map +1 -1
  670. package/dist/ui/components/panel.d.cts +0 -108
  671. package/dist/ui/components/panel.d.cts.map +1 -1
  672. package/dist/ui/components/panel.d.mts +0 -108
  673. package/dist/ui/components/panel.d.mts.map +1 -1
  674. package/dist/ui/components/panel.mjs +4 -26
  675. package/dist/ui/components/panel.mjs.map +1 -1
  676. package/dist/ui/components/row.cjs +1 -24
  677. package/dist/ui/components/row.cjs.map +1 -1
  678. package/dist/ui/components/row.d.cts +0 -69
  679. package/dist/ui/components/row.d.cts.map +1 -1
  680. package/dist/ui/components/row.d.mts +0 -69
  681. package/dist/ui/components/row.d.mts.map +1 -1
  682. package/dist/ui/components/row.mjs +0 -23
  683. package/dist/ui/components/row.mjs.map +1 -1
  684. package/dist/ui/components/spinner.cjs +1 -12
  685. package/dist/ui/components/spinner.cjs.map +1 -1
  686. package/dist/ui/components/spinner.d.cts +0 -18
  687. package/dist/ui/components/spinner.d.cts.map +1 -1
  688. package/dist/ui/components/spinner.d.mts +0 -18
  689. package/dist/ui/components/spinner.d.mts.map +1 -1
  690. package/dist/ui/components/spinner.mjs +0 -11
  691. package/dist/ui/components/spinner.mjs.map +1 -1
  692. package/dist/ui/components/text.cjs +1 -24
  693. package/dist/ui/components/text.cjs.map +1 -1
  694. package/dist/ui/components/text.d.cts +0 -38
  695. package/dist/ui/components/text.d.cts.map +1 -1
  696. package/dist/ui/components/text.d.mts +0 -38
  697. package/dist/ui/components/text.d.mts.map +1 -1
  698. package/dist/ui/components/text.mjs +0 -23
  699. package/dist/ui/components/text.mjs.map +1 -1
  700. package/dist/ui/index.cjs +0 -1
  701. package/dist/ui/index.cjs.map +1 -1
  702. package/dist/ui/index.d.cts +0 -1
  703. package/dist/ui/index.d.cts.map +1 -1
  704. package/dist/ui/index.d.mts +0 -1
  705. package/dist/ui/index.d.mts.map +1 -1
  706. package/dist/ui/index.mjs +0 -1
  707. package/dist/ui/index.mjs.map +1 -1
  708. package/package.json +7 -4
  709. package/dist/types/methods/get-currency-rate.cjs.map +0 -1
  710. package/dist/types/methods/get-currency-rate.d.cts +0 -29
  711. package/dist/types/methods/get-currency-rate.d.cts.map +0 -1
  712. package/dist/types/methods/get-currency-rate.d.mts +0 -29
  713. package/dist/types/methods/get-currency-rate.d.mts.map +0 -1
  714. package/dist/types/methods/get-currency-rate.mjs +0 -2
  715. package/dist/types/methods/get-currency-rate.mjs.map +0 -1
  716. package/dist/types/methods/provider-request.cjs.map +0 -1
  717. package/dist/types/methods/provider-request.d.cts +0 -25
  718. package/dist/types/methods/provider-request.d.cts.map +0 -1
  719. package/dist/types/methods/provider-request.d.mts +0 -25
  720. package/dist/types/methods/provider-request.d.mts.map +0 -1
  721. package/dist/types/methods/provider-request.mjs +0 -2
  722. package/dist/types/methods/provider-request.mjs.map +0 -1
  723. package/dist/ui/builder.cjs +0 -49
  724. package/dist/ui/builder.cjs.map +0 -1
  725. package/dist/ui/builder.d.cts +0 -43
  726. package/dist/ui/builder.d.cts.map +0 -1
  727. package/dist/ui/builder.d.mts +0 -43
  728. package/dist/ui/builder.d.mts.map +0 -1
  729. package/dist/ui/builder.mjs +0 -45
  730. package/dist/ui/builder.mjs.map +0 -1
  731. package/dist/ui/component.cjs +0 -29
  732. package/dist/ui/component.cjs.map +0 -1
  733. package/dist/ui/component.d.cts +0 -18
  734. package/dist/ui/component.d.cts.map +0 -1
  735. package/dist/ui/component.d.mts +0 -18
  736. package/dist/ui/component.d.mts.map +0 -1
  737. package/dist/ui/component.mjs +0 -24
  738. package/dist/ui/component.mjs.map +0 -1
package/dist/errors.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getJsonError = exports.SnapError = void 0;
3
+ exports.isSnapError = exports.isSerializedSnapError = exports.getJsonError = exports.SnapError = void 0;
4
4
  const utils_1 = require("@metamask/utils");
5
5
  const internals_1 = require("./internals/index.cjs");
6
6
  /**
@@ -160,4 +160,30 @@ error) {
160
160
  };
161
161
  }
162
162
  exports.getJsonError = getJsonError;
163
+ /**
164
+ * Check if a JSON-RPC error is a `SnapError`.
165
+ *
166
+ * @param error - The object to check.
167
+ * @returns Whether the object is a `SnapError`.
168
+ */
169
+ function isSerializedSnapError(error) {
170
+ return error.code === internals_1.SNAP_ERROR_CODE && error.message === internals_1.SNAP_ERROR_MESSAGE;
171
+ }
172
+ exports.isSerializedSnapError = isSerializedSnapError;
173
+ /**
174
+ * Check if an object is a `SnapError`.
175
+ *
176
+ * @param error - The object to check.
177
+ * @returns Whether the object is a `SnapError`.
178
+ */
179
+ function isSnapError(error) {
180
+ if ((0, utils_1.isObject)(error) &&
181
+ 'serialize' in error &&
182
+ typeof error.serialize === 'function') {
183
+ const serialized = error.serialize();
184
+ return (0, utils_1.isJsonRpcError)(serialized) && isSerializedSnapError(serialized);
185
+ }
186
+ return false;
187
+ }
188
+ exports.isSnapError = isSnapError;
163
189
  //# sourceMappingURL=errors.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.cjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Json, JsonRpcError } from '@metamask/utils';\nimport { isJsonRpcError } from '@metamask/utils';\n\nimport {\n getErrorCause,\n getErrorCode,\n getErrorData,\n getErrorMessage,\n getErrorName,\n getErrorStack,\n SNAP_ERROR_CODE,\n SNAP_ERROR_MESSAGE,\n} from './internals';\nimport type { TrackableError } from './types';\n\n/**\n * A generic error which can be thrown by a Snap, without it causing the Snap to\n * crash.\n */\nexport class SnapError extends Error {\n readonly #code: number;\n\n readonly #message: string;\n\n readonly #data?: Record<string, Json>;\n\n readonly #stack?: string;\n\n /**\n * Create a new `SnapError`.\n *\n * @param error - The error to create the `SnapError` from. If this is a\n * `string`, it will be used as the error message. If this is an `Error`, its\n * `message` property will be used as the error message. If this is a\n * `JsonRpcError`, its `message` property will be used as the error message\n * and its `code` property will be used as the error code. Otherwise, the\n * error will be converted to a string and used as the error message.\n * @param data - Additional data to include in the error. This will be merged\n * with the error data, if any.\n */\n constructor(\n error: string | Error | JsonRpcError,\n data: Record<string, Json> = {},\n ) {\n const message = getErrorMessage(error);\n super(message);\n\n this.#message = message;\n this.#code = getErrorCode(error);\n\n const mergedData = { ...getErrorData(error), ...data };\n if (Object.keys(mergedData).length > 0) {\n this.#data = mergedData;\n }\n\n this.#stack = super.stack;\n }\n\n /**\n * The error name.\n *\n * @returns The error name.\n */\n get name() {\n return 'SnapError';\n }\n\n /**\n * The error code.\n *\n * @returns The error code.\n */\n get code() {\n return this.#code;\n }\n\n /**\n * The error message.\n *\n * @returns The error message.\n */\n // This line is covered, but Jest doesn't pick it up for some reason.\n /* istanbul ignore next */\n get message() {\n return this.#message;\n }\n\n /**\n * Additional data for the error.\n *\n * @returns Additional data for the error.\n */\n get data() {\n return this.#data;\n }\n\n /**\n * The error stack.\n *\n * @returns The error stack.\n */\n // This line is covered, but Jest doesn't pick it up for some reason.\n /* istanbul ignore next */\n get stack() {\n return this.#stack;\n }\n\n /**\n * Convert the error to a JSON object.\n *\n * @returns The JSON object.\n */\n toJSON(): SerializedSnapError {\n return {\n code: SNAP_ERROR_CODE,\n message: SNAP_ERROR_MESSAGE,\n data: {\n cause: {\n code: this.code,\n message: this.message,\n stack: this.stack,\n ...(this.data ? { data: this.data } : {}),\n },\n },\n };\n }\n\n /**\n * Serialize the error to a JSON object. This is called by\n * `@metamask/rpc-errors` when serializing the error.\n *\n * @returns The JSON object.\n */\n serialize() {\n return this.toJSON();\n }\n}\n\n/**\n * A serialized {@link SnapError}. It's JSON-serializable, so it can be sent\n * over the RPC. The original error is wrapped in the `cause` property.\n *\n * @property code - The error code. This is always `-31002`.\n * @property message - The error message. This is always `'Snap Error'`.\n * @property data - The error data.\n * @property data.cause - The cause of the error.\n * @property data.cause.code - The error code.\n * @property data.cause.message - The error message.\n * @property data.cause.stack - The error stack.\n * @property data.cause.data - Additional data for the error.\n * @see SnapError\n */\nexport type SerializedSnapError = {\n code: typeof SNAP_ERROR_CODE;\n message: typeof SNAP_ERROR_MESSAGE;\n data: {\n cause: JsonRpcError;\n };\n};\n\n/**\n * Get a serialised JSON error from a given error. This is intended to be used\n * with `snap_trackError` to convert an error to a JSON object that can be\n * tracked by the Sentry instance in the client.\n *\n * @param error - The error to convert to a JSON error. This can be a string, an\n * `Error`, a `JsonRpcError`, or any other type. If it is not a string or an\n * `Error`, it will be converted to a string using its `toString()` method.\n * @returns A JSON object containing the error message and stack trace, if\n * available.\n * @example\n * try {\n * // Some code that may throw an error\n * } catch (error) {\n * await snap.request({\n * method: 'snap_trackError',\n * params: {\n * error: getJsonError(error),\n * },\n * });\n * }\n */\nexport function getJsonError(\n // TypeScript will narrow this to `unknown`, but we specify all the types for\n // clarity.\n error: string | Error | JsonRpcError | unknown,\n): TrackableError {\n if (typeof error === 'string') {\n return {\n name: 'Error',\n message: error,\n stack: null,\n cause: null,\n };\n }\n\n if (isJsonRpcError(error)) {\n return {\n name: 'JsonRpcError',\n message: getErrorMessage(error),\n stack: getErrorStack(error) ?? getErrorStack(error.data) ?? null,\n cause: null,\n };\n }\n\n const cause = getErrorCause(error);\n\n return {\n name: getErrorName(error),\n message: getErrorMessage(error),\n stack: getErrorStack(error) ?? null,\n cause: cause === null ? null : getJsonError(cause),\n };\n}\n"]}
1
+ {"version":3,"file":"errors.cjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AACA,2CAA2D;AAE3D,qDASqB;AAGrB;;;GAGG;AACH,MAAa,SAAU,SAAQ,KAAK;IACzB,KAAK,CAAS;IAEd,QAAQ,CAAS;IAEjB,KAAK,CAAwB;IAE7B,MAAM,CAAU;IAEzB;;;;;;;;;;;OAWG;IACH,YACE,KAAoC,EACpC,OAA6B,EAAE;QAE/B,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,KAAK,CAAC,CAAC;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAA,wBAAY,EAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,EAAE,GAAG,IAAA,wBAAY,EAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QACvD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,qEAAqE;IACrE,0BAA0B;IAC1B,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,qEAAqE;IACrE,0BAA0B;IAC1B,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,2BAAe;YACrB,OAAO,EAAE,8BAAkB;YAC3B,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF;AArHD,8BAqHC;AAwBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,YAAY;AAC1B,6EAA6E;AAC7E,WAAW;AACX,KAA8C;IAE9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,IAAI,IAAA,sBAAc,EAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,IAAA,2BAAe,EAAC,KAAK,CAAC;YAC/B,KAAK,EAAE,IAAA,yBAAa,EAAC,KAAK,CAAC,IAAI,IAAA,yBAAa,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI;YAChE,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAC;IAEnC,OAAO;QACL,IAAI,EAAE,IAAA,wBAAY,EAAC,KAAK,CAAC;QACzB,OAAO,EAAE,IAAA,2BAAe,EAAC,KAAK,CAAC;QAC/B,KAAK,EAAE,IAAA,yBAAa,EAAC,KAAK,CAAC,IAAI,IAAI;QACnC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;KACnD,CAAC;AACJ,CAAC;AA/BD,oCA+BC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,KAAmB;IAEnB,OAAO,KAAK,CAAC,IAAI,KAAK,2BAAe,IAAI,KAAK,CAAC,OAAO,KAAK,8BAAkB,CAAC;AAChF,CAAC;AAJD,sDAIC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,IACE,IAAA,gBAAQ,EAAC,KAAK,CAAC;QACf,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,EACrC,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,kCAWC","sourcesContent":["import type { Json, JsonRpcError } from '@metamask/utils';\nimport { isJsonRpcError, isObject } from '@metamask/utils';\n\nimport {\n getErrorCause,\n getErrorCode,\n getErrorData,\n getErrorMessage,\n getErrorName,\n getErrorStack,\n SNAP_ERROR_CODE,\n SNAP_ERROR_MESSAGE,\n} from './internals';\nimport type { TrackableError } from './types';\n\n/**\n * A generic error which can be thrown by a Snap, without it causing the Snap to\n * crash.\n */\nexport class SnapError extends Error {\n readonly #code: number;\n\n readonly #message: string;\n\n readonly #data?: Record<string, Json>;\n\n readonly #stack?: string;\n\n /**\n * Create a new `SnapError`.\n *\n * @param error - The error to create the `SnapError` from. If this is a\n * `string`, it will be used as the error message. If this is an `Error`, its\n * `message` property will be used as the error message. If this is a\n * `JsonRpcError`, its `message` property will be used as the error message\n * and its `code` property will be used as the error code. Otherwise, the\n * error will be converted to a string and used as the error message.\n * @param data - Additional data to include in the error. This will be merged\n * with the error data, if any.\n */\n constructor(\n error: string | Error | JsonRpcError,\n data: Record<string, Json> = {},\n ) {\n const message = getErrorMessage(error);\n super(message);\n\n this.#message = message;\n this.#code = getErrorCode(error);\n\n const mergedData = { ...getErrorData(error), ...data };\n if (Object.keys(mergedData).length > 0) {\n this.#data = mergedData;\n }\n\n this.#stack = super.stack;\n }\n\n /**\n * The error name.\n *\n * @returns The error name.\n */\n get name() {\n return 'SnapError';\n }\n\n /**\n * The error code.\n *\n * @returns The error code.\n */\n get code() {\n return this.#code;\n }\n\n /**\n * The error message.\n *\n * @returns The error message.\n */\n // This line is covered, but Jest doesn't pick it up for some reason.\n /* istanbul ignore next */\n get message() {\n return this.#message;\n }\n\n /**\n * Additional data for the error.\n *\n * @returns Additional data for the error.\n */\n get data() {\n return this.#data;\n }\n\n /**\n * The error stack.\n *\n * @returns The error stack.\n */\n // This line is covered, but Jest doesn't pick it up for some reason.\n /* istanbul ignore next */\n get stack() {\n return this.#stack;\n }\n\n /**\n * Convert the error to a JSON object.\n *\n * @returns The JSON object.\n */\n toJSON(): SerializedSnapError {\n return {\n code: SNAP_ERROR_CODE,\n message: SNAP_ERROR_MESSAGE,\n data: {\n cause: {\n code: this.code,\n message: this.message,\n stack: this.stack,\n ...(this.data ? { data: this.data } : {}),\n },\n },\n };\n }\n\n /**\n * Serialize the error to a JSON object. This is called by\n * `@metamask/rpc-errors` when serializing the error.\n *\n * @returns The JSON object.\n */\n serialize() {\n return this.toJSON();\n }\n}\n\n/**\n * A serialized {@link SnapError}. It's JSON-serializable, so it can be sent\n * over the RPC. The original error is wrapped in the `cause` property.\n *\n * @property code - The error code. This is always `-31002`.\n * @property message - The error message. This is always `'Snap Error'`.\n * @property data - The error data.\n * @property data.cause - The cause of the error.\n * @property data.cause.code - The error code.\n * @property data.cause.message - The error message.\n * @property data.cause.stack - The error stack.\n * @property data.cause.data - Additional data for the error.\n * @see SnapError\n */\nexport type SerializedSnapError = {\n code: typeof SNAP_ERROR_CODE;\n message: typeof SNAP_ERROR_MESSAGE;\n data: {\n cause: JsonRpcError;\n };\n};\n\n/**\n * Get a serialised JSON error from a given error. This is intended to be used\n * with `snap_trackError` to convert an error to a JSON object that can be\n * tracked by the Sentry instance in the client.\n *\n * @param error - The error to convert to a JSON error. This can be a string, an\n * `Error`, a `JsonRpcError`, or any other type. If it is not a string or an\n * `Error`, it will be converted to a string using its `toString()` method.\n * @returns A JSON object containing the error message and stack trace, if\n * available.\n * @example\n * try {\n * // Some code that may throw an error\n * } catch (error) {\n * await snap.request({\n * method: 'snap_trackError',\n * params: {\n * error: getJsonError(error),\n * },\n * });\n * }\n */\nexport function getJsonError(\n // TypeScript will narrow this to `unknown`, but we specify all the types for\n // clarity.\n error: string | Error | JsonRpcError | unknown,\n): TrackableError {\n if (typeof error === 'string') {\n return {\n name: 'Error',\n message: error,\n stack: null,\n cause: null,\n };\n }\n\n if (isJsonRpcError(error)) {\n return {\n name: 'JsonRpcError',\n message: getErrorMessage(error),\n stack: getErrorStack(error) ?? getErrorStack(error.data) ?? null,\n cause: null,\n };\n }\n\n const cause = getErrorCause(error);\n\n return {\n name: getErrorName(error),\n message: getErrorMessage(error),\n stack: getErrorStack(error) ?? null,\n cause: cause === null ? null : getJsonError(cause),\n };\n}\n\n/**\n * Check if a JSON-RPC error is a `SnapError`.\n *\n * @param error - The object to check.\n * @returns Whether the object is a `SnapError`.\n */\nexport function isSerializedSnapError(\n error: JsonRpcError,\n): error is SerializedSnapError {\n return error.code === SNAP_ERROR_CODE && error.message === SNAP_ERROR_MESSAGE;\n}\n\n/**\n * Check if an object is a `SnapError`.\n *\n * @param error - The object to check.\n * @returns Whether the object is a `SnapError`.\n */\nexport function isSnapError(error: unknown): error is SnapError {\n if (\n isObject(error) &&\n 'serialize' in error &&\n typeof error.serialize === 'function'\n ) {\n const serialized = error.serialize();\n return isJsonRpcError(serialized) && isSerializedSnapError(serialized);\n }\n\n return false;\n}\n"]}
package/dist/errors.d.cts CHANGED
@@ -108,4 +108,18 @@ export type SerializedSnapError = {
108
108
  * }
109
109
  */
110
110
  export declare function getJsonError(error: string | Error | JsonRpcError | unknown): TrackableError;
111
+ /**
112
+ * Check if a JSON-RPC error is a `SnapError`.
113
+ *
114
+ * @param error - The object to check.
115
+ * @returns Whether the object is a `SnapError`.
116
+ */
117
+ export declare function isSerializedSnapError(error: JsonRpcError): error is SerializedSnapError;
118
+ /**
119
+ * Check if an object is a `SnapError`.
120
+ *
121
+ * @param error - The object to check.
122
+ * @returns Whether the object is a `SnapError`.
123
+ */
124
+ export declare function isSnapError(error: unknown): error is SnapError;
111
125
  //# sourceMappingURL=errors.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.cts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,wBAAwB;AAG1D,OAAO,EAOL,eAAe,EACf,kBAAkB,EACnB,8BAAoB;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,0BAAgB;AAE9C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;;IASlC;;;;;;;;;;;OAWG;gBAED,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,EACpC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAM;IAgBjC;;;;OAIG;IACH,IAAI,IAAI,WAEP;IAED;;;;OAIG;IACH,IAAI,IAAI,WAEP;IAED;;;;OAIG;IAGH,IAAI,OAAO,WAEV;IAED;;;;OAIG;IACH,IAAI,IAAI,qCAEP;IAED;;;;OAIG;IAGH,IAAI,KAAK,uBAER;IAED;;;;OAIG;IACH,MAAM,IAAI,mBAAmB;IAe7B;;;;;OAKG;IACH,SAAS;CAGV;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,eAAe,CAAC;IAC7B,OAAO,EAAE,OAAO,kBAAkB,CAAC;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAG1B,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,OAAO,GAC7C,cAAc,CA2BhB"}
1
+ {"version":3,"file":"errors.d.cts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,wBAAwB;AAG1D,OAAO,EAOL,eAAe,EACf,kBAAkB,EACnB,8BAAoB;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,0BAAgB;AAE9C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;;IASlC;;;;;;;;;;;OAWG;gBAED,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,EACpC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAM;IAgBjC;;;;OAIG;IACH,IAAI,IAAI,WAEP;IAED;;;;OAIG;IACH,IAAI,IAAI,WAEP;IAED;;;;OAIG;IAGH,IAAI,OAAO,WAEV;IAED;;;;OAIG;IACH,IAAI,IAAI,qCAEP;IAED;;;;OAIG;IAGH,IAAI,KAAK,uBAER;IAED;;;;OAIG;IACH,MAAM,IAAI,mBAAmB;IAe7B;;;;;OAKG;IACH,SAAS;CAGV;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,eAAe,CAAC;IAC7B,OAAO,EAAE,OAAO,kBAAkB,CAAC;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAG1B,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,OAAO,GAC7C,cAAc,CA2BhB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,mBAAmB,CAE9B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAW9D"}
package/dist/errors.d.mts CHANGED
@@ -108,4 +108,18 @@ export type SerializedSnapError = {
108
108
  * }
109
109
  */
110
110
  export declare function getJsonError(error: string | Error | JsonRpcError | unknown): TrackableError;
111
+ /**
112
+ * Check if a JSON-RPC error is a `SnapError`.
113
+ *
114
+ * @param error - The object to check.
115
+ * @returns Whether the object is a `SnapError`.
116
+ */
117
+ export declare function isSerializedSnapError(error: JsonRpcError): error is SerializedSnapError;
118
+ /**
119
+ * Check if an object is a `SnapError`.
120
+ *
121
+ * @param error - The object to check.
122
+ * @returns Whether the object is a `SnapError`.
123
+ */
124
+ export declare function isSnapError(error: unknown): error is SnapError;
111
125
  //# sourceMappingURL=errors.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.mts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,wBAAwB;AAG1D,OAAO,EAOL,eAAe,EACf,kBAAkB,EACnB,8BAAoB;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,0BAAgB;AAE9C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;;IASlC;;;;;;;;;;;OAWG;gBAED,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,EACpC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAM;IAgBjC;;;;OAIG;IACH,IAAI,IAAI,WAEP;IAED;;;;OAIG;IACH,IAAI,IAAI,WAEP;IAED;;;;OAIG;IAGH,IAAI,OAAO,WAEV;IAED;;;;OAIG;IACH,IAAI,IAAI,qCAEP;IAED;;;;OAIG;IAGH,IAAI,KAAK,uBAER;IAED;;;;OAIG;IACH,MAAM,IAAI,mBAAmB;IAe7B;;;;;OAKG;IACH,SAAS;CAGV;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,eAAe,CAAC;IAC7B,OAAO,EAAE,OAAO,kBAAkB,CAAC;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAG1B,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,OAAO,GAC7C,cAAc,CA2BhB"}
1
+ {"version":3,"file":"errors.d.mts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,wBAAwB;AAG1D,OAAO,EAOL,eAAe,EACf,kBAAkB,EACnB,8BAAoB;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,0BAAgB;AAE9C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;;IASlC;;;;;;;;;;;OAWG;gBAED,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,EACpC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAM;IAgBjC;;;;OAIG;IACH,IAAI,IAAI,WAEP;IAED;;;;OAIG;IACH,IAAI,IAAI,WAEP;IAED;;;;OAIG;IAGH,IAAI,OAAO,WAEV;IAED;;;;OAIG;IACH,IAAI,IAAI,qCAEP;IAED;;;;OAIG;IAGH,IAAI,KAAK,uBAER;IAED;;;;OAIG;IACH,MAAM,IAAI,mBAAmB;IAe7B;;;;;OAKG;IACH,SAAS;CAGV;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,eAAe,CAAC;IAC7B,OAAO,EAAE,OAAO,kBAAkB,CAAC;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAG1B,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,OAAO,GAC7C,cAAc,CA2BhB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,mBAAmB,CAE9B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAW9D"}
package/dist/errors.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { isJsonRpcError } from "@metamask/utils";
1
+ import { isJsonRpcError, isObject } from "@metamask/utils";
2
2
  import { getErrorCause, getErrorCode, getErrorData, getErrorMessage, getErrorName, getErrorStack, SNAP_ERROR_CODE, SNAP_ERROR_MESSAGE } from "./internals/index.mjs";
3
3
  /**
4
4
  * A generic error which can be thrown by a Snap, without it causing the Snap to
@@ -155,4 +155,28 @@ error) {
155
155
  cause: cause === null ? null : getJsonError(cause),
156
156
  };
157
157
  }
158
+ /**
159
+ * Check if a JSON-RPC error is a `SnapError`.
160
+ *
161
+ * @param error - The object to check.
162
+ * @returns Whether the object is a `SnapError`.
163
+ */
164
+ export function isSerializedSnapError(error) {
165
+ return error.code === SNAP_ERROR_CODE && error.message === SNAP_ERROR_MESSAGE;
166
+ }
167
+ /**
168
+ * Check if an object is a `SnapError`.
169
+ *
170
+ * @param error - The object to check.
171
+ * @returns Whether the object is a `SnapError`.
172
+ */
173
+ export function isSnapError(error) {
174
+ if (isObject(error) &&
175
+ 'serialize' in error &&
176
+ typeof error.serialize === 'function') {
177
+ const serialized = error.serialize();
178
+ return isJsonRpcError(serialized) && isSerializedSnapError(serialized);
179
+ }
180
+ return false;
181
+ }
158
182
  //# sourceMappingURL=errors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.mjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Json, JsonRpcError } from '@metamask/utils';\nimport { isJsonRpcError } from '@metamask/utils';\n\nimport {\n getErrorCause,\n getErrorCode,\n getErrorData,\n getErrorMessage,\n getErrorName,\n getErrorStack,\n SNAP_ERROR_CODE,\n SNAP_ERROR_MESSAGE,\n} from './internals';\nimport type { TrackableError } from './types';\n\n/**\n * A generic error which can be thrown by a Snap, without it causing the Snap to\n * crash.\n */\nexport class SnapError extends Error {\n readonly #code: number;\n\n readonly #message: string;\n\n readonly #data?: Record<string, Json>;\n\n readonly #stack?: string;\n\n /**\n * Create a new `SnapError`.\n *\n * @param error - The error to create the `SnapError` from. If this is a\n * `string`, it will be used as the error message. If this is an `Error`, its\n * `message` property will be used as the error message. If this is a\n * `JsonRpcError`, its `message` property will be used as the error message\n * and its `code` property will be used as the error code. Otherwise, the\n * error will be converted to a string and used as the error message.\n * @param data - Additional data to include in the error. This will be merged\n * with the error data, if any.\n */\n constructor(\n error: string | Error | JsonRpcError,\n data: Record<string, Json> = {},\n ) {\n const message = getErrorMessage(error);\n super(message);\n\n this.#message = message;\n this.#code = getErrorCode(error);\n\n const mergedData = { ...getErrorData(error), ...data };\n if (Object.keys(mergedData).length > 0) {\n this.#data = mergedData;\n }\n\n this.#stack = super.stack;\n }\n\n /**\n * The error name.\n *\n * @returns The error name.\n */\n get name() {\n return 'SnapError';\n }\n\n /**\n * The error code.\n *\n * @returns The error code.\n */\n get code() {\n return this.#code;\n }\n\n /**\n * The error message.\n *\n * @returns The error message.\n */\n // This line is covered, but Jest doesn't pick it up for some reason.\n /* istanbul ignore next */\n get message() {\n return this.#message;\n }\n\n /**\n * Additional data for the error.\n *\n * @returns Additional data for the error.\n */\n get data() {\n return this.#data;\n }\n\n /**\n * The error stack.\n *\n * @returns The error stack.\n */\n // This line is covered, but Jest doesn't pick it up for some reason.\n /* istanbul ignore next */\n get stack() {\n return this.#stack;\n }\n\n /**\n * Convert the error to a JSON object.\n *\n * @returns The JSON object.\n */\n toJSON(): SerializedSnapError {\n return {\n code: SNAP_ERROR_CODE,\n message: SNAP_ERROR_MESSAGE,\n data: {\n cause: {\n code: this.code,\n message: this.message,\n stack: this.stack,\n ...(this.data ? { data: this.data } : {}),\n },\n },\n };\n }\n\n /**\n * Serialize the error to a JSON object. This is called by\n * `@metamask/rpc-errors` when serializing the error.\n *\n * @returns The JSON object.\n */\n serialize() {\n return this.toJSON();\n }\n}\n\n/**\n * A serialized {@link SnapError}. It's JSON-serializable, so it can be sent\n * over the RPC. The original error is wrapped in the `cause` property.\n *\n * @property code - The error code. This is always `-31002`.\n * @property message - The error message. This is always `'Snap Error'`.\n * @property data - The error data.\n * @property data.cause - The cause of the error.\n * @property data.cause.code - The error code.\n * @property data.cause.message - The error message.\n * @property data.cause.stack - The error stack.\n * @property data.cause.data - Additional data for the error.\n * @see SnapError\n */\nexport type SerializedSnapError = {\n code: typeof SNAP_ERROR_CODE;\n message: typeof SNAP_ERROR_MESSAGE;\n data: {\n cause: JsonRpcError;\n };\n};\n\n/**\n * Get a serialised JSON error from a given error. This is intended to be used\n * with `snap_trackError` to convert an error to a JSON object that can be\n * tracked by the Sentry instance in the client.\n *\n * @param error - The error to convert to a JSON error. This can be a string, an\n * `Error`, a `JsonRpcError`, or any other type. If it is not a string or an\n * `Error`, it will be converted to a string using its `toString()` method.\n * @returns A JSON object containing the error message and stack trace, if\n * available.\n * @example\n * try {\n * // Some code that may throw an error\n * } catch (error) {\n * await snap.request({\n * method: 'snap_trackError',\n * params: {\n * error: getJsonError(error),\n * },\n * });\n * }\n */\nexport function getJsonError(\n // TypeScript will narrow this to `unknown`, but we specify all the types for\n // clarity.\n error: string | Error | JsonRpcError | unknown,\n): TrackableError {\n if (typeof error === 'string') {\n return {\n name: 'Error',\n message: error,\n stack: null,\n cause: null,\n };\n }\n\n if (isJsonRpcError(error)) {\n return {\n name: 'JsonRpcError',\n message: getErrorMessage(error),\n stack: getErrorStack(error) ?? getErrorStack(error.data) ?? null,\n cause: null,\n };\n }\n\n const cause = getErrorCause(error);\n\n return {\n name: getErrorName(error),\n message: getErrorMessage(error),\n stack: getErrorStack(error) ?? null,\n cause: cause === null ? null : getJsonError(cause),\n };\n}\n"]}
1
+ {"version":3,"file":"errors.mjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Json, JsonRpcError } from '@metamask/utils';\nimport { isJsonRpcError, isObject } from '@metamask/utils';\n\nimport {\n getErrorCause,\n getErrorCode,\n getErrorData,\n getErrorMessage,\n getErrorName,\n getErrorStack,\n SNAP_ERROR_CODE,\n SNAP_ERROR_MESSAGE,\n} from './internals';\nimport type { TrackableError } from './types';\n\n/**\n * A generic error which can be thrown by a Snap, without it causing the Snap to\n * crash.\n */\nexport class SnapError extends Error {\n readonly #code: number;\n\n readonly #message: string;\n\n readonly #data?: Record<string, Json>;\n\n readonly #stack?: string;\n\n /**\n * Create a new `SnapError`.\n *\n * @param error - The error to create the `SnapError` from. If this is a\n * `string`, it will be used as the error message. If this is an `Error`, its\n * `message` property will be used as the error message. If this is a\n * `JsonRpcError`, its `message` property will be used as the error message\n * and its `code` property will be used as the error code. Otherwise, the\n * error will be converted to a string and used as the error message.\n * @param data - Additional data to include in the error. This will be merged\n * with the error data, if any.\n */\n constructor(\n error: string | Error | JsonRpcError,\n data: Record<string, Json> = {},\n ) {\n const message = getErrorMessage(error);\n super(message);\n\n this.#message = message;\n this.#code = getErrorCode(error);\n\n const mergedData = { ...getErrorData(error), ...data };\n if (Object.keys(mergedData).length > 0) {\n this.#data = mergedData;\n }\n\n this.#stack = super.stack;\n }\n\n /**\n * The error name.\n *\n * @returns The error name.\n */\n get name() {\n return 'SnapError';\n }\n\n /**\n * The error code.\n *\n * @returns The error code.\n */\n get code() {\n return this.#code;\n }\n\n /**\n * The error message.\n *\n * @returns The error message.\n */\n // This line is covered, but Jest doesn't pick it up for some reason.\n /* istanbul ignore next */\n get message() {\n return this.#message;\n }\n\n /**\n * Additional data for the error.\n *\n * @returns Additional data for the error.\n */\n get data() {\n return this.#data;\n }\n\n /**\n * The error stack.\n *\n * @returns The error stack.\n */\n // This line is covered, but Jest doesn't pick it up for some reason.\n /* istanbul ignore next */\n get stack() {\n return this.#stack;\n }\n\n /**\n * Convert the error to a JSON object.\n *\n * @returns The JSON object.\n */\n toJSON(): SerializedSnapError {\n return {\n code: SNAP_ERROR_CODE,\n message: SNAP_ERROR_MESSAGE,\n data: {\n cause: {\n code: this.code,\n message: this.message,\n stack: this.stack,\n ...(this.data ? { data: this.data } : {}),\n },\n },\n };\n }\n\n /**\n * Serialize the error to a JSON object. This is called by\n * `@metamask/rpc-errors` when serializing the error.\n *\n * @returns The JSON object.\n */\n serialize() {\n return this.toJSON();\n }\n}\n\n/**\n * A serialized {@link SnapError}. It's JSON-serializable, so it can be sent\n * over the RPC. The original error is wrapped in the `cause` property.\n *\n * @property code - The error code. This is always `-31002`.\n * @property message - The error message. This is always `'Snap Error'`.\n * @property data - The error data.\n * @property data.cause - The cause of the error.\n * @property data.cause.code - The error code.\n * @property data.cause.message - The error message.\n * @property data.cause.stack - The error stack.\n * @property data.cause.data - Additional data for the error.\n * @see SnapError\n */\nexport type SerializedSnapError = {\n code: typeof SNAP_ERROR_CODE;\n message: typeof SNAP_ERROR_MESSAGE;\n data: {\n cause: JsonRpcError;\n };\n};\n\n/**\n * Get a serialised JSON error from a given error. This is intended to be used\n * with `snap_trackError` to convert an error to a JSON object that can be\n * tracked by the Sentry instance in the client.\n *\n * @param error - The error to convert to a JSON error. This can be a string, an\n * `Error`, a `JsonRpcError`, or any other type. If it is not a string or an\n * `Error`, it will be converted to a string using its `toString()` method.\n * @returns A JSON object containing the error message and stack trace, if\n * available.\n * @example\n * try {\n * // Some code that may throw an error\n * } catch (error) {\n * await snap.request({\n * method: 'snap_trackError',\n * params: {\n * error: getJsonError(error),\n * },\n * });\n * }\n */\nexport function getJsonError(\n // TypeScript will narrow this to `unknown`, but we specify all the types for\n // clarity.\n error: string | Error | JsonRpcError | unknown,\n): TrackableError {\n if (typeof error === 'string') {\n return {\n name: 'Error',\n message: error,\n stack: null,\n cause: null,\n };\n }\n\n if (isJsonRpcError(error)) {\n return {\n name: 'JsonRpcError',\n message: getErrorMessage(error),\n stack: getErrorStack(error) ?? getErrorStack(error.data) ?? null,\n cause: null,\n };\n }\n\n const cause = getErrorCause(error);\n\n return {\n name: getErrorName(error),\n message: getErrorMessage(error),\n stack: getErrorStack(error) ?? null,\n cause: cause === null ? null : getJsonError(cause),\n };\n}\n\n/**\n * Check if a JSON-RPC error is a `SnapError`.\n *\n * @param error - The object to check.\n * @returns Whether the object is a `SnapError`.\n */\nexport function isSerializedSnapError(\n error: JsonRpcError,\n): error is SerializedSnapError {\n return error.code === SNAP_ERROR_CODE && error.message === SNAP_ERROR_MESSAGE;\n}\n\n/**\n * Check if an object is a `SnapError`.\n *\n * @param error - The object to check.\n * @returns Whether the object is a `SnapError`.\n */\nexport function isSnapError(error: unknown): error is SnapError {\n if (\n isObject(error) &&\n 'serialize' in error &&\n typeof error.serialize === 'function'\n ) {\n const serialized = error.serialize();\n return isJsonRpcError(serialized) && isSerializedSnapError(serialized);\n }\n\n return false;\n}\n"]}
package/dist/images.cjs CHANGED
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getImageComponent = exports.getImageData = void 0;
3
+ exports.getImageData = void 0;
4
4
  const utils_1 = require("@metamask/utils");
5
- const ui_1 = require("./ui/index.cjs");
6
5
  /**
7
6
  * Get raw image data from a URL.
8
7
  *
@@ -39,8 +38,6 @@ async function getRawImageData(url, options) {
39
38
  * </svg>
40
39
  * `;
41
40
  *
42
- * // Render the SVG in a Snap UI.
43
- * const ui = image(svg);
44
41
  * @param url - The URL to get the image data from.
45
42
  * @param options - The options to use when fetching the image data. This is
46
43
  * passed directly to `fetch`.
@@ -52,41 +49,4 @@ async function getImageData(url, options) {
52
49
  return `data:${blob.type};base64,${(0, utils_1.bytesToBase64)(bytes)}`;
53
50
  }
54
51
  exports.getImageData = getImageData;
55
- /**
56
- * Get an image component from a URL. This is useful for embedding images inside
57
- * Snap UIs. Only JPEG and PNG images are supported.
58
- *
59
- * Note: This function uses `fetch` to get the image data. This means that using
60
- * it requires the `endowment:network-access` permission.
61
- *
62
- * @example
63
- * const component = await getImage('https://cataas.com/cat');
64
- *
65
- * return await snap.request({
66
- * method: 'snap_dialog',
67
- * params: {
68
- * type: 'alert',
69
- * content: panel([
70
- * component,
71
- * ]),
72
- * },
73
- * });
74
- * @param url - The URL to get the image data from.
75
- * @param options - The options to use when fetching and rendering the image.
76
- * @param options.width - The width of the image.
77
- * @param options.height - The height of the image. If this is not provided, the
78
- * width will be used as the height.
79
- * @param options.request - The options to use when fetching the image data.
80
- * This is passed directly to `fetch`.
81
- * @returns A promise that resolves to the image data as an image component.
82
- * @deprecated Use `<Image src="external_url" />` instead. This function will be removed in a future release.
83
- */
84
- async function getImageComponent(url, { width, height = width, request }) {
85
- (0, utils_1.assert)(typeof width === 'number' && width > 0, 'Expected width to be a number greater than 0.');
86
- (0, utils_1.assert)(typeof height === 'number' && height > 0, 'Expected height to be a number greater than 0.');
87
- const imageData = await getImageData(url, request);
88
- const size = `width="${width}" height="${height}"`;
89
- return (0, ui_1.image)(`<svg ${size.trim()} xmlns="http://www.w3.org/2000/svg"><image ${size.trim()} href="${imageData}" /></svg>`);
90
- }
91
- exports.getImageComponent = getImageComponent;
92
52
  //# sourceMappingURL=images.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"images.cjs","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAExD,uCAA6B;AAE7B;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAAqB;IAC/D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,4EAA4E,CACpH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,MAAM,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACtF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAA,cAAM,EACJ,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EACvD,gDAAgD,CACjD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,OAAqB;IACnE,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEvD,OAAO,QAAQ,IAAI,CAAC,IAAI,WAAW,IAAA,qBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;AAC5D,CAAC;AALD,oCAKC;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACI,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,EAAgB;IAEhD,IAAA,cAAM,EACJ,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,EACtC,+CAA+C,CAChD,CAAC;IAEF,IAAA,cAAM,EACJ,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,CAAC,EACxC,gDAAgD,CACjD,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,UAAU,KAAK,aAAa,MAAM,GAAG,CAAC;IAEnD,OAAO,IAAA,UAAK,EACV,QAAQ,IAAI,CAAC,IAAI,EAAE,8CAA8C,IAAI,CAAC,IAAI,EAAE,UAAU,SAAS,YAAY,CAC5G,CAAC;AACJ,CAAC;AApBD,8CAoBC","sourcesContent":["import { assert, bytesToBase64 } from '@metamask/utils';\n\nimport { image } from './ui';\n\n/**\n * Get raw image data from a URL.\n *\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n * @returns A promise that resolves to the image data as a blob.\n */\nasync function getRawImageData(url: string, options?: RequestInit) {\n if (typeof fetch !== 'function') {\n throw new Error(\n `Failed to fetch image data from \"${url}\": Using this function requires the \"endowment:network-access\" permission.`,\n );\n }\n\n return fetch(url, options).then(async (response) => {\n if (!response.ok) {\n throw new Error(\n `Failed to fetch image data from \"${url}\": ${response.status} ${response.statusText}`,\n );\n }\n\n const blob = await response.blob();\n assert(\n blob.type === 'image/jpeg' || blob.type === 'image/png',\n 'Expected image data to be a JPEG or PNG image.',\n );\n\n return blob;\n });\n}\n\n/**\n * Get image data as data-string from a URL. This is useful for embedding images\n * inside of SVGs. Only JPEG and PNG images are supported.\n *\n * Note: This function uses `fetch` to get the image data. This means that using\n * it requires the `endowment:network-access` permission.\n *\n * @example\n * const imageData = await getImageData('https://cataas.com/cat');\n * const svg = `\n * <svg width=\"100\" height=\"100\" xmlns=\"http://www.w3.org/2000/svg\">\n * <image href=\"${imageData}\" />\n * </svg>\n * `;\n *\n * // Render the SVG in a Snap UI.\n * const ui = image(svg);\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n * @returns A promise that resolves to the image data as a data-string.\n */\nexport async function getImageData(url: string, options?: RequestInit) {\n const blob = await getRawImageData(url, options);\n const bytes = new Uint8Array(await blob.arrayBuffer());\n\n return `data:${blob.type};base64,${bytesToBase64(bytes)}`;\n}\n\n/**\n * Options for getting an SVG image element from a URL.\n *\n * @property width - The width of the image.\n * @property height - The height of the image. If this is not provided, the\n * width will be used as the height.\n * @property request - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n */\nexport type ImageOptions = {\n width: number;\n height?: number;\n request?: RequestInit;\n};\n\n/**\n * Get an image component from a URL. This is useful for embedding images inside\n * Snap UIs. Only JPEG and PNG images are supported.\n *\n * Note: This function uses `fetch` to get the image data. This means that using\n * it requires the `endowment:network-access` permission.\n *\n * @example\n * const component = await getImage('https://cataas.com/cat');\n *\n * return await snap.request({\n * method: 'snap_dialog',\n * params: {\n * type: 'alert',\n * content: panel([\n * component,\n * ]),\n * },\n * });\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching and rendering the image.\n * @param options.width - The width of the image.\n * @param options.height - The height of the image. If this is not provided, the\n * width will be used as the height.\n * @param options.request - The options to use when fetching the image data.\n * This is passed directly to `fetch`.\n * @returns A promise that resolves to the image data as an image component.\n * @deprecated Use `<Image src=\"external_url\" />` instead. This function will be removed in a future release.\n */\nexport async function getImageComponent(\n url: string,\n { width, height = width, request }: ImageOptions,\n) {\n assert(\n typeof width === 'number' && width > 0,\n 'Expected width to be a number greater than 0.',\n );\n\n assert(\n typeof height === 'number' && height > 0,\n 'Expected height to be a number greater than 0.',\n );\n\n const imageData = await getImageData(url, request);\n const size = `width=\"${width}\" height=\"${height}\"`;\n\n return image(\n `<svg ${size.trim()} xmlns=\"http://www.w3.org/2000/svg\"><image ${size.trim()} href=\"${imageData}\" /></svg>`,\n );\n}\n"]}
1
+ {"version":3,"file":"images.cjs","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAExD;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAAqB;IAC/D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,4EAA4E,CACpH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,MAAM,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACtF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAA,cAAM,EACJ,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EACvD,gDAAgD,CACjD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,OAAqB;IACnE,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEvD,OAAO,QAAQ,IAAI,CAAC,IAAI,WAAW,IAAA,qBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;AAC5D,CAAC;AALD,oCAKC","sourcesContent":["import { assert, bytesToBase64 } from '@metamask/utils';\n\n/**\n * Get raw image data from a URL.\n *\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n * @returns A promise that resolves to the image data as a blob.\n */\nasync function getRawImageData(url: string, options?: RequestInit) {\n if (typeof fetch !== 'function') {\n throw new Error(\n `Failed to fetch image data from \"${url}\": Using this function requires the \"endowment:network-access\" permission.`,\n );\n }\n\n return fetch(url, options).then(async (response) => {\n if (!response.ok) {\n throw new Error(\n `Failed to fetch image data from \"${url}\": ${response.status} ${response.statusText}`,\n );\n }\n\n const blob = await response.blob();\n assert(\n blob.type === 'image/jpeg' || blob.type === 'image/png',\n 'Expected image data to be a JPEG or PNG image.',\n );\n\n return blob;\n });\n}\n\n/**\n * Get image data as data-string from a URL. This is useful for embedding images\n * inside of SVGs. Only JPEG and PNG images are supported.\n *\n * Note: This function uses `fetch` to get the image data. This means that using\n * it requires the `endowment:network-access` permission.\n *\n * @example\n * const imageData = await getImageData('https://cataas.com/cat');\n * const svg = `\n * <svg width=\"100\" height=\"100\" xmlns=\"http://www.w3.org/2000/svg\">\n * <image href=\"${imageData}\" />\n * </svg>\n * `;\n *\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n * @returns A promise that resolves to the image data as a data-string.\n */\nexport async function getImageData(url: string, options?: RequestInit) {\n const blob = await getRawImageData(url, options);\n const bytes = new Uint8Array(await blob.arrayBuffer());\n\n return `data:${blob.type};base64,${bytesToBase64(bytes)}`;\n}\n"]}
package/dist/images.d.cts CHANGED
@@ -13,59 +13,10 @@
13
13
  * </svg>
14
14
  * `;
15
15
  *
16
- * // Render the SVG in a Snap UI.
17
- * const ui = image(svg);
18
16
  * @param url - The URL to get the image data from.
19
17
  * @param options - The options to use when fetching the image data. This is
20
18
  * passed directly to `fetch`.
21
19
  * @returns A promise that resolves to the image data as a data-string.
22
20
  */
23
21
  export declare function getImageData(url: string, options?: RequestInit): Promise<string>;
24
- /**
25
- * Options for getting an SVG image element from a URL.
26
- *
27
- * @property width - The width of the image.
28
- * @property height - The height of the image. If this is not provided, the
29
- * width will be used as the height.
30
- * @property request - The options to use when fetching the image data. This is
31
- * passed directly to `fetch`.
32
- */
33
- export type ImageOptions = {
34
- width: number;
35
- height?: number;
36
- request?: RequestInit;
37
- };
38
- /**
39
- * Get an image component from a URL. This is useful for embedding images inside
40
- * Snap UIs. Only JPEG and PNG images are supported.
41
- *
42
- * Note: This function uses `fetch` to get the image data. This means that using
43
- * it requires the `endowment:network-access` permission.
44
- *
45
- * @example
46
- * const component = await getImage('https://cataas.com/cat');
47
- *
48
- * return await snap.request({
49
- * method: 'snap_dialog',
50
- * params: {
51
- * type: 'alert',
52
- * content: panel([
53
- * component,
54
- * ]),
55
- * },
56
- * });
57
- * @param url - The URL to get the image data from.
58
- * @param options - The options to use when fetching and rendering the image.
59
- * @param options.width - The width of the image.
60
- * @param options.height - The height of the image. If this is not provided, the
61
- * width will be used as the height.
62
- * @param options.request - The options to use when fetching the image data.
63
- * This is passed directly to `fetch`.
64
- * @returns A promise that resolves to the image data as an image component.
65
- * @deprecated Use `<Image src="external_url" />` instead. This function will be removed in a future release.
66
- */
67
- export declare function getImageComponent(url: string, { width, height, request }: ImageOptions): Promise<{
68
- value: string;
69
- type: import("./ui/index.cjs").NodeType.Image;
70
- }>;
71
22
  //# sourceMappingURL=images.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"images.d.cts","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAoCA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,mBAKpE;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,EAAE,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE,YAAY;;;GAkBjD"}
1
+ {"version":3,"file":"images.d.cts","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAkCA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,mBAKpE"}
package/dist/images.d.mts CHANGED
@@ -13,59 +13,10 @@
13
13
  * </svg>
14
14
  * `;
15
15
  *
16
- * // Render the SVG in a Snap UI.
17
- * const ui = image(svg);
18
16
  * @param url - The URL to get the image data from.
19
17
  * @param options - The options to use when fetching the image data. This is
20
18
  * passed directly to `fetch`.
21
19
  * @returns A promise that resolves to the image data as a data-string.
22
20
  */
23
21
  export declare function getImageData(url: string, options?: RequestInit): Promise<string>;
24
- /**
25
- * Options for getting an SVG image element from a URL.
26
- *
27
- * @property width - The width of the image.
28
- * @property height - The height of the image. If this is not provided, the
29
- * width will be used as the height.
30
- * @property request - The options to use when fetching the image data. This is
31
- * passed directly to `fetch`.
32
- */
33
- export type ImageOptions = {
34
- width: number;
35
- height?: number;
36
- request?: RequestInit;
37
- };
38
- /**
39
- * Get an image component from a URL. This is useful for embedding images inside
40
- * Snap UIs. Only JPEG and PNG images are supported.
41
- *
42
- * Note: This function uses `fetch` to get the image data. This means that using
43
- * it requires the `endowment:network-access` permission.
44
- *
45
- * @example
46
- * const component = await getImage('https://cataas.com/cat');
47
- *
48
- * return await snap.request({
49
- * method: 'snap_dialog',
50
- * params: {
51
- * type: 'alert',
52
- * content: panel([
53
- * component,
54
- * ]),
55
- * },
56
- * });
57
- * @param url - The URL to get the image data from.
58
- * @param options - The options to use when fetching and rendering the image.
59
- * @param options.width - The width of the image.
60
- * @param options.height - The height of the image. If this is not provided, the
61
- * width will be used as the height.
62
- * @param options.request - The options to use when fetching the image data.
63
- * This is passed directly to `fetch`.
64
- * @returns A promise that resolves to the image data as an image component.
65
- * @deprecated Use `<Image src="external_url" />` instead. This function will be removed in a future release.
66
- */
67
- export declare function getImageComponent(url: string, { width, height, request }: ImageOptions): Promise<{
68
- value: string;
69
- type: import("./ui/index.mjs").NodeType.Image;
70
- }>;
71
22
  //# sourceMappingURL=images.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"images.d.mts","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAoCA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,mBAKpE;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,EAAE,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE,YAAY;;;GAkBjD"}
1
+ {"version":3,"file":"images.d.mts","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAkCA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,mBAKpE"}
package/dist/images.mjs CHANGED
@@ -1,5 +1,4 @@
1
1
  import { assert, bytesToBase64 } from "@metamask/utils";
2
- import { image } from "./ui/index.mjs";
3
2
  /**
4
3
  * Get raw image data from a URL.
5
4
  *
@@ -36,8 +35,6 @@ async function getRawImageData(url, options) {
36
35
  * </svg>
37
36
  * `;
38
37
  *
39
- * // Render the SVG in a Snap UI.
40
- * const ui = image(svg);
41
38
  * @param url - The URL to get the image data from.
42
39
  * @param options - The options to use when fetching the image data. This is
43
40
  * passed directly to `fetch`.
@@ -48,40 +45,4 @@ export async function getImageData(url, options) {
48
45
  const bytes = new Uint8Array(await blob.arrayBuffer());
49
46
  return `data:${blob.type};base64,${bytesToBase64(bytes)}`;
50
47
  }
51
- /**
52
- * Get an image component from a URL. This is useful for embedding images inside
53
- * Snap UIs. Only JPEG and PNG images are supported.
54
- *
55
- * Note: This function uses `fetch` to get the image data. This means that using
56
- * it requires the `endowment:network-access` permission.
57
- *
58
- * @example
59
- * const component = await getImage('https://cataas.com/cat');
60
- *
61
- * return await snap.request({
62
- * method: 'snap_dialog',
63
- * params: {
64
- * type: 'alert',
65
- * content: panel([
66
- * component,
67
- * ]),
68
- * },
69
- * });
70
- * @param url - The URL to get the image data from.
71
- * @param options - The options to use when fetching and rendering the image.
72
- * @param options.width - The width of the image.
73
- * @param options.height - The height of the image. If this is not provided, the
74
- * width will be used as the height.
75
- * @param options.request - The options to use when fetching the image data.
76
- * This is passed directly to `fetch`.
77
- * @returns A promise that resolves to the image data as an image component.
78
- * @deprecated Use `<Image src="external_url" />` instead. This function will be removed in a future release.
79
- */
80
- export async function getImageComponent(url, { width, height = width, request }) {
81
- assert(typeof width === 'number' && width > 0, 'Expected width to be a number greater than 0.');
82
- assert(typeof height === 'number' && height > 0, 'Expected height to be a number greater than 0.');
83
- const imageData = await getImageData(url, request);
84
- const size = `width="${width}" height="${height}"`;
85
- return image(`<svg ${size.trim()} xmlns="http://www.w3.org/2000/svg"><image ${size.trim()} href="${imageData}" /></svg>`);
86
- }
87
48
  //# sourceMappingURL=images.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"images.mjs","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,wBAAwB;AAExD,OAAO,EAAE,KAAK,EAAE,uBAAa;AAE7B;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAAqB;IAC/D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,4EAA4E,CACpH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,MAAM,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACtF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,CACJ,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EACvD,gDAAgD,CACjD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,OAAqB;IACnE,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEvD,OAAO,QAAQ,IAAI,CAAC,IAAI,WAAW,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5D,CAAC;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,EAAgB;IAEhD,MAAM,CACJ,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,EACtC,+CAA+C,CAChD,CAAC;IAEF,MAAM,CACJ,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,CAAC,EACxC,gDAAgD,CACjD,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,UAAU,KAAK,aAAa,MAAM,GAAG,CAAC;IAEnD,OAAO,KAAK,CACV,QAAQ,IAAI,CAAC,IAAI,EAAE,8CAA8C,IAAI,CAAC,IAAI,EAAE,UAAU,SAAS,YAAY,CAC5G,CAAC;AACJ,CAAC","sourcesContent":["import { assert, bytesToBase64 } from '@metamask/utils';\n\nimport { image } from './ui';\n\n/**\n * Get raw image data from a URL.\n *\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n * @returns A promise that resolves to the image data as a blob.\n */\nasync function getRawImageData(url: string, options?: RequestInit) {\n if (typeof fetch !== 'function') {\n throw new Error(\n `Failed to fetch image data from \"${url}\": Using this function requires the \"endowment:network-access\" permission.`,\n );\n }\n\n return fetch(url, options).then(async (response) => {\n if (!response.ok) {\n throw new Error(\n `Failed to fetch image data from \"${url}\": ${response.status} ${response.statusText}`,\n );\n }\n\n const blob = await response.blob();\n assert(\n blob.type === 'image/jpeg' || blob.type === 'image/png',\n 'Expected image data to be a JPEG or PNG image.',\n );\n\n return blob;\n });\n}\n\n/**\n * Get image data as data-string from a URL. This is useful for embedding images\n * inside of SVGs. Only JPEG and PNG images are supported.\n *\n * Note: This function uses `fetch` to get the image data. This means that using\n * it requires the `endowment:network-access` permission.\n *\n * @example\n * const imageData = await getImageData('https://cataas.com/cat');\n * const svg = `\n * <svg width=\"100\" height=\"100\" xmlns=\"http://www.w3.org/2000/svg\">\n * <image href=\"${imageData}\" />\n * </svg>\n * `;\n *\n * // Render the SVG in a Snap UI.\n * const ui = image(svg);\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n * @returns A promise that resolves to the image data as a data-string.\n */\nexport async function getImageData(url: string, options?: RequestInit) {\n const blob = await getRawImageData(url, options);\n const bytes = new Uint8Array(await blob.arrayBuffer());\n\n return `data:${blob.type};base64,${bytesToBase64(bytes)}`;\n}\n\n/**\n * Options for getting an SVG image element from a URL.\n *\n * @property width - The width of the image.\n * @property height - The height of the image. If this is not provided, the\n * width will be used as the height.\n * @property request - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n */\nexport type ImageOptions = {\n width: number;\n height?: number;\n request?: RequestInit;\n};\n\n/**\n * Get an image component from a URL. This is useful for embedding images inside\n * Snap UIs. Only JPEG and PNG images are supported.\n *\n * Note: This function uses `fetch` to get the image data. This means that using\n * it requires the `endowment:network-access` permission.\n *\n * @example\n * const component = await getImage('https://cataas.com/cat');\n *\n * return await snap.request({\n * method: 'snap_dialog',\n * params: {\n * type: 'alert',\n * content: panel([\n * component,\n * ]),\n * },\n * });\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching and rendering the image.\n * @param options.width - The width of the image.\n * @param options.height - The height of the image. If this is not provided, the\n * width will be used as the height.\n * @param options.request - The options to use when fetching the image data.\n * This is passed directly to `fetch`.\n * @returns A promise that resolves to the image data as an image component.\n * @deprecated Use `<Image src=\"external_url\" />` instead. This function will be removed in a future release.\n */\nexport async function getImageComponent(\n url: string,\n { width, height = width, request }: ImageOptions,\n) {\n assert(\n typeof width === 'number' && width > 0,\n 'Expected width to be a number greater than 0.',\n );\n\n assert(\n typeof height === 'number' && height > 0,\n 'Expected height to be a number greater than 0.',\n );\n\n const imageData = await getImageData(url, request);\n const size = `width=\"${width}\" height=\"${height}\"`;\n\n return image(\n `<svg ${size.trim()} xmlns=\"http://www.w3.org/2000/svg\"><image ${size.trim()} href=\"${imageData}\" /></svg>`,\n );\n}\n"]}
1
+ {"version":3,"file":"images.mjs","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,wBAAwB;AAExD;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAAqB;IAC/D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,4EAA4E,CACpH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,MAAM,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACtF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,CACJ,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EACvD,gDAAgD,CACjD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,OAAqB;IACnE,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEvD,OAAO,QAAQ,IAAI,CAAC,IAAI,WAAW,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5D,CAAC","sourcesContent":["import { assert, bytesToBase64 } from '@metamask/utils';\n\n/**\n * Get raw image data from a URL.\n *\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n * @returns A promise that resolves to the image data as a blob.\n */\nasync function getRawImageData(url: string, options?: RequestInit) {\n if (typeof fetch !== 'function') {\n throw new Error(\n `Failed to fetch image data from \"${url}\": Using this function requires the \"endowment:network-access\" permission.`,\n );\n }\n\n return fetch(url, options).then(async (response) => {\n if (!response.ok) {\n throw new Error(\n `Failed to fetch image data from \"${url}\": ${response.status} ${response.statusText}`,\n );\n }\n\n const blob = await response.blob();\n assert(\n blob.type === 'image/jpeg' || blob.type === 'image/png',\n 'Expected image data to be a JPEG or PNG image.',\n );\n\n return blob;\n });\n}\n\n/**\n * Get image data as data-string from a URL. This is useful for embedding images\n * inside of SVGs. Only JPEG and PNG images are supported.\n *\n * Note: This function uses `fetch` to get the image data. This means that using\n * it requires the `endowment:network-access` permission.\n *\n * @example\n * const imageData = await getImageData('https://cataas.com/cat');\n * const svg = `\n * <svg width=\"100\" height=\"100\" xmlns=\"http://www.w3.org/2000/svg\">\n * <image href=\"${imageData}\" />\n * </svg>\n * `;\n *\n * @param url - The URL to get the image data from.\n * @param options - The options to use when fetching the image data. This is\n * passed directly to `fetch`.\n * @returns A promise that resolves to the image data as a data-string.\n */\nexport async function getImageData(url: string, options?: RequestInit) {\n const blob = await getRawImageData(url, options);\n const bytes = new Uint8Array(await blob.arrayBuffer());\n\n return `data:${blob.type};base64,${bytesToBase64(bytes)}`;\n}\n"]}
package/dist/index.cjs CHANGED
@@ -1,4 +1,12 @@
1
1
  "use strict";
2
+ /**
3
+ * The main entry point for the Snaps SDK, which can be accessed by importing
4
+ * from `@metamask/snaps-sdk`.
5
+ *
6
+ * @module Main
7
+ * @primaryExport
8
+ * @showGroups
9
+ */
2
10
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
11
  if (k2 === undefined) k2 = k;
4
12
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,mDAcqB;AAbnB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,oGAAA,OAAO,OAAA;AACP,kGAAA,KAAK,OAAA;AACL,sGAAA,SAAS,OAAA;AACT,uGAAA,UAAU,OAAA;AACV,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,8GAAA,iBAAiB,OAAA;AACjB,gGAAA,GAAG,OAAA;AAUL,yCAAyC;AAAhC,+FAAA,MAAM,OAAA;AAEf,+CAAyB;AACzB,uDAAiC;AACjC,+CAAyB;AACzB,oDAAwB;AACxB,iDAAqB","sourcesContent":["// Only internals that are used by other Snaps packages should be exported here.\nexport type { EnumToUnion } from './internals';\nexport type { UriOptions } from './internals';\nexport {\n getErrorData,\n getErrorMessage,\n getErrorStack,\n SNAP_ERROR_CODE,\n SNAP_ERROR_MESSAGE,\n literal,\n union,\n enumValue,\n typedUnion,\n selectiveUnion,\n nonEmptyRecord,\n ISO8601DateStruct,\n uri,\n} from './internals';\n\n// Re-exported from `@metamask/utils` for convenience.\nexport type {\n Json,\n JsonRpcError,\n JsonRpcRequest,\n JsonRpcParams,\n} from '@metamask/utils';\nexport { assert } from '@metamask/utils';\n\nexport * from './errors';\nexport * from './error-wrappers';\nexport * from './images';\nexport * from './types';\nexport * from './ui';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;AAKH,mDAcqB;AAbnB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,oGAAA,OAAO,OAAA;AACP,kGAAA,KAAK,OAAA;AACL,sGAAA,SAAS,OAAA;AACT,uGAAA,UAAU,OAAA;AACV,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,8GAAA,iBAAiB,OAAA;AACjB,gGAAA,GAAG,OAAA;AAUL,yCAAyC;AAAhC,+FAAA,MAAM,OAAA;AAEf,+CAAyB;AACzB,uDAAiC;AACjC,+CAAyB;AACzB,oDAAwB;AACxB,iDAAqB","sourcesContent":["/**\n * The main entry point for the Snaps SDK, which can be accessed by importing\n * from `@metamask/snaps-sdk`.\n *\n * @module Main\n * @primaryExport\n * @showGroups\n */\n\n// Only internals that are used by other Snaps packages should be exported here.\nexport type { EnumToUnion } from './internals';\nexport type { UriOptions } from './internals';\nexport {\n getErrorData,\n getErrorMessage,\n getErrorStack,\n SNAP_ERROR_CODE,\n SNAP_ERROR_MESSAGE,\n literal,\n union,\n enumValue,\n typedUnion,\n selectiveUnion,\n nonEmptyRecord,\n ISO8601DateStruct,\n uri,\n} from './internals';\n\n// Re-exported from `@metamask/utils` for convenience.\nexport type {\n Json,\n JsonRpcError,\n JsonRpcRequest,\n JsonRpcParams,\n} from '@metamask/utils';\nexport { assert } from '@metamask/utils';\n\nexport * from './errors';\nexport * from './error-wrappers';\nexport * from './images';\nexport * from './types';\nexport * from './ui';\n"]}
package/dist/index.d.cts CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * The main entry point for the Snaps SDK, which can be accessed by importing
3
+ * from `@metamask/snaps-sdk`.
4
+ *
5
+ * @module Main
6
+ * @primaryExport
7
+ * @showGroups
8
+ */
1
9
  export type { EnumToUnion } from "./internals/index.cjs";
2
10
  export type { UriOptions } from "./internals/index.cjs";
3
11
  export { getErrorData, getErrorMessage, getErrorStack, SNAP_ERROR_CODE, SNAP_ERROR_MESSAGE, literal, union, enumValue, typedUnion, selectiveUnion, nonEmptyRecord, ISO8601DateStruct, uri, } from "./internals/index.cjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,8BAAoB;AAC/C,YAAY,EAAE,UAAU,EAAE,8BAAoB;AAC9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,GAAG,GACJ,8BAAoB;AAGrB,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,aAAa,GACd,wBAAwB;AACzB,OAAO,EAAE,MAAM,EAAE,wBAAwB;AAEzC,6BAAyB;AACzB,qCAAiC;AACjC,6BAAyB;AACzB,kCAAwB;AACxB,+BAAqB"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EAAE,WAAW,EAAE,8BAAoB;AAC/C,YAAY,EAAE,UAAU,EAAE,8BAAoB;AAC9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,GAAG,GACJ,8BAAoB;AAGrB,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,aAAa,GACd,wBAAwB;AACzB,OAAO,EAAE,MAAM,EAAE,wBAAwB;AAEzC,6BAAyB;AACzB,qCAAiC;AACjC,6BAAyB;AACzB,kCAAwB;AACxB,+BAAqB"}
package/dist/index.d.mts CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * The main entry point for the Snaps SDK, which can be accessed by importing
3
+ * from `@metamask/snaps-sdk`.
4
+ *
5
+ * @module Main
6
+ * @primaryExport
7
+ * @showGroups
8
+ */
1
9
  export type { EnumToUnion } from "./internals/index.mjs";
2
10
  export type { UriOptions } from "./internals/index.mjs";
3
11
  export { getErrorData, getErrorMessage, getErrorStack, SNAP_ERROR_CODE, SNAP_ERROR_MESSAGE, literal, union, enumValue, typedUnion, selectiveUnion, nonEmptyRecord, ISO8601DateStruct, uri, } from "./internals/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,8BAAoB;AAC/C,YAAY,EAAE,UAAU,EAAE,8BAAoB;AAC9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,GAAG,GACJ,8BAAoB;AAGrB,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,aAAa,GACd,wBAAwB;AACzB,OAAO,EAAE,MAAM,EAAE,wBAAwB;AAEzC,6BAAyB;AACzB,qCAAiC;AACjC,6BAAyB;AACzB,kCAAwB;AACxB,+BAAqB"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EAAE,WAAW,EAAE,8BAAoB;AAC/C,YAAY,EAAE,UAAU,EAAE,8BAAoB;AAC9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,GAAG,GACJ,8BAAoB;AAGrB,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,aAAa,GACd,wBAAwB;AACzB,OAAO,EAAE,MAAM,EAAE,wBAAwB;AAEzC,6BAAyB;AACzB,qCAAiC;AACjC,6BAAyB;AACzB,kCAAwB;AACxB,+BAAqB"}
package/dist/index.mjs CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * The main entry point for the Snaps SDK, which can be accessed by importing
3
+ * from `@metamask/snaps-sdk`.
4
+ *
5
+ * @module Main
6
+ * @primaryExport
7
+ * @showGroups
8
+ */
1
9
  export { getErrorData, getErrorMessage, getErrorStack, SNAP_ERROR_CODE, SNAP_ERROR_MESSAGE, literal, union, enumValue, typedUnion, selectiveUnion, nonEmptyRecord, ISO8601DateStruct, uri } from "./internals/index.mjs";
2
10
  export { assert } from "@metamask/utils";
3
11
  export * from "./errors.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,GAAG,EACJ,8BAAoB;AASrB,OAAO,EAAE,MAAM,EAAE,wBAAwB;AAEzC,6BAAyB;AACzB,qCAAiC;AACjC,6BAAyB;AACzB,kCAAwB;AACxB,+BAAqB","sourcesContent":["// Only internals that are used by other Snaps packages should be exported here.\nexport type { EnumToUnion } from './internals';\nexport type { UriOptions } from './internals';\nexport {\n getErrorData,\n getErrorMessage,\n getErrorStack,\n SNAP_ERROR_CODE,\n SNAP_ERROR_MESSAGE,\n literal,\n union,\n enumValue,\n typedUnion,\n selectiveUnion,\n nonEmptyRecord,\n ISO8601DateStruct,\n uri,\n} from './internals';\n\n// Re-exported from `@metamask/utils` for convenience.\nexport type {\n Json,\n JsonRpcError,\n JsonRpcRequest,\n JsonRpcParams,\n} from '@metamask/utils';\nexport { assert } from '@metamask/utils';\n\nexport * from './errors';\nexport * from './error-wrappers';\nexport * from './images';\nexport * from './types';\nexport * from './ui';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,GAAG,EACJ,8BAAoB;AASrB,OAAO,EAAE,MAAM,EAAE,wBAAwB;AAEzC,6BAAyB;AACzB,qCAAiC;AACjC,6BAAyB;AACzB,kCAAwB;AACxB,+BAAqB","sourcesContent":["/**\n * The main entry point for the Snaps SDK, which can be accessed by importing\n * from `@metamask/snaps-sdk`.\n *\n * @module Main\n * @primaryExport\n * @showGroups\n */\n\n// Only internals that are used by other Snaps packages should be exported here.\nexport type { EnumToUnion } from './internals';\nexport type { UriOptions } from './internals';\nexport {\n getErrorData,\n getErrorMessage,\n getErrorStack,\n SNAP_ERROR_CODE,\n SNAP_ERROR_MESSAGE,\n literal,\n union,\n enumValue,\n typedUnion,\n selectiveUnion,\n nonEmptyRecord,\n ISO8601DateStruct,\n uri,\n} from './internals';\n\n// Re-exported from `@metamask/utils` for convenience.\nexport type {\n Json,\n JsonRpcError,\n JsonRpcRequest,\n JsonRpcParams,\n} from '@metamask/utils';\nexport { assert } from '@metamask/utils';\n\nexport * from './errors';\nexport * from './error-wrappers';\nexport * from './images';\nexport * from './types';\nexport * from './ui';\n"]}