@metamask/snaps-rpc-methods 11.0.0 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/dist/__fixtures__/entropy.cjs +31 -0
  3. package/dist/__fixtures__/entropy.cjs.map +1 -0
  4. package/dist/{types/__fixtures__/entropy.d.ts → __fixtures__/entropy.d.cts} +1 -0
  5. package/dist/__fixtures__/entropy.d.cts.map +1 -0
  6. package/dist/__fixtures__/entropy.d.mts +15 -0
  7. package/dist/__fixtures__/entropy.d.mts.map +1 -0
  8. package/dist/__fixtures__/entropy.mjs +28 -0
  9. package/dist/__fixtures__/entropy.mjs.map +1 -0
  10. package/dist/__fixtures__/index.cjs +18 -0
  11. package/dist/__fixtures__/index.cjs.map +1 -0
  12. package/dist/__fixtures__/index.d.cts +2 -0
  13. package/dist/__fixtures__/index.d.cts.map +1 -0
  14. package/dist/__fixtures__/index.d.mts +2 -0
  15. package/dist/__fixtures__/index.d.mts.map +1 -0
  16. package/dist/__fixtures__/index.mjs +2 -0
  17. package/dist/__fixtures__/index.mjs.map +1 -0
  18. package/dist/endowments/caveats/generic.cjs +50 -0
  19. package/dist/endowments/caveats/generic.cjs.map +1 -0
  20. package/dist/{types/endowments/caveats/generic.d.ts → endowments/caveats/generic.d.cts} +3 -2
  21. package/dist/endowments/caveats/generic.d.cts.map +1 -0
  22. package/dist/endowments/caveats/generic.d.mts +20 -0
  23. package/dist/endowments/caveats/generic.d.mts.map +1 -0
  24. package/dist/endowments/caveats/generic.mjs +45 -6
  25. package/dist/endowments/caveats/generic.mjs.map +1 -1
  26. package/dist/endowments/caveats/index.cjs +19 -0
  27. package/dist/endowments/caveats/index.cjs.map +1 -0
  28. package/dist/endowments/caveats/index.d.cts +3 -0
  29. package/dist/endowments/caveats/index.d.cts.map +1 -0
  30. package/dist/endowments/caveats/index.d.mts +3 -0
  31. package/dist/endowments/caveats/index.d.mts.map +1 -0
  32. package/dist/endowments/caveats/index.mjs +2 -17
  33. package/dist/endowments/caveats/index.mjs.map +1 -1
  34. package/dist/endowments/caveats/requestTime.cjs +104 -0
  35. package/dist/{chunk-FCVWU5XH.js.map → endowments/caveats/requestTime.cjs.map} +1 -1
  36. package/dist/{types/endowments/caveats/requestTime.d.ts → endowments/caveats/requestTime.d.cts} +5 -4
  37. package/dist/endowments/caveats/requestTime.d.cts.map +1 -0
  38. package/dist/endowments/caveats/requestTime.d.mts +30 -0
  39. package/dist/endowments/caveats/requestTime.d.mts.map +1 -0
  40. package/dist/endowments/caveats/requestTime.mjs +96 -11
  41. package/dist/endowments/caveats/requestTime.mjs.map +1 -1
  42. package/dist/endowments/cronjob.cjs +105 -0
  43. package/dist/endowments/cronjob.cjs.map +1 -0
  44. package/dist/{types/endowments/cronjob.d.ts → endowments/cronjob.d.cts} +7 -6
  45. package/dist/endowments/cronjob.d.cts.map +1 -0
  46. package/dist/endowments/cronjob.d.mts +52 -0
  47. package/dist/endowments/cronjob.d.mts.map +1 -0
  48. package/dist/endowments/cronjob.mjs +97 -14
  49. package/dist/endowments/cronjob.mjs.map +1 -1
  50. package/dist/endowments/enum.cjs +18 -0
  51. package/dist/endowments/enum.cjs.map +1 -0
  52. package/dist/{types/endowments/enum.d.ts → endowments/enum.d.cts} +1 -0
  53. package/dist/endowments/enum.d.cts.map +1 -0
  54. package/dist/endowments/enum.d.mts +14 -0
  55. package/dist/endowments/enum.d.mts.map +1 -0
  56. package/dist/endowments/enum.mjs +14 -6
  57. package/dist/endowments/enum.mjs.map +1 -1
  58. package/dist/endowments/ethereum-provider.cjs +32 -0
  59. package/dist/endowments/ethereum-provider.cjs.map +1 -0
  60. package/dist/{types/endowments/ethereum-provider.d.ts → endowments/ethereum-provider.d.cts} +4 -3
  61. package/dist/endowments/ethereum-provider.d.cts.map +1 -0
  62. package/dist/endowments/ethereum-provider.d.mts +15 -0
  63. package/dist/endowments/ethereum-provider.d.mts.map +1 -0
  64. package/dist/endowments/ethereum-provider.mjs +27 -6
  65. package/dist/endowments/ethereum-provider.mjs.map +1 -1
  66. package/dist/endowments/home-page.cjs +28 -0
  67. package/dist/{chunk-2SFH57UV.js.map → endowments/home-page.cjs.map} +1 -1
  68. package/dist/{types/endowments/home-page.d.ts → endowments/home-page.d.cts} +5 -4
  69. package/dist/endowments/home-page.d.cts.map +1 -0
  70. package/dist/endowments/home-page.d.mts +16 -0
  71. package/dist/endowments/home-page.d.mts.map +1 -0
  72. package/dist/endowments/home-page.mjs +23 -6
  73. package/dist/endowments/home-page.mjs.map +1 -1
  74. package/dist/endowments/index.cjs +92 -0
  75. package/dist/endowments/index.cjs.map +1 -0
  76. package/dist/{types/endowments/index.d.ts → endowments/index.d.cts} +12 -11
  77. package/dist/endowments/index.d.cts.map +1 -0
  78. package/dist/endowments/index.d.mts +132 -0
  79. package/dist/endowments/index.d.mts.map +1 -0
  80. package/dist/endowments/index.mjs +65 -52
  81. package/dist/endowments/index.mjs.map +1 -1
  82. package/dist/endowments/keyring.cjs +96 -0
  83. package/dist/endowments/keyring.cjs.map +1 -0
  84. package/dist/{types/endowments/keyring.d.ts → endowments/keyring.d.cts} +7 -6
  85. package/dist/endowments/keyring.d.cts.map +1 -0
  86. package/dist/endowments/keyring.d.mts +40 -0
  87. package/dist/endowments/keyring.d.mts.map +1 -0
  88. package/dist/endowments/keyring.mjs +89 -15
  89. package/dist/endowments/keyring.mjs.map +1 -1
  90. package/dist/endowments/lifecycle-hooks.cjs +28 -0
  91. package/dist/endowments/lifecycle-hooks.cjs.map +1 -0
  92. package/dist/{types/endowments/lifecycle-hooks.d.ts → endowments/lifecycle-hooks.d.cts} +5 -4
  93. package/dist/endowments/lifecycle-hooks.d.cts.map +1 -0
  94. package/dist/endowments/lifecycle-hooks.d.mts +16 -0
  95. package/dist/endowments/lifecycle-hooks.d.mts.map +1 -0
  96. package/dist/endowments/lifecycle-hooks.mjs +23 -6
  97. package/dist/endowments/lifecycle-hooks.mjs.map +1 -1
  98. package/dist/endowments/name-lookup.cjs +141 -0
  99. package/dist/endowments/name-lookup.cjs.map +1 -0
  100. package/dist/{types/endowments/name-lookup.d.ts → endowments/name-lookup.d.cts} +6 -5
  101. package/dist/endowments/name-lookup.d.cts.map +1 -0
  102. package/dist/endowments/name-lookup.d.mts +50 -0
  103. package/dist/endowments/name-lookup.d.mts.map +1 -0
  104. package/dist/endowments/name-lookup.mjs +133 -17
  105. package/dist/endowments/name-lookup.mjs.map +1 -1
  106. package/dist/endowments/network-access.cjs +30 -0
  107. package/dist/endowments/network-access.cjs.map +1 -0
  108. package/dist/{types/endowments/network-access.d.ts → endowments/network-access.d.cts} +4 -3
  109. package/dist/endowments/network-access.d.cts.map +1 -0
  110. package/dist/endowments/network-access.d.mts +15 -0
  111. package/dist/endowments/network-access.d.mts.map +1 -0
  112. package/dist/endowments/network-access.mjs +25 -6
  113. package/dist/endowments/network-access.mjs.map +1 -1
  114. package/dist/endowments/rpc.cjs +90 -0
  115. package/dist/endowments/rpc.cjs.map +1 -0
  116. package/dist/{types/endowments/rpc.d.ts → endowments/rpc.d.cts} +7 -6
  117. package/dist/endowments/rpc.d.cts.map +1 -0
  118. package/dist/endowments/rpc.d.mts +39 -0
  119. package/dist/endowments/rpc.d.mts.map +1 -0
  120. package/dist/endowments/rpc.mjs +83 -15
  121. package/dist/endowments/rpc.mjs.map +1 -1
  122. package/dist/endowments/signature-insight.cjs +102 -0
  123. package/dist/endowments/signature-insight.cjs.map +1 -0
  124. package/dist/{types/endowments/signature-insight.d.ts → endowments/signature-insight.d.cts} +6 -5
  125. package/dist/endowments/signature-insight.d.cts.map +1 -0
  126. package/dist/endowments/signature-insight.d.mts +40 -0
  127. package/dist/endowments/signature-insight.d.mts.map +1 -0
  128. package/dist/endowments/signature-insight.mjs +95 -15
  129. package/dist/endowments/signature-insight.mjs.map +1 -1
  130. package/dist/endowments/transaction-insight.cjs +105 -0
  131. package/dist/endowments/transaction-insight.cjs.map +1 -0
  132. package/dist/{types/endowments/transaction-insight.d.ts → endowments/transaction-insight.d.cts} +6 -5
  133. package/dist/endowments/transaction-insight.d.cts.map +1 -0
  134. package/dist/endowments/transaction-insight.d.mts +40 -0
  135. package/dist/endowments/transaction-insight.d.mts.map +1 -0
  136. package/dist/endowments/transaction-insight.mjs +98 -15
  137. package/dist/endowments/transaction-insight.mjs.map +1 -1
  138. package/dist/endowments/web-assembly.cjs +31 -0
  139. package/dist/endowments/web-assembly.cjs.map +1 -0
  140. package/dist/{types/endowments/web-assembly.d.ts → endowments/web-assembly.d.cts} +4 -3
  141. package/dist/endowments/web-assembly.d.cts.map +1 -0
  142. package/dist/endowments/web-assembly.d.mts +15 -0
  143. package/dist/endowments/web-assembly.d.mts.map +1 -0
  144. package/dist/endowments/web-assembly.mjs +26 -6
  145. package/dist/endowments/web-assembly.mjs.map +1 -1
  146. package/dist/index.cjs +28 -0
  147. package/dist/index.cjs.map +1 -0
  148. package/dist/index.d.cts +8 -0
  149. package/dist/index.d.cts.map +1 -0
  150. package/dist/index.d.mts +8 -0
  151. package/dist/index.d.mts.map +1 -0
  152. package/dist/index.mjs +6 -122
  153. package/dist/index.mjs.map +1 -1
  154. package/dist/permissions.cjs +55 -0
  155. package/dist/permissions.cjs.map +1 -0
  156. package/dist/{types/permissions.d.ts → permissions.d.cts} +3 -2
  157. package/dist/permissions.d.cts.map +1 -0
  158. package/dist/permissions.d.mts +17 -0
  159. package/dist/permissions.d.mts.map +1 -0
  160. package/dist/permissions.mjs +48 -43
  161. package/dist/permissions.mjs.map +1 -1
  162. package/dist/permitted/createInterface.cjs +64 -0
  163. package/dist/permitted/createInterface.cjs.map +1 -0
  164. package/dist/{types/permitted/createInterface.d.ts → permitted/createInterface.d.cts} +48 -47
  165. package/dist/permitted/createInterface.d.cts.map +1 -0
  166. package/dist/permitted/createInterface.d.mts +181 -0
  167. package/dist/permitted/createInterface.d.mts.map +1 -0
  168. package/dist/permitted/createInterface.mjs +59 -5
  169. package/dist/permitted/createInterface.mjs.map +1 -1
  170. package/dist/permitted/getAllSnaps.cjs +39 -0
  171. package/dist/permitted/getAllSnaps.cjs.map +1 -0
  172. package/dist/{types/permitted/getAllSnaps.d.ts → permitted/getAllSnaps.d.cts} +4 -3
  173. package/dist/permitted/getAllSnaps.d.cts.map +1 -0
  174. package/dist/permitted/getAllSnaps.d.mts +15 -0
  175. package/dist/permitted/getAllSnaps.d.mts.map +1 -0
  176. package/dist/permitted/getAllSnaps.mjs +34 -5
  177. package/dist/permitted/getAllSnaps.mjs.map +1 -1
  178. package/dist/permitted/getClientStatus.cjs +32 -0
  179. package/dist/permitted/getClientStatus.cjs.map +1 -0
  180. package/dist/{types/permitted/getClientStatus.d.ts → permitted/getClientStatus.d.cts} +4 -3
  181. package/dist/permitted/getClientStatus.d.cts.map +1 -0
  182. package/dist/permitted/getClientStatus.d.mts +14 -0
  183. package/dist/permitted/getClientStatus.d.mts.map +1 -0
  184. package/dist/permitted/getClientStatus.mjs +27 -5
  185. package/dist/permitted/getClientStatus.mjs.map +1 -1
  186. package/dist/permitted/getFile.cjs +47 -0
  187. package/dist/permitted/getFile.cjs.map +1 -0
  188. package/dist/{types/permitted/getFile.d.ts → permitted/getFile.d.cts} +4 -3
  189. package/dist/permitted/getFile.d.cts.map +1 -0
  190. package/dist/permitted/getFile.d.mts +16 -0
  191. package/dist/permitted/getFile.d.mts.map +1 -0
  192. package/dist/permitted/getFile.mjs +42 -7
  193. package/dist/permitted/getFile.mjs.map +1 -1
  194. package/dist/permitted/getInterfaceState.cjs +62 -0
  195. package/dist/permitted/getInterfaceState.cjs.map +1 -0
  196. package/dist/{types/permitted/getInterfaceState.d.ts → permitted/getInterfaceState.d.cts} +4 -3
  197. package/dist/permitted/getInterfaceState.d.cts.map +1 -0
  198. package/dist/permitted/getInterfaceState.d.mts +19 -0
  199. package/dist/permitted/getInterfaceState.d.mts.map +1 -0
  200. package/dist/permitted/getInterfaceState.mjs +57 -5
  201. package/dist/permitted/getInterfaceState.mjs.map +1 -1
  202. package/dist/permitted/getSnaps.cjs +33 -0
  203. package/dist/permitted/getSnaps.cjs.map +1 -0
  204. package/dist/{types/permitted/getSnaps.d.ts → permitted/getSnaps.d.cts} +4 -3
  205. package/dist/permitted/getSnaps.d.cts.map +1 -0
  206. package/dist/permitted/getSnaps.d.mts +14 -0
  207. package/dist/permitted/getSnaps.d.mts.map +1 -0
  208. package/dist/permitted/getSnaps.mjs +28 -5
  209. package/dist/permitted/getSnaps.mjs.map +1 -1
  210. package/dist/permitted/handlers.cjs +31 -0
  211. package/dist/permitted/handlers.cjs.map +1 -0
  212. package/dist/{types/permitted/handlers.d.ts → permitted/handlers.d.cts} +1 -0
  213. package/dist/permitted/handlers.d.cts.map +1 -0
  214. package/dist/permitted/handlers.d.mts +35 -0
  215. package/dist/permitted/handlers.d.mts.map +1 -0
  216. package/dist/permitted/handlers.mjs +26 -19
  217. package/dist/permitted/handlers.mjs.map +1 -1
  218. package/dist/permitted/index.cjs +19 -0
  219. package/dist/permitted/index.cjs.map +1 -0
  220. package/dist/permitted/index.d.cts +12 -0
  221. package/dist/permitted/index.d.cts.map +1 -0
  222. package/dist/permitted/index.d.mts +12 -0
  223. package/dist/permitted/index.d.mts.map +1 -0
  224. package/dist/permitted/index.mjs +2 -26
  225. package/dist/permitted/index.mjs.map +1 -1
  226. package/dist/permitted/invokeKeyring.cjs +83 -0
  227. package/dist/permitted/invokeKeyring.cjs.map +1 -0
  228. package/dist/{types/permitted/invokeKeyring.d.ts → permitted/invokeKeyring.d.cts} +4 -3
  229. package/dist/permitted/invokeKeyring.d.cts.map +1 -0
  230. package/dist/permitted/invokeKeyring.d.mts +16 -0
  231. package/dist/permitted/invokeKeyring.d.mts.map +1 -0
  232. package/dist/permitted/invokeKeyring.mjs +78 -6
  233. package/dist/permitted/invokeKeyring.mjs.map +1 -1
  234. package/dist/permitted/invokeSnapSugar.cjs +68 -0
  235. package/dist/permitted/invokeSnapSugar.cjs.map +1 -0
  236. package/dist/{types/permitted/invokeSnapSugar.d.ts → permitted/invokeSnapSugar.d.cts} +5 -4
  237. package/dist/permitted/invokeSnapSugar.d.cts.map +1 -0
  238. package/dist/permitted/invokeSnapSugar.d.mts +35 -0
  239. package/dist/permitted/invokeSnapSugar.d.mts.map +1 -0
  240. package/dist/permitted/invokeSnapSugar.mjs +61 -9
  241. package/dist/permitted/invokeSnapSugar.mjs.map +1 -1
  242. package/dist/permitted/middleware.cjs +40 -0
  243. package/dist/permitted/middleware.cjs.map +1 -0
  244. package/dist/{types/permitted/middleware.d.ts → permitted/middleware.d.cts} +3 -2
  245. package/dist/permitted/middleware.d.cts.map +1 -0
  246. package/dist/permitted/middleware.d.mts +11 -0
  247. package/dist/permitted/middleware.d.mts.map +1 -0
  248. package/dist/permitted/middleware.mjs +35 -20
  249. package/dist/permitted/middleware.mjs.map +1 -1
  250. package/dist/permitted/requestSnaps.cjs +121 -0
  251. package/dist/permitted/requestSnaps.cjs.map +1 -0
  252. package/dist/{types/permitted/requestSnaps.d.ts → permitted/requestSnaps.d.cts} +4 -3
  253. package/dist/permitted/requestSnaps.d.cts.map +1 -0
  254. package/dist/permitted/requestSnaps.d.mts +51 -0
  255. package/dist/permitted/requestSnaps.d.mts.map +1 -0
  256. package/dist/permitted/requestSnaps.mjs +114 -10
  257. package/dist/permitted/requestSnaps.mjs.map +1 -1
  258. package/dist/permitted/resolveInterface.cjs +65 -0
  259. package/dist/permitted/resolveInterface.cjs.map +1 -0
  260. package/dist/{types/permitted/resolveInterface.d.ts → permitted/resolveInterface.d.cts} +6 -5
  261. package/dist/permitted/resolveInterface.d.cts.map +1 -0
  262. package/dist/permitted/resolveInterface.d.mts +22 -0
  263. package/dist/permitted/resolveInterface.d.mts.map +1 -0
  264. package/dist/permitted/resolveInterface.mjs +60 -5
  265. package/dist/permitted/resolveInterface.mjs.map +1 -1
  266. package/dist/permitted/updateInterface.cjs +65 -0
  267. package/dist/permitted/updateInterface.cjs.map +1 -0
  268. package/dist/{types/permitted/updateInterface.d.ts → permitted/updateInterface.d.cts} +48 -47
  269. package/dist/permitted/updateInterface.d.cts.map +1 -0
  270. package/dist/permitted/updateInterface.d.mts +181 -0
  271. package/dist/permitted/updateInterface.d.mts.map +1 -0
  272. package/dist/permitted/updateInterface.mjs +60 -5
  273. package/dist/permitted/updateInterface.mjs.map +1 -1
  274. package/dist/restricted/caveats/index.cjs +22 -0
  275. package/dist/restricted/caveats/index.cjs.map +1 -0
  276. package/dist/{types/restricted/caveats/index.d.ts → restricted/caveats/index.d.cts} +3 -2
  277. package/dist/restricted/caveats/index.d.cts.map +1 -0
  278. package/dist/restricted/caveats/index.d.mts +9 -0
  279. package/dist/restricted/caveats/index.d.mts.map +1 -0
  280. package/dist/restricted/caveats/index.mjs +17 -15
  281. package/dist/restricted/caveats/index.mjs.map +1 -1
  282. package/dist/restricted/caveats/permittedCoinTypes.cjs +90 -0
  283. package/dist/restricted/caveats/permittedCoinTypes.cjs.map +1 -0
  284. package/dist/{types/restricted/caveats/permittedCoinTypes.d.ts → restricted/caveats/permittedCoinTypes.d.cts} +5 -4
  285. package/dist/restricted/caveats/permittedCoinTypes.d.cts.map +1 -0
  286. package/dist/restricted/caveats/permittedCoinTypes.d.mts +30 -0
  287. package/dist/restricted/caveats/permittedCoinTypes.d.mts.map +1 -0
  288. package/dist/restricted/caveats/permittedCoinTypes.mjs +82 -11
  289. package/dist/restricted/caveats/permittedCoinTypes.mjs.map +1 -1
  290. package/dist/restricted/caveats/permittedDerivationPaths.cjs +70 -0
  291. package/dist/restricted/caveats/permittedDerivationPaths.cjs.map +1 -0
  292. package/dist/{types/restricted/caveats/permittedDerivationPaths.d.ts → restricted/caveats/permittedDerivationPaths.d.cts} +5 -4
  293. package/dist/restricted/caveats/permittedDerivationPaths.d.cts.map +1 -0
  294. package/dist/restricted/caveats/permittedDerivationPaths.d.mts +33 -0
  295. package/dist/restricted/caveats/permittedDerivationPaths.d.mts.map +1 -0
  296. package/dist/restricted/caveats/permittedDerivationPaths.mjs +62 -11
  297. package/dist/restricted/caveats/permittedDerivationPaths.mjs.map +1 -1
  298. package/dist/restricted/caveats/snapIds.cjs +56 -0
  299. package/dist/restricted/caveats/snapIds.cjs.map +1 -0
  300. package/dist/{types/restricted/caveats/snapIds.d.ts → restricted/caveats/snapIds.d.cts} +5 -4
  301. package/dist/restricted/caveats/snapIds.d.cts.map +1 -0
  302. package/dist/restricted/caveats/snapIds.d.mts +22 -0
  303. package/dist/restricted/caveats/snapIds.d.mts.map +1 -0
  304. package/dist/restricted/caveats/snapIds.mjs +49 -9
  305. package/dist/restricted/caveats/snapIds.mjs.map +1 -1
  306. package/dist/restricted/dialog.cjs +222 -0
  307. package/dist/restricted/dialog.cjs.map +1 -0
  308. package/dist/restricted/dialog.d.cts +432 -0
  309. package/dist/restricted/dialog.d.cts.map +1 -0
  310. package/dist/restricted/dialog.d.mts +432 -0
  311. package/dist/restricted/dialog.d.mts.map +1 -0
  312. package/dist/restricted/dialog.mjs +216 -9
  313. package/dist/restricted/dialog.mjs.map +1 -1
  314. package/dist/restricted/getBip32Entropy.cjs +69 -0
  315. package/dist/restricted/getBip32Entropy.cjs.map +1 -0
  316. package/dist/{types/restricted/getBip32Entropy.d.ts → restricted/getBip32Entropy.d.cts} +6 -5
  317. package/dist/restricted/getBip32Entropy.d.cts.map +1 -0
  318. package/dist/restricted/getBip32Entropy.d.mts +45 -0
  319. package/dist/restricted/getBip32Entropy.d.mts.map +1 -0
  320. package/dist/restricted/getBip32Entropy.mjs +63 -8
  321. package/dist/restricted/getBip32Entropy.mjs.map +1 -1
  322. package/dist/restricted/getBip32PublicKey.cjs +78 -0
  323. package/dist/restricted/getBip32PublicKey.cjs.map +1 -0
  324. package/dist/{types/restricted/getBip32PublicKey.d.ts → restricted/getBip32PublicKey.d.cts} +7 -6
  325. package/dist/restricted/getBip32PublicKey.d.cts.map +1 -0
  326. package/dist/restricted/getBip32PublicKey.d.mts +54 -0
  327. package/dist/restricted/getBip32PublicKey.d.mts.map +1 -0
  328. package/dist/restricted/getBip32PublicKey.mjs +72 -10
  329. package/dist/restricted/getBip32PublicKey.mjs.map +1 -1
  330. package/dist/restricted/getBip44Entropy.cjs +71 -0
  331. package/dist/restricted/getBip44Entropy.cjs.map +1 -0
  332. package/dist/{types/restricted/getBip44Entropy.d.ts → restricted/getBip44Entropy.d.cts} +6 -5
  333. package/dist/restricted/getBip44Entropy.d.cts.map +1 -0
  334. package/dist/restricted/getBip44Entropy.d.mts +47 -0
  335. package/dist/restricted/getBip44Entropy.d.mts.map +1 -0
  336. package/dist/restricted/getBip44Entropy.mjs +65 -7
  337. package/dist/restricted/getBip44Entropy.mjs.map +1 -1
  338. package/dist/restricted/getEntropy.cjs +59 -0
  339. package/dist/restricted/getEntropy.cjs.map +1 -0
  340. package/dist/{types/restricted/getEntropy.d.ts → restricted/getEntropy.d.cts} +7 -6
  341. package/dist/restricted/getEntropy.d.cts.map +1 -0
  342. package/dist/restricted/getEntropy.d.mts +62 -0
  343. package/dist/restricted/getEntropy.d.mts.map +1 -0
  344. package/dist/restricted/getEntropy.mjs +54 -8
  345. package/dist/restricted/getEntropy.mjs.map +1 -1
  346. package/dist/restricted/getLocale.cjs +47 -0
  347. package/dist/restricted/getLocale.cjs.map +1 -0
  348. package/dist/{types/restricted/getLocale.d.ts → restricted/getLocale.d.cts} +6 -5
  349. package/dist/restricted/getLocale.d.cts.map +1 -0
  350. package/dist/restricted/getLocale.d.mts +50 -0
  351. package/dist/restricted/getLocale.d.mts.map +1 -0
  352. package/dist/restricted/getLocale.mjs +40 -9
  353. package/dist/restricted/getLocale.mjs.map +1 -1
  354. package/dist/restricted/getPreferences.cjs +46 -0
  355. package/dist/restricted/getPreferences.cjs.map +1 -0
  356. package/dist/{types/restricted/getPreferences.d.ts → restricted/getPreferences.d.cts} +6 -5
  357. package/dist/restricted/getPreferences.d.cts.map +1 -0
  358. package/dist/restricted/getPreferences.d.mts +49 -0
  359. package/dist/restricted/getPreferences.d.mts.map +1 -0
  360. package/dist/restricted/getPreferences.mjs +39 -9
  361. package/dist/restricted/getPreferences.mjs.map +1 -1
  362. package/dist/restricted/index.cjs +49 -0
  363. package/dist/restricted/index.cjs.map +1 -0
  364. package/dist/{types/restricted/index.d.ts → restricted/index.d.cts} +17 -16
  365. package/dist/restricted/index.d.cts.map +1 -0
  366. package/dist/restricted/index.d.mts +169 -0
  367. package/dist/restricted/index.d.mts.map +1 -0
  368. package/dist/restricted/index.mjs +27 -35
  369. package/dist/restricted/index.mjs.map +1 -1
  370. package/dist/restricted/invokeSnap.cjs +96 -0
  371. package/dist/restricted/invokeSnap.cjs.map +1 -0
  372. package/dist/{types/restricted/invokeSnap.d.ts → restricted/invokeSnap.d.cts} +8 -6
  373. package/dist/restricted/invokeSnap.d.cts.map +1 -0
  374. package/dist/restricted/invokeSnap.d.mts +65 -0
  375. package/dist/restricted/invokeSnap.d.mts.map +1 -0
  376. package/dist/restricted/invokeSnap.mjs +89 -11
  377. package/dist/restricted/invokeSnap.mjs.map +1 -1
  378. package/dist/restricted/manageAccounts.cjs +61 -0
  379. package/dist/restricted/manageAccounts.cjs.map +1 -0
  380. package/dist/{types/restricted/manageAccounts.d.ts → restricted/manageAccounts.d.cts} +6 -5
  381. package/dist/restricted/manageAccounts.d.cts.map +1 -0
  382. package/dist/restricted/manageAccounts.d.mts +65 -0
  383. package/dist/restricted/manageAccounts.d.mts.map +1 -0
  384. package/dist/restricted/manageAccounts.mjs +54 -11
  385. package/dist/restricted/manageAccounts.mjs.map +1 -1
  386. package/dist/restricted/manageState.cjs +175 -0
  387. package/dist/restricted/manageState.cjs.map +1 -0
  388. package/dist/{types/restricted/manageState.d.ts → restricted/manageState.d.cts} +6 -5
  389. package/dist/restricted/manageState.d.cts.map +1 -0
  390. package/dist/restricted/manageState.d.mts +111 -0
  391. package/dist/restricted/manageState.d.mts.map +1 -0
  392. package/dist/restricted/manageState.mjs +166 -18
  393. package/dist/restricted/manageState.mjs.map +1 -1
  394. package/dist/restricted/notify.cjs +108 -0
  395. package/dist/restricted/notify.cjs.map +1 -0
  396. package/dist/{types/restricted/notify.d.ts → restricted/notify.d.cts} +7 -6
  397. package/dist/restricted/notify.d.cts.map +1 -0
  398. package/dist/restricted/notify.d.mts +83 -0
  399. package/dist/restricted/notify.d.mts.map +1 -0
  400. package/dist/restricted/notify.mjs +100 -11
  401. package/dist/restricted/notify.mjs.map +1 -1
  402. package/dist/utils.cjs +140 -0
  403. package/dist/utils.cjs.map +1 -0
  404. package/dist/{types/utils.d.ts → utils.d.cts} +6 -4
  405. package/dist/utils.d.cts.map +1 -0
  406. package/dist/utils.d.mts +98 -0
  407. package/dist/utils.d.mts.map +1 -0
  408. package/dist/utils.mjs +132 -12
  409. package/dist/utils.mjs.map +1 -1
  410. package/package.json +20 -19
  411. package/dist/chunk-23XDKQW2.mjs +0 -73
  412. package/dist/chunk-23XDKQW2.mjs.map +0 -1
  413. package/dist/chunk-2CTOCP34.mjs +0 -45
  414. package/dist/chunk-2CTOCP34.mjs.map +0 -1
  415. package/dist/chunk-2L2ATCIK.mjs +0 -78
  416. package/dist/chunk-2L2ATCIK.mjs.map +0 -1
  417. package/dist/chunk-2RDYC42U.mjs +0 -67
  418. package/dist/chunk-2RDYC42U.mjs.map +0 -1
  419. package/dist/chunk-2SFH57UV.js +0 -21
  420. package/dist/chunk-33LLA2MH.mjs +0 -75
  421. package/dist/chunk-33LLA2MH.mjs.map +0 -1
  422. package/dist/chunk-33MTKZ4H.js +0 -90
  423. package/dist/chunk-33MTKZ4H.js.map +0 -1
  424. package/dist/chunk-3UAWEHMF.js +0 -18
  425. package/dist/chunk-3UAWEHMF.js.map +0 -1
  426. package/dist/chunk-3WCLDJAS.mjs +0 -74
  427. package/dist/chunk-3WCLDJAS.mjs.map +0 -1
  428. package/dist/chunk-3WKIKYUH.js +0 -78
  429. package/dist/chunk-3WKIKYUH.js.map +0 -1
  430. package/dist/chunk-4D2B2UQ6.mjs +0 -23
  431. package/dist/chunk-4D2B2UQ6.mjs.map +0 -1
  432. package/dist/chunk-4LSOS7SM.js +0 -23
  433. package/dist/chunk-4LSOS7SM.js.map +0 -1
  434. package/dist/chunk-4PWFZPJC.js +0 -79
  435. package/dist/chunk-4PWFZPJC.js.map +0 -1
  436. package/dist/chunk-57BL7O2P.mjs +0 -69
  437. package/dist/chunk-57BL7O2P.mjs.map +0 -1
  438. package/dist/chunk-62URQ5VS.mjs +0 -18
  439. package/dist/chunk-62URQ5VS.mjs.map +0 -1
  440. package/dist/chunk-6XKVFSC2.js +0 -32
  441. package/dist/chunk-6XKVFSC2.js.map +0 -1
  442. package/dist/chunk-756OQVOC.js +0 -67
  443. package/dist/chunk-756OQVOC.js.map +0 -1
  444. package/dist/chunk-7CV677MM.js +0 -42
  445. package/dist/chunk-7CV677MM.js.map +0 -1
  446. package/dist/chunk-7HVABE5R.js +0 -74
  447. package/dist/chunk-7HVABE5R.js.map +0 -1
  448. package/dist/chunk-7P6TF6CE.mjs +0 -55
  449. package/dist/chunk-7P6TF6CE.mjs.map +0 -1
  450. package/dist/chunk-7TVJV425.js +0 -1
  451. package/dist/chunk-7TVJV425.js.map +0 -1
  452. package/dist/chunk-A6H6I4VH.js +0 -61
  453. package/dist/chunk-A6H6I4VH.js.map +0 -1
  454. package/dist/chunk-AMMJ744B.mjs +0 -32
  455. package/dist/chunk-AMMJ744B.mjs.map +0 -1
  456. package/dist/chunk-ATBKAX2S.js +0 -39
  457. package/dist/chunk-ATBKAX2S.js.map +0 -1
  458. package/dist/chunk-B3NIHNXW.js +0 -23
  459. package/dist/chunk-B3NIHNXW.js.map +0 -1
  460. package/dist/chunk-CD4OUHO5.mjs +0 -20
  461. package/dist/chunk-CD4OUHO5.mjs.map +0 -1
  462. package/dist/chunk-CDAVFOUS.js +0 -53
  463. package/dist/chunk-CDAVFOUS.js.map +0 -1
  464. package/dist/chunk-CH5O2YCX.mjs +0 -18
  465. package/dist/chunk-CH5O2YCX.mjs.map +0 -1
  466. package/dist/chunk-DLVPMPRZ.js +0 -45
  467. package/dist/chunk-DLVPMPRZ.js.map +0 -1
  468. package/dist/chunk-DTZF746A.mjs +0 -21
  469. package/dist/chunk-DTZF746A.mjs.map +0 -1
  470. package/dist/chunk-E27BGHCR.js +0 -78
  471. package/dist/chunk-E27BGHCR.js.map +0 -1
  472. package/dist/chunk-ELCOEVKA.js +0 -196
  473. package/dist/chunk-ELCOEVKA.js.map +0 -1
  474. package/dist/chunk-EOXTZF5U.js +0 -47
  475. package/dist/chunk-EOXTZF5U.js.map +0 -1
  476. package/dist/chunk-FCVWU5XH.js +0 -73
  477. package/dist/chunk-FFHVA6PP.js +0 -82
  478. package/dist/chunk-FFHVA6PP.js.map +0 -1
  479. package/dist/chunk-FJ7COFRJ.mjs +0 -54
  480. package/dist/chunk-FJ7COFRJ.mjs.map +0 -1
  481. package/dist/chunk-FM4LNQR7.mjs +0 -34
  482. package/dist/chunk-FM4LNQR7.mjs.map +0 -1
  483. package/dist/chunk-GE5XFDUE.js +0 -21
  484. package/dist/chunk-GE5XFDUE.js.map +0 -1
  485. package/dist/chunk-GEJDXRTL.mjs +0 -59
  486. package/dist/chunk-GEJDXRTL.mjs.map +0 -1
  487. package/dist/chunk-GPV4ETUH.mjs +0 -47
  488. package/dist/chunk-GPV4ETUH.mjs.map +0 -1
  489. package/dist/chunk-H6X3CWWQ.js +0 -54
  490. package/dist/chunk-H6X3CWWQ.js.map +0 -1
  491. package/dist/chunk-HOECEYMT.mjs +0 -70
  492. package/dist/chunk-HOECEYMT.mjs.map +0 -1
  493. package/dist/chunk-I2P65KBQ.mjs +0 -67
  494. package/dist/chunk-I2P65KBQ.mjs.map +0 -1
  495. package/dist/chunk-I3G6S6MJ.js +0 -68
  496. package/dist/chunk-I3G6S6MJ.js.map +0 -1
  497. package/dist/chunk-IE6EHYEG.js +0 -57
  498. package/dist/chunk-IE6EHYEG.js.map +0 -1
  499. package/dist/chunk-JWDQUKKU.mjs +0 -80
  500. package/dist/chunk-JWDQUKKU.mjs.map +0 -1
  501. package/dist/chunk-K3UL5RVN.mjs +0 -43
  502. package/dist/chunk-K3UL5RVN.mjs.map +0 -1
  503. package/dist/chunk-KRSIAVUJ.js +0 -115
  504. package/dist/chunk-KRSIAVUJ.js.map +0 -1
  505. package/dist/chunk-KSTF5JYB.mjs +0 -23
  506. package/dist/chunk-KSTF5JYB.mjs.map +0 -1
  507. package/dist/chunk-LP3RWEDJ.js +0 -43
  508. package/dist/chunk-LP3RWEDJ.js.map +0 -1
  509. package/dist/chunk-LR7UR4YU.mjs +0 -52
  510. package/dist/chunk-LR7UR4YU.mjs.map +0 -1
  511. package/dist/chunk-LXJBBRQ4.mjs +0 -57
  512. package/dist/chunk-LXJBBRQ4.mjs.map +0 -1
  513. package/dist/chunk-M2JQCKR7.js +0 -143
  514. package/dist/chunk-M2JQCKR7.js.map +0 -1
  515. package/dist/chunk-MC2Z4NF6.mjs +0 -45
  516. package/dist/chunk-MC2Z4NF6.mjs.map +0 -1
  517. package/dist/chunk-MXPVC2XP.mjs +0 -105
  518. package/dist/chunk-MXPVC2XP.mjs.map +0 -1
  519. package/dist/chunk-NU4NAAFG.js +0 -1
  520. package/dist/chunk-NU4NAAFG.js.map +0 -1
  521. package/dist/chunk-NWT2EXFD.js +0 -18
  522. package/dist/chunk-NWT2EXFD.js.map +0 -1
  523. package/dist/chunk-O66NZFSD.mjs +0 -23
  524. package/dist/chunk-O66NZFSD.mjs.map +0 -1
  525. package/dist/chunk-ODN35VOK.mjs +0 -119
  526. package/dist/chunk-ODN35VOK.mjs.map +0 -1
  527. package/dist/chunk-OI33OL7K.js +0 -47
  528. package/dist/chunk-OI33OL7K.js.map +0 -1
  529. package/dist/chunk-PIAWDTWO.mjs +0 -68
  530. package/dist/chunk-PIAWDTWO.mjs.map +0 -1
  531. package/dist/chunk-PIRQCNBJ.mjs +0 -78
  532. package/dist/chunk-PIRQCNBJ.mjs.map +0 -1
  533. package/dist/chunk-PK2RPAXI.js +0 -59
  534. package/dist/chunk-PK2RPAXI.js.map +0 -1
  535. package/dist/chunk-PS6OEQXL.js +0 -105
  536. package/dist/chunk-PS6OEQXL.js.map +0 -1
  537. package/dist/chunk-PXU6PORA.js +0 -119
  538. package/dist/chunk-PXU6PORA.js.map +0 -1
  539. package/dist/chunk-Q27K2I6Z.js +0 -23
  540. package/dist/chunk-Q27K2I6Z.js.map +0 -1
  541. package/dist/chunk-QDZAWH6F.js +0 -80
  542. package/dist/chunk-QDZAWH6F.js.map +0 -1
  543. package/dist/chunk-QMULJEYN.js +0 -35
  544. package/dist/chunk-QMULJEYN.js.map +0 -1
  545. package/dist/chunk-RHPSYX7X.js +0 -34
  546. package/dist/chunk-RHPSYX7X.js.map +0 -1
  547. package/dist/chunk-T56DKVFS.js +0 -70
  548. package/dist/chunk-T56DKVFS.js.map +0 -1
  549. package/dist/chunk-TAXLFFV4.mjs +0 -115
  550. package/dist/chunk-TAXLFFV4.mjs.map +0 -1
  551. package/dist/chunk-TE4W25CA.mjs +0 -143
  552. package/dist/chunk-TE4W25CA.mjs.map +0 -1
  553. package/dist/chunk-TG63GBK3.mjs +0 -1
  554. package/dist/chunk-TG63GBK3.mjs.map +0 -1
  555. package/dist/chunk-TNENASGX.mjs +0 -1
  556. package/dist/chunk-TNENASGX.mjs.map +0 -1
  557. package/dist/chunk-TQCUJQHY.mjs +0 -196
  558. package/dist/chunk-TQCUJQHY.mjs.map +0 -1
  559. package/dist/chunk-TT4DP2YW.mjs +0 -35
  560. package/dist/chunk-TT4DP2YW.mjs.map +0 -1
  561. package/dist/chunk-TVC3E5LI.mjs +0 -42
  562. package/dist/chunk-TVC3E5LI.mjs.map +0 -1
  563. package/dist/chunk-U6TJQLNV.js +0 -45
  564. package/dist/chunk-U6TJQLNV.js.map +0 -1
  565. package/dist/chunk-UB3733UY.mjs +0 -23
  566. package/dist/chunk-UB3733UY.mjs.map +0 -1
  567. package/dist/chunk-UCWANXBZ.js +0 -45
  568. package/dist/chunk-UCWANXBZ.js.map +0 -1
  569. package/dist/chunk-UF3UJTY3.js +0 -55
  570. package/dist/chunk-UF3UJTY3.js.map +0 -1
  571. package/dist/chunk-UY4DUF53.mjs +0 -45
  572. package/dist/chunk-UY4DUF53.mjs.map +0 -1
  573. package/dist/chunk-V3KRSCUK.mjs +0 -53
  574. package/dist/chunk-V3KRSCUK.mjs.map +0 -1
  575. package/dist/chunk-VUA6ICJO.js +0 -52
  576. package/dist/chunk-VUA6ICJO.js.map +0 -1
  577. package/dist/chunk-VVBTXSID.mjs +0 -82
  578. package/dist/chunk-VVBTXSID.mjs.map +0 -1
  579. package/dist/chunk-VYII7C3J.mjs +0 -79
  580. package/dist/chunk-VYII7C3J.mjs.map +0 -1
  581. package/dist/chunk-W33UWNA2.mjs +0 -90
  582. package/dist/chunk-W33UWNA2.mjs.map +0 -1
  583. package/dist/chunk-XGMYBPQR.mjs +0 -47
  584. package/dist/chunk-XGMYBPQR.mjs.map +0 -1
  585. package/dist/chunk-YGKFOOWI.js +0 -20
  586. package/dist/chunk-YGKFOOWI.js.map +0 -1
  587. package/dist/chunk-YOHE52XB.js +0 -23
  588. package/dist/chunk-YOHE52XB.js.map +0 -1
  589. package/dist/chunk-YT2Q3W5C.js +0 -69
  590. package/dist/chunk-YT2Q3W5C.js.map +0 -1
  591. package/dist/chunk-YZMFLB67.js +0 -75
  592. package/dist/chunk-YZMFLB67.js.map +0 -1
  593. package/dist/chunk-Z6YFGWHN.mjs +0 -61
  594. package/dist/chunk-Z6YFGWHN.mjs.map +0 -1
  595. package/dist/chunk-ZH3FC55E.mjs +0 -21
  596. package/dist/chunk-ZH3FC55E.mjs.map +0 -1
  597. package/dist/chunk-ZKISN6YP.js +0 -67
  598. package/dist/chunk-ZKISN6YP.js.map +0 -1
  599. package/dist/chunk-ZXDCQWMJ.mjs +0 -39
  600. package/dist/chunk-ZXDCQWMJ.mjs.map +0 -1
  601. package/dist/endowments/caveats/generic.js +0 -7
  602. package/dist/endowments/caveats/generic.js.map +0 -1
  603. package/dist/endowments/caveats/index.js +0 -18
  604. package/dist/endowments/caveats/index.js.map +0 -1
  605. package/dist/endowments/caveats/requestTime.js +0 -13
  606. package/dist/endowments/caveats/requestTime.js.map +0 -1
  607. package/dist/endowments/cronjob.js +0 -16
  608. package/dist/endowments/cronjob.js.map +0 -1
  609. package/dist/endowments/enum.js +0 -7
  610. package/dist/endowments/enum.js.map +0 -1
  611. package/dist/endowments/ethereum-provider.js +0 -8
  612. package/dist/endowments/ethereum-provider.js.map +0 -1
  613. package/dist/endowments/home-page.js +0 -8
  614. package/dist/endowments/home-page.js.map +0 -1
  615. package/dist/endowments/index.js +0 -54
  616. package/dist/endowments/index.js.map +0 -1
  617. package/dist/endowments/keyring.js +0 -17
  618. package/dist/endowments/keyring.js.map +0 -1
  619. package/dist/endowments/lifecycle-hooks.js +0 -8
  620. package/dist/endowments/lifecycle-hooks.js.map +0 -1
  621. package/dist/endowments/name-lookup.js +0 -19
  622. package/dist/endowments/name-lookup.js.map +0 -1
  623. package/dist/endowments/network-access.js +0 -8
  624. package/dist/endowments/network-access.js.map +0 -1
  625. package/dist/endowments/rpc.js +0 -17
  626. package/dist/endowments/rpc.js.map +0 -1
  627. package/dist/endowments/signature-insight.js +0 -17
  628. package/dist/endowments/signature-insight.js.map +0 -1
  629. package/dist/endowments/transaction-insight.js +0 -17
  630. package/dist/endowments/transaction-insight.js.map +0 -1
  631. package/dist/endowments/web-assembly.js +0 -8
  632. package/dist/endowments/web-assembly.js.map +0 -1
  633. package/dist/index.js +0 -123
  634. package/dist/index.js.map +0 -1
  635. package/dist/permissions.js +0 -44
  636. package/dist/permissions.js.map +0 -1
  637. package/dist/permitted/createInterface.js +0 -7
  638. package/dist/permitted/createInterface.js.map +0 -1
  639. package/dist/permitted/getAllSnaps.js +0 -7
  640. package/dist/permitted/getAllSnaps.js.map +0 -1
  641. package/dist/permitted/getClientStatus.js +0 -7
  642. package/dist/permitted/getClientStatus.js.map +0 -1
  643. package/dist/permitted/getFile.js +0 -9
  644. package/dist/permitted/getFile.js.map +0 -1
  645. package/dist/permitted/getInterfaceState.js +0 -7
  646. package/dist/permitted/getInterfaceState.js.map +0 -1
  647. package/dist/permitted/getSnaps.js +0 -7
  648. package/dist/permitted/getSnaps.js.map +0 -1
  649. package/dist/permitted/handlers.js +0 -21
  650. package/dist/permitted/handlers.js.map +0 -1
  651. package/dist/permitted/index.js +0 -27
  652. package/dist/permitted/index.js.map +0 -1
  653. package/dist/permitted/invokeKeyring.js +0 -8
  654. package/dist/permitted/invokeKeyring.js.map +0 -1
  655. package/dist/permitted/invokeSnapSugar.js +0 -11
  656. package/dist/permitted/invokeSnapSugar.js.map +0 -1
  657. package/dist/permitted/middleware.js +0 -21
  658. package/dist/permitted/middleware.js.map +0 -1
  659. package/dist/permitted/requestSnaps.js +0 -12
  660. package/dist/permitted/requestSnaps.js.map +0 -1
  661. package/dist/permitted/resolveInterface.js +0 -7
  662. package/dist/permitted/resolveInterface.js.map +0 -1
  663. package/dist/permitted/updateInterface.js +0 -7
  664. package/dist/permitted/updateInterface.js.map +0 -1
  665. package/dist/restricted/caveats/index.js +0 -17
  666. package/dist/restricted/caveats/index.js.map +0 -1
  667. package/dist/restricted/caveats/permittedCoinTypes.js +0 -13
  668. package/dist/restricted/caveats/permittedCoinTypes.js.map +0 -1
  669. package/dist/restricted/caveats/permittedDerivationPaths.js +0 -13
  670. package/dist/restricted/caveats/permittedDerivationPaths.js.map +0 -1
  671. package/dist/restricted/caveats/snapIds.js +0 -11
  672. package/dist/restricted/caveats/snapIds.js.map +0 -1
  673. package/dist/restricted/dialog.js +0 -11
  674. package/dist/restricted/dialog.js.map +0 -1
  675. package/dist/restricted/getBip32Entropy.js +0 -10
  676. package/dist/restricted/getBip32Entropy.js.map +0 -1
  677. package/dist/restricted/getBip32PublicKey.js +0 -12
  678. package/dist/restricted/getBip32PublicKey.js.map +0 -1
  679. package/dist/restricted/getBip44Entropy.js +0 -9
  680. package/dist/restricted/getBip44Entropy.js.map +0 -1
  681. package/dist/restricted/getEntropy.js +0 -10
  682. package/dist/restricted/getEntropy.js.map +0 -1
  683. package/dist/restricted/getLocale.js +0 -11
  684. package/dist/restricted/getLocale.js.map +0 -1
  685. package/dist/restricted/getPreferences.js +0 -11
  686. package/dist/restricted/getPreferences.js.map +0 -1
  687. package/dist/restricted/index.js +0 -37
  688. package/dist/restricted/index.js.map +0 -1
  689. package/dist/restricted/invokeSnap.js +0 -13
  690. package/dist/restricted/invokeSnap.js.map +0 -1
  691. package/dist/restricted/manageAccounts.js +0 -13
  692. package/dist/restricted/manageAccounts.js.map +0 -1
  693. package/dist/restricted/manageState.js +0 -20
  694. package/dist/restricted/manageState.js.map +0 -1
  695. package/dist/restricted/notify.js +0 -13
  696. package/dist/restricted/notify.js.map +0 -1
  697. package/dist/tsconfig.build.tsbuildinfo +0 -1
  698. package/dist/types/__fixtures__/index.d.ts +0 -1
  699. package/dist/types/endowments/caveats/index.d.ts +0 -2
  700. package/dist/types/index.d.ts +0 -7
  701. package/dist/types/permitted/index.d.ts +0 -11
  702. package/dist/types/restricted/dialog.d.ts +0 -1463
  703. package/dist/utils.js +0 -13
  704. package/dist/utils.js.map +0 -1
