@metamask/snaps-rpc-methods 6.0.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/dist/chunk-23XDKQW2.mjs +73 -0
  3. package/dist/chunk-23XDKQW2.mjs.map +1 -0
  4. package/dist/chunk-2KTJCF3C.js +68 -0
  5. package/dist/chunk-2KTJCF3C.js.map +1 -0
  6. package/dist/chunk-3DHVA2FY.js +21 -0
  7. package/dist/chunk-3DHVA2FY.js.map +1 -0
  8. package/dist/chunk-3LPBU737.js +43 -0
  9. package/dist/chunk-3LPBU737.js.map +1 -0
  10. package/dist/chunk-3S7DJI4I.mjs +49 -0
  11. package/dist/chunk-3S7DJI4I.mjs.map +1 -0
  12. package/dist/chunk-3UAWEHMF.js +18 -0
  13. package/dist/chunk-3UAWEHMF.js.map +1 -0
  14. package/dist/chunk-4D2B2UQ6.mjs +23 -0
  15. package/dist/chunk-4D2B2UQ6.mjs.map +1 -0
  16. package/dist/chunk-4LSOS7SM.js +23 -0
  17. package/dist/chunk-4LSOS7SM.js.map +1 -0
  18. package/dist/chunk-4SQWLI2S.mjs +151 -0
  19. package/dist/chunk-4SQWLI2S.mjs.map +1 -0
  20. package/dist/chunk-4W7U4OH6.js +42 -0
  21. package/dist/chunk-4W7U4OH6.js.map +1 -0
  22. package/dist/chunk-62URQ5VS.mjs +18 -0
  23. package/dist/chunk-62URQ5VS.mjs.map +1 -0
  24. package/dist/chunk-6TKD32TS.js +78 -0
  25. package/dist/chunk-6TKD32TS.js.map +1 -0
  26. package/dist/chunk-6UY23OOZ.js +39 -0
  27. package/dist/chunk-6UY23OOZ.js.map +1 -0
  28. package/dist/chunk-6WUIFFMQ.mjs +78 -0
  29. package/dist/chunk-6WUIFFMQ.mjs.map +1 -0
  30. package/dist/chunk-7NBRKDKJ.mjs +188 -0
  31. package/dist/chunk-7NBRKDKJ.mjs.map +1 -0
  32. package/dist/chunk-7OMVZR5X.mjs +39 -0
  33. package/dist/chunk-7OMVZR5X.mjs.map +1 -0
  34. package/dist/chunk-7TVJV425.js +1 -0
  35. package/dist/chunk-7TVJV425.js.map +1 -0
  36. package/dist/chunk-ADXH5C3U.mjs +119 -0
  37. package/dist/chunk-ADXH5C3U.mjs.map +1 -0
  38. package/dist/chunk-AKRFLGOS.mjs +59 -0
  39. package/dist/chunk-AKRFLGOS.mjs.map +1 -0
  40. package/dist/chunk-AOWUGDER.js +78 -0
  41. package/dist/chunk-AOWUGDER.js.map +1 -0
  42. package/dist/chunk-AWQ6HTAL.mjs +75 -0
  43. package/dist/chunk-AWQ6HTAL.mjs.map +1 -0
  44. package/dist/chunk-AYJK7MSH.js +43 -0
  45. package/dist/chunk-AYJK7MSH.js.map +1 -0
  46. package/dist/chunk-B3NIHNXW.js +23 -0
  47. package/dist/{cjs/endowments/ethereum-provider.js.map → chunk-B3NIHNXW.js.map} +1 -1
  48. package/dist/chunk-C6E6DI4I.mjs +115 -0
  49. package/dist/chunk-C6E6DI4I.mjs.map +1 -0
  50. package/dist/chunk-CD4OUHO5.mjs +20 -0
  51. package/dist/chunk-CD4OUHO5.mjs.map +1 -0
  52. package/dist/chunk-CH5O2YCX.mjs +18 -0
  53. package/dist/chunk-CH5O2YCX.mjs.map +1 -0
  54. package/dist/chunk-CVK2TYJX.mjs +54 -0
  55. package/dist/chunk-CVK2TYJX.mjs.map +1 -0
  56. package/dist/chunk-D6MUXDVI.js +51 -0
  57. package/dist/chunk-D6MUXDVI.js.map +1 -0
  58. package/dist/chunk-E6WUMFQT.mjs +54 -0
  59. package/dist/chunk-E6WUMFQT.mjs.map +1 -0
  60. package/dist/chunk-EEVEVBK6.mjs +78 -0
  61. package/dist/chunk-EEVEVBK6.mjs.map +1 -0
  62. package/dist/chunk-EKXDFYIX.mjs +68 -0
  63. package/dist/chunk-EKXDFYIX.mjs.map +1 -0
  64. package/dist/chunk-FBOZCV3C.js +59 -0
  65. package/dist/chunk-FBOZCV3C.js.map +1 -0
  66. package/dist/chunk-FCVWU5XH.js +73 -0
  67. package/dist/chunk-FCVWU5XH.js.map +1 -0
  68. package/dist/chunk-FFHVA6PP.js +82 -0
  69. package/dist/chunk-FFHVA6PP.js.map +1 -0
  70. package/dist/chunk-FMDV3RFT.js +21 -0
  71. package/dist/chunk-FMDV3RFT.js.map +1 -0
  72. package/dist/chunk-GP5KW5FU.js +45 -0
  73. package/dist/chunk-GP5KW5FU.js.map +1 -0
  74. package/dist/chunk-GYZV5UBD.js +151 -0
  75. package/dist/chunk-GYZV5UBD.js.map +1 -0
  76. package/dist/chunk-I6FU5MGE.mjs +47 -0
  77. package/dist/chunk-I6FU5MGE.mjs.map +1 -0
  78. package/dist/chunk-IBV23QOX.mjs +67 -0
  79. package/dist/chunk-IBV23QOX.mjs.map +1 -0
  80. package/dist/chunk-IDZGMGIB.js +45 -0
  81. package/dist/chunk-IDZGMGIB.js.map +1 -0
  82. package/dist/chunk-IEUCBULU.js +119 -0
  83. package/dist/chunk-IEUCBULU.js.map +1 -0
  84. package/dist/chunk-IZYMBIBD.mjs +32 -0
  85. package/dist/chunk-IZYMBIBD.mjs.map +1 -0
  86. package/dist/chunk-JQ456NCC.mjs +51 -0
  87. package/dist/chunk-JQ456NCC.mjs.map +1 -0
  88. package/dist/chunk-JRSPKOFG.js +115 -0
  89. package/dist/chunk-JRSPKOFG.js.map +1 -0
  90. package/dist/chunk-JWDQUKKU.mjs +80 -0
  91. package/dist/chunk-JWDQUKKU.mjs.map +1 -0
  92. package/dist/chunk-KO4MKRYZ.js +188 -0
  93. package/dist/chunk-KO4MKRYZ.js.map +1 -0
  94. package/dist/chunk-KSTF5JYB.mjs +23 -0
  95. package/dist/chunk-KSTF5JYB.mjs.map +1 -0
  96. package/dist/chunk-LGUJMQC7.js +78 -0
  97. package/dist/{cjs/restricted/getBip32PublicKey.js.map → chunk-LGUJMQC7.js.map} +1 -1
  98. package/dist/chunk-LIWV3FMY.js +69 -0
  99. package/dist/chunk-LIWV3FMY.js.map +1 -0
  100. package/dist/chunk-LR7UR4YU.mjs +52 -0
  101. package/dist/chunk-LR7UR4YU.mjs.map +1 -0
  102. package/dist/chunk-LVTN25J2.js +49 -0
  103. package/dist/chunk-LVTN25J2.js.map +1 -0
  104. package/dist/chunk-MVG4B2HM.mjs +21 -0
  105. package/dist/chunk-MVG4B2HM.mjs.map +1 -0
  106. package/dist/chunk-MXCJWR45.mjs +45 -0
  107. package/dist/chunk-MXCJWR45.mjs.map +1 -0
  108. package/dist/chunk-MXPVC2XP.mjs +105 -0
  109. package/dist/chunk-MXPVC2XP.mjs.map +1 -0
  110. package/dist/chunk-NP3KGMVC.js +47 -0
  111. package/dist/chunk-NP3KGMVC.js.map +1 -0
  112. package/dist/chunk-NU4NAAFG.js +1 -0
  113. package/dist/chunk-NU4NAAFG.js.map +1 -0
  114. package/dist/chunk-NWT2EXFD.js +18 -0
  115. package/dist/chunk-NWT2EXFD.js.map +1 -0
  116. package/dist/chunk-O66NZFSD.mjs +23 -0
  117. package/dist/chunk-O66NZFSD.mjs.map +1 -0
  118. package/dist/chunk-OQOTJFFV.js +74 -0
  119. package/dist/chunk-OQOTJFFV.js.map +1 -0
  120. package/dist/chunk-P74WXDY4.js +54 -0
  121. package/dist/chunk-P74WXDY4.js.map +1 -0
  122. package/dist/chunk-PCB6QOHL.mjs +21 -0
  123. package/dist/chunk-PCB6QOHL.mjs.map +1 -0
  124. package/dist/chunk-PS6OEQXL.js +105 -0
  125. package/dist/chunk-PS6OEQXL.js.map +1 -0
  126. package/dist/chunk-PWUEAR4H.js +70 -0
  127. package/dist/chunk-PWUEAR4H.js.map +1 -0
  128. package/dist/chunk-Q27K2I6Z.js +23 -0
  129. package/dist/{cjs/endowments/web-assembly.js.map → chunk-Q27K2I6Z.js.map} +1 -1
  130. package/dist/chunk-Q5W3YGEB.js +67 -0
  131. package/dist/chunk-Q5W3YGEB.js.map +1 -0
  132. package/dist/chunk-QDZAWH6F.js +80 -0
  133. package/dist/chunk-QDZAWH6F.js.map +1 -0
  134. package/dist/chunk-QMULJEYN.js +35 -0
  135. package/dist/chunk-QMULJEYN.js.map +1 -0
  136. package/dist/chunk-S7AR3ROH.js +57 -0
  137. package/dist/chunk-S7AR3ROH.js.map +1 -0
  138. package/dist/chunk-SGQXD5K7.mjs +83 -0
  139. package/dist/chunk-SGQXD5K7.mjs.map +1 -0
  140. package/dist/chunk-SYUGPLEP.js +32 -0
  141. package/dist/chunk-SYUGPLEP.js.map +1 -0
  142. package/dist/chunk-TEXEQGNZ.js +75 -0
  143. package/dist/chunk-TEXEQGNZ.js.map +1 -0
  144. package/dist/chunk-TG63GBK3.mjs +1 -0
  145. package/dist/chunk-TG63GBK3.mjs.map +1 -0
  146. package/dist/chunk-TJYMYQAB.mjs +42 -0
  147. package/dist/chunk-TJYMYQAB.mjs.map +1 -0
  148. package/dist/chunk-TKXU7ZXP.mjs +78 -0
  149. package/dist/chunk-TKXU7ZXP.mjs.map +1 -0
  150. package/dist/chunk-TNENASGX.mjs +1 -0
  151. package/dist/chunk-TNENASGX.mjs.map +1 -0
  152. package/dist/chunk-TNRH2LRU.mjs +57 -0
  153. package/dist/chunk-TNRH2LRU.mjs.map +1 -0
  154. package/dist/chunk-TOYWHUAS.mjs +70 -0
  155. package/dist/chunk-TOYWHUAS.mjs.map +1 -0
  156. package/dist/chunk-TT4DP2YW.mjs +35 -0
  157. package/dist/chunk-TT4DP2YW.mjs.map +1 -0
  158. package/dist/chunk-UB3733UY.mjs +23 -0
  159. package/dist/chunk-UB3733UY.mjs.map +1 -0
  160. package/dist/chunk-UBPHGXCO.mjs +74 -0
  161. package/dist/chunk-UBPHGXCO.mjs.map +1 -0
  162. package/dist/chunk-VCGZNL35.mjs +69 -0
  163. package/dist/chunk-VCGZNL35.mjs.map +1 -0
  164. package/dist/chunk-VHY3NATP.js +67 -0
  165. package/dist/chunk-VHY3NATP.js.map +1 -0
  166. package/dist/chunk-VUA6ICJO.js +52 -0
  167. package/dist/chunk-VUA6ICJO.js.map +1 -0
  168. package/dist/chunk-VVBTXSID.mjs +82 -0
  169. package/dist/chunk-VVBTXSID.mjs.map +1 -0
  170. package/dist/chunk-WFAY5FPP.mjs +67 -0
  171. package/dist/chunk-WFAY5FPP.mjs.map +1 -0
  172. package/dist/chunk-WLDEPJGG.mjs +43 -0
  173. package/dist/chunk-WLDEPJGG.mjs.map +1 -0
  174. package/dist/chunk-Y4LNTDZ2.mjs +43 -0
  175. package/dist/chunk-Y4LNTDZ2.mjs.map +1 -0
  176. package/dist/chunk-YG7W4CDT.js +83 -0
  177. package/dist/{cjs/utils.js.map → chunk-YG7W4CDT.js.map} +1 -1
  178. package/dist/chunk-YGKFOOWI.js +20 -0
  179. package/dist/chunk-YGKFOOWI.js.map +1 -0
  180. package/dist/chunk-YOHE52XB.js +23 -0
  181. package/dist/chunk-YOHE52XB.js.map +1 -0
  182. package/dist/chunk-YS6TYXCP.mjs +45 -0
  183. package/dist/chunk-YS6TYXCP.mjs.map +1 -0
  184. package/dist/chunk-ZPK4THX4.js +54 -0
  185. package/dist/chunk-ZPK4THX4.js.map +1 -0
  186. package/dist/endowments/caveats/generic.js +7 -0
  187. package/dist/endowments/caveats/generic.js.map +1 -0
  188. package/dist/endowments/caveats/generic.mjs +7 -0
  189. package/dist/endowments/caveats/generic.mjs.map +1 -0
  190. package/dist/endowments/caveats/index.js +18 -0
  191. package/dist/endowments/caveats/index.js.map +1 -0
  192. package/dist/endowments/caveats/index.mjs +18 -0
  193. package/dist/endowments/caveats/index.mjs.map +1 -0
  194. package/dist/endowments/caveats/requestTime.js +13 -0
  195. package/dist/endowments/caveats/requestTime.js.map +1 -0
  196. package/dist/endowments/caveats/requestTime.mjs +13 -0
  197. package/dist/endowments/caveats/requestTime.mjs.map +1 -0
  198. package/dist/endowments/cronjob.js +16 -0
  199. package/dist/endowments/cronjob.js.map +1 -0
  200. package/dist/endowments/cronjob.mjs +16 -0
  201. package/dist/endowments/cronjob.mjs.map +1 -0
  202. package/dist/endowments/enum.js +7 -0
  203. package/dist/endowments/enum.js.map +1 -0
  204. package/dist/endowments/enum.mjs +7 -0
  205. package/dist/endowments/enum.mjs.map +1 -0
  206. package/dist/endowments/ethereum-provider.js +8 -0
  207. package/dist/endowments/ethereum-provider.js.map +1 -0
  208. package/dist/endowments/ethereum-provider.mjs +8 -0
  209. package/dist/endowments/ethereum-provider.mjs.map +1 -0
  210. package/dist/endowments/home-page.js +8 -0
  211. package/dist/endowments/home-page.js.map +1 -0
  212. package/dist/endowments/home-page.mjs +8 -0
  213. package/dist/endowments/home-page.mjs.map +1 -0
  214. package/dist/endowments/index.js +54 -0
  215. package/dist/endowments/index.js.map +1 -0
  216. package/dist/endowments/index.mjs +54 -0
  217. package/dist/endowments/index.mjs.map +1 -0
  218. package/dist/endowments/keyring.js +17 -0
  219. package/dist/endowments/keyring.js.map +1 -0
  220. package/dist/endowments/keyring.mjs +17 -0
  221. package/dist/endowments/keyring.mjs.map +1 -0
  222. package/dist/endowments/lifecycle-hooks.js +8 -0
  223. package/dist/endowments/lifecycle-hooks.js.map +1 -0
  224. package/dist/endowments/lifecycle-hooks.mjs +8 -0
  225. package/dist/endowments/lifecycle-hooks.mjs.map +1 -0
  226. package/dist/endowments/name-lookup.js +19 -0
  227. package/dist/endowments/name-lookup.js.map +1 -0
  228. package/dist/endowments/name-lookup.mjs +19 -0
  229. package/dist/endowments/name-lookup.mjs.map +1 -0
  230. package/dist/endowments/network-access.js +8 -0
  231. package/dist/endowments/network-access.js.map +1 -0
  232. package/dist/endowments/network-access.mjs +8 -0
  233. package/dist/endowments/network-access.mjs.map +1 -0
  234. package/dist/endowments/rpc.js +17 -0
  235. package/dist/endowments/rpc.js.map +1 -0
  236. package/dist/endowments/rpc.mjs +17 -0
  237. package/dist/endowments/rpc.mjs.map +1 -0
  238. package/dist/endowments/signature-insight.js +17 -0
  239. package/dist/endowments/signature-insight.js.map +1 -0
  240. package/dist/endowments/signature-insight.mjs +17 -0
  241. package/dist/endowments/signature-insight.mjs.map +1 -0
  242. package/dist/endowments/transaction-insight.js +17 -0
  243. package/dist/endowments/transaction-insight.js.map +1 -0
  244. package/dist/endowments/transaction-insight.mjs +17 -0
  245. package/dist/endowments/transaction-insight.mjs.map +1 -0
  246. package/dist/endowments/web-assembly.js +8 -0
  247. package/dist/endowments/web-assembly.js.map +1 -0
  248. package/dist/endowments/web-assembly.mjs +8 -0
  249. package/dist/endowments/web-assembly.mjs.map +1 -0
  250. package/dist/index.js +118 -0
  251. package/dist/index.js.map +1 -0
  252. package/dist/index.mjs +118 -0
  253. package/dist/index.mjs.map +1 -0
  254. package/dist/permissions.js +43 -0
  255. package/dist/permissions.js.map +1 -0
  256. package/dist/permissions.mjs +43 -0
  257. package/dist/permissions.mjs.map +1 -0
  258. package/dist/permitted/createInterface.js +7 -0
  259. package/dist/permitted/createInterface.js.map +1 -0
  260. package/dist/permitted/createInterface.mjs +7 -0
  261. package/dist/permitted/createInterface.mjs.map +1 -0
  262. package/dist/permitted/getAllSnaps.js +7 -0
  263. package/dist/permitted/getAllSnaps.js.map +1 -0
  264. package/dist/permitted/getAllSnaps.mjs +7 -0
  265. package/dist/permitted/getAllSnaps.mjs.map +1 -0
  266. package/dist/permitted/getClientStatus.js +7 -0
  267. package/dist/permitted/getClientStatus.js.map +1 -0
  268. package/dist/permitted/getClientStatus.mjs +7 -0
  269. package/dist/permitted/getClientStatus.mjs.map +1 -0
  270. package/dist/permitted/getFile.js +9 -0
  271. package/dist/permitted/getFile.js.map +1 -0
  272. package/dist/permitted/getFile.mjs +9 -0
  273. package/dist/permitted/getFile.mjs.map +1 -0
  274. package/dist/permitted/getInterfaceState.js +7 -0
  275. package/dist/permitted/getInterfaceState.js.map +1 -0
  276. package/dist/permitted/getInterfaceState.mjs +7 -0
  277. package/dist/permitted/getInterfaceState.mjs.map +1 -0
  278. package/dist/permitted/getSnaps.js +7 -0
  279. package/dist/permitted/getSnaps.js.map +1 -0
  280. package/dist/permitted/getSnaps.mjs +7 -0
  281. package/dist/permitted/getSnaps.mjs.map +1 -0
  282. package/dist/permitted/handlers.js +20 -0
  283. package/dist/permitted/handlers.js.map +1 -0
  284. package/dist/permitted/handlers.mjs +20 -0
  285. package/dist/permitted/handlers.mjs.map +1 -0
  286. package/dist/permitted/index.js +26 -0
  287. package/dist/permitted/index.js.map +1 -0
  288. package/dist/permitted/index.mjs +26 -0
  289. package/dist/permitted/index.mjs.map +1 -0
  290. package/dist/permitted/invokeKeyring.js +8 -0
  291. package/dist/permitted/invokeKeyring.js.map +1 -0
  292. package/dist/permitted/invokeKeyring.mjs +8 -0
  293. package/dist/permitted/invokeKeyring.mjs.map +1 -0
  294. package/dist/permitted/invokeSnapSugar.js +11 -0
  295. package/dist/permitted/invokeSnapSugar.js.map +1 -0
  296. package/dist/permitted/invokeSnapSugar.mjs +11 -0
  297. package/dist/permitted/invokeSnapSugar.mjs.map +1 -0
  298. package/dist/permitted/middleware.js +20 -0
  299. package/dist/permitted/middleware.js.map +1 -0
  300. package/dist/permitted/middleware.mjs +20 -0
  301. package/dist/permitted/middleware.mjs.map +1 -0
  302. package/dist/permitted/requestSnaps.js +12 -0
  303. package/dist/permitted/requestSnaps.js.map +1 -0
  304. package/dist/permitted/requestSnaps.mjs +12 -0
  305. package/dist/permitted/requestSnaps.mjs.map +1 -0
  306. package/dist/permitted/updateInterface.js +7 -0
  307. package/dist/permitted/updateInterface.js.map +1 -0
  308. package/dist/permitted/updateInterface.mjs +7 -0
  309. package/dist/permitted/updateInterface.mjs.map +1 -0
  310. package/dist/restricted/caveats/index.js +17 -0
  311. package/dist/restricted/caveats/index.js.map +1 -0
  312. package/dist/restricted/caveats/index.mjs +17 -0
  313. package/dist/restricted/caveats/index.mjs.map +1 -0
  314. package/dist/restricted/caveats/permittedCoinTypes.js +13 -0
  315. package/dist/restricted/caveats/permittedCoinTypes.js.map +1 -0
  316. package/dist/restricted/caveats/permittedCoinTypes.mjs +13 -0
  317. package/dist/restricted/caveats/permittedCoinTypes.mjs.map +1 -0
  318. package/dist/restricted/caveats/permittedDerivationPaths.js +13 -0
  319. package/dist/restricted/caveats/permittedDerivationPaths.js.map +1 -0
  320. package/dist/restricted/caveats/permittedDerivationPaths.mjs +13 -0
  321. package/dist/restricted/caveats/permittedDerivationPaths.mjs.map +1 -0
  322. package/dist/restricted/caveats/snapIds.js +11 -0
  323. package/dist/restricted/caveats/snapIds.js.map +1 -0
  324. package/dist/restricted/caveats/snapIds.mjs +11 -0
  325. package/dist/restricted/caveats/snapIds.mjs.map +1 -0
  326. package/dist/restricted/dialog.js +9 -0
  327. package/dist/restricted/dialog.js.map +1 -0
  328. package/dist/restricted/dialog.mjs +9 -0
  329. package/dist/restricted/dialog.mjs.map +1 -0
  330. package/dist/restricted/getBip32Entropy.js +10 -0
  331. package/dist/restricted/getBip32Entropy.js.map +1 -0
  332. package/dist/restricted/getBip32Entropy.mjs +10 -0
  333. package/dist/restricted/getBip32Entropy.mjs.map +1 -0
  334. package/dist/restricted/getBip32PublicKey.js +12 -0
  335. package/dist/restricted/getBip32PublicKey.js.map +1 -0
  336. package/dist/restricted/getBip32PublicKey.mjs +12 -0
  337. package/dist/restricted/getBip32PublicKey.mjs.map +1 -0
  338. package/dist/restricted/getBip44Entropy.js +9 -0
  339. package/dist/restricted/getBip44Entropy.js.map +1 -0
  340. package/dist/restricted/getBip44Entropy.mjs +9 -0
  341. package/dist/restricted/getBip44Entropy.mjs.map +1 -0
  342. package/dist/restricted/getEntropy.js +10 -0
  343. package/dist/restricted/getEntropy.js.map +1 -0
  344. package/dist/restricted/getEntropy.mjs +10 -0
  345. package/dist/restricted/getEntropy.mjs.map +1 -0
  346. package/dist/restricted/getLocale.js +11 -0
  347. package/dist/restricted/getLocale.js.map +1 -0
  348. package/dist/restricted/getLocale.mjs +11 -0
  349. package/dist/restricted/getLocale.mjs.map +1 -0
  350. package/dist/restricted/index.js +33 -0
  351. package/dist/restricted/index.js.map +1 -0
  352. package/dist/restricted/index.mjs +33 -0
  353. package/dist/restricted/index.mjs.map +1 -0
  354. package/dist/restricted/invokeSnap.js +13 -0
  355. package/dist/restricted/invokeSnap.js.map +1 -0
  356. package/dist/restricted/invokeSnap.mjs +13 -0
  357. package/dist/restricted/invokeSnap.mjs.map +1 -0
  358. package/dist/restricted/manageAccounts.js +13 -0
  359. package/dist/restricted/manageAccounts.js.map +1 -0
  360. package/dist/restricted/manageAccounts.mjs +13 -0
  361. package/dist/restricted/manageAccounts.mjs.map +1 -0
  362. package/dist/restricted/manageState.js +20 -0
  363. package/dist/restricted/manageState.js.map +1 -0
  364. package/dist/restricted/manageState.mjs +20 -0
  365. package/dist/restricted/manageState.mjs.map +1 -0
  366. package/dist/restricted/notify.js +13 -0
  367. package/dist/restricted/notify.js.map +1 -0
  368. package/dist/restricted/notify.mjs +13 -0
  369. package/dist/restricted/notify.mjs.map +1 -0
  370. package/dist/tsconfig.build.tsbuildinfo +1 -0
  371. package/dist/utils.js +13 -0
  372. package/dist/utils.js.map +1 -0
  373. package/dist/utils.mjs +13 -0
  374. package/dist/utils.mjs.map +1 -0
  375. package/package.json +21 -18
  376. package/dist/cjs/endowments/caveats/generic.js +0 -40
  377. package/dist/cjs/endowments/caveats/generic.js.map +0 -1
  378. package/dist/cjs/endowments/caveats/index.js +0 -21
  379. package/dist/cjs/endowments/caveats/index.js.map +0 -1
  380. package/dist/cjs/endowments/caveats/requestTime.js +0 -99
  381. package/dist/cjs/endowments/caveats/requestTime.js.map +0 -1
  382. package/dist/cjs/endowments/cronjob.js +0 -100
  383. package/dist/cjs/endowments/cronjob.js.map +0 -1
  384. package/dist/cjs/endowments/enum.js +0 -26
  385. package/dist/cjs/endowments/enum.js.map +0 -1
  386. package/dist/cjs/endowments/ethereum-provider.js +0 -43
  387. package/dist/cjs/endowments/home-page.js +0 -37
  388. package/dist/cjs/endowments/home-page.js.map +0 -1
  389. package/dist/cjs/endowments/index.js +0 -121
  390. package/dist/cjs/endowments/index.js.map +0 -1
  391. package/dist/cjs/endowments/keyring.js +0 -104
  392. package/dist/cjs/endowments/keyring.js.map +0 -1
  393. package/dist/cjs/endowments/lifecycle-hooks.js +0 -37
  394. package/dist/cjs/endowments/lifecycle-hooks.js.map +0 -1
  395. package/dist/cjs/endowments/name-lookup.js +0 -148
  396. package/dist/cjs/endowments/name-lookup.js.map +0 -1
  397. package/dist/cjs/endowments/network-access.js +0 -44
  398. package/dist/cjs/endowments/network-access.js.map +0 -1
  399. package/dist/cjs/endowments/rpc.js +0 -103
  400. package/dist/cjs/endowments/rpc.js.map +0 -1
  401. package/dist/cjs/endowments/signature-insight.js +0 -110
  402. package/dist/cjs/endowments/signature-insight.js.map +0 -1
  403. package/dist/cjs/endowments/transaction-insight.js +0 -111
  404. package/dist/cjs/endowments/transaction-insight.js.map +0 -1
  405. package/dist/cjs/endowments/web-assembly.js +0 -42
  406. package/dist/cjs/index.js +0 -45
  407. package/dist/cjs/index.js.map +0 -1
  408. package/dist/cjs/permissions.js +0 -62
  409. package/dist/cjs/permissions.js.map +0 -1
  410. package/dist/cjs/permitted/createInterface.js +0 -68
  411. package/dist/cjs/permitted/createInterface.js.map +0 -1
  412. package/dist/cjs/permitted/getAllSnaps.js +0 -44
  413. package/dist/cjs/permitted/getAllSnaps.js.map +0 -1
  414. package/dist/cjs/permitted/getClientStatus.js +0 -40
  415. package/dist/cjs/permitted/getClientStatus.js.map +0 -1
  416. package/dist/cjs/permitted/getFile.js +0 -63
  417. package/dist/cjs/permitted/getFile.js.map +0 -1
  418. package/dist/cjs/permitted/getInterfaceState.js +0 -67
  419. package/dist/cjs/permitted/getInterfaceState.js.map +0 -1
  420. package/dist/cjs/permitted/getSnaps.js +0 -39
  421. package/dist/cjs/permitted/getSnaps.js.map +0 -1
  422. package/dist/cjs/permitted/handlers.js +0 -43
  423. package/dist/cjs/permitted/handlers.js.map +0 -1
  424. package/dist/cjs/permitted/index.js +0 -21
  425. package/dist/cjs/permitted/index.js.map +0 -1
  426. package/dist/cjs/permitted/invokeKeyring.js +0 -87
  427. package/dist/cjs/permitted/invokeKeyring.js.map +0 -1
  428. package/dist/cjs/permitted/invokeSnapSugar.js +0 -62
  429. package/dist/cjs/permitted/invokeSnapSugar.js.map +0 -1
  430. package/dist/cjs/permitted/middleware.js +0 -38
  431. package/dist/cjs/permitted/middleware.js.map +0 -1
  432. package/dist/cjs/permitted/requestSnaps.js +0 -123
  433. package/dist/cjs/permitted/requestSnaps.js.map +0 -1
  434. package/dist/cjs/permitted/updateInterface.js +0 -70
  435. package/dist/cjs/permitted/updateInterface.js.map +0 -1
  436. package/dist/cjs/restricted/caveats/index.js +0 -38
  437. package/dist/cjs/restricted/caveats/index.js.map +0 -1
  438. package/dist/cjs/restricted/caveats/permittedCoinTypes.js +0 -83
  439. package/dist/cjs/restricted/caveats/permittedCoinTypes.js.map +0 -1
  440. package/dist/cjs/restricted/caveats/permittedDerivationPaths.js +0 -67
  441. package/dist/cjs/restricted/caveats/permittedDerivationPaths.js.map +0 -1
  442. package/dist/cjs/restricted/caveats/snapIds.js +0 -59
  443. package/dist/cjs/restricted/caveats/snapIds.js.map +0 -1
  444. package/dist/cjs/restricted/dialog.js +0 -172
  445. package/dist/cjs/restricted/dialog.js.map +0 -1
  446. package/dist/cjs/restricted/getBip32Entropy.js +0 -76
  447. package/dist/cjs/restricted/getBip32Entropy.js.map +0 -1
  448. package/dist/cjs/restricted/getBip32PublicKey.js +0 -91
  449. package/dist/cjs/restricted/getBip44Entropy.js +0 -76
  450. package/dist/cjs/restricted/getBip44Entropy.js.map +0 -1
  451. package/dist/cjs/restricted/getEntropy.js +0 -76
  452. package/dist/cjs/restricted/getEntropy.js.map +0 -1
  453. package/dist/cjs/restricted/getLocale.js +0 -49
  454. package/dist/cjs/restricted/getLocale.js.map +0 -1
  455. package/dist/cjs/restricted/index.js +0 -59
  456. package/dist/cjs/restricted/index.js.map +0 -1
  457. package/dist/cjs/restricted/invokeSnap.js +0 -99
  458. package/dist/cjs/restricted/invokeSnap.js.map +0 -1
  459. package/dist/cjs/restricted/manageAccounts.js +0 -68
  460. package/dist/cjs/restricted/manageAccounts.js.map +0 -1
  461. package/dist/cjs/restricted/manageState.js +0 -208
  462. package/dist/cjs/restricted/manageState.js.map +0 -1
  463. package/dist/cjs/restricted/notify.js +0 -92
  464. package/dist/cjs/restricted/notify.js.map +0 -1
  465. package/dist/cjs/utils.js +0 -98
  466. package/dist/esm/endowments/caveats/generic.js +0 -40
  467. package/dist/esm/endowments/caveats/generic.js.map +0 -1
  468. package/dist/esm/endowments/caveats/index.js +0 -4
  469. package/dist/esm/endowments/caveats/index.js.map +0 -1
  470. package/dist/esm/endowments/caveats/requestTime.js +0 -93
  471. package/dist/esm/endowments/caveats/requestTime.js.map +0 -1
  472. package/dist/esm/endowments/cronjob.js +0 -99
  473. package/dist/esm/endowments/cronjob.js.map +0 -1
  474. package/dist/esm/endowments/enum.js +0 -16
  475. package/dist/esm/endowments/enum.js.map +0 -1
  476. package/dist/esm/endowments/ethereum-provider.js +0 -33
  477. package/dist/esm/endowments/ethereum-provider.js.map +0 -1
  478. package/dist/esm/endowments/home-page.js +0 -27
  479. package/dist/esm/endowments/home-page.js.map +0 -1
  480. package/dist/esm/endowments/index.js +0 -68
  481. package/dist/esm/endowments/index.js.map +0 -1
  482. package/dist/esm/endowments/keyring.js +0 -95
  483. package/dist/esm/endowments/keyring.js.map +0 -1
  484. package/dist/esm/endowments/lifecycle-hooks.js +0 -27
  485. package/dist/esm/endowments/lifecycle-hooks.js.map +0 -1
  486. package/dist/esm/endowments/name-lookup.js +0 -146
  487. package/dist/esm/endowments/name-lookup.js.map +0 -1
  488. package/dist/esm/endowments/network-access.js +0 -34
  489. package/dist/esm/endowments/network-access.js.map +0 -1
  490. package/dist/esm/endowments/rpc.js +0 -92
  491. package/dist/esm/endowments/rpc.js.map +0 -1
  492. package/dist/esm/endowments/signature-insight.js +0 -103
  493. package/dist/esm/endowments/signature-insight.js.map +0 -1
  494. package/dist/esm/endowments/transaction-insight.js +0 -104
  495. package/dist/esm/endowments/transaction-insight.js.map +0 -1
  496. package/dist/esm/endowments/web-assembly.js +0 -32
  497. package/dist/esm/endowments/web-assembly.js.map +0 -1
  498. package/dist/esm/index.js +0 -8
  499. package/dist/esm/index.js.map +0 -1
  500. package/dist/esm/permissions.js +0 -51
  501. package/dist/esm/permissions.js.map +0 -1
  502. package/dist/esm/permitted/createInterface.js +0 -58
  503. package/dist/esm/permitted/createInterface.js.map +0 -1
  504. package/dist/esm/permitted/getAllSnaps.js +0 -37
  505. package/dist/esm/permitted/getAllSnaps.js.map +0 -1
  506. package/dist/esm/permitted/getClientStatus.js +0 -32
  507. package/dist/esm/permitted/getClientStatus.js.map +0 -1
  508. package/dist/esm/permitted/getFile.js +0 -45
  509. package/dist/esm/permitted/getFile.js.map +0 -1
  510. package/dist/esm/permitted/getInterfaceState.js +0 -57
  511. package/dist/esm/permitted/getInterfaceState.js.map +0 -1
  512. package/dist/esm/permitted/getSnaps.js +0 -31
  513. package/dist/esm/permitted/getSnaps.js.map +0 -1
  514. package/dist/esm/permitted/handlers.js +0 -25
  515. package/dist/esm/permitted/handlers.js.map +0 -1
  516. package/dist/esm/permitted/index.js +0 -4
  517. package/dist/esm/permitted/index.js.map +0 -1
  518. package/dist/esm/permitted/invokeKeyring.js +0 -79
  519. package/dist/esm/permitted/invokeKeyring.js.map +0 -1
  520. package/dist/esm/permitted/invokeSnapSugar.js +0 -60
  521. package/dist/esm/permitted/invokeSnapSugar.js.map +0 -1
  522. package/dist/esm/permitted/middleware.js +0 -34
  523. package/dist/esm/permitted/middleware.js.map +0 -1
  524. package/dist/esm/permitted/requestSnaps.js +0 -118
  525. package/dist/esm/permitted/requestSnaps.js.map +0 -1
  526. package/dist/esm/permitted/updateInterface.js +0 -60
  527. package/dist/esm/permitted/updateInterface.js.map +0 -1
  528. package/dist/esm/restricted/caveats/index.js +0 -20
  529. package/dist/esm/restricted/caveats/index.js.map +0 -1
  530. package/dist/esm/restricted/caveats/permittedCoinTypes.js +0 -77
  531. package/dist/esm/restricted/caveats/permittedCoinTypes.js.map +0 -1
  532. package/dist/esm/restricted/caveats/permittedDerivationPaths.js +0 -64
  533. package/dist/esm/restricted/caveats/permittedDerivationPaths.js.map +0 -1
  534. package/dist/esm/restricted/caveats/snapIds.js +0 -50
  535. package/dist/esm/restricted/caveats/snapIds.js.map +0 -1
  536. package/dist/esm/restricted/dialog.js +0 -164
  537. package/dist/esm/restricted/dialog.js.map +0 -1
  538. package/dist/esm/restricted/getBip32Entropy.js +0 -67
  539. package/dist/esm/restricted/getBip32Entropy.js.map +0 -1
  540. package/dist/esm/restricted/getBip32PublicKey.js +0 -79
  541. package/dist/esm/restricted/getBip32PublicKey.js.map +0 -1
  542. package/dist/esm/restricted/getBip44Entropy.js +0 -69
  543. package/dist/esm/restricted/getBip44Entropy.js.map +0 -1
  544. package/dist/esm/restricted/getEntropy.js +0 -58
  545. package/dist/esm/restricted/getEntropy.js.map +0 -1
  546. package/dist/esm/restricted/getLocale.js +0 -42
  547. package/dist/esm/restricted/getLocale.js.map +0 -1
  548. package/dist/esm/restricted/index.js +0 -27
  549. package/dist/esm/restricted/index.js.map +0 -1
  550. package/dist/esm/restricted/invokeSnap.js +0 -89
  551. package/dist/esm/restricted/invokeSnap.js.map +0 -1
  552. package/dist/esm/restricted/manageAccounts.js +0 -60
  553. package/dist/esm/restricted/manageAccounts.js.map +0 -1
  554. package/dist/esm/restricted/manageState.js +0 -225
  555. package/dist/esm/restricted/manageState.js.map +0 -1
  556. package/dist/esm/restricted/notify.js +0 -92
  557. package/dist/esm/restricted/notify.js.map +0 -1
  558. package/dist/esm/utils.js +0 -124
  559. package/dist/esm/utils.js.map +0 -1