@@ -1,115 +0,0 @@
1
- import {
2
- getKeyringCaveatMapper,
3
- keyringCaveatSpecifications,
4
- keyringEndowmentBuilder
5
- } from "./chunk-HOECEYMT.mjs";
6
- import {
7
- lifecycleHooksEndowmentBuilder
8
- } from "./chunk-DTZF746A.mjs";
9
- import {
10
- getNameLookupCaveatMapper,
11
- nameLookupCaveatSpecifications,
12
- nameLookupEndowmentBuilder
13
- } from "./chunk-ODN35VOK.mjs";
14
- import {
15
- networkAccessEndowmentBuilder
16
- } from "./chunk-4D2B2UQ6.mjs";
17
- import {
18
- getRpcCaveatMapper,
19
- rpcCaveatSpecifications,
20
- rpcEndowmentBuilder
21
- } from "./chunk-57BL7O2P.mjs";
22
- import {
23
- getSignatureInsightCaveatMapper,
24
- signatureInsightCaveatSpecifications,
25
- signatureInsightEndowmentBuilder
26
- } from "./chunk-33LLA2MH.mjs";
27
- import {
28
- getTransactionInsightCaveatMapper,
29
- transactionInsightCaveatSpecifications,
30
- transactionInsightEndowmentBuilder
31
- } from "./chunk-PIRQCNBJ.mjs";
32
- import {
33
- createMaxRequestTimeMapper,
34
- getMaxRequestTimeCaveatMapper,
35
- maxRequestTimeCaveatSpecifications
36
- } from "./chunk-23XDKQW2.mjs";
37
- import {
38
- webAssemblyEndowmentBuilder
39
- } from "./chunk-O66NZFSD.mjs";
40
- import {
41
- cronjobCaveatSpecifications,
42
- cronjobEndowmentBuilder,
43
- getCronjobCaveatMapper
44
- } from "./chunk-3WCLDJAS.mjs";
45
- import {
46
- ethereumProviderEndowmentBuilder
47
- } from "./chunk-KSTF5JYB.mjs";
48
- import {
49
- homePageEndowmentBuilder
50
- } from "./chunk-ZH3FC55E.mjs";
51
-
52
- // src/endowments/index.ts
53
- import { HandlerType } from "@metamask/snaps-utils";
54
- var endowmentPermissionBuilders = {
55
- [networkAccessEndowmentBuilder.targetName]: networkAccessEndowmentBuilder,
56
- [transactionInsightEndowmentBuilder.targetName]: transactionInsightEndowmentBuilder,
57
- [cronjobEndowmentBuilder.targetName]: cronjobEndowmentBuilder,
58
- [ethereumProviderEndowmentBuilder.targetName]: ethereumProviderEndowmentBuilder,
59
- [rpcEndowmentBuilder.targetName]: rpcEndowmentBuilder,
60
- [webAssemblyEndowmentBuilder.targetName]: webAssemblyEndowmentBuilder,
61
- [nameLookupEndowmentBuilder.targetName]: nameLookupEndowmentBuilder,
62
- [lifecycleHooksEndowmentBuilder.targetName]: lifecycleHooksEndowmentBuilder,
63
- [keyringEndowmentBuilder.targetName]: keyringEndowmentBuilder,
64
- [homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder,
65
- [signatureInsightEndowmentBuilder.targetName]: signatureInsightEndowmentBuilder
66
- };
67
- var endowmentCaveatSpecifications = {
68
- ...cronjobCaveatSpecifications,
69
- ...transactionInsightCaveatSpecifications,
70
- ...rpcCaveatSpecifications,
71
- ...nameLookupCaveatSpecifications,
72
- ...keyringCaveatSpecifications,
73
- ...signatureInsightCaveatSpecifications,
74
- ...maxRequestTimeCaveatSpecifications
75
- };
76
- var endowmentCaveatMappers = {
77
- [cronjobEndowmentBuilder.targetName]: createMaxRequestTimeMapper(
78
- getCronjobCaveatMapper
79
- ),
80
- [transactionInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(
81
- getTransactionInsightCaveatMapper
82
- ),
83
- [rpcEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getRpcCaveatMapper),
84
- [nameLookupEndowmentBuilder.targetName]: createMaxRequestTimeMapper(
85
- getNameLookupCaveatMapper
86
- ),
87
- [keyringEndowmentBuilder.targetName]: createMaxRequestTimeMapper(
88
- getKeyringCaveatMapper
89
- ),
90
- [signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(
91
- getSignatureInsightCaveatMapper
92
- ),
93
- [lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,
94
- [homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper
95
- };
96
- var handlerEndowments = {
97
- [HandlerType.OnRpcRequest]: rpcEndowmentBuilder.targetName,
98
- [HandlerType.OnTransaction]: transactionInsightEndowmentBuilder.targetName,
99
- [HandlerType.OnCronjob]: cronjobEndowmentBuilder.targetName,
100
- [HandlerType.OnNameLookup]: nameLookupEndowmentBuilder.targetName,
101
- [HandlerType.OnInstall]: lifecycleHooksEndowmentBuilder.targetName,
102
- [HandlerType.OnUpdate]: lifecycleHooksEndowmentBuilder.targetName,
103
- [HandlerType.OnKeyringRequest]: keyringEndowmentBuilder.targetName,
104
- [HandlerType.OnHomePage]: homePageEndowmentBuilder.targetName,
105
- [HandlerType.OnSignature]: signatureInsightEndowmentBuilder.targetName,
106
- [HandlerType.OnUserInput]: null
107
- };
108
-
109
- export {
110
- endowmentPermissionBuilders,
111
- endowmentCaveatSpecifications,
112
- endowmentCaveatMappers,
113
- handlerEndowments
114
- };
115
- //# sourceMappingURL=chunk-TAXLFFV4.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/endowments/index.ts"],"sourcesContent":["import type { PermissionConstraint } from '@metamask/permission-controller';\nimport { HandlerType } from '@metamask/snaps-utils';\nimport type { Json } from '@metamask/utils';\n\nimport {\n createMaxRequestTimeMapper,\n getMaxRequestTimeCaveatMapper,\n maxRequestTimeCaveatSpecifications,\n} from './caveats';\nimport {\n cronjobCaveatSpecifications,\n cronjobEndowmentBuilder,\n getCronjobCaveatMapper,\n} from './cronjob';\nimport { ethereumProviderEndowmentBuilder } from './ethereum-provider';\nimport { homePageEndowmentBuilder } from './home-page';\nimport {\n getKeyringCaveatMapper,\n keyringCaveatSpecifications,\n keyringEndowmentBuilder,\n} from './keyring';\nimport { lifecycleHooksEndowmentBuilder } from './lifecycle-hooks';\nimport {\n getNameLookupCaveatMapper,\n nameLookupCaveatSpecifications,\n nameLookupEndowmentBuilder,\n} from './name-lookup';\nimport { networkAccessEndowmentBuilder } from './network-access';\nimport {\n getRpcCaveatMapper,\n rpcCaveatSpecifications,\n rpcEndowmentBuilder,\n} from './rpc';\nimport {\n getSignatureInsightCaveatMapper,\n signatureInsightCaveatSpecifications,\n signatureInsightEndowmentBuilder,\n} from './signature-insight';\nimport {\n getTransactionInsightCaveatMapper,\n transactionInsightCaveatSpecifications,\n transactionInsightEndowmentBuilder,\n} from './transaction-insight';\nimport { webAssemblyEndowmentBuilder } from './web-assembly';\n\nexport const endowmentPermissionBuilders = {\n [networkAccessEndowmentBuilder.targetName]: networkAccessEndowmentBuilder,\n [transactionInsightEndowmentBuilder.targetName]:\n transactionInsightEndowmentBuilder,\n [cronjobEndowmentBuilder.targetName]: cronjobEndowmentBuilder,\n [ethereumProviderEndowmentBuilder.targetName]:\n ethereumProviderEndowmentBuilder,\n [rpcEndowmentBuilder.targetName]: rpcEndowmentBuilder,\n [webAssemblyEndowmentBuilder.targetName]: webAssemblyEndowmentBuilder,\n [nameLookupEndowmentBuilder.targetName]: nameLookupEndowmentBuilder,\n [lifecycleHooksEndowmentBuilder.targetName]: lifecycleHooksEndowmentBuilder,\n [keyringEndowmentBuilder.targetName]: keyringEndowmentBuilder,\n [homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder,\n [signatureInsightEndowmentBuilder.targetName]:\n signatureInsightEndowmentBuilder,\n} as const;\n\nexport const endowmentCaveatSpecifications = {\n ...cronjobCaveatSpecifications,\n ...transactionInsightCaveatSpecifications,\n ...rpcCaveatSpecifications,\n ...nameLookupCaveatSpecifications,\n ...keyringCaveatSpecifications,\n ...signatureInsightCaveatSpecifications,\n ...maxRequestTimeCaveatSpecifications,\n};\n\nexport const endowmentCaveatMappers: Record<\n string,\n (value: Json) => Pick<PermissionConstraint, 'caveats'>\n> = {\n [cronjobEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getCronjobCaveatMapper,\n ),\n [transactionInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getTransactionInsightCaveatMapper,\n ),\n [rpcEndowmentBuilder.targetName]:\n createMaxRequestTimeMapper(getRpcCaveatMapper),\n [nameLookupEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getNameLookupCaveatMapper,\n ),\n [keyringEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getKeyringCaveatMapper,\n ),\n [signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(\n getSignatureInsightCaveatMapper,\n ),\n [lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n [homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper,\n};\n\n// We allow null because a permitted handler does not have an endowment\nexport const handlerEndowments: Record<HandlerType, string | null> = {\n [HandlerType.OnRpcRequest]: rpcEndowmentBuilder.targetName,\n [HandlerType.OnTransaction]: transactionInsightEndowmentBuilder.targetName,\n [HandlerType.OnCronjob]: cronjobEndowmentBuilder.targetName,\n [HandlerType.OnNameLookup]: nameLookupEndowmentBuilder.targetName,\n [HandlerType.OnInstall]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnUpdate]: lifecycleHooksEndowmentBuilder.targetName,\n [HandlerType.OnKeyringRequest]: keyringEndowmentBuilder.targetName,\n [HandlerType.OnHomePage]: homePageEndowmentBuilder.targetName,\n [HandlerType.OnSignature]: signatureInsightEndowmentBuilder.targetName,\n [HandlerType.OnUserInput]: null,\n};\n\nexport * from './enum';\nexport { getRpcCaveatOrigins } from './rpc';\nexport { getSignatureOriginCaveat } from './signature-insight';\nexport { getTransactionOriginCaveat } from './transaction-insight';\nexport { getChainIdsCaveat, getLookupMatchersCaveat } from './name-lookup';\nexport { getKeyringCaveatOrigins } from './keyring';\nexport { getMaxRequestTimeCaveat } from './caveats';\nexport { getCronjobCaveatJobs } from './cronjob';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,mBAAmB;AA4CrB,IAAM,8BAA8B;AAAA,EACzC,CAAC,8BAA8B,UAAU,GAAG;AAAA,EAC5C,CAAC,mCAAmC,UAAU,GAC5C;AAAA,EACF,CAAC,wBAAwB,UAAU,GAAG;AAAA,EACtC,CAAC,iCAAiC,UAAU,GAC1C;AAAA,EACF,CAAC,oBAAoB,UAAU,GAAG;AAAA,EAClC,CAAC,4BAA4B,UAAU,GAAG;AAAA,EAC1C,CAAC,2BAA2B,UAAU,GAAG;AAAA,EACzC,CAAC,+BAA+B,UAAU,GAAG;AAAA,EAC7C,CAAC,wBAAwB,UAAU,GAAG;AAAA,EACtC,CAAC,yBAAyB,UAAU,GAAG;AAAA,EACvC,CAAC,iCAAiC,UAAU,GAC1C;AACJ;AAEO,IAAM,gCAAgC;AAAA,EAC3C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEO,IAAM,yBAGT;AAAA,EACF,CAAC,wBAAwB,UAAU,GAAG;AAAA,IACpC;AAAA,EACF;AAAA,EACA,CAAC,mCAAmC,UAAU,GAAG;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,CAAC,oBAAoB,UAAU,GAC7B,2BAA2B,kBAAkB;AAAA,EAC/C,CAAC,2BAA2B,UAAU,GAAG;AAAA,IACvC;AAAA,EACF;AAAA,EACA,CAAC,wBAAwB,UAAU,GAAG;AAAA,IACpC;AAAA,EACF;AAAA,EACA,CAAC,iCAAiC,UAAU,GAAG;AAAA,IAC7C;AAAA,EACF;AAAA,EACA,CAAC,+BAA+B,UAAU,GAAG;AAAA,EAC7C,CAAC,yBAAyB,UAAU,GAAG;AACzC;AAGO,IAAM,oBAAwD;AAAA,EACnE,CAAC,YAAY,YAAY,GAAG,oBAAoB;AAAA,EAChD,CAAC,YAAY,aAAa,GAAG,mCAAmC;AAAA,EAChE,CAAC,YAAY,SAAS,GAAG,wBAAwB;AAAA,EACjD,CAAC,YAAY,YAAY,GAAG,2BAA2B;AAAA,EACvD,CAAC,YAAY,SAAS,GAAG,+BAA+B;AAAA,EACxD,CAAC,YAAY,QAAQ,GAAG,+BAA+B;AAAA,EACvD,CAAC,YAAY,gBAAgB,GAAG,wBAAwB;AAAA,EACxD,CAAC,YAAY,UAAU,GAAG,yBAAyB;AAAA,EACnD,CAAC,YAAY,WAAW,GAAG,iCAAiC;AAAA,EAC5D,CAAC,YAAY,WAAW,GAAG;AAC7B;","names":[]}
@@ -1,143 +0,0 @@
1
- import {
2
- deriveEntropy
3
- } from "./chunk-W33UWNA2.mjs";
4
-
5
- // src/restricted/manageState.ts
6
- import { PermissionType, SubjectType } from "@metamask/permission-controller";
7
- import { rpcErrors } from "@metamask/rpc-errors";
8
- import { ManageStateOperation } from "@metamask/snaps-sdk";
9
- import { STATE_ENCRYPTION_MAGIC_VALUE } from "@metamask/snaps-utils";
10
- import { isObject, getJsonSize } from "@metamask/utils";
11
- var STATE_ENCRYPTION_SALT = "snap_manageState encryption";
12
- var methodName = "snap_manageState";
13
- var specificationBuilder = ({
14
- allowedCaveats = null,
15
- methodHooks: methodHooks2
16
- }) => {
17
- return {
18
- permissionType: PermissionType.RestrictedMethod,
19
- targetName: methodName,
20
- allowedCaveats,
21
- methodImplementation: getManageStateImplementation(methodHooks2),
22
- subjectTypes: [SubjectType.Snap]
23
- };
24
- };
25
- var methodHooks = {
26
- getUnlockPromise: true,
27
- clearSnapState: true,
28
- getSnapState: true,
29
- updateSnapState: true
30
- };
31
- var manageStateBuilder = Object.freeze({
32
- targetName: methodName,
33
- specificationBuilder,
34
- methodHooks
35
- });
36
- var STORAGE_SIZE_LIMIT = 104857600;
37
- async function getEncryptionEntropy({
38
- mnemonicPhrase,
39
- snapId
40
- }) {
41
- return await deriveEntropy({
42
- mnemonicPhrase,
43
- input: snapId,
44
- salt: STATE_ENCRYPTION_SALT,
45
- magic: STATE_ENCRYPTION_MAGIC_VALUE
46
- });
47
- }
48
- function getManageStateImplementation({
49
- getUnlockPromise,
50
- clearSnapState,
51
- getSnapState,
52
- updateSnapState
53
- }) {
54
- return async function manageState(options) {
55
- const {
56
- params = {},
57
- method,
58
- context: { origin }
59
- } = options;
60
- const validatedParams = getValidatedParams(params, method);
61
- const shouldEncrypt = validatedParams.encrypted ?? true;
62
- if (shouldEncrypt && validatedParams.operation !== ManageStateOperation.ClearState) {
63
- await getUnlockPromise(true);
64
- }
65
- switch (validatedParams.operation) {
66
- case ManageStateOperation.ClearState:
67
- clearSnapState(origin, shouldEncrypt);
68
- return null;
69
- case ManageStateOperation.GetState: {
70
- return await getSnapState(origin, shouldEncrypt);
71
- }
72
- case ManageStateOperation.UpdateState: {
73
- await updateSnapState(origin, validatedParams.newState, shouldEncrypt);
74
- return null;
75
- }
76
- default:
77
- throw rpcErrors.invalidParams(
78
- `Invalid ${method} operation: "${validatedParams.operation}"`
79
- );
80
- }
81
- };
82
- }
83
- function getValidatedParams(params, method, storageSizeLimit = STORAGE_SIZE_LIMIT) {
84
- if (!isObject(params)) {
85
- throw rpcErrors.invalidParams({
86
- message: "Expected params to be a single object."
87
- });
88
- }
89
- const { operation, newState, encrypted } = params;
90
- if (!operation || typeof operation !== "string" || !Object.values(ManageStateOperation).includes(
91
- operation
92
- )) {
93
- throw rpcErrors.invalidParams({
94
- message: 'Must specify a valid manage state "operation".'
95
- });
96
- }
97
- if (encrypted !== void 0 && typeof encrypted !== "boolean") {
98
- throw rpcErrors.invalidParams({
99
- message: '"encrypted" parameter must be a boolean if specified.'
100
- });
101
- }
102
- if (operation === ManageStateOperation.UpdateState) {
103
- if (!isObject(newState)) {
104
- throw rpcErrors.invalidParams({
105
- message: `Invalid ${method} "updateState" parameter: The new state must be a plain object.`,
106
- data: {
107
- receivedNewState: typeof newState === "undefined" ? "undefined" : newState
108
- }
109
- });
110
- }
111
- let size;
112
- try {
113
- size = getJsonSize(newState);
114
- } catch {
115
- throw rpcErrors.invalidParams({
116
- message: `Invalid ${method} "updateState" parameter: The new state must be JSON serializable.`,
117
- data: {
118
- receivedNewState: typeof newState === "undefined" ? "undefined" : newState
119
- }
120
- });
121
- }
122
- if (size > storageSizeLimit) {
123
- throw rpcErrors.invalidParams({
124
- message: `Invalid ${method} "updateState" parameter: The new state must not exceed ${storageSizeLimit} bytes in size.`,
125
- data: {
126
- receivedNewState: typeof newState === "undefined" ? "undefined" : newState
127
- }
128
- });
129
- }
130
- }
131
- return params;
132
- }
133
-
134
- export {
135
- STATE_ENCRYPTION_SALT,
136
- specificationBuilder,
137
- manageStateBuilder,
138
- STORAGE_SIZE_LIMIT,
139
- getEncryptionEntropy,
140
- getManageStateImplementation,
141
- getValidatedParams
142
- };
143
- //# sourceMappingURL=chunk-TE4W25CA.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/restricted/manageState.ts"],"sourcesContent":["import type {\n PermissionSpecificationBuilder,\n RestrictedMethodOptions,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { ManageStateParams, ManageStateResult } from '@metamask/snaps-sdk';\nimport { ManageStateOperation } from '@metamask/snaps-sdk';\nimport { STATE_ENCRYPTION_MAGIC_VALUE } from '@metamask/snaps-utils';\nimport type { Json, NonEmptyArray } from '@metamask/utils';\nimport { isObject, getJsonSize } from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\nimport { deriveEntropy } from '../utils';\n\n// The salt used for SIP-6-based entropy derivation.\nexport const STATE_ENCRYPTION_SALT = 'snap_manageState encryption';\n\nconst methodName = 'snap_manageState';\n\nexport type ManageStateMethodHooks = {\n /**\n * Waits for the extension to be unlocked.\n *\n * @returns A promise that resolves once the extension is unlocked.\n */\n getUnlockPromise: (shouldShowUnlockRequest: boolean) => Promise<void>;\n\n /**\n * A function that clears the state of the requesting Snap.\n */\n clearSnapState: (snapId: string, encrypted: boolean) => void;\n\n /**\n * A function that gets the encrypted state of the requesting Snap.\n *\n * @returns The current state of the Snap.\n */\n getSnapState: (\n snapId: string,\n encrypted: boolean,\n ) => Promise<Record<string, Json>>;\n\n /**\n * A function that updates the state of the requesting Snap.\n *\n * @param newState - The new state of the Snap.\n */\n updateSnapState: (\n snapId: string,\n newState: Record<string, Json>,\n encrypted: boolean,\n ) => Promise<void>;\n};\n\ntype ManageStateSpecificationBuilderOptions = {\n allowedCaveats?: Readonly<NonEmptyArray<string>> | null;\n methodHooks: ManageStateMethodHooks;\n};\n\ntype ManageStateSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.RestrictedMethod;\n targetName: typeof methodName;\n methodImplementation: ReturnType<typeof getManageStateImplementation>;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * The specification builder for the `snap_manageState` permission.\n * `snap_manageState` lets the Snap store and manage some of its state on\n * your device.\n *\n * @param options - The specification builder options.\n * @param options.allowedCaveats - The optional allowed caveats for the permission.\n * @param options.methodHooks - The RPC method hooks needed by the method implementation.\n * @returns The specification for the `snap_manageState` permission.\n */\nexport const specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.RestrictedMethod,\n ManageStateSpecificationBuilderOptions,\n ManageStateSpecification\n> = ({\n allowedCaveats = null,\n methodHooks,\n}: ManageStateSpecificationBuilderOptions) => {\n return {\n permissionType: PermissionType.RestrictedMethod,\n targetName: methodName,\n allowedCaveats,\n methodImplementation: getManageStateImplementation(methodHooks),\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nconst methodHooks: MethodHooksObject<ManageStateMethodHooks> = {\n getUnlockPromise: true,\n clearSnapState: true,\n getSnapState: true,\n updateSnapState: true,\n};\n\nexport const manageStateBuilder = Object.freeze({\n targetName: methodName,\n specificationBuilder,\n methodHooks,\n} as const);\n\nexport const STORAGE_SIZE_LIMIT = 104857600; // In bytes (100MB)\n\ntype GetEncryptionKeyArgs = {\n snapId: string;\n mnemonicPhrase: Uint8Array;\n};\n\n/**\n * Get a deterministic encryption key to use for encrypting and decrypting the\n * state.\n *\n * This key should only be used for state encryption using `snap_manageState`.\n * To get other encryption keys, a different salt can be used.\n *\n * @param args - The encryption key args.\n * @param args.snapId - The ID of the snap to get the encryption key for.\n * @param args.mnemonicPhrase - The mnemonic phrase to derive the encryption key\n * from.\n * @returns The state encryption key.\n */\nexport async function getEncryptionEntropy({\n mnemonicPhrase,\n snapId,\n}: GetEncryptionKeyArgs) {\n return await deriveEntropy({\n mnemonicPhrase,\n input: snapId,\n salt: STATE_ENCRYPTION_SALT,\n magic: STATE_ENCRYPTION_MAGIC_VALUE,\n });\n}\n\n/**\n * Builds the method implementation for `snap_manageState`.\n *\n * @param hooks - The RPC method hooks.\n * @param hooks.clearSnapState - A function that clears the state stored for a\n * snap.\n * @param hooks.getSnapState - A function that fetches the persisted decrypted\n * state for a snap.\n * @param hooks.updateSnapState - A function that updates the state stored for a\n * snap.\n * @param hooks.getUnlockPromise - A function that resolves once the MetaMask\n * extension is unlocked and prompts the user to unlock their MetaMask if it is\n * locked.\n * @returns The method implementation which either returns `null` for a\n * successful state update/deletion or returns the decrypted state.\n * @throws If the params are invalid.\n */\nexport function getManageStateImplementation({\n getUnlockPromise,\n clearSnapState,\n getSnapState,\n updateSnapState,\n}: ManageStateMethodHooks) {\n return async function manageState(\n options: RestrictedMethodOptions<ManageStateParams>,\n ): Promise<ManageStateResult> {\n const {\n params = {},\n method,\n context: { origin },\n } = options;\n const validatedParams = getValidatedParams(params, method);\n\n // If the encrypted param is undefined or null we default to true.\n const shouldEncrypt = validatedParams.encrypted ?? true;\n\n // We only need to prompt the user when the mnemonic is needed\n // which it isn't for the clear operation or unencrypted storage.\n if (\n shouldEncrypt &&\n validatedParams.operation !== ManageStateOperation.ClearState\n ) {\n await getUnlockPromise(true);\n }\n\n switch (validatedParams.operation) {\n case ManageStateOperation.ClearState:\n clearSnapState(origin, shouldEncrypt);\n return null;\n\n case ManageStateOperation.GetState: {\n return await getSnapState(origin, shouldEncrypt);\n }\n\n case ManageStateOperation.UpdateState: {\n await updateSnapState(origin, validatedParams.newState, shouldEncrypt);\n return null;\n }\n\n default:\n throw rpcErrors.invalidParams(\n `Invalid ${method} operation: \"${\n validatedParams.operation as string\n }\"`,\n );\n }\n };\n}\n\n/**\n * Validates the manageState method `params` and returns them cast to the correct\n * type. Throws if validation fails.\n *\n * @param params - The unvalidated params object from the method request.\n * @param method - RPC method name used for debugging errors.\n * @param storageSizeLimit - Maximum allowed size (in bytes) of a new state object.\n * @returns The validated method parameter object.\n */\nexport function getValidatedParams(\n params: unknown,\n method: string,\n storageSizeLimit = STORAGE_SIZE_LIMIT,\n): ManageStateParams {\n if (!isObject(params)) {\n throw rpcErrors.invalidParams({\n message: 'Expected params to be a single object.',\n });\n }\n\n const { operation, newState, encrypted } = params;\n\n if (\n !operation ||\n typeof operation !== 'string' ||\n !Object.values(ManageStateOperation).includes(\n operation as ManageStateOperation,\n )\n ) {\n throw rpcErrors.invalidParams({\n message: 'Must specify a valid manage state \"operation\".',\n });\n }\n\n if (encrypted !== undefined && typeof encrypted !== 'boolean') {\n throw rpcErrors.invalidParams({\n message: '\"encrypted\" parameter must be a boolean if specified.',\n });\n }\n\n if (operation === ManageStateOperation.UpdateState) {\n if (!isObject(newState)) {\n throw rpcErrors.invalidParams({\n message: `Invalid ${method} \"updateState\" parameter: The new state must be a plain object.`,\n data: {\n receivedNewState:\n typeof newState === 'undefined' ? 'undefined' : newState,\n },\n });\n }\n\n let size;\n try {\n // `getJsonSize` will throw if the state is not JSON serializable.\n size = getJsonSize(newState);\n } catch {\n throw rpcErrors.invalidParams({\n message: `Invalid ${method} \"updateState\" parameter: The new state must be JSON serializable.`,\n data: {\n receivedNewState:\n typeof newState === 'undefined' ? 'undefined' : newState,\n },\n });\n }\n\n if (size > storageSizeLimit) {\n throw rpcErrors.invalidParams({\n message: `Invalid ${method} \"updateState\" parameter: The new state must not exceed ${storageSizeLimit} bytes in size.`,\n data: {\n receivedNewState:\n typeof newState === 'undefined' ? 'undefined' : newState,\n },\n });\n }\n }\n\n return params as ManageStateParams;\n}\n"],"mappings":"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","names":["methodHooks"]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-TG63GBK3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-TNENASGX.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,196 +0,0 @@
1
- // src/restricted/dialog.ts
2
- import { PermissionType, SubjectType } from "@metamask/permission-controller";
3
- import { rpcErrors } from "@metamask/rpc-errors";
4
- import {
5
- DialogType,
6
- enumValue,
7
- union,
8
- ComponentOrElementStruct
9
- } from "@metamask/snaps-sdk";
10
- import { createUnion } from "@metamask/snaps-utils";
11
- import {
12
- create,
13
- enums,
14
- object,
15
- optional,
16
- size,
17
- string,
18
- type
19
- } from "@metamask/superstruct";
20
- import { hasProperty, isObject } from "@metamask/utils";
21
- var methodName = "snap_dialog";
22
- var DIALOG_APPROVAL_TYPES = {
23
- [DialogType.Alert]: `${methodName}:alert`,
24
- [DialogType.Confirmation]: `${methodName}:confirmation`,
25
- [DialogType.Prompt]: `${methodName}:prompt`,
26
- default: methodName
27
- };
28
- var PlaceholderStruct = optional(size(string(), 1, 40));
29
- var specificationBuilder = ({
30
- allowedCaveats = null,
31
- methodHooks: methodHooks2
32
- }) => {
33
- return {
34
- permissionType: PermissionType.RestrictedMethod,
35
- targetName: methodName,
36
- allowedCaveats,
37
- methodImplementation: getDialogImplementation(methodHooks2),
38
- subjectTypes: [SubjectType.Snap]
39
- };
40
- };
41
- var methodHooks = {
42
- requestUserApproval: true,
43
- createInterface: true,
44
- getInterface: true
45
- };
46
- var dialogBuilder = Object.freeze({
47
- targetName: methodName,
48
- specificationBuilder,
49
- methodHooks
50
- });
51
- var BaseParamsStruct = type({
52
- type: optional(
53
- enums([DialogType.Alert, DialogType.Confirmation, DialogType.Prompt])
54
- )
55
- });
56
- var AlertParametersWithContentStruct = object({
57
- type: enumValue(DialogType.Alert),
58
- content: ComponentOrElementStruct
59
- });
60
- var AlertParametersWithIdStruct = object({
61
- type: enumValue(DialogType.Alert),
62
- id: string()
63
- });
64
- var AlertParametersStruct = union([
65
- AlertParametersWithContentStruct,
66
- AlertParametersWithIdStruct
67
- ]);
68
- var ConfirmationParametersWithContentStruct = object({
69
- type: enumValue(DialogType.Confirmation),
70
- content: ComponentOrElementStruct
71
- });
72
- var ConfirmationParametersWithIdStruct = object({
73
- type: enumValue(DialogType.Confirmation),
74
- id: string()
75
- });
76
- var ConfirmationParametersStruct = union([
77
- ConfirmationParametersWithContentStruct,
78
- ConfirmationParametersWithIdStruct
79
- ]);
80
- var PromptParametersWithContentStruct = object({
81
- type: enumValue(DialogType.Prompt),
82
- content: ComponentOrElementStruct,
83
- placeholder: PlaceholderStruct
84
- });
85
- var PromptParametersWithIdStruct = object({
86
- type: enumValue(DialogType.Prompt),
87
- id: string(),
88
- placeholder: PlaceholderStruct
89
- });
90
- var PromptParametersStruct = union([
91
- PromptParametersWithContentStruct,
92
- PromptParametersWithIdStruct
93
- ]);
94
- var DefaultParametersWithContentStruct = object({
95
- content: ComponentOrElementStruct
96
- });
97
- var DefaultParametersWithIdStruct = object({
98
- id: string()
99
- });
100
- var DefaultParametersStruct = union([
101
- DefaultParametersWithContentStruct,
102
- DefaultParametersWithIdStruct
103
- ]);
104
- var DialogParametersStruct = union([
105
- AlertParametersStruct,
106
- ConfirmationParametersStruct,
107
- PromptParametersStruct,
108
- DefaultParametersStruct
109
- ]);
110
- var structs = {
111
- [DialogType.Alert]: AlertParametersStruct,
112
- [DialogType.Confirmation]: ConfirmationParametersStruct,
113
- [DialogType.Prompt]: PromptParametersStruct
114
- };
115
- function getDialogImplementation({
116
- requestUserApproval,
117
- createInterface,
118
- getInterface
119
- }) {
120
- return async function dialogImplementation(args) {
121
- const {
122
- params,
123
- context: { origin }
124
- } = args;
125
- if (!isObject(params)) {
126
- throw rpcErrors.invalidParams({
127
- message: "Invalid params: Expected params to be a single object."
128
- });
129
- }
130
- const validatedType = getValidatedType(params);
131
- const approvalType = validatedType ? DIALOG_APPROVAL_TYPES[validatedType] : DIALOG_APPROVAL_TYPES.default;
132
- const validatedParams = getValidatedParams(params, validatedType);
133
- const placeholder = isPromptDialog(validatedParams) ? validatedParams.placeholder : void 0;
134
- if (hasProperty(validatedParams, "content")) {
135
- const id = await createInterface(
136
- origin,
137
- validatedParams.content
138
- );
139
- return requestUserApproval({
140
- id: validatedType ? void 0 : id,
141
- origin,
142
- type: approvalType,
143
- requestData: { id, placeholder }
144
- });
145
- }
146
- validateInterface(origin, validatedParams.id, getInterface);
147
- return requestUserApproval({
148
- id: validatedType ? void 0 : validatedParams.id,
149
- origin,
150
- type: approvalType,
151
- requestData: { id: validatedParams.id, placeholder }
152
- });
153
- };
154
- }
155
- function validateInterface(origin, id, getInterface) {
156
- try {
157
- getInterface(origin, id);
158
- } catch (error) {
159
- throw rpcErrors.invalidParams({
160
- message: `Invalid params: ${error.message}`
161
- });
162
- }
163
- }
164
- function getDialogType(params) {
165
- return hasProperty(params, "type") ? params.type : void 0;
166
- }
167
- function getValidatedType(params) {
168
- try {
169
- return create(params, BaseParamsStruct).type;
170
- } catch (error) {
171
- throw rpcErrors.invalidParams({
172
- message: `The "type" property must be one of: ${Object.values(
173
- DialogType
174
- ).join(", ")}.`
175
- });
176
- }
177
- }
178
- function isPromptDialog(params) {
179
- return getDialogType(params) === DialogType.Prompt;
180
- }
181
- function getValidatedParams(params, validatedType) {
182
- try {
183
- return validatedType ? createUnion(params, structs[validatedType], "type") : create(params, DefaultParametersStruct);
184
- } catch (error) {
185
- throw rpcErrors.invalidParams({
186
- message: `Invalid params: ${error.message}`
187
- });
188
- }
189
- }
190
-
191
- export {
192
- DIALOG_APPROVAL_TYPES,
193
- dialogBuilder,
194
- getDialogImplementation
195
- };
196
- //# sourceMappingURL=chunk-TQCUJQHY.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/restricted/dialog.ts"],"sourcesContent":["import type {\n PermissionSpecificationBuilder,\n RestrictedMethodOptions,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport {\n DialogType,\n enumValue,\n union,\n ComponentOrElementStruct,\n} from '@metamask/snaps-sdk';\nimport type {\n DialogParams,\n Component,\n InterfaceState,\n SnapId,\n PromptDialog,\n ComponentOrElement,\n} from '@metamask/snaps-sdk';\nimport type { InferMatching } from '@metamask/snaps-utils';\nimport { createUnion } from '@metamask/snaps-utils';\nimport type { Infer, Struct } from '@metamask/superstruct';\nimport {\n create,\n enums,\n object,\n optional,\n size,\n string,\n type,\n} from '@metamask/superstruct';\nimport type { Json, NonEmptyArray } from '@metamask/utils';\nimport { hasProperty, isObject } from '@metamask/utils';\n\nimport { type MethodHooksObject } from '../utils';\n\nconst methodName = 'snap_dialog';\n\nexport type DialogApprovalTypes = Record<DialogType, string> & {\n default: string;\n};\n\nexport const DIALOG_APPROVAL_TYPES = {\n [DialogType.Alert]: `${methodName}:alert`,\n [DialogType.Confirmation]: `${methodName}:confirmation`,\n [DialogType.Prompt]: `${methodName}:prompt`,\n default: methodName,\n};\n\nconst PlaceholderStruct = optional(size(string(), 1, 40));\n\nexport type Placeholder = Infer<typeof PlaceholderStruct>;\n\ntype RequestUserApprovalOptions = {\n id?: string;\n origin: string;\n type: string;\n requestData: {\n id: string;\n placeholder?: string;\n };\n};\n\ntype RequestUserApproval = (\n opts: RequestUserApprovalOptions,\n) => Promise<boolean | null | string | Json>;\n\ntype CreateInterface = (\n snapId: string,\n content: ComponentOrElement,\n) => Promise<string>;\n\ntype GetInterface = (\n snapId: string,\n id: string,\n) => { content: ComponentOrElement; snapId: SnapId; state: InterfaceState };\n\nexport type DialogMethodHooks = {\n /**\n * @param opts - The `requestUserApproval` options.\n * @param opts.id - The approval ID. If not provided, a new approval ID will be generated.\n * @param opts.origin - The origin of the request. In this case, the Snap ID.\n * @param opts.type - The type of the approval request.\n * @param opts.requestData - The data of the approval request.\n * @param opts.requestData.id - The ID of the interface.\n * @param opts.requestData.placeholder - The placeholder of the `Prompt` dialog.\n */\n requestUserApproval: RequestUserApproval;\n\n /**\n * @param snapId - The Snap ID creating the interface.\n * @param content - The content of the interface.\n */\n createInterface: CreateInterface;\n /**\n * @param snapId - The SnapId requesting the interface.\n * @param id - The interface ID.\n */\n getInterface: GetInterface;\n};\n\ntype DialogSpecificationBuilderOptions = {\n allowedCaveats?: Readonly<NonEmptyArray<string>> | null;\n methodHooks: DialogMethodHooks;\n};\n\ntype DialogSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.RestrictedMethod;\n targetName: typeof methodName;\n methodImplementation: ReturnType<typeof getDialogImplementation>;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * The specification builder for the `snap_dialog` permission. `snap_dialog`\n * lets the Snap display one of the following dialogs to the user:\n * - An alert, for displaying information.\n * - A confirmation, for accepting or rejecting some action.\n * - A prompt, for inputting some information.\n *\n * @param options - The specification builder options.\n * @param options.allowedCaveats - The optional allowed caveats for the\n * permission.\n * @param options.methodHooks - The RPC method hooks needed by the method\n * implementation.\n * @returns The specification for the `snap_dialog` permission.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.RestrictedMethod,\n DialogSpecificationBuilderOptions,\n DialogSpecification\n> = ({\n allowedCaveats = null,\n methodHooks,\n}: DialogSpecificationBuilderOptions) => {\n return {\n permissionType: PermissionType.RestrictedMethod,\n targetName: methodName,\n allowedCaveats,\n methodImplementation: getDialogImplementation(methodHooks),\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nconst methodHooks: MethodHooksObject<DialogMethodHooks> = {\n requestUserApproval: true,\n createInterface: true,\n getInterface: true,\n};\n\nexport const dialogBuilder = Object.freeze({\n targetName: methodName,\n specificationBuilder,\n methodHooks,\n} as const);\n\n// Note: We use `type` here instead of `object` because `type` does not validate\n// the keys of the object, which is what we want.\nconst BaseParamsStruct = type({\n type: optional(\n enums([DialogType.Alert, DialogType.Confirmation, DialogType.Prompt]),\n ),\n});\n\nconst AlertParametersWithContentStruct = object({\n type: enumValue(DialogType.Alert),\n content: ComponentOrElementStruct,\n});\nconst AlertParametersWithIdStruct = object({\n type: enumValue(DialogType.Alert),\n id: string(),\n});\n\nconst AlertParametersStruct = union([\n AlertParametersWithContentStruct,\n AlertParametersWithIdStruct,\n]);\n\nconst ConfirmationParametersWithContentStruct = object({\n type: enumValue(DialogType.Confirmation),\n content: ComponentOrElementStruct,\n});\n\nconst ConfirmationParametersWithIdStruct = object({\n type: enumValue(DialogType.Confirmation),\n id: string(),\n});\n\nconst ConfirmationParametersStruct = union([\n ConfirmationParametersWithContentStruct,\n ConfirmationParametersWithIdStruct,\n]);\n\nconst PromptParametersWithContentStruct = object({\n type: enumValue(DialogType.Prompt),\n content: ComponentOrElementStruct,\n placeholder: PlaceholderStruct,\n});\n\nconst PromptParametersWithIdStruct = object({\n type: enumValue(DialogType.Prompt),\n id: string(),\n placeholder: PlaceholderStruct,\n});\n\nconst PromptParametersStruct = union([\n PromptParametersWithContentStruct,\n PromptParametersWithIdStruct,\n]);\n\nconst DefaultParametersWithContentStruct = object({\n content: ComponentOrElementStruct,\n});\n\nconst DefaultParametersWithIdStruct = object({\n id: string(),\n});\n\nconst DefaultParametersStruct = union([\n DefaultParametersWithContentStruct,\n DefaultParametersWithIdStruct,\n]);\n\nconst DialogParametersStruct = union([\n AlertParametersStruct,\n ConfirmationParametersStruct,\n PromptParametersStruct,\n DefaultParametersStruct,\n]);\n\nexport type DialogParameters = InferMatching<\n typeof DialogParametersStruct,\n DialogParams\n>;\n\nconst structs: Record<DialogType, Struct<any, any>> = {\n [DialogType.Alert]: AlertParametersStruct,\n [DialogType.Confirmation]: ConfirmationParametersStruct,\n [DialogType.Prompt]: PromptParametersStruct,\n};\n\n/**\n * Builds the method implementation for `snap_dialog`.\n *\n * @param hooks - The RPC method hooks.\n * @param hooks.requestUserApproval - A function that creates a new Approval in the ApprovalController.\n * This function should return a Promise that resolves with the appropriate value when the user has approved or rejected the request.\n * @param hooks.createInterface - A function that creates the interface in SnapInterfaceController.\n * @param hooks.getInterface - A function that gets an interface from SnapInterfaceController.\n * @returns The method implementation which return value depends on the dialog\n * type, valid return types are: string, boolean, null.\n */\nexport function getDialogImplementation({\n requestUserApproval,\n createInterface,\n getInterface,\n}: DialogMethodHooks) {\n return async function dialogImplementation(\n args: RestrictedMethodOptions<DialogParameters>,\n ): Promise<boolean | null | string | Json> {\n const {\n params,\n context: { origin },\n } = args;\n\n if (!isObject(params)) {\n throw rpcErrors.invalidParams({\n message: 'Invalid params: Expected params to be a single object.',\n });\n }\n\n const validatedType = getValidatedType(params);\n\n const approvalType = validatedType\n ? DIALOG_APPROVAL_TYPES[validatedType]\n : DIALOG_APPROVAL_TYPES.default;\n\n const validatedParams = getValidatedParams(params, validatedType);\n const placeholder = isPromptDialog(validatedParams)\n ? validatedParams.placeholder\n : undefined;\n\n if (hasProperty(validatedParams, 'content')) {\n const id = await createInterface(\n origin,\n validatedParams.content as Component,\n );\n\n return requestUserApproval({\n id: validatedType ? undefined : id,\n origin,\n type: approvalType,\n requestData: { id, placeholder },\n });\n }\n\n validateInterface(origin, validatedParams.id, getInterface);\n\n return requestUserApproval({\n id: validatedType ? undefined : validatedParams.id,\n origin,\n type: approvalType,\n requestData: { id: validatedParams.id, placeholder },\n });\n };\n}\n/**\n * Validate that the interface ID is valid.\n *\n * @param origin - The origin of the request.\n * @param id - The interface ID.\n * @param getInterface - The function to get the interface.\n */\nfunction validateInterface(\n origin: string,\n id: string,\n getInterface: GetInterface,\n) {\n try {\n getInterface(origin, id);\n } catch (error) {\n throw rpcErrors.invalidParams({\n message: `Invalid params: ${error.message}`,\n });\n }\n}\n\n/**\n * Gets the dialog type from the dialog parameters.\n *\n * @param params - The dialog parameters.\n * @returns The dialog type.\n */\nfunction getDialogType(params: DialogParameters): DialogType | undefined {\n return hasProperty(params, 'type') ? (params.type as DialogType) : undefined;\n}\n\n/**\n * Get the validated type of the dialog parameters. Throws an error if the type\n * is invalid.\n *\n * @param params - The parameters to validate.\n * @returns The validated type of the dialog parameters.\n */\nfunction getValidatedType(params: unknown): DialogType | undefined {\n try {\n return create(params, BaseParamsStruct).type;\n } catch (error) {\n throw rpcErrors.invalidParams({\n message: `The \"type\" property must be one of: ${Object.values(\n DialogType,\n ).join(', ')}.`,\n });\n }\n}\n\n/**\n * Checks if the dialog parameters are for a prompt dialog.\n *\n * @param params - The dialog parameters.\n * @returns `true` if the dialog parameters are for a prompt dialog, `false` otherwise.\n */\nfunction isPromptDialog(params: DialogParameters): params is PromptDialog {\n return getDialogType(params) === DialogType.Prompt;\n}\n\n/**\n * Validates the confirm method `params` and returns them cast to the correct\n * type. Throws if validation fails.\n *\n * @param params - The unvalidated params object from the method request.\n * @param validatedType - The validated dialog type.\n * @returns The validated confirm method parameter object.\n */\nfunction getValidatedParams(\n params: unknown,\n validatedType: DialogType | undefined,\n): DialogParameters {\n try {\n return validatedType\n ? createUnion(params, structs[validatedType], 'type')\n : create(params, DefaultParametersStruct);\n } catch (error) {\n throw rpcErrors.invalidParams({\n message: `Invalid params: ${error.message}`,\n });\n }\n}\n"],"mappings":";AAKA,SAAS,gBAAgB,mBAAmB;AAC5C,SAAS,iBAAiB;AAC1B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAUP,SAAS,mBAAmB;AAE5B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,aAAa,gBAAgB;AAItC,IAAM,aAAa;AAMZ,IAAM,wBAAwB;AAAA,EACnC,CAAC,WAAW,KAAK,GAAG,GAAG,UAAU;AAAA,EACjC,CAAC,WAAW,YAAY,GAAG,GAAG,UAAU;AAAA,EACxC,CAAC,WAAW,MAAM,GAAG,GAAG,UAAU;AAAA,EAClC,SAAS;AACX;AAEA,IAAM,oBAAoB,SAAS,KAAK,OAAO,GAAG,GAAG,EAAE,CAAC;AA8ExD,IAAM,uBAIF,CAAC;AAAA,EACH,iBAAiB;AAAA,EACjB,aAAAA;AACF,MAAyC;AACvC,SAAO;AAAA,IACL,gBAAgB,eAAe;AAAA,IAC/B,YAAY;AAAA,IACZ;AAAA,IACA,sBAAsB,wBAAwBA,YAAW;AAAA,IACzD,cAAc,CAAC,YAAY,IAAI;AAAA,EACjC;AACF;AAEA,IAAM,cAAoD;AAAA,EACxD,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,cAAc;AAChB;AAEO,IAAM,gBAAgB,OAAO,OAAO;AAAA,EACzC,YAAY;AAAA,EACZ;AAAA,EACA;AACF,CAAU;AAIV,IAAM,mBAAmB,KAAK;AAAA,EAC5B,MAAM;AAAA,IACJ,MAAM,CAAC,WAAW,OAAO,WAAW,cAAc,WAAW,MAAM,CAAC;AAAA,EACtE;AACF,CAAC;AAED,IAAM,mCAAmC,OAAO;AAAA,EAC9C,MAAM,UAAU,WAAW,KAAK;AAAA,EAChC,SAAS;AACX,CAAC;AACD,IAAM,8BAA8B,OAAO;AAAA,EACzC,MAAM,UAAU,WAAW,KAAK;AAAA,EAChC,IAAI,OAAO;AACb,CAAC;AAED,IAAM,wBAAwB,MAAM;AAAA,EAClC;AAAA,EACA;AACF,CAAC;AAED,IAAM,0CAA0C,OAAO;AAAA,EACrD,MAAM,UAAU,WAAW,YAAY;AAAA,EACvC,SAAS;AACX,CAAC;AAED,IAAM,qCAAqC,OAAO;AAAA,EAChD,MAAM,UAAU,WAAW,YAAY;AAAA,EACvC,IAAI,OAAO;AACb,CAAC;AAED,IAAM,+BAA+B,MAAM;AAAA,EACzC;AAAA,EACA;AACF,CAAC;AAED,IAAM,oCAAoC,OAAO;AAAA,EAC/C,MAAM,UAAU,WAAW,MAAM;AAAA,EACjC,SAAS;AAAA,EACT,aAAa;AACf,CAAC;AAED,IAAM,+BAA+B,OAAO;AAAA,EAC1C,MAAM,UAAU,WAAW,MAAM;AAAA,EACjC,IAAI,OAAO;AAAA,EACX,aAAa;AACf,CAAC;AAED,IAAM,yBAAyB,MAAM;AAAA,EACnC;AAAA,EACA;AACF,CAAC;AAED,IAAM,qCAAqC,OAAO;AAAA,EAChD,SAAS;AACX,CAAC;AAED,IAAM,gCAAgC,OAAO;AAAA,EAC3C,IAAI,OAAO;AACb,CAAC;AAED,IAAM,0BAA0B,MAAM;AAAA,EACpC;AAAA,EACA;AACF,CAAC;AAED,IAAM,yBAAyB,MAAM;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAOD,IAAM,UAAgD;AAAA,EACpD,CAAC,WAAW,KAAK,GAAG;AAAA,EACpB,CAAC,WAAW,YAAY,GAAG;AAAA,EAC3B,CAAC,WAAW,MAAM,GAAG;AACvB;AAaO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AACF,GAAsB;AACpB,SAAO,eAAe,qBACpB,MACyC;AACzC,UAAM;AAAA,MACJ;AAAA,MACA,SAAS,EAAE,OAAO;AAAA,IACpB,IAAI;AAEJ,QAAI,CAAC,SAAS,MAAM,GAAG;AACrB,YAAM,UAAU,cAAc;AAAA,QAC5B,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAEA,UAAM,gBAAgB,iBAAiB,MAAM;AAE7C,UAAM,eAAe,gBACjB,sBAAsB,aAAa,IACnC,sBAAsB;AAE1B,UAAM,kBAAkB,mBAAmB,QAAQ,aAAa;AAChE,UAAM,cAAc,eAAe,eAAe,IAC9C,gBAAgB,cAChB;AAEJ,QAAI,YAAY,iBAAiB,SAAS,GAAG;AAC3C,YAAM,KAAK,MAAM;AAAA,QACf;AAAA,QACA,gBAAgB;AAAA,MAClB;AAEA,aAAO,oBAAoB;AAAA,QACzB,IAAI,gBAAgB,SAAY;AAAA,QAChC;AAAA,QACA,MAAM;AAAA,QACN,aAAa,EAAE,IAAI,YAAY;AAAA,MACjC,CAAC;AAAA,IACH;AAEA,sBAAkB,QAAQ,gBAAgB,IAAI,YAAY;AAE1D,WAAO,oBAAoB;AAAA,MACzB,IAAI,gBAAgB,SAAY,gBAAgB;AAAA,MAChD;AAAA,MACA,MAAM;AAAA,MACN,aAAa,EAAE,IAAI,gBAAgB,IAAI,YAAY;AAAA,IACrD,CAAC;AAAA,EACH;AACF;AAQA,SAAS,kBACP,QACA,IACA,cACA;AACA,MAAI;AACF,iBAAa,QAAQ,EAAE;AAAA,EACzB,SAAS,OAAO;AACd,UAAM,UAAU,cAAc;AAAA,MAC5B,SAAS,mBAAmB,MAAM,OAAO;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;AAQA,SAAS,cAAc,QAAkD;AACvE,SAAO,YAAY,QAAQ,MAAM,IAAK,OAAO,OAAsB;AACrE;AASA,SAAS,iBAAiB,QAAyC;AACjE,MAAI;AACF,WAAO,OAAO,QAAQ,gBAAgB,EAAE;AAAA,EAC1C,SAAS,OAAO;AACd,UAAM,UAAU,cAAc;AAAA,MAC5B,SAAS,uCAAuC,OAAO;AAAA,QACrD;AAAA,MACF,EAAE,KAAK,IAAI,CAAC;AAAA,IACd,CAAC;AAAA,EACH;AACF;AAQA,SAAS,eAAe,QAAkD;AACxE,SAAO,cAAc,MAAM,MAAM,WAAW;AAC9C;AAUA,SAAS,mBACP,QACA,eACkB;AAClB,MAAI;AACF,WAAO,gBACH,YAAY,QAAQ,QAAQ,aAAa,GAAG,MAAM,IAClD,OAAO,QAAQ,uBAAuB;AAAA,EAC5C,SAAS,OAAO;AACd,UAAM,UAAU,cAAc;AAAA,MAC5B,SAAS,mBAAmB,MAAM,OAAO;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;","names":["methodHooks"]}
@@ -1,35 +0,0 @@
1
- // src/endowments/caveats/generic.ts
2
- import { rpcErrors } from "@metamask/rpc-errors";
3
- function createGenericPermissionValidator(caveatsToValidate) {
4
- const validCaveatTypes = new Set(
5
- caveatsToValidate.map((caveat) => caveat.type)
6
- );
7
- const requiredCaveats = caveatsToValidate.filter(
8
- (caveat) => !caveat.optional
9
- );
10
- return function({ caveats }) {
11
- const actualCaveats = caveats ?? [];
12
- const passedCaveatTypes = actualCaveats.map((caveat) => caveat.type);
13
- const passedCaveatsSet = new Set(passedCaveatTypes);
14
- if (passedCaveatsSet.size !== passedCaveatTypes.length) {
15
- throw rpcErrors.invalidParams({
16
- message: "Duplicate caveats are not allowed."
17
- });
18
- }
19
- if (!actualCaveats.every((caveat) => validCaveatTypes.has(caveat.type))) {
20
- throw rpcErrors.invalidParams({
21
- message: `Expected the following caveats: ${caveatsToValidate.map((caveat) => `"${caveat.type}"`).join(", ")}, received ${actualCaveats.map((caveat) => `"${caveat.type}"`).join(", ")}.`
22
- });
23
- }
24
- if (!requiredCaveats.every((caveat) => passedCaveatsSet.has(caveat.type))) {
25
- throw rpcErrors.invalidParams({
26
- message: `Expected the following caveats: ${requiredCaveats.map((caveat) => `"${caveat.type}"`).join(", ")}.`
27
- });
28
- }
29
- };
30
- }
31
-
32
- export {
33
- createGenericPermissionValidator
34
- };
35
- //# sourceMappingURL=chunk-TT4DP2YW.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/endowments/caveats/generic.ts"],"sourcesContent":["import type {\n PermissionConstraint,\n PermissionValidatorConstraint,\n} from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { Json } from '@metamask/utils';\n\nexport type CaveatMapperReturnValue = Pick<PermissionConstraint, 'caveats'>;\n\nexport type CaveatMapperFunction = (value: Json) => CaveatMapperReturnValue;\n\n/**\n * Create a generic permission validator that validates the presence of certain caveats.\n *\n * This validator only validates the types of the caveats, not the values.\n *\n * @param caveatsToValidate - A list of objects that represent caveats.\n * @param caveatsToValidate.type - The string defining the caveat type.\n * @param caveatsToValidate.optional - An optional boolean flag that defines\n * whether the caveat is optional or not.\n * @returns A function that validates a permission.\n */\nexport function createGenericPermissionValidator(\n caveatsToValidate: {\n type: string;\n optional?: boolean;\n }[],\n): PermissionValidatorConstraint {\n const validCaveatTypes = new Set(\n caveatsToValidate.map((caveat) => caveat.type),\n );\n const requiredCaveats = caveatsToValidate.filter(\n (caveat) => !caveat.optional,\n );\n\n return function ({ caveats }) {\n const actualCaveats = caveats ?? [];\n const passedCaveatTypes = actualCaveats.map((caveat) => caveat.type);\n const passedCaveatsSet = new Set(passedCaveatTypes);\n\n // Disallow duplicates\n if (passedCaveatsSet.size !== passedCaveatTypes.length) {\n throw rpcErrors.invalidParams({\n message: 'Duplicate caveats are not allowed.',\n });\n }\n\n // Disallow caveats that don't match expected types\n if (!actualCaveats.every((caveat) => validCaveatTypes.has(caveat.type))) {\n throw rpcErrors.invalidParams({\n message: `Expected the following caveats: ${caveatsToValidate\n .map((caveat) => `\"${caveat.type}\"`)\n .join(', ')}, received ${actualCaveats\n .map((caveat) => `\"${caveat.type}\"`)\n .join(', ')}.`,\n });\n }\n\n // Fail if not all required caveats are specified\n if (!requiredCaveats.every((caveat) => passedCaveatsSet.has(caveat.type))) {\n throw rpcErrors.invalidParams({\n message: `Expected the following caveats: ${requiredCaveats\n .map((caveat) => `\"${caveat.type}\"`)\n .join(', ')}.`,\n });\n }\n };\n}\n"],"mappings":";AAIA,SAAS,iBAAiB;AAkBnB,SAAS,iCACd,mBAI+B;AAC/B,QAAM,mBAAmB,IAAI;AAAA,IAC3B,kBAAkB,IAAI,CAAC,WAAW,OAAO,IAAI;AAAA,EAC/C;AACA,QAAM,kBAAkB,kBAAkB;AAAA,IACxC,CAAC,WAAW,CAAC,OAAO;AAAA,EACtB;AAEA,SAAO,SAAU,EAAE,QAAQ,GAAG;AAC5B,UAAM,gBAAgB,WAAW,CAAC;AAClC,UAAM,oBAAoB,cAAc,IAAI,CAAC,WAAW,OAAO,IAAI;AACnE,UAAM,mBAAmB,IAAI,IAAI,iBAAiB;AAGlD,QAAI,iBAAiB,SAAS,kBAAkB,QAAQ;AACtD,YAAM,UAAU,cAAc;AAAA,QAC5B,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAGA,QAAI,CAAC,cAAc,MAAM,CAAC,WAAW,iBAAiB,IAAI,OAAO,IAAI,CAAC,GAAG;AACvE,YAAM,UAAU,cAAc;AAAA,QAC5B,SAAS,mCAAmC,kBACzC,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,GAAG,EAClC,KAAK,IAAI,CAAC,cAAc,cACxB,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,GAAG,EAClC,KAAK,IAAI,CAAC;AAAA,MACf,CAAC;AAAA,IACH;AAGA,QAAI,CAAC,gBAAgB,MAAM,CAAC,WAAW,iBAAiB,IAAI,OAAO,IAAI,CAAC,GAAG;AACzE,YAAM,UAAU,cAAc;AAAA,QAC5B,SAAS,mCAAmC,gBACzC,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,GAAG,EAClC,KAAK,IAAI,CAAC;AAAA,MACf,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -1,42 +0,0 @@
1
- // src/permitted/getInterfaceState.ts
2
- import { rpcErrors } from "@metamask/rpc-errors";
3
- import { StructError, create, object, string } from "@metamask/superstruct";
4
- var hookNames = {
5
- getInterfaceState: true
6
- };
7
- var getInterfaceStateHandler = {
8
- methodNames: ["snap_getInterfaceState"],
9
- implementation: getGetInterfaceStateImplementation,
10
- hookNames
11
- };
12
- var GetInterfaceStateParametersStruct = object({
13
- id: string()
14
- });
15
- function getGetInterfaceStateImplementation(req, res, _next, end, { getInterfaceState }) {
16
- const { params } = req;
17
- try {
18
- const validatedParams = getValidatedParams(params);
19
- const { id } = validatedParams;
20
- res.result = getInterfaceState(id);
21
- } catch (error) {
22
- return end(error);
23
- }
24
- return end();
25
- }
26
- function getValidatedParams(params) {
27
- try {
28
- return create(params, GetInterfaceStateParametersStruct);
29
- } catch (error) {
30
- if (error instanceof StructError) {
31
- throw rpcErrors.invalidParams({
32
- message: `Invalid params: ${error.message}.`
33
- });
34
- }
35
- throw rpcErrors.internal();
36
- }
37
- }
38
-
39
- export {
40
- getInterfaceStateHandler
41
- };
42
- //# sourceMappingURL=chunk-TVC3E5LI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/permitted/getInterfaceState.ts"],"sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type {\n GetInterfaceStateParams,\n GetInterfaceStateResult,\n InterfaceState,\n JsonRpcRequest,\n} from '@metamask/snaps-sdk';\nimport { type InferMatching } from '@metamask/snaps-utils';\nimport { StructError, create, object, string } from '@metamask/superstruct';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<GetInterfaceStateMethodHooks> = {\n getInterfaceState: true,\n};\n\nexport type GetInterfaceStateMethodHooks = {\n /**\n * @param id - The interface ID.\n * @returns The interface state.\n */\n getInterfaceState: (id: string) => InterfaceState;\n};\n\nexport const getInterfaceStateHandler: PermittedHandlerExport<\n GetInterfaceStateMethodHooks,\n GetInterfaceStateParameters,\n GetInterfaceStateResult\n> = {\n methodNames: ['snap_getInterfaceState'],\n implementation: getGetInterfaceStateImplementation,\n hookNames,\n};\n\nconst GetInterfaceStateParametersStruct = object({\n id: string(),\n});\n\nexport type GetInterfaceStateParameters = InferMatching<\n typeof GetInterfaceStateParametersStruct,\n GetInterfaceStateParams\n>;\n\n/**\n * The `snap_getInterfaceState` method implementation.\n *\n * @param req - The JSON-RPC request object.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.getInterfaceState - The function to get the interface state.\n * @returns Noting.\n */\nfunction getGetInterfaceStateImplementation(\n req: JsonRpcRequest<GetInterfaceStateParameters>,\n res: PendingJsonRpcResponse<GetInterfaceStateResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getInterfaceState }: GetInterfaceStateMethodHooks,\n): void {\n const { params } = req;\n\n try {\n const validatedParams = getValidatedParams(params);\n\n const { id } = validatedParams;\n\n res.result = getInterfaceState(id);\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n\n/**\n * Validate the getInterfaceState method `params` and returns them cast to the correct\n * type. Throws if validation fails.\n *\n * @param params - The unvalidated params object from the method request.\n * @returns The validated getInterfaceState method parameter object.\n */\nfunction getValidatedParams(params: unknown): GetInterfaceStateParameters {\n try {\n return create(params, GetInterfaceStateParametersStruct);\n } catch (error) {\n if (error instanceof StructError) {\n throw rpcErrors.invalidParams({\n message: `Invalid params: ${error.message}.`,\n });\n }\n /* istanbul ignore next */\n throw rpcErrors.internal();\n }\n}\n"],"mappings":";AAEA,SAAS,iBAAiB;AAQ1B,SAAS,aAAa,QAAQ,QAAQ,cAAc;AAKpD,IAAM,YAA6D;AAAA,EACjE,mBAAmB;AACrB;AAUO,IAAM,2BAIT;AAAA,EACF,aAAa,CAAC,wBAAwB;AAAA,EACtC,gBAAgB;AAAA,EAChB;AACF;AAEA,IAAM,oCAAoC,OAAO;AAAA,EAC/C,IAAI,OAAO;AACb,CAAC;AAmBD,SAAS,mCACP,KACA,KACA,OACA,KACA,EAAE,kBAAkB,GACd;AACN,QAAM,EAAE,OAAO,IAAI;AAEnB,MAAI;AACF,UAAM,kBAAkB,mBAAmB,MAAM;AAEjD,UAAM,EAAE,GAAG,IAAI;AAEf,QAAI,SAAS,kBAAkB,EAAE;AAAA,EACnC,SAAS,OAAO;AACd,WAAO,IAAI,KAAK;AAAA,EAClB;AAEA,SAAO,IAAI;AACb;AASA,SAAS,mBAAmB,QAA8C;AACxE,MAAI;AACF,WAAO,OAAO,QAAQ,iCAAiC;AAAA,EACzD,SAAS,OAAO;AACd,QAAI,iBAAiB,aAAa;AAChC,YAAM,UAAU,cAAc;AAAA,QAC5B,SAAS,mBAAmB,MAAM,OAAO;AAAA,MAC3C,CAAC;AAAA,IACH;AAEA,UAAM,UAAU,SAAS;AAAA,EAC3B;AACF;","names":[]}