@@ -0,0 +1,83 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/utils.ts
2
+ var _keytree = require('@metamask/key-tree');
3
+
4
+
5
+
6
+
7
+
8
+
9
+ var _utils = require('@metamask/utils');
10
+ var _sha3 = require('@noble/hashes/sha3');
11
+ var HARDENED_VALUE = 2147483648;
12
+ function selectHooks(hooks, hookNames) {
13
+ if (hookNames) {
14
+ return Object.keys(hookNames).reduce(
15
+ (hookSubset, _hookName) => {
16
+ const hookName = _hookName;
17
+ hookSubset[hookName] = hooks[hookName];
18
+ return hookSubset;
19
+ },
20
+ {}
21
+ );
22
+ }
23
+ return void 0;
24
+ }
25
+ function getDerivationPathArray(hash) {
26
+ const array = [];
27
+ const view = _utils.createDataView.call(void 0, hash);
28
+ for (let index = 0; index < 8; index++) {
29
+ const uint32 = view.getUint32(index * 4);
30
+ const pathIndex = (uint32 | HARDENED_VALUE) >>> 0;
31
+ array.push(`bip32:${pathIndex - HARDENED_VALUE}'`);
32
+ }
33
+ return array;
34
+ }
35
+ async function deriveEntropy({
36
+ input,
37
+ salt = "",
38
+ mnemonicPhrase,
39
+ magic
40
+ }) {
41
+ const inputBytes = _utils.stringToBytes.call(void 0, input);
42
+ const saltBytes = _utils.stringToBytes.call(void 0, salt);
43
+ const hash = _sha3.keccak_256.call(void 0, _utils.concatBytes.call(void 0, [inputBytes, _sha3.keccak_256.call(void 0, saltBytes)]));
44
+ const computedDerivationPath = getDerivationPathArray(hash);
45
+ const { privateKey } = await _keytree.SLIP10Node.fromDerivationPath({
46
+ derivationPath: [
47
+ mnemonicPhrase,
48
+ `bip32:${magic}`,
49
+ ...computedDerivationPath
50
+ ],
51
+ curve: "secp256k1"
52
+ });
53
+ _utils.assert.call(void 0, privateKey, "Failed to derive the entropy.");
54
+ return _utils.add0x.call(void 0, privateKey);
55
+ }
56
+ function getPathPrefix(curve) {
57
+ if (curve === "secp256k1") {
58
+ return "bip32";
59
+ }
60
+ return "slip10";
61
+ }
62
+ async function getNode({
63
+ curve,
64
+ secretRecoveryPhrase,
65
+ path
66
+ }) {
67
+ const prefix = getPathPrefix(curve);
68
+ return await _keytree.SLIP10Node.fromDerivationPath({
69
+ curve,
70
+ derivationPath: [
71
+ secretRecoveryPhrase,
72
+ ...path.slice(1).map((index) => `${prefix}:${index}`)
73
+ ]
74
+ });
75
+ }
76
+
77
+
78
+
79
+
80
+
81
+
82
+ exports.selectHooks = selectHooks; exports.deriveEntropy = deriveEntropy; exports.getPathPrefix = getPathPrefix; exports.getNode = getNode;
83
+ //# sourceMappingURL=chunk-YG7W4CDT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import type {\n HardenedBIP32Node,\n BIP32Node,\n SLIP10PathNode,\n} from '@metamask/key-tree';\nimport { SLIP10Node } from '@metamask/key-tree';\nimport type { MagicValue } from '@metamask/snaps-utils';\nimport type { Hex } from '@metamask/utils';\nimport {\n add0x,\n assert,\n concatBytes,\n createDataView,\n stringToBytes,\n} from '@metamask/utils';\nimport { keccak_256 as keccak256 } from '@noble/hashes/sha3';\n\nconst HARDENED_VALUE = 0x80000000;\n\n/**\n * Maps an interface with method hooks to an object, using the keys of the\n * interface, and `true` as value. This ensures that the `methodHooks` object\n * has the same values as the interface.\n */\nexport type MethodHooksObject<HooksType extends Record<string, unknown>> = {\n [Key in keyof HooksType]: true;\n};\n\n/**\n * Returns the subset of the specified `hooks` that are included in the\n * `hookNames` object. This is a Principle of Least Authority (POLA) measure\n * to ensure that each RPC method implementation only has access to the\n * API \"hooks\" it needs to do its job.\n *\n * @param hooks - The hooks to select from.\n * @param hookNames - The names of the hooks to select.\n * @returns The selected hooks.\n * @template Hooks - The hooks to select from.\n * @template HookName - The names of the hooks to select.\n */\nexport function selectHooks<\n Hooks extends Record<string, unknown>,\n HookName extends keyof Hooks,\n>(\n hooks: Hooks,\n hookNames?: Record<HookName, boolean>,\n): Pick<Hooks, HookName> | undefined {\n if (hookNames) {\n return Object.keys(hookNames).reduce<Partial<Pick<Hooks, HookName>>>(\n (hookSubset, _hookName) => {\n const hookName = _hookName as HookName;\n hookSubset[hookName] = hooks[hookName];\n return hookSubset;\n },\n {},\n ) as Pick<Hooks, HookName>;\n }\n return undefined;\n}\n\n/**\n * Get a BIP-32 derivation path array from a hash, which is compatible with\n * `@metamask/key-tree`. The hash is assumed to be 32 bytes long.\n *\n * @param hash - The hash to derive indices from.\n * @returns The derived indices as a {@link HardenedBIP32Node} array.\n */\nfunction getDerivationPathArray(hash: Uint8Array): HardenedBIP32Node[] {\n const array: HardenedBIP32Node[] = [];\n const view = createDataView(hash);\n\n for (let index = 0; index < 8; index++) {\n const uint32 = view.getUint32(index * 4);\n\n // This is essentially `index | 0x80000000`. Because JavaScript numbers are\n // signed, we use the bitwise unsigned right shift operator to ensure that\n // the result is a positive number.\n // eslint-disable-next-line no-bitwise\n const pathIndex = (uint32 | HARDENED_VALUE) >>> 0;\n array.push(`bip32:${pathIndex - HARDENED_VALUE}'` as const);\n }\n\n return array;\n}\n\ntype DeriveEntropyOptions = {\n /**\n * The input value to derive entropy from.\n */\n input: string;\n\n /**\n * An optional salt to use when deriving entropy.\n */\n salt?: string;\n\n /**\n * The mnemonic phrase to use for entropy derivation.\n */\n mnemonicPhrase: Uint8Array;\n\n /**\n * A hardened BIP-32 index, which is used to derive the root key from the\n * mnemonic phrase.\n */\n magic: MagicValue;\n};\n\n/**\n * Derive entropy from the given mnemonic phrase and salt.\n *\n * This is based on the reference implementation of\n * [SIP-6](https://metamask.github.io/SIPs/SIPS/sip-6).\n *\n * @param options - The options for entropy derivation.\n * @param options.input - The input value to derive entropy from.\n * @param options.salt - An optional salt to use when deriving entropy.\n * @param options.mnemonicPhrase - The mnemonic phrase to use for entropy\n * derivation.\n * @param options.magic - A hardened BIP-32 index, which is used to derive the\n * root key from the mnemonic phrase.\n * @returns The derived entropy.\n */\nexport async function deriveEntropy({\n input,\n salt = '',\n mnemonicPhrase,\n magic,\n}: DeriveEntropyOptions): Promise<Hex> {\n const inputBytes = stringToBytes(input);\n const saltBytes = stringToBytes(salt);\n\n // Get the derivation path from the snap ID.\n const hash = keccak256(concatBytes([inputBytes, keccak256(saltBytes)]));\n const computedDerivationPath = getDerivationPathArray(hash);\n\n // Derive the private key using BIP-32.\n const { privateKey } = await SLIP10Node.fromDerivationPath({\n derivationPath: [\n mnemonicPhrase,\n `bip32:${magic}`,\n ...computedDerivationPath,\n ],\n curve: 'secp256k1',\n });\n\n // This should never happen, but this keeps TypeScript happy.\n assert(privateKey, 'Failed to derive the entropy.');\n\n return add0x(privateKey);\n}\n\n/**\n * Get the path prefix to use for key derivation in `key-tree`. This assumes the\n * following:\n *\n * - The Secp256k1 curve always use the BIP-32 specification.\n * - The Ed25519 curve always use the SLIP-10 specification.\n *\n * While this does not matter in most situations (no known case at the time of\n * writing), `key-tree` requires a specific specification to be used.\n *\n * @param curve - The curve to get the path prefix for. The curve is NOT\n * validated by this function.\n * @returns The path prefix, i.e., `secp256k1` or `ed25519`.\n */\nexport function getPathPrefix(\n curve: 'secp256k1' | 'ed25519',\n): 'bip32' | 'slip10' {\n if (curve === 'secp256k1') {\n return 'bip32';\n }\n\n return 'slip10';\n}\n\ntype GetNodeArgs = {\n curve: 'secp256k1' | 'ed25519';\n secretRecoveryPhrase: Uint8Array;\n path: string[];\n};\n\n/**\n * Get a `key-tree`-compatible node.\n *\n * Note: This function assumes that all the parameters have been validated\n * beforehand.\n *\n * @param options - The derivation options.\n * @param options.curve - The curve to use for derivation.\n * @param options.secretRecoveryPhrase - The secret recovery phrase to use for\n * derivation.\n * @param options.path - The derivation path to use as array, starting with an\n * \"m\" as the first item.\n */\nexport async function getNode({\n curve,\n secretRecoveryPhrase,\n path,\n}: GetNodeArgs) {\n const prefix = getPathPrefix(curve);\n return await SLIP10Node.fromDerivationPath({\n curve,\n derivationPath: [\n secretRecoveryPhrase,\n ...(path.slice(1).map((index) => `${prefix}:${index}`) as\n | BIP32Node[]\n | SLIP10PathNode[]),\n ],\n });\n}\n"],"names":["selectHooks","deriveEntropy","getPathPrefix","getNode","HARDENED_VALUE","hooks","hookNames","Object","keys","reduce","hookSubset","_hookName","hookName","undefined","getDerivationPathArray","hash","array","view","createDataView","index","uint32","getUint32","pathIndex","push","input","salt","mnemonicPhrase","magic","inputBytes","stringToBytes","saltBytes","keccak256","concatBytes","computedDerivationPath","privateKey","SLIP10Node","fromDerivationPath","derivationPath","curve","assert","add0x","secretRecoveryPhrase","path","prefix","slice","map"],"mappings":";;;;;;;;;;;IAwCgBA,WAAW;eAAXA;;IAmFMC,aAAa;eAAbA;;IA2CNC,aAAa;eAAbA;;IA6BMC,OAAO;eAAPA;;;yBA9LK;uBASpB;sBACiC;AAExC,MAAMC,iBAAiB;AAuBhB,SAASJ,YAIdK,KAAY,EACZC,SAAqC;IAErC,IAAIA,WAAW;QACb,OAAOC,OAAOC,IAAI,CAACF,WAAWG,MAAM,CAClC,CAACC,YAAYC;YACX,MAAMC,WAAWD;YACjBD,UAAU,CAACE,SAAS,GAAGP,KAAK,CAACO,SAAS;YACtC,OAAOF;QACT,GACA,CAAC;IAEL;IACA,OAAOG;AACT;AAEA;;;;;;CAMC,GACD,SAASC,uBAAuBC,IAAgB;IAC9C,MAAMC,QAA6B,EAAE;IACrC,MAAMC,OAAOC,IAAAA,qBAAc,EAACH;IAE5B,IAAK,IAAII,QAAQ,GAAGA,QAAQ,GAAGA,QAAS;QACtC,MAAMC,SAASH,KAAKI,SAAS,CAACF,QAAQ;QAEtC,2EAA2E;QAC3E,0EAA0E;QAC1E,mCAAmC;QACnC,sCAAsC;QACtC,MAAMG,YAAY,AAACF,CAAAA,SAAShB,cAAa,MAAO;QAChDY,MAAMO,IAAI,CAAC,CAAC,MAAM,EAAED,YAAYlB,eAAe,CAAC,CAAC;IACnD;IAEA,OAAOY;AACT;AAwCO,eAAef,cAAc,EAClCuB,KAAK,EACLC,OAAO,EAAE,EACTC,cAAc,EACdC,KAAK,EACgB;IACrB,MAAMC,aAAaC,IAAAA,oBAAa,EAACL;IACjC,MAAMM,YAAYD,IAAAA,oBAAa,EAACJ;IAEhC,4CAA4C;IAC5C,MAAMV,OAAOgB,IAAAA,gBAAS,EAACC,IAAAA,kBAAW,EAAC;QAACJ;QAAYG,IAAAA,gBAAS,EAACD;KAAW;IACrE,MAAMG,yBAAyBnB,uBAAuBC;IAEtD,uCAAuC;IACvC,MAAM,EAAEmB,UAAU,EAAE,GAAG,MAAMC,mBAAU,CAACC,kBAAkB,CAAC;QACzDC,gBAAgB;YACdX;YACA,CAAC,MAAM,EAAEC,MAAM,CAAC;eACbM;SACJ;QACDK,OAAO;IACT;IAEA,6DAA6D;IAC7DC,IAAAA,aAAM,EAACL,YAAY;IAEnB,OAAOM,IAAAA,YAAK,EAACN;AACf;AAgBO,SAAShC,cACdoC,KAA8B;IAE9B,IAAIA,UAAU,aAAa;QACzB,OAAO;IACT;IAEA,OAAO;AACT;AAqBO,eAAenC,QAAQ,EAC5BmC,KAAK,EACLG,oBAAoB,EACpBC,IAAI,EACQ;IACZ,MAAMC,SAASzC,cAAcoC;IAC7B,OAAO,MAAMH,mBAAU,CAACC,kBAAkB,CAAC;QACzCE;QACAD,gBAAgB;YACdI;eACIC,KAAKE,KAAK,CAAC,GAAGC,GAAG,CAAC,CAAC1B,QAAU,CAAC,EAAEwB,OAAO,CAAC,EAAExB,MAAM,CAAC;SAGtD;IACH;AACF"}
1
+ {"version":3,"sources":["../src/utils.ts"],"names":[],"mappings":";AAKA,SAAS,kBAAkB;AAG3B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc,iBAAiB;AAExC,IAAM,iBAAiB;AAuBhB,SAAS,YAId,OACA,WACmC;AACnC,MAAI,WAAW;AACb,WAAO,OAAO,KAAK,SAAS,EAAE;AAAA,MAC5B,CAAC,YAAY,cAAc;AACzB,cAAM,WAAW;AACjB,mBAAW,QAAQ,IAAI,MAAM,QAAQ;AACrC,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AACT;AASA,SAAS,uBAAuB,MAAuC;AACrE,QAAM,QAA6B,CAAC;AACpC,QAAM,OAAO,eAAe,IAAI;AAEhC,WAAS,QAAQ,GAAG,QAAQ,GAAG,SAAS;AACtC,UAAM,SAAS,KAAK,UAAU,QAAQ,CAAC;AAMvC,UAAM,aAAa,SAAS,oBAAoB;AAChD,UAAM,KAAK,SAAS,YAAY,cAAc,GAAY;AAAA,EAC5D;AAEA,SAAO;AACT;AAwCA,eAAsB,cAAc;AAAA,EAClC;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AACF,GAAuC;AACrC,QAAM,aAAa,cAAc,KAAK;AACtC,QAAM,YAAY,cAAc,IAAI;AAGpC,QAAM,OAAO,UAAU,YAAY,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC,CAAC;AACtE,QAAM,yBAAyB,uBAAuB,IAAI;AAG1D,QAAM,EAAE,WAAW,IAAI,MAAM,WAAW,mBAAmB;AAAA,IACzD,gBAAgB;AAAA,MACd;AAAA,MACA,SAAS,KAAK;AAAA,MACd,GAAG;AAAA,IACL;AAAA,IACA,OAAO;AAAA,EACT,CAAC;AAGD,SAAO,YAAY,+BAA+B;AAElD,SAAO,MAAM,UAAU;AACzB;AAgBO,SAAS,cACd,OACoB;AACpB,MAAI,UAAU,aAAa;AACzB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAqBA,eAAsB,QAAQ;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AACF,GAAgB;AACd,QAAM,SAAS,cAAc,KAAK;AAClC,SAAO,MAAM,WAAW,mBAAmB;AAAA,IACzC;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,MACA,GAAI,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,KAAK,EAAE;AAAA,IAGvD;AAAA,EACF,CAAC;AACH","sourcesContent":["import type {\n HardenedBIP32Node,\n BIP32Node,\n SLIP10PathNode,\n} from '@metamask/key-tree';\nimport { SLIP10Node } from '@metamask/key-tree';\nimport type { MagicValue } from '@metamask/snaps-utils';\nimport type { Hex } from '@metamask/utils';\nimport {\n add0x,\n assert,\n concatBytes,\n createDataView,\n stringToBytes,\n} from '@metamask/utils';\nimport { keccak_256 as keccak256 } from '@noble/hashes/sha3';\n\nconst HARDENED_VALUE = 0x80000000;\n\n/**\n * Maps an interface with method hooks to an object, using the keys of the\n * interface, and `true` as value. This ensures that the `methodHooks` object\n * has the same values as the interface.\n */\nexport type MethodHooksObject<HooksType extends Record<string, unknown>> = {\n [Key in keyof HooksType]: true;\n};\n\n/**\n * Returns the subset of the specified `hooks` that are included in the\n * `hookNames` object. This is a Principle of Least Authority (POLA) measure\n * to ensure that each RPC method implementation only has access to the\n * API \"hooks\" it needs to do its job.\n *\n * @param hooks - The hooks to select from.\n * @param hookNames - The names of the hooks to select.\n * @returns The selected hooks.\n * @template Hooks - The hooks to select from.\n * @template HookName - The names of the hooks to select.\n */\nexport function selectHooks<\n Hooks extends Record<string, unknown>,\n HookName extends keyof Hooks,\n>(\n hooks: Hooks,\n hookNames?: Record<HookName, boolean>,\n): Pick<Hooks, HookName> | undefined {\n if (hookNames) {\n return Object.keys(hookNames).reduce<Partial<Pick<Hooks, HookName>>>(\n (hookSubset, _hookName) => {\n const hookName = _hookName as HookName;\n hookSubset[hookName] = hooks[hookName];\n return hookSubset;\n },\n {},\n ) as Pick<Hooks, HookName>;\n }\n return undefined;\n}\n\n/**\n * Get a BIP-32 derivation path array from a hash, which is compatible with\n * `@metamask/key-tree`. The hash is assumed to be 32 bytes long.\n *\n * @param hash - The hash to derive indices from.\n * @returns The derived indices as a {@link HardenedBIP32Node} array.\n */\nfunction getDerivationPathArray(hash: Uint8Array): HardenedBIP32Node[] {\n const array: HardenedBIP32Node[] = [];\n const view = createDataView(hash);\n\n for (let index = 0; index < 8; index++) {\n const uint32 = view.getUint32(index * 4);\n\n // This is essentially `index | 0x80000000`. Because JavaScript numbers are\n // signed, we use the bitwise unsigned right shift operator to ensure that\n // the result is a positive number.\n // eslint-disable-next-line no-bitwise\n const pathIndex = (uint32 | HARDENED_VALUE) >>> 0;\n array.push(`bip32:${pathIndex - HARDENED_VALUE}'` as const);\n }\n\n return array;\n}\n\ntype DeriveEntropyOptions = {\n /**\n * The input value to derive entropy from.\n */\n input: string;\n\n /**\n * An optional salt to use when deriving entropy.\n */\n salt?: string;\n\n /**\n * The mnemonic phrase to use for entropy derivation.\n */\n mnemonicPhrase: Uint8Array;\n\n /**\n * A hardened BIP-32 index, which is used to derive the root key from the\n * mnemonic phrase.\n */\n magic: MagicValue;\n};\n\n/**\n * Derive entropy from the given mnemonic phrase and salt.\n *\n * This is based on the reference implementation of\n * [SIP-6](https://metamask.github.io/SIPs/SIPS/sip-6).\n *\n * @param options - The options for entropy derivation.\n * @param options.input - The input value to derive entropy from.\n * @param options.salt - An optional salt to use when deriving entropy.\n * @param options.mnemonicPhrase - The mnemonic phrase to use for entropy\n * derivation.\n * @param options.magic - A hardened BIP-32 index, which is used to derive the\n * root key from the mnemonic phrase.\n * @returns The derived entropy.\n */\nexport async function deriveEntropy({\n input,\n salt = '',\n mnemonicPhrase,\n magic,\n}: DeriveEntropyOptions): Promise<Hex> {\n const inputBytes = stringToBytes(input);\n const saltBytes = stringToBytes(salt);\n\n // Get the derivation path from the snap ID.\n const hash = keccak256(concatBytes([inputBytes, keccak256(saltBytes)]));\n const computedDerivationPath = getDerivationPathArray(hash);\n\n // Derive the private key using BIP-32.\n const { privateKey } = await SLIP10Node.fromDerivationPath({\n derivationPath: [\n mnemonicPhrase,\n `bip32:${magic}`,\n ...computedDerivationPath,\n ],\n curve: 'secp256k1',\n });\n\n // This should never happen, but this keeps TypeScript happy.\n assert(privateKey, 'Failed to derive the entropy.');\n\n return add0x(privateKey);\n}\n\n/**\n * Get the path prefix to use for key derivation in `key-tree`. This assumes the\n * following:\n *\n * - The Secp256k1 curve always use the BIP-32 specification.\n * - The Ed25519 curve always use the SLIP-10 specification.\n *\n * While this does not matter in most situations (no known case at the time of\n * writing), `key-tree` requires a specific specification to be used.\n *\n * @param curve - The curve to get the path prefix for. The curve is NOT\n * validated by this function.\n * @returns The path prefix, i.e., `secp256k1` or `ed25519`.\n */\nexport function getPathPrefix(\n curve: 'secp256k1' | 'ed25519',\n): 'bip32' | 'slip10' {\n if (curve === 'secp256k1') {\n return 'bip32';\n }\n\n return 'slip10';\n}\n\ntype GetNodeArgs = {\n curve: 'secp256k1' | 'ed25519';\n secretRecoveryPhrase: Uint8Array;\n path: string[];\n};\n\n/**\n * Get a `key-tree`-compatible node.\n *\n * Note: This function assumes that all the parameters have been validated\n * beforehand.\n *\n * @param options - The derivation options.\n * @param options.curve - The curve to use for derivation.\n * @param options.secretRecoveryPhrase - The secret recovery phrase to use for\n * derivation.\n * @param options.path - The derivation path to use as array, starting with an\n * \"m\" as the first item.\n */\nexport async function getNode({\n curve,\n secretRecoveryPhrase,\n path,\n}: GetNodeArgs) {\n const prefix = getPathPrefix(curve);\n return await SLIP10Node.fromDerivationPath({\n curve,\n derivationPath: [\n secretRecoveryPhrase,\n ...(path.slice(1).map((index) => `${prefix}:${index}`) as\n | BIP32Node[]\n | SLIP10PathNode[]),\n ],\n });\n}\n"]}
@@ -0,0 +1,20 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/endowments/enum.ts
2
+ var SnapEndowments = /* @__PURE__ */ ((SnapEndowments2) => {
3
+ SnapEndowments2["NetworkAccess"] = "endowment:network-access";
4
+ SnapEndowments2["SignatureInsight"] = "endowment:signature-insight";
5
+ SnapEndowments2["TransactionInsight"] = "endowment:transaction-insight";
6
+ SnapEndowments2["Cronjob"] = "endowment:cronjob";
7
+ SnapEndowments2["EthereumProvider"] = "endowment:ethereum-provider";
8
+ SnapEndowments2["Rpc"] = "endowment:rpc";
9
+ SnapEndowments2["WebAssemblyAccess"] = "endowment:webassembly";
10
+ SnapEndowments2["NameLookup"] = "endowment:name-lookup";
11
+ SnapEndowments2["LifecycleHooks"] = "endowment:lifecycle-hooks";
12
+ SnapEndowments2["Keyring"] = "endowment:keyring";
13
+ SnapEndowments2["HomePage"] = "endowment:page-home";
14
+ return SnapEndowments2;
15
+ })(SnapEndowments || {});
16
+
17
+
18
+
19
+ exports.SnapEndowments = SnapEndowments;
20
+ //# sourceMappingURL=chunk-YGKFOOWI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/endowments/enum.ts"],"names":["SnapEndowments"],"mappings":";AAAO,IAAK,iBAAL,kBAAKA,oBAAL;AACL,EAAAA,gBAAA,mBAAgB;AAChB,EAAAA,gBAAA,sBAAmB;AACnB,EAAAA,gBAAA,wBAAqB;AACrB,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,sBAAmB;AACnB,EAAAA,gBAAA,SAAM;AACN,EAAAA,gBAAA,uBAAoB;AACpB,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,cAAW;AAXD,SAAAA;AAAA,GAAA","sourcesContent":["export enum SnapEndowments {\n NetworkAccess = 'endowment:network-access',\n SignatureInsight = 'endowment:signature-insight',\n TransactionInsight = 'endowment:transaction-insight',\n Cronjob = 'endowment:cronjob',\n EthereumProvider = 'endowment:ethereum-provider',\n Rpc = 'endowment:rpc',\n WebAssemblyAccess = 'endowment:webassembly',\n NameLookup = 'endowment:name-lookup',\n LifecycleHooks = 'endowment:lifecycle-hooks',\n Keyring = 'endowment:keyring',\n HomePage = 'endowment:page-home',\n}\n"]}
@@ -0,0 +1,23 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/endowments/network-access.ts
2
+ var _permissioncontroller = require('@metamask/permission-controller');
3
+ var permissionName = "endowment:network-access" /* NetworkAccess */;
4
+ var specificationBuilder = (_builderOptions) => {
5
+ return {
6
+ permissionType: _permissioncontroller.PermissionType.Endowment,
7
+ targetName: permissionName,
8
+ allowedCaveats: null,
9
+ endowmentGetter: (_getterOptions) => {
10
+ return ["fetch", "Request", "Headers", "Response"];
11
+ },
12
+ subjectTypes: [_permissioncontroller.SubjectType.Snap]
13
+ };
14
+ };
15
+ var networkAccessEndowmentBuilder = Object.freeze({
16
+ targetName: permissionName,
17
+ specificationBuilder
18
+ });
19
+
20
+
21
+
22
+ exports.networkAccessEndowmentBuilder = networkAccessEndowmentBuilder;
23
+ //# sourceMappingURL=chunk-YOHE52XB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/endowments/network-access.ts"],"names":[],"mappings":";AAKA,SAAS,gBAAgB,mBAAmB;AAI5C,IAAM;AAmBN,IAAM,uBAIF,CAAC,oBAA0B;AAC7B,SAAO;AAAA,IACL,gBAAgB,eAAe;AAAA,IAC/B,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,iBAAiB,CAAC,mBAA2C;AAC3D,aAAO,CAAC,SAAS,WAAW,WAAW,UAAU;AAAA,IACnD;AAAA,IACA,cAAc,CAAC,YAAY,IAAI;AAAA,EACjC;AACF;AAEO,IAAM,gCAAgC,OAAO,OAAO;AAAA,EACzD,YAAY;AAAA,EACZ;AACF,CAAU","sourcesContent":["import type {\n EndowmentGetterParams,\n PermissionSpecificationBuilder,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\n\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.NetworkAccess;\n\ntype NetworkAccessEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (\n _options?: any,\n ) => ['fetch', 'Request', 'Headers', 'Response'];\n allowedCaveats: null;\n}>;\n\n/**\n * `endowment:network-access` returns the name of global browser API(s) that\n * enable network access. This is intended to populate the endowments of the\n * SES Compartment in which a Snap executes.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the network endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n NetworkAccessEndowmentSpecification\n> = (_builderOptions?: any) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: null,\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => {\n return ['fetch', 'Request', 'Headers', 'Response'];\n },\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nexport const networkAccessEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n"]}
@@ -0,0 +1,45 @@
1
+ // src/permitted/updateInterface.ts
2
+ import { rpcErrors } from "@metamask/rpc-errors";
3
+ import { ComponentStruct } from "@metamask/snaps-sdk";
4
+ import { StructError, create, object, string } from "superstruct";
5
+ var hookNames = {
6
+ updateInterface: true
7
+ };
8
+ var updateInterfaceHandler = {
9
+ methodNames: ["snap_updateInterface"],
10
+ implementation: getUpdateInterfaceImplementation,
11
+ hookNames
12
+ };
13
+ var UpdateInterfaceParametersStruct = object({
14
+ id: string(),
15
+ ui: ComponentStruct
16
+ });
17
+ async function getUpdateInterfaceImplementation(req, res, _next, end, { updateInterface }) {
18
+ const { params } = req;
19
+ try {
20
+ const validatedParams = getValidatedParams(params);
21
+ const { id, ui } = validatedParams;
22
+ await updateInterface(id, ui);
23
+ res.result = null;
24
+ } catch (error) {
25
+ return end(error);
26
+ }
27
+ return end();
28
+ }
29
+ function getValidatedParams(params) {
30
+ try {
31
+ return create(params, UpdateInterfaceParametersStruct);
32
+ } catch (error) {
33
+ if (error instanceof StructError) {
34
+ throw rpcErrors.invalidParams({
35
+ message: `Invalid params: ${error.message}.`
36
+ });
37
+ }
38
+ throw rpcErrors.internal();
39
+ }
40
+ }
41
+
42
+ export {
43
+ updateInterfaceHandler
44
+ };
45
+ //# sourceMappingURL=chunk-YS6TYXCP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/permitted/updateInterface.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 Component,\n UpdateInterfaceParams,\n UpdateInterfaceResult,\n JsonRpcRequest,\n} from '@metamask/snaps-sdk';\nimport { ComponentStruct } from '@metamask/snaps-sdk';\nimport { type InferMatching } from '@metamask/snaps-utils';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\nimport { StructError, create, object, string } from 'superstruct';\n\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<UpdateInterfaceMethodHooks> = {\n updateInterface: true,\n};\n\nexport type UpdateInterfaceMethodHooks = {\n /**\n * @param id - The interface ID.\n * @param ui - The UI components.\n */\n updateInterface: (id: string, ui: Component) => Promise<void>;\n};\n\nexport const updateInterfaceHandler: PermittedHandlerExport<\n UpdateInterfaceMethodHooks,\n UpdateInterfaceParameters,\n UpdateInterfaceResult\n> = {\n methodNames: ['snap_updateInterface'],\n implementation: getUpdateInterfaceImplementation,\n hookNames,\n};\n\nconst UpdateInterfaceParametersStruct = object({\n id: string(),\n ui: ComponentStruct,\n});\n\nexport type UpdateInterfaceParameters = InferMatching<\n typeof UpdateInterfaceParametersStruct,\n UpdateInterfaceParams\n>;\n\n/**\n * The `snap_updateInterface` 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.updateInterface - The function to update the interface.\n * @returns Nothing.\n */\nasync function getUpdateInterfaceImplementation(\n req: JsonRpcRequest<UpdateInterfaceParameters>,\n res: PendingJsonRpcResponse<UpdateInterfaceResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { updateInterface }: UpdateInterfaceMethodHooks,\n): Promise<void> {\n const { params } = req;\n\n try {\n const validatedParams = getValidatedParams(params);\n\n const { id, ui } = validatedParams;\n\n await updateInterface(id, ui);\n res.result = null;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n\n/**\n * Validate the updateInterface 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 updateInterface method parameter object.\n */\nfunction getValidatedParams(params: unknown): UpdateInterfaceParameters {\n try {\n return create(params, UpdateInterfaceParametersStruct);\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;AAO1B,SAAS,uBAAuB;AAGhC,SAAS,aAAa,QAAQ,QAAQ,cAAc;AAIpD,IAAM,YAA2D;AAAA,EAC/D,iBAAiB;AACnB;AAUO,IAAM,yBAIT;AAAA,EACF,aAAa,CAAC,sBAAsB;AAAA,EACpC,gBAAgB;AAAA,EAChB;AACF;AAEA,IAAM,kCAAkC,OAAO;AAAA,EAC7C,IAAI,OAAO;AAAA,EACX,IAAI;AACN,CAAC;AAmBD,eAAe,iCACb,KACA,KACA,OACA,KACA,EAAE,gBAAgB,GACH;AACf,QAAM,EAAE,OAAO,IAAI;AAEnB,MAAI;AACF,UAAM,kBAAkB,mBAAmB,MAAM;AAEjD,UAAM,EAAE,IAAI,GAAG,IAAI;AAEnB,UAAM,gBAAgB,IAAI,EAAE;AAC5B,QAAI,SAAS;AAAA,EACf,SAAS,OAAO;AACd,WAAO,IAAI,KAAK;AAAA,EAClB;AAEA,SAAO,IAAI;AACb;AASA,SAAS,mBAAmB,QAA4C;AACtE,MAAI;AACF,WAAO,OAAO,QAAQ,+BAA+B;AAAA,EACvD,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":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/restricted/caveats/snapIds.ts
2
+ var _rpcerrors = require('@metamask/rpc-errors');
3
+ var _snapsutils = require('@metamask/snaps-utils');
4
+ var _utils = require('@metamask/utils');
5
+ var _superstruct = require('superstruct');
6
+ function snapIdsCaveatMapper(value) {
7
+ return {
8
+ caveats: [
9
+ {
10
+ type: _snapsutils.SnapCaveatType.SnapIds,
11
+ value
12
+ }
13
+ ]
14
+ };
15
+ }
16
+ function validateSnapIdsCaveat(caveat) {
17
+ _utils.assertStruct.call(void 0,
18
+ caveat,
19
+ _superstruct.type.call(void 0, {
20
+ value: _snapsutils.SnapIdsStruct
21
+ }),
22
+ "Expected caveat to have a value property of a non-empty object of snap IDs.",
23
+ _rpcerrors.rpcErrors.invalidParams
24
+ );
25
+ }
26
+ var SnapIdsCaveatSpecification = {
27
+ [_snapsutils.SnapCaveatType.SnapIds]: Object.freeze({
28
+ type: _snapsutils.SnapCaveatType.SnapIds,
29
+ validator: (caveat) => validateSnapIdsCaveat(caveat),
30
+ decorator: (method, caveat) => {
31
+ return async (args) => {
32
+ const {
33
+ params,
34
+ context: { origin }
35
+ } = args;
36
+ const snapIds = caveat.value;
37
+ const { snapId } = params;
38
+ if (!_utils.hasProperty.call(void 0, snapIds, snapId)) {
39
+ throw new Error(
40
+ `${origin} does not have permission to invoke ${snapId} snap.`
41
+ );
42
+ }
43
+ return await method(args);
44
+ };
45
+ }
46
+ })
47
+ };
48
+
49
+
50
+
51
+
52
+
53
+ exports.snapIdsCaveatMapper = snapIdsCaveatMapper; exports.validateSnapIdsCaveat = validateSnapIdsCaveat; exports.SnapIdsCaveatSpecification = SnapIdsCaveatSpecification;
54
+ //# sourceMappingURL=chunk-ZPK4THX4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/restricted/caveats/snapIds.ts"],"names":[],"mappings":";AAOA,SAAS,iBAAiB;AAE1B,SAAS,gBAAgB,qBAAqB;AAE9C,SAAS,aAAa,oBAAoB;AAC1C,SAAS,YAAY;AAYd,SAAS,oBACd,OACuC;AACvC,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM,eAAe;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAQO,SAAS,sBACd,QAC2C;AAC3C;AAAA,IACE;AAAA,IACA,KAAK;AAAA,MACH,OAAO;AAAA,IACT,CAAC;AAAA,IACD;AAAA,IACA,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,6BAGT;AAAA,EACF,CAAC,eAAe,OAAO,GAAG,OAAO,OAAO;AAAA,IACtC,MAAM,eAAe;AAAA,IACrB,WAAW,CAAC,WAAW,sBAAsB,MAAM;AAAA,IACnD,WAAW,CAAC,QAAQ,WAAW;AAC7B,aAAO,OAAO,SAAS;AACrB,cAAM;AAAA,UACJ;AAAA,UACA,SAAS,EAAE,OAAO;AAAA,QACpB,IAAyD;AACzD,cAAM,UAAU,OAAO;AACvB,cAAM,EAAE,OAAO,IAAI;AACnB,YAAI,CAAC,YAAY,SAAS,MAAM,GAAG;AACjC,gBAAM,IAAI;AAAA,YACR,GAAG,MAAM,uCAAuC,MAAM;AAAA,UACxD;AAAA,QACF;AACA,eAAO,MAAM,OAAO,IAAI;AAAA,MAC1B;AAAA,IACF;AAAA,EACF,CAAC;AACH","sourcesContent":["import type {\n Caveat,\n RestrictedMethodOptions,\n RestrictedMethodParameters,\n RestrictedMethodCaveatSpecificationConstraint,\n PermissionConstraint,\n} from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { SnapIds } from '@metamask/snaps-utils';\nimport { SnapCaveatType, SnapIdsStruct } from '@metamask/snaps-utils';\nimport type { Json } from '@metamask/utils';\nimport { hasProperty, assertStruct } from '@metamask/utils';\nimport { type } from 'superstruct';\n\nimport type { InvokeSnapParams } from '../invokeSnap';\n\n/**\n * Map a raw value from the `initialPermissions` to a caveat specification.\n * Note that this function does not do any validation, that's handled by the\n * PermissionsController when the permission is requested.\n *\n * @param value - The raw value from the `initialPermissions`.\n * @returns The caveat specification.\n */\nexport function snapIdsCaveatMapper(\n value: Json,\n): Pick<PermissionConstraint, 'caveats'> {\n return {\n caveats: [\n {\n type: SnapCaveatType.SnapIds,\n value,\n },\n ],\n };\n}\n\n/**\n * Validates that the caveat value exists and is a non-empty object.\n *\n * @param caveat - The caveat to validate.\n * @throws If the caveat is invalid.\n */\nexport function validateSnapIdsCaveat(\n caveat: Caveat<string, any>,\n): asserts caveat is Caveat<string, SnapIds> {\n assertStruct(\n caveat,\n type({\n value: SnapIdsStruct,\n }),\n 'Expected caveat to have a value property of a non-empty object of snap IDs.',\n rpcErrors.invalidParams,\n );\n}\n\nexport const SnapIdsCaveatSpecification: Record<\n SnapCaveatType.SnapIds,\n RestrictedMethodCaveatSpecificationConstraint\n> = {\n [SnapCaveatType.SnapIds]: Object.freeze({\n type: SnapCaveatType.SnapIds,\n validator: (caveat) => validateSnapIdsCaveat(caveat),\n decorator: (method, caveat) => {\n return async (args) => {\n const {\n params,\n context: { origin },\n }: RestrictedMethodOptions<RestrictedMethodParameters> = args;\n const snapIds = caveat.value;\n const { snapId } = params as InvokeSnapParams;\n if (!hasProperty(snapIds, snapId)) {\n throw new Error(\n `${origin} does not have permission to invoke ${snapId} snap.`,\n );\n }\n return await method(args);\n };\n },\n }),\n};\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkQMULJEYNjs = require('../../chunk-QMULJEYN.js');
4
+
5
+
6
+ exports.createGenericPermissionValidator = _chunkQMULJEYNjs.createGenericPermissionValidator;
7
+ //# sourceMappingURL=generic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import {
2
+ createGenericPermissionValidator
3
+ } from "../../chunk-TT4DP2YW.mjs";
4
+ export {
5
+ createGenericPermissionValidator
6
+ };
7
+ //# sourceMappingURL=generic.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-NU4NAAFG.js');
2
+
3
+
4
+ var _chunkQMULJEYNjs = require('../../chunk-QMULJEYN.js');
5
+
6
+
7
+
8
+
9
+
10
+ var _chunkFCVWU5XHjs = require('../../chunk-FCVWU5XH.js');
11
+
12
+
13
+
14
+
15
+
16
+
17
+ exports.createGenericPermissionValidator = _chunkQMULJEYNjs.createGenericPermissionValidator; exports.createMaxRequestTimeMapper = _chunkFCVWU5XHjs.createMaxRequestTimeMapper; exports.getMaxRequestTimeCaveat = _chunkFCVWU5XHjs.getMaxRequestTimeCaveat; exports.getMaxRequestTimeCaveatMapper = _chunkFCVWU5XHjs.getMaxRequestTimeCaveatMapper; exports.maxRequestTimeCaveatSpecifications = _chunkFCVWU5XHjs.maxRequestTimeCaveatSpecifications;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import "../../chunk-TG63GBK3.mjs";
2
+ import {
3
+ createGenericPermissionValidator
4
+ } from "../../chunk-TT4DP2YW.mjs";
5
+ import {
6
+ createMaxRequestTimeMapper,
7
+ getMaxRequestTimeCaveat,
8
+ getMaxRequestTimeCaveatMapper,
9
+ maxRequestTimeCaveatSpecifications
10
+ } from "../../chunk-23XDKQW2.mjs";
11
+ export {
12
+ createGenericPermissionValidator,
13
+ createMaxRequestTimeMapper,
14
+ getMaxRequestTimeCaveat,
15
+ getMaxRequestTimeCaveatMapper,
16
+ maxRequestTimeCaveatSpecifications
17
+ };
18
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+ var _chunkFCVWU5XHjs = require('../../chunk-FCVWU5XH.js');
7
+
8
+
9
+
10
+
11
+
12
+ exports.createMaxRequestTimeMapper = _chunkFCVWU5XHjs.createMaxRequestTimeMapper; exports.getMaxRequestTimeCaveat = _chunkFCVWU5XHjs.getMaxRequestTimeCaveat; exports.getMaxRequestTimeCaveatMapper = _chunkFCVWU5XHjs.getMaxRequestTimeCaveatMapper; exports.maxRequestTimeCaveatSpecifications = _chunkFCVWU5XHjs.maxRequestTimeCaveatSpecifications;
13
+ //# sourceMappingURL=requestTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import {
2
+ createMaxRequestTimeMapper,
3
+ getMaxRequestTimeCaveat,
4
+ getMaxRequestTimeCaveatMapper,
5
+ maxRequestTimeCaveatSpecifications
6
+ } from "../../chunk-23XDKQW2.mjs";
7
+ export {
8
+ createMaxRequestTimeMapper,
9
+ getMaxRequestTimeCaveat,
10
+ getMaxRequestTimeCaveatMapper,
11
+ maxRequestTimeCaveatSpecifications
12
+ };
13
+ //# sourceMappingURL=requestTime.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+ var _chunkOQOTJFFVjs = require('../chunk-OQOTJFFV.js');
8
+ require('../chunk-YGKFOOWI.js');
9
+
10
+
11
+
12
+
13
+
14
+
15
+ exports.cronjobCaveatSpecifications = _chunkOQOTJFFVjs.cronjobCaveatSpecifications; exports.cronjobEndowmentBuilder = _chunkOQOTJFFVjs.cronjobEndowmentBuilder; exports.getCronjobCaveatJobs = _chunkOQOTJFFVjs.getCronjobCaveatJobs; exports.getCronjobCaveatMapper = _chunkOQOTJFFVjs.getCronjobCaveatMapper; exports.validateCronjobCaveat = _chunkOQOTJFFVjs.validateCronjobCaveat;
16
+ //# sourceMappingURL=cronjob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import {
2
+ cronjobCaveatSpecifications,
3
+ cronjobEndowmentBuilder,
4
+ getCronjobCaveatJobs,
5
+ getCronjobCaveatMapper,
6
+ validateCronjobCaveat
7
+ } from "../chunk-UBPHGXCO.mjs";
8
+ import "../chunk-CD4OUHO5.mjs";
9
+ export {
10
+ cronjobCaveatSpecifications,
11
+ cronjobEndowmentBuilder,
12
+ getCronjobCaveatJobs,
13
+ getCronjobCaveatMapper,
14
+ validateCronjobCaveat
15
+ };
16
+ //# sourceMappingURL=cronjob.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkYGKFOOWIjs = require('../chunk-YGKFOOWI.js');
4
+
5
+
6
+ exports.SnapEndowments = _chunkYGKFOOWIjs.SnapEndowments;
7
+ //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import {
2
+ SnapEndowments
3
+ } from "../chunk-CD4OUHO5.mjs";
4
+ export {
5
+ SnapEndowments
6
+ };
7
+ //# sourceMappingURL=enum.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkB3NIHNXWjs = require('../chunk-B3NIHNXW.js');
4
+ require('../chunk-YGKFOOWI.js');
5
+
6
+
7
+ exports.ethereumProviderEndowmentBuilder = _chunkB3NIHNXWjs.ethereumProviderEndowmentBuilder;
8
+ //# sourceMappingURL=ethereum-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import {
2
+ ethereumProviderEndowmentBuilder
3
+ } from "../chunk-KSTF5JYB.mjs";
4
+ import "../chunk-CD4OUHO5.mjs";
5
+ export {
6
+ ethereumProviderEndowmentBuilder
7
+ };
8
+ //# sourceMappingURL=ethereum-provider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkFMDV3RFTjs = require('../chunk-FMDV3RFT.js');
4
+ require('../chunk-YGKFOOWI.js');
5
+
6
+
7
+ exports.homePageEndowmentBuilder = _chunkFMDV3RFTjs.homePageEndowmentBuilder;
8
+ //# sourceMappingURL=home-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import {
2
+ homePageEndowmentBuilder
3
+ } from "../chunk-MVG4B2HM.mjs";
4
+ import "../chunk-CD4OUHO5.mjs";
5
+ export {
6
+ homePageEndowmentBuilder
7
+ };
8
+ //# sourceMappingURL=home-page.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+ var _chunkJRSPKOFGjs = require('../chunk-JRSPKOFG.js');
7
+
8
+
9
+ var _chunkPWUEAR4Hjs = require('../chunk-PWUEAR4H.js');
10
+ require('../chunk-3DHVA2FY.js');
11
+
12
+
13
+
14
+ var _chunkIEUCBULUjs = require('../chunk-IEUCBULU.js');
15
+ require('../chunk-YOHE52XB.js');
16
+
17
+
18
+ var _chunkLIWV3FMYjs = require('../chunk-LIWV3FMY.js');
19
+
20
+
21
+ var _chunkTEXEQGNZjs = require('../chunk-TEXEQGNZ.js');
22
+
23
+
24
+ var _chunk6TKD32TSjs = require('../chunk-6TKD32TS.js');
25
+ require('../chunk-NU4NAAFG.js');
26
+ require('../chunk-QMULJEYN.js');
27
+
28
+
29
+ var _chunkFCVWU5XHjs = require('../chunk-FCVWU5XH.js');
30
+ require('../chunk-Q27K2I6Z.js');
31
+
32
+
33
+ var _chunkOQOTJFFVjs = require('../chunk-OQOTJFFV.js');
34
+ require('../chunk-B3NIHNXW.js');
35
+ require('../chunk-FMDV3RFT.js');
36
+
37
+
38
+ var _chunkYGKFOOWIjs = require('../chunk-YGKFOOWI.js');
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+ exports.SnapEndowments = _chunkYGKFOOWIjs.SnapEndowments; exports.endowmentCaveatMappers = _chunkJRSPKOFGjs.endowmentCaveatMappers; exports.endowmentCaveatSpecifications = _chunkJRSPKOFGjs.endowmentCaveatSpecifications; exports.endowmentPermissionBuilders = _chunkJRSPKOFGjs.endowmentPermissionBuilders; exports.getChainIdsCaveat = _chunkIEUCBULUjs.getChainIdsCaveat; exports.getCronjobCaveatJobs = _chunkOQOTJFFVjs.getCronjobCaveatJobs; exports.getKeyringCaveatOrigins = _chunkPWUEAR4Hjs.getKeyringCaveatOrigins; exports.getLookupMatchersCaveat = _chunkIEUCBULUjs.getLookupMatchersCaveat; exports.getMaxRequestTimeCaveat = _chunkFCVWU5XHjs.getMaxRequestTimeCaveat; exports.getRpcCaveatOrigins = _chunkLIWV3FMYjs.getRpcCaveatOrigins; exports.getSignatureOriginCaveat = _chunkTEXEQGNZjs.getSignatureOriginCaveat; exports.getTransactionOriginCaveat = _chunk6TKD32TSjs.getTransactionOriginCaveat; exports.handlerEndowments = _chunkJRSPKOFGjs.handlerEndowments;
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ import {
2
+ endowmentCaveatMappers,
3
+ endowmentCaveatSpecifications,
4
+ endowmentPermissionBuilders,
5
+ handlerEndowments
6
+ } from "../chunk-C6E6DI4I.mjs";
7
+ import {
8
+ getKeyringCaveatOrigins
9
+ } from "../chunk-TOYWHUAS.mjs";
10
+ import "../chunk-PCB6QOHL.mjs";
11
+ import {
12
+ getChainIdsCaveat,
13
+ getLookupMatchersCaveat
14
+ } from "../chunk-ADXH5C3U.mjs";
15
+ import "../chunk-4D2B2UQ6.mjs";
16
+ import {
17
+ getRpcCaveatOrigins
18
+ } from "../chunk-VCGZNL35.mjs";
19
+ import {
20
+ getSignatureOriginCaveat
21
+ } from "../chunk-AWQ6HTAL.mjs";
22
+ import {
23
+ getTransactionOriginCaveat
24
+ } from "../chunk-EEVEVBK6.mjs";
25
+ import "../chunk-TG63GBK3.mjs";
26
+ import "../chunk-TT4DP2YW.mjs";
27
+ import {
28
+ getMaxRequestTimeCaveat
29
+ } from "../chunk-23XDKQW2.mjs";
30
+ import "../chunk-O66NZFSD.mjs";
31
+ import {
32
+ getCronjobCaveatJobs
33
+ } from "../chunk-UBPHGXCO.mjs";
34
+ import "../chunk-KSTF5JYB.mjs";
35
+ import "../chunk-MVG4B2HM.mjs";
36
+ import {
37
+ SnapEndowments
38
+ } from "../chunk-CD4OUHO5.mjs";
39
+ export {
40
+ SnapEndowments,
41
+ endowmentCaveatMappers,
42
+ endowmentCaveatSpecifications,
43
+ endowmentPermissionBuilders,
44
+ getChainIdsCaveat,
45
+ getCronjobCaveatJobs,
46
+ getKeyringCaveatOrigins,
47
+ getLookupMatchersCaveat,
48
+ getMaxRequestTimeCaveat,
49
+ getRpcCaveatOrigins,
50
+ getSignatureOriginCaveat,
51
+ getTransactionOriginCaveat,
52
+ handlerEndowments
53
+ };
54
+ //# sourceMappingURL=index.mjs.map