@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
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.keyringCaveatSpecifications = exports.getKeyringCaveatOrigins = exports.getKeyringCaveatMapper = exports.keyringEndowmentBuilder = void 0;
4
+ const permission_controller_1 = require("@metamask/permission-controller");
5
+ const rpc_errors_1 = require("@metamask/rpc-errors");
6
+ const snaps_utils_1 = require("@metamask/snaps-utils");
7
+ const utils_1 = require("@metamask/utils");
8
+ const caveats_1 = require("./caveats/index.cjs");
9
+ const enum_1 = require("./enum.cjs");
10
+ const permissionName = enum_1.SnapEndowments.Keyring;
11
+ /**
12
+ * `endowment:keyring` returns nothing; it is intended to be used as a flag
13
+ * by the client to detect whether the snap has keyring capabilities.
14
+ *
15
+ * @param _builderOptions - Optional specification builder options.
16
+ * @returns The specification for the keyring endowment.
17
+ */
18
+ const specificationBuilder = (_builderOptions) => {
19
+ return {
20
+ permissionType: permission_controller_1.PermissionType.Endowment,
21
+ targetName: permissionName,
22
+ allowedCaveats: [
23
+ snaps_utils_1.SnapCaveatType.KeyringOrigin,
24
+ snaps_utils_1.SnapCaveatType.MaxRequestTime,
25
+ ],
26
+ endowmentGetter: (_getterOptions) => null,
27
+ validator: (0, caveats_1.createGenericPermissionValidator)([
28
+ { type: snaps_utils_1.SnapCaveatType.KeyringOrigin },
29
+ { type: snaps_utils_1.SnapCaveatType.MaxRequestTime, optional: true },
30
+ ]),
31
+ subjectTypes: [permission_controller_1.SubjectType.Snap],
32
+ };
33
+ };
34
+ exports.keyringEndowmentBuilder = Object.freeze({
35
+ targetName: permissionName,
36
+ specificationBuilder,
37
+ });
38
+ /**
39
+ * Validate the value of a caveat. This does not validate the type of the
40
+ * caveat itself, only the value of the caveat.
41
+ *
42
+ * @param caveat - The caveat to validate.
43
+ * @throws If the caveat value is invalid.
44
+ */
45
+ function validateCaveatOrigins(caveat) {
46
+ if (!(0, utils_1.hasProperty)(caveat, 'value') || !(0, utils_1.isPlainObject)(caveat.value)) {
47
+ throw rpc_errors_1.rpcErrors.invalidParams({
48
+ message: 'Invalid keyring origins: Expected a plain object.',
49
+ });
50
+ }
51
+ const { value } = caveat;
52
+ (0, snaps_utils_1.assertIsKeyringOrigins)(value, rpc_errors_1.rpcErrors.invalidParams);
53
+ }
54
+ /**
55
+ * Map a raw value from the `initialPermissions` to a caveat specification.
56
+ * Note that this function does not do any validation, that's handled by the
57
+ * PermissionsController when the permission is requested.
58
+ *
59
+ * @param value - The raw value from the `initialPermissions`.
60
+ * @returns The caveat specification.
61
+ */
62
+ function getKeyringCaveatMapper(value) {
63
+ return {
64
+ caveats: [
65
+ {
66
+ type: snaps_utils_1.SnapCaveatType.KeyringOrigin,
67
+ value,
68
+ },
69
+ ],
70
+ };
71
+ }
72
+ exports.getKeyringCaveatMapper = getKeyringCaveatMapper;
73
+ /**
74
+ * Getter function to get the {@link KeyringOrigins} caveat value from a
75
+ * permission.
76
+ *
77
+ * @param permission - The permission to get the caveat value from.
78
+ * @returns The caveat value.
79
+ * @throws If the permission does not have a valid {@link KeyringOrigins}
80
+ * caveat.
81
+ */
82
+ function getKeyringCaveatOrigins(permission) {
83
+ (0, utils_1.assert)(permission?.caveats);
84
+ (0, utils_1.assert)(permission.caveats.length === 1);
85
+ (0, utils_1.assert)(permission.caveats[0].type === snaps_utils_1.SnapCaveatType.KeyringOrigin);
86
+ const caveat = permission.caveats[0];
87
+ return caveat.value;
88
+ }
89
+ exports.getKeyringCaveatOrigins = getKeyringCaveatOrigins;
90
+ exports.keyringCaveatSpecifications = {
91
+ [snaps_utils_1.SnapCaveatType.KeyringOrigin]: Object.freeze({
92
+ type: snaps_utils_1.SnapCaveatType.KeyringOrigin,
93
+ validator: (caveat) => validateCaveatOrigins(caveat),
94
+ }),
95
+ };
96
+ //# sourceMappingURL=keyring.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyring.cjs","sourceRoot":"","sources":["../../src/endowments/keyring.ts"],"names":[],"mappings":";;;AASA,2EAA8E;AAC9E,qDAAiD;AAEjD,uDAA+E;AAE/E,2CAAqE;AAErE,iDAA6D;AAC7D,qCAAwC;AAExC,MAAM,cAAc,GAAG,qBAAc,CAAC,OAAO,CAAC;AAW9C;;;;;;GAMG;AACH,MAAM,oBAAoB,GAItB,CAAC,eAAyB,EAAE,EAAE;IAChC,OAAO;QACL,cAAc,EAAE,sCAAc,CAAC,SAAS;QACxC,UAAU,EAAE,cAAc;QAC1B,cAAc,EAAE;YACd,4BAAc,CAAC,aAAa;YAC5B,4BAAc,CAAC,cAAc;SAC9B;QACD,eAAe,EAAE,CAAC,cAAsC,EAAE,EAAE,CAAC,IAAI;QACjE,SAAS,EAAE,IAAA,0CAAgC,EAAC;YAC1C,EAAE,IAAI,EAAE,4BAAc,CAAC,aAAa,EAAE;YACtC,EAAE,IAAI,EAAE,4BAAc,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;SACxD,CAAC;QACF,YAAY,EAAE,CAAC,mCAAW,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,cAAc;IAC1B,oBAAoB;CACZ,CAAC,CAAC;AAEZ;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,MAA2B;IACxD,IAAI,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAA,qBAAa,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,sBAAS,CAAC,aAAa,CAAC;YAC5B,OAAO,EAAE,mDAAmD;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,IAAA,oCAAsB,EAAC,KAAK,EAAE,sBAAS,CAAC,aAAa,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,KAAW;IAEX,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,4BAAc,CAAC,aAAa;gBAClC,KAAK;aACN;SACF;KACF,CAAC;AACJ,CAAC;AAXD,wDAWC;AAED;;;;;;;;GAQG;AACH,SAAgB,uBAAuB,CACrC,UAAiC;IAEjC,IAAA,cAAM,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5B,IAAA,cAAM,EAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACxC,IAAA,cAAM,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,4BAAc,CAAC,aAAa,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAmC,CAAC;IACvE,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AATD,0DASC;AAEY,QAAA,2BAA2B,GAGpC;IACF,CAAC,4BAAc,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QAC5C,IAAI,EAAE,4BAAc,CAAC,aAAa;QAClC,SAAS,EAAE,CAAC,MAA2B,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;KAC1E,CAAC;CACH,CAAC","sourcesContent":["import type {\n Caveat,\n CaveatSpecificationConstraint,\n EndowmentGetterParams,\n PermissionConstraint,\n PermissionSpecificationBuilder,\n PermissionValidatorConstraint,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { KeyringOrigins } from '@metamask/snaps-utils';\nimport { assertIsKeyringOrigins, SnapCaveatType } from '@metamask/snaps-utils';\nimport type { Json, NonEmptyArray } from '@metamask/utils';\nimport { assert, hasProperty, isPlainObject } from '@metamask/utils';\n\nimport { createGenericPermissionValidator } from './caveats';\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.Keyring;\n\ntype KeyringEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (_options?: EndowmentGetterParams) => null;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n validator: PermissionValidatorConstraint;\n subjectTypes: readonly SubjectType[];\n}>;\n\n/**\n * `endowment:keyring` returns nothing; it is intended to be used as a flag\n * by the client to detect whether the snap has keyring capabilities.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the keyring endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n KeyringEndowmentSpecification\n> = (_builderOptions?: unknown) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: [\n SnapCaveatType.KeyringOrigin,\n SnapCaveatType.MaxRequestTime,\n ],\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => null,\n validator: createGenericPermissionValidator([\n { type: SnapCaveatType.KeyringOrigin },\n { type: SnapCaveatType.MaxRequestTime, optional: true },\n ]),\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nexport const keyringEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n\n/**\n * Validate the value of a caveat. This does not validate the type of the\n * caveat itself, only the value of the caveat.\n *\n * @param caveat - The caveat to validate.\n * @throws If the caveat value is invalid.\n */\nfunction validateCaveatOrigins(caveat: Caveat<string, any>) {\n if (!hasProperty(caveat, 'value') || !isPlainObject(caveat.value)) {\n throw rpcErrors.invalidParams({\n message: 'Invalid keyring origins: Expected a plain object.',\n });\n }\n\n const { value } = caveat;\n assertIsKeyringOrigins(value, rpcErrors.invalidParams);\n}\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 getKeyringCaveatMapper(\n value: Json,\n): Pick<PermissionConstraint, 'caveats'> {\n return {\n caveats: [\n {\n type: SnapCaveatType.KeyringOrigin,\n value,\n },\n ],\n };\n}\n\n/**\n * Getter function to get the {@link KeyringOrigins} caveat value from a\n * permission.\n *\n * @param permission - The permission to get the caveat value from.\n * @returns The caveat value.\n * @throws If the permission does not have a valid {@link KeyringOrigins}\n * caveat.\n */\nexport function getKeyringCaveatOrigins(\n permission?: PermissionConstraint,\n): KeyringOrigins | null {\n assert(permission?.caveats);\n assert(permission.caveats.length === 1);\n assert(permission.caveats[0].type === SnapCaveatType.KeyringOrigin);\n\n const caveat = permission.caveats[0] as Caveat<string, KeyringOrigins>;\n return caveat.value;\n}\n\nexport const keyringCaveatSpecifications: Record<\n SnapCaveatType.KeyringOrigin,\n CaveatSpecificationConstraint\n> = {\n [SnapCaveatType.KeyringOrigin]: Object.freeze({\n type: SnapCaveatType.KeyringOrigin,\n validator: (caveat: Caveat<string, any>) => validateCaveatOrigins(caveat),\n }),\n};\n"]}
@@ -1,9 +1,9 @@
1
- import type { CaveatSpecificationConstraint, EndowmentGetterParams, PermissionConstraint, PermissionSpecificationBuilder, PermissionValidatorConstraint } from '@metamask/permission-controller';
2
- import { PermissionType, SubjectType } from '@metamask/permission-controller';
3
- import type { KeyringOrigins } from '@metamask/snaps-utils';
4
- import { SnapCaveatType } from '@metamask/snaps-utils';
5
- import type { Json, NonEmptyArray } from '@metamask/utils';
6
- import { SnapEndowments } from './enum';
1
+ import type { CaveatSpecificationConstraint, EndowmentGetterParams, PermissionConstraint, PermissionSpecificationBuilder, PermissionValidatorConstraint } from "@metamask/permission-controller";
2
+ import { PermissionType, SubjectType } from "@metamask/permission-controller";
3
+ import type { KeyringOrigins } from "@metamask/snaps-utils";
4
+ import { SnapCaveatType } from "@metamask/snaps-utils";
5
+ import type { Json, NonEmptyArray } from "@metamask/utils";
6
+ import { SnapEndowments } from "./enum.cjs";
7
7
  declare const permissionName = SnapEndowments.Keyring;
8
8
  export declare const keyringEndowmentBuilder: Readonly<{
9
9
  readonly targetName: SnapEndowments.Keyring;
@@ -37,3 +37,4 @@ export declare function getKeyringCaveatMapper(value: Json): Pick<PermissionCons
37
37
  export declare function getKeyringCaveatOrigins(permission?: PermissionConstraint): KeyringOrigins | null;
38
38
  export declare const keyringCaveatSpecifications: Record<SnapCaveatType.KeyringOrigin, CaveatSpecificationConstraint>;
39
39
  export {};
40
+ //# sourceMappingURL=keyring.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyring.d.cts","sourceRoot":"","sources":["../../src/endowments/keyring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,6BAA6B,EAE9B,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,wCAAwC;AAE9E,OAAO,KAAK,EAAE,cAAc,EAAE,8BAA8B;AAC5D,OAAO,EAA0B,cAAc,EAAE,8BAA8B;AAC/E,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB;AAI3D,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,QAAA,MAAM,cAAc,yBAAyB,CAAC;AAuC9C,eAAO,MAAM,uBAAuB;;;wBApClB,eAAe,SAAS;oBAC5B,qBAAqB;qCACJ,qBAAqB,KAAK,IAAI;wBAC3C,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;mBAC3C,6BAA6B;sBAC1B,SAAS,WAAW,EAAE;;EAkC3B,CAAC;AAoBZ;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,GACV,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CASvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,CAAC,EAAE,oBAAoB,GAChC,cAAc,GAAG,IAAI,CAOvB;AAED,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,cAAc,CAAC,aAAa,EAC5B,6BAA6B,CAM9B,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { CaveatSpecificationConstraint, EndowmentGetterParams, PermissionConstraint, PermissionSpecificationBuilder, PermissionValidatorConstraint } from "@metamask/permission-controller";
2
+ import { PermissionType, SubjectType } from "@metamask/permission-controller";
3
+ import type { KeyringOrigins } from "@metamask/snaps-utils";
4
+ import { SnapCaveatType } from "@metamask/snaps-utils";
5
+ import type { Json, NonEmptyArray } from "@metamask/utils";
6
+ import { SnapEndowments } from "./enum.mjs";
7
+ declare const permissionName = SnapEndowments.Keyring;
8
+ export declare const keyringEndowmentBuilder: Readonly<{
9
+ readonly targetName: SnapEndowments.Keyring;
10
+ readonly specificationBuilder: PermissionSpecificationBuilder<PermissionType.Endowment, any, {
11
+ permissionType: PermissionType.Endowment;
12
+ targetName: typeof permissionName;
13
+ endowmentGetter: (_options?: EndowmentGetterParams) => null;
14
+ allowedCaveats: Readonly<NonEmptyArray<string>> | null;
15
+ validator: PermissionValidatorConstraint;
16
+ subjectTypes: readonly SubjectType[];
17
+ }>;
18
+ }>;
19
+ /**
20
+ * Map a raw value from the `initialPermissions` to a caveat specification.
21
+ * Note that this function does not do any validation, that's handled by the
22
+ * PermissionsController when the permission is requested.
23
+ *
24
+ * @param value - The raw value from the `initialPermissions`.
25
+ * @returns The caveat specification.
26
+ */
27
+ export declare function getKeyringCaveatMapper(value: Json): Pick<PermissionConstraint, 'caveats'>;
28
+ /**
29
+ * Getter function to get the {@link KeyringOrigins} caveat value from a
30
+ * permission.
31
+ *
32
+ * @param permission - The permission to get the caveat value from.
33
+ * @returns The caveat value.
34
+ * @throws If the permission does not have a valid {@link KeyringOrigins}
35
+ * caveat.
36
+ */
37
+ export declare function getKeyringCaveatOrigins(permission?: PermissionConstraint): KeyringOrigins | null;
38
+ export declare const keyringCaveatSpecifications: Record<SnapCaveatType.KeyringOrigin, CaveatSpecificationConstraint>;
39
+ export {};
40
+ //# sourceMappingURL=keyring.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyring.d.mts","sourceRoot":"","sources":["../../src/endowments/keyring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,6BAA6B,EAE9B,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,wCAAwC;AAE9E,OAAO,KAAK,EAAE,cAAc,EAAE,8BAA8B;AAC5D,OAAO,EAA0B,cAAc,EAAE,8BAA8B;AAC/E,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB;AAI3D,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,QAAA,MAAM,cAAc,yBAAyB,CAAC;AAuC9C,eAAO,MAAM,uBAAuB;;;wBApClB,eAAe,SAAS;oBAC5B,qBAAqB;qCACJ,qBAAqB,KAAK,IAAI;wBAC3C,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;mBAC3C,6BAA6B;sBAC1B,SAAS,WAAW,EAAE;;EAkC3B,CAAC;AAoBZ;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,GACV,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CASvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,CAAC,EAAE,oBAAoB,GAChC,cAAc,GAAG,IAAI,CAOvB;AAED,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,cAAc,CAAC,aAAa,EAC5B,6BAA6B,CAM9B,CAAC"}
@@ -1,17 +1,91 @@
1
- import {
2
- getKeyringCaveatMapper,
3
- getKeyringCaveatOrigins,
4
- keyringCaveatSpecifications,
5
- keyringEndowmentBuilder
6
- } from "../chunk-HOECEYMT.mjs";
7
- import "../chunk-TG63GBK3.mjs";
8
- import "../chunk-TT4DP2YW.mjs";
9
- import "../chunk-23XDKQW2.mjs";
10
- import "../chunk-CD4OUHO5.mjs";
11
- export {
12
- getKeyringCaveatMapper,
13
- getKeyringCaveatOrigins,
14
- keyringCaveatSpecifications,
15
- keyringEndowmentBuilder
1
+ import { PermissionType, SubjectType } from "@metamask/permission-controller";
2
+ import { rpcErrors } from "@metamask/rpc-errors";
3
+ import { assertIsKeyringOrigins, SnapCaveatType } from "@metamask/snaps-utils";
4
+ import { assert, hasProperty, isPlainObject } from "@metamask/utils";
5
+ import { createGenericPermissionValidator } from "./caveats/index.mjs";
6
+ import { SnapEndowments } from "./enum.mjs";
7
+ const permissionName = SnapEndowments.Keyring;
8
+ /**
9
+ * `endowment:keyring` returns nothing; it is intended to be used as a flag
10
+ * by the client to detect whether the snap has keyring capabilities.
11
+ *
12
+ * @param _builderOptions - Optional specification builder options.
13
+ * @returns The specification for the keyring endowment.
14
+ */
15
+ const specificationBuilder = (_builderOptions) => {
16
+ return {
17
+ permissionType: PermissionType.Endowment,
18
+ targetName: permissionName,
19
+ allowedCaveats: [
20
+ SnapCaveatType.KeyringOrigin,
21
+ SnapCaveatType.MaxRequestTime,
22
+ ],
23
+ endowmentGetter: (_getterOptions) => null,
24
+ validator: createGenericPermissionValidator([
25
+ { type: SnapCaveatType.KeyringOrigin },
26
+ { type: SnapCaveatType.MaxRequestTime, optional: true },
27
+ ]),
28
+ subjectTypes: [SubjectType.Snap],
29
+ };
30
+ };
31
+ export const keyringEndowmentBuilder = Object.freeze({
32
+ targetName: permissionName,
33
+ specificationBuilder,
34
+ });
35
+ /**
36
+ * Validate the value of a caveat. This does not validate the type of the
37
+ * caveat itself, only the value of the caveat.
38
+ *
39
+ * @param caveat - The caveat to validate.
40
+ * @throws If the caveat value is invalid.
41
+ */
42
+ function validateCaveatOrigins(caveat) {
43
+ if (!hasProperty(caveat, 'value') || !isPlainObject(caveat.value)) {
44
+ throw rpcErrors.invalidParams({
45
+ message: 'Invalid keyring origins: Expected a plain object.',
46
+ });
47
+ }
48
+ const { value } = caveat;
49
+ assertIsKeyringOrigins(value, rpcErrors.invalidParams);
50
+ }
51
+ /**
52
+ * Map a raw value from the `initialPermissions` to a caveat specification.
53
+ * Note that this function does not do any validation, that's handled by the
54
+ * PermissionsController when the permission is requested.
55
+ *
56
+ * @param value - The raw value from the `initialPermissions`.
57
+ * @returns The caveat specification.
58
+ */
59
+ export function getKeyringCaveatMapper(value) {
60
+ return {
61
+ caveats: [
62
+ {
63
+ type: SnapCaveatType.KeyringOrigin,
64
+ value,
65
+ },
66
+ ],
67
+ };
68
+ }
69
+ /**
70
+ * Getter function to get the {@link KeyringOrigins} caveat value from a
71
+ * permission.
72
+ *
73
+ * @param permission - The permission to get the caveat value from.
74
+ * @returns The caveat value.
75
+ * @throws If the permission does not have a valid {@link KeyringOrigins}
76
+ * caveat.
77
+ */
78
+ export function getKeyringCaveatOrigins(permission) {
79
+ assert(permission?.caveats);
80
+ assert(permission.caveats.length === 1);
81
+ assert(permission.caveats[0].type === SnapCaveatType.KeyringOrigin);
82
+ const caveat = permission.caveats[0];
83
+ return caveat.value;
84
+ }
85
+ export const keyringCaveatSpecifications = {
86
+ [SnapCaveatType.KeyringOrigin]: Object.freeze({
87
+ type: SnapCaveatType.KeyringOrigin,
88
+ validator: (caveat) => validateCaveatOrigins(caveat),
89
+ }),
16
90
  };
17
91
  //# sourceMappingURL=keyring.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"keyring.mjs","sourceRoot":"","sources":["../../src/endowments/keyring.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,wCAAwC;AAC9E,OAAO,EAAE,SAAS,EAAE,6BAA6B;AAEjD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,8BAA8B;AAE/E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,wBAAwB;AAErE,OAAO,EAAE,gCAAgC,EAAE,4BAAkB;AAC7D,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC;AAW9C;;;;;;GAMG;AACH,MAAM,oBAAoB,GAItB,CAAC,eAAyB,EAAE,EAAE;IAChC,OAAO;QACL,cAAc,EAAE,cAAc,CAAC,SAAS;QACxC,UAAU,EAAE,cAAc;QAC1B,cAAc,EAAE;YACd,cAAc,CAAC,aAAa;YAC5B,cAAc,CAAC,cAAc;SAC9B;QACD,eAAe,EAAE,CAAC,cAAsC,EAAE,EAAE,CAAC,IAAI;QACjE,SAAS,EAAE,gCAAgC,CAAC;YAC1C,EAAE,IAAI,EAAE,cAAc,CAAC,aAAa,EAAE;YACtC,EAAE,IAAI,EAAE,cAAc,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;SACxD,CAAC;QACF,YAAY,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,cAAc;IAC1B,oBAAoB;CACZ,CAAC,CAAC;AAEZ;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,MAA2B;IACxD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,SAAS,CAAC,aAAa,CAAC;YAC5B,OAAO,EAAE,mDAAmD;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAW;IAEX,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,cAAc,CAAC,aAAa;gBAClC,KAAK;aACN;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAiC;IAEjC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAmC,CAAC;IACvE,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAGpC;IACF,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QAC5C,IAAI,EAAE,cAAc,CAAC,aAAa;QAClC,SAAS,EAAE,CAAC,MAA2B,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;KAC1E,CAAC;CACH,CAAC","sourcesContent":["import type {\n Caveat,\n CaveatSpecificationConstraint,\n EndowmentGetterParams,\n PermissionConstraint,\n PermissionSpecificationBuilder,\n PermissionValidatorConstraint,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { KeyringOrigins } from '@metamask/snaps-utils';\nimport { assertIsKeyringOrigins, SnapCaveatType } from '@metamask/snaps-utils';\nimport type { Json, NonEmptyArray } from '@metamask/utils';\nimport { assert, hasProperty, isPlainObject } from '@metamask/utils';\n\nimport { createGenericPermissionValidator } from './caveats';\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.Keyring;\n\ntype KeyringEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (_options?: EndowmentGetterParams) => null;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n validator: PermissionValidatorConstraint;\n subjectTypes: readonly SubjectType[];\n}>;\n\n/**\n * `endowment:keyring` returns nothing; it is intended to be used as a flag\n * by the client to detect whether the snap has keyring capabilities.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the keyring endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n KeyringEndowmentSpecification\n> = (_builderOptions?: unknown) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: [\n SnapCaveatType.KeyringOrigin,\n SnapCaveatType.MaxRequestTime,\n ],\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => null,\n validator: createGenericPermissionValidator([\n { type: SnapCaveatType.KeyringOrigin },\n { type: SnapCaveatType.MaxRequestTime, optional: true },\n ]),\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nexport const keyringEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n\n/**\n * Validate the value of a caveat. This does not validate the type of the\n * caveat itself, only the value of the caveat.\n *\n * @param caveat - The caveat to validate.\n * @throws If the caveat value is invalid.\n */\nfunction validateCaveatOrigins(caveat: Caveat<string, any>) {\n if (!hasProperty(caveat, 'value') || !isPlainObject(caveat.value)) {\n throw rpcErrors.invalidParams({\n message: 'Invalid keyring origins: Expected a plain object.',\n });\n }\n\n const { value } = caveat;\n assertIsKeyringOrigins(value, rpcErrors.invalidParams);\n}\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 getKeyringCaveatMapper(\n value: Json,\n): Pick<PermissionConstraint, 'caveats'> {\n return {\n caveats: [\n {\n type: SnapCaveatType.KeyringOrigin,\n value,\n },\n ],\n };\n}\n\n/**\n * Getter function to get the {@link KeyringOrigins} caveat value from a\n * permission.\n *\n * @param permission - The permission to get the caveat value from.\n * @returns The caveat value.\n * @throws If the permission does not have a valid {@link KeyringOrigins}\n * caveat.\n */\nexport function getKeyringCaveatOrigins(\n permission?: PermissionConstraint,\n): KeyringOrigins | null {\n assert(permission?.caveats);\n assert(permission.caveats.length === 1);\n assert(permission.caveats[0].type === SnapCaveatType.KeyringOrigin);\n\n const caveat = permission.caveats[0] as Caveat<string, KeyringOrigins>;\n return caveat.value;\n}\n\nexport const keyringCaveatSpecifications: Record<\n SnapCaveatType.KeyringOrigin,\n CaveatSpecificationConstraint\n> = {\n [SnapCaveatType.KeyringOrigin]: Object.freeze({\n type: SnapCaveatType.KeyringOrigin,\n validator: (caveat: Caveat<string, any>) => validateCaveatOrigins(caveat),\n }),\n};\n"]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lifecycleHooksEndowmentBuilder = void 0;
4
+ const permission_controller_1 = require("@metamask/permission-controller");
5
+ const enum_1 = require("./enum.cjs");
6
+ const permissionName = enum_1.SnapEndowments.LifecycleHooks;
7
+ /**
8
+ * `endowment:lifecycle-hooks` returns nothing; it is intended to be used as a
9
+ * flag by the snap controller to detect whether the snap has the capability to
10
+ * use lifecycle hooks.
11
+ *
12
+ * @param _builderOptions - Optional specification builder options.
13
+ * @returns The specification for the `lifecycle-hooks` endowment.
14
+ */
15
+ const specificationBuilder = (_builderOptions) => {
16
+ return {
17
+ permissionType: permission_controller_1.PermissionType.Endowment,
18
+ targetName: permissionName,
19
+ allowedCaveats: null,
20
+ endowmentGetter: (_getterOptions) => null,
21
+ subjectTypes: [permission_controller_1.SubjectType.Snap],
22
+ };
23
+ };
24
+ exports.lifecycleHooksEndowmentBuilder = Object.freeze({
25
+ targetName: permissionName,
26
+ specificationBuilder,
27
+ });
28
+ //# sourceMappingURL=lifecycle-hooks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-hooks.cjs","sourceRoot":"","sources":["../../src/endowments/lifecycle-hooks.ts"],"names":[],"mappings":";;;AAKA,2EAA8E;AAG9E,qCAAwC;AAExC,MAAM,cAAc,GAAG,qBAAc,CAAC,cAAc,CAAC;AASrD;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAItB,CAAC,eAAyB,EAAE,EAAE;IAChC,OAAO;QACL,cAAc,EAAE,sCAAc,CAAC,SAAS;QACxC,UAAU,EAAE,cAAc;QAC1B,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,CAAC,cAAsC,EAAE,EAAE,CAAC,IAAI;QACjE,YAAY,EAAE,CAAC,mCAAW,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,UAAU,EAAE,cAAc;IAC1B,oBAAoB;CACZ,CAAC,CAAC","sourcesContent":["import type {\n PermissionSpecificationBuilder,\n EndowmentGetterParams,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport type { NonEmptyArray } from '@metamask/utils';\n\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.LifecycleHooks;\n\ntype LifecycleHooksEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (_options?: EndowmentGetterParams) => null;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * `endowment:lifecycle-hooks` returns nothing; it is intended to be used as a\n * flag by the snap controller to detect whether the snap has the capability to\n * use lifecycle hooks.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the `lifecycle-hooks` endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n LifecycleHooksEndowmentSpecification\n> = (_builderOptions?: unknown) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: null,\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => null,\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nexport const lifecycleHooksEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n"]}
@@ -1,7 +1,7 @@
1
- import type { PermissionSpecificationBuilder, EndowmentGetterParams } from '@metamask/permission-controller';
2
- import { PermissionType } from '@metamask/permission-controller';
3
- import type { NonEmptyArray } from '@metamask/utils';
4
- import { SnapEndowments } from './enum';
1
+ import type { PermissionSpecificationBuilder, EndowmentGetterParams } from "@metamask/permission-controller";
2
+ import { PermissionType } from "@metamask/permission-controller";
3
+ import type { NonEmptyArray } from "@metamask/utils";
4
+ import { SnapEndowments } from "./enum.cjs";
5
5
  declare const permissionName = SnapEndowments.LifecycleHooks;
6
6
  export declare const lifecycleHooksEndowmentBuilder: Readonly<{
7
7
  readonly targetName: SnapEndowments.LifecycleHooks;
@@ -13,3 +13,4 @@ export declare const lifecycleHooksEndowmentBuilder: Readonly<{
13
13
  }>;
14
14
  }>;
15
15
  export {};
16
+ //# sourceMappingURL=lifecycle-hooks.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-hooks.d.cts","sourceRoot":"","sources":["../../src/endowments/lifecycle-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EAEtB,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB;AAErD,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,QAAA,MAAM,cAAc,gCAAgC,CAAC;AA+BrD,eAAO,MAAM,8BAA8B;;;wBA5BzB,eAAe,SAAS;oBAC5B,qBAAqB;qCACJ,qBAAqB,KAAK,IAAI;wBAC3C,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;;EA4B7C,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { PermissionSpecificationBuilder, EndowmentGetterParams } from "@metamask/permission-controller";
2
+ import { PermissionType } from "@metamask/permission-controller";
3
+ import type { NonEmptyArray } from "@metamask/utils";
4
+ import { SnapEndowments } from "./enum.mjs";
5
+ declare const permissionName = SnapEndowments.LifecycleHooks;
6
+ export declare const lifecycleHooksEndowmentBuilder: Readonly<{
7
+ readonly targetName: SnapEndowments.LifecycleHooks;
8
+ readonly specificationBuilder: PermissionSpecificationBuilder<PermissionType.Endowment, any, {
9
+ permissionType: PermissionType.Endowment;
10
+ targetName: typeof permissionName;
11
+ endowmentGetter: (_options?: EndowmentGetterParams) => null;
12
+ allowedCaveats: Readonly<NonEmptyArray<string>> | null;
13
+ }>;
14
+ }>;
15
+ export {};
16
+ //# sourceMappingURL=lifecycle-hooks.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-hooks.d.mts","sourceRoot":"","sources":["../../src/endowments/lifecycle-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EAEtB,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB;AAErD,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,QAAA,MAAM,cAAc,gCAAgC,CAAC;AA+BrD,eAAO,MAAM,8BAA8B;;;wBA5BzB,eAAe,SAAS;oBAC5B,qBAAqB;qCACJ,qBAAqB,KAAK,IAAI;wBAC3C,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;;EA4B7C,CAAC"}
@@ -1,8 +1,25 @@
1
- import {
2
- lifecycleHooksEndowmentBuilder
3
- } from "../chunk-DTZF746A.mjs";
4
- import "../chunk-CD4OUHO5.mjs";
5
- export {
6
- lifecycleHooksEndowmentBuilder
1
+ import { PermissionType, SubjectType } from "@metamask/permission-controller";
2
+ import { SnapEndowments } from "./enum.mjs";
3
+ const permissionName = SnapEndowments.LifecycleHooks;
4
+ /**
5
+ * `endowment:lifecycle-hooks` returns nothing; it is intended to be used as a
6
+ * flag by the snap controller to detect whether the snap has the capability to
7
+ * use lifecycle hooks.
8
+ *
9
+ * @param _builderOptions - Optional specification builder options.
10
+ * @returns The specification for the `lifecycle-hooks` endowment.
11
+ */
12
+ const specificationBuilder = (_builderOptions) => {
13
+ return {
14
+ permissionType: PermissionType.Endowment,
15
+ targetName: permissionName,
16
+ allowedCaveats: null,
17
+ endowmentGetter: (_getterOptions) => null,
18
+ subjectTypes: [SubjectType.Snap],
19
+ };
7
20
  };
21
+ export const lifecycleHooksEndowmentBuilder = Object.freeze({
22
+ targetName: permissionName,
23
+ specificationBuilder,
24
+ });
8
25
  //# sourceMappingURL=lifecycle-hooks.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"lifecycle-hooks.mjs","sourceRoot":"","sources":["../../src/endowments/lifecycle-hooks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,wCAAwC;AAG9E,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;AASrD;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAItB,CAAC,eAAyB,EAAE,EAAE;IAChC,OAAO;QACL,cAAc,EAAE,cAAc,CAAC,SAAS;QACxC,UAAU,EAAE,cAAc;QAC1B,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,CAAC,cAAsC,EAAE,EAAE,CAAC,IAAI;QACjE,YAAY,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,UAAU,EAAE,cAAc;IAC1B,oBAAoB;CACZ,CAAC,CAAC","sourcesContent":["import type {\n PermissionSpecificationBuilder,\n EndowmentGetterParams,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport type { NonEmptyArray } from '@metamask/utils';\n\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.LifecycleHooks;\n\ntype LifecycleHooksEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (_options?: EndowmentGetterParams) => null;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * `endowment:lifecycle-hooks` returns nothing; it is intended to be used as a\n * flag by the snap controller to detect whether the snap has the capability to\n * use lifecycle hooks.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the `lifecycle-hooks` endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n LifecycleHooksEndowmentSpecification\n> = (_builderOptions?: unknown) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: null,\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => null,\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nexport const lifecycleHooksEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n"]}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nameLookupCaveatSpecifications = exports.getLookupMatchersCaveat = exports.getChainIdsCaveat = exports.getNameLookupCaveatMapper = exports.nameLookupEndowmentBuilder = void 0;
4
+ const permission_controller_1 = require("@metamask/permission-controller");
5
+ const rpc_errors_1 = require("@metamask/rpc-errors");
6
+ const snaps_utils_1 = require("@metamask/snaps-utils");
7
+ const utils_1 = require("@metamask/utils");
8
+ const caveats_1 = require("./caveats/index.cjs");
9
+ const enum_1 = require("./enum.cjs");
10
+ const permissionName = enum_1.SnapEndowments.NameLookup;
11
+ /**
12
+ * `endowment:name-lookup` returns nothing; it is intended to be used as a flag
13
+ * by the extension to detect whether the snap has the capability to resolve a domain/address.
14
+ *
15
+ * @param _builderOptions - Optional specification builder options.
16
+ * @returns The specification for the name-lookup endowment.
17
+ */
18
+ const specificationBuilder = (_builderOptions) => {
19
+ return {
20
+ permissionType: permission_controller_1.PermissionType.Endowment,
21
+ targetName: permissionName,
22
+ allowedCaveats: [
23
+ snaps_utils_1.SnapCaveatType.ChainIds,
24
+ snaps_utils_1.SnapCaveatType.LookupMatchers,
25
+ snaps_utils_1.SnapCaveatType.MaxRequestTime,
26
+ ],
27
+ endowmentGetter: (_getterOptions) => null,
28
+ validator: (0, caveats_1.createGenericPermissionValidator)([
29
+ { type: snaps_utils_1.SnapCaveatType.ChainIds, optional: true },
30
+ { type: snaps_utils_1.SnapCaveatType.LookupMatchers, optional: true },
31
+ { type: snaps_utils_1.SnapCaveatType.MaxRequestTime, optional: true },
32
+ ]),
33
+ subjectTypes: [permission_controller_1.SubjectType.Snap],
34
+ };
35
+ };
36
+ exports.nameLookupEndowmentBuilder = Object.freeze({
37
+ targetName: permissionName,
38
+ specificationBuilder,
39
+ });
40
+ /**
41
+ * Validates the type of the caveat value.
42
+ *
43
+ * @param caveat - The caveat to validate.
44
+ * @throws If the caveat value is invalid.
45
+ */
46
+ function validateCaveat(caveat) {
47
+ if (!(0, utils_1.hasProperty)(caveat, 'value') || !(0, utils_1.isPlainObject)(caveat)) {
48
+ throw rpc_errors_1.rpcErrors.invalidParams({
49
+ message: 'Expected a plain object.',
50
+ });
51
+ }
52
+ const { value } = caveat;
53
+ switch (caveat.type) {
54
+ case snaps_utils_1.SnapCaveatType.ChainIds:
55
+ (0, utils_1.assertStruct)(value, snaps_utils_1.ChainIdsStruct);
56
+ break;
57
+ case snaps_utils_1.SnapCaveatType.LookupMatchers:
58
+ (0, utils_1.assertStruct)(value, snaps_utils_1.LookupMatchersStruct);
59
+ break;
60
+ default:
61
+ throw rpc_errors_1.rpcErrors.invalidParams({
62
+ message: 'Invalid caveat type, must be one of the following: "chainIds", "matchers".',
63
+ });
64
+ }
65
+ }
66
+ /**
67
+ * Map a raw value from the `initialPermissions` to a caveat specification.
68
+ * Note that this function does not do any validation, that's handled by the
69
+ * PermissionsController when the permission is requested.
70
+ *
71
+ * @param value - The raw value from the `initialPermissions`.
72
+ * @returns The caveat specification.
73
+ */
74
+ function getNameLookupCaveatMapper(value) {
75
+ if (!value || !(0, utils_1.isObject)(value) || Object.keys(value).length === 0) {
76
+ return { caveats: null };
77
+ }
78
+ const caveats = [];
79
+ if (value.chains) {
80
+ caveats.push({
81
+ type: snaps_utils_1.SnapCaveatType.ChainIds,
82
+ value: value.chains,
83
+ });
84
+ }
85
+ if (value.matchers) {
86
+ caveats.push({
87
+ type: snaps_utils_1.SnapCaveatType.LookupMatchers,
88
+ value: value.matchers,
89
+ });
90
+ }
91
+ (0, utils_1.assert)(caveats.length > 0);
92
+ return { caveats: caveats };
93
+ }
94
+ exports.getNameLookupCaveatMapper = getNameLookupCaveatMapper;
95
+ /**
96
+ * Getter function to get the chainIds caveat from a permission.
97
+ *
98
+ * This does basic validation of the caveat, but does not validate the type or
99
+ * value of the namespaces object itself, as this is handled by the
100
+ * `PermissionsController` when the permission is requested.
101
+ *
102
+ * @param permission - The permission to get the `chainIds` caveat from.
103
+ * @returns An array of `chainIds` that the snap supports.
104
+ */
105
+ function getChainIdsCaveat(permission) {
106
+ if (!permission?.caveats) {
107
+ return null;
108
+ }
109
+ const caveat = permission.caveats.find((permCaveat) => permCaveat.type === snaps_utils_1.SnapCaveatType.ChainIds);
110
+ return caveat ? caveat.value : null;
111
+ }
112
+ exports.getChainIdsCaveat = getChainIdsCaveat;
113
+ /**
114
+ * Getter function to get the matchers caveat from a permission.
115
+ *
116
+ * This does basic validation of the caveat, but does not validate the type or
117
+ * value of the namespaces object itself, as this is handled by the
118
+ * `PermissionsController` when the permission is requested.
119
+ *
120
+ * @param permission - The permission to get the `matchers` caveat from.
121
+ * @returns A `matchers` object that defines the input that the snap supports.
122
+ */
123
+ function getLookupMatchersCaveat(permission) {
124
+ if (!permission?.caveats) {
125
+ return null;
126
+ }
127
+ const caveat = permission.caveats.find((permCaveat) => permCaveat.type === snaps_utils_1.SnapCaveatType.LookupMatchers);
128
+ return caveat ? caveat.value : null;
129
+ }
130
+ exports.getLookupMatchersCaveat = getLookupMatchersCaveat;
131
+ exports.nameLookupCaveatSpecifications = {
132
+ [snaps_utils_1.SnapCaveatType.ChainIds]: Object.freeze({
133
+ type: snaps_utils_1.SnapCaveatType.ChainIds,
134
+ validator: (caveat) => validateCaveat(caveat),
135
+ }),
136
+ [snaps_utils_1.SnapCaveatType.LookupMatchers]: Object.freeze({
137
+ type: snaps_utils_1.SnapCaveatType.LookupMatchers,
138
+ validator: (caveat) => validateCaveat(caveat),
139
+ }),
140
+ };
141
+ //# sourceMappingURL=name-lookup.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-lookup.cjs","sourceRoot":"","sources":["../../src/endowments/name-lookup.ts"],"names":[],"mappings":";;;AAUA,2EAA8E;AAC9E,qDAAiD;AACjD,uDAI+B;AAE/B,2CAMyB;AAEzB,iDAA6D;AAC7D,qCAAwC;AAExC,MAAM,cAAc,GAAG,qBAAc,CAAC,UAAU,CAAC;AAUjD;;;;;;GAMG;AACH,MAAM,oBAAoB,GAItB,CAAC,eAAyB,EAAE,EAAE;IAChC,OAAO;QACL,cAAc,EAAE,sCAAc,CAAC,SAAS;QACxC,UAAU,EAAE,cAAc;QAC1B,cAAc,EAAE;YACd,4BAAc,CAAC,QAAQ;YACvB,4BAAc,CAAC,cAAc;YAC7B,4BAAc,CAAC,cAAc;SAC9B;QACD,eAAe,EAAE,CAAC,cAAsC,EAAE,EAAE,CAAC,IAAI;QACjE,SAAS,EAAE,IAAA,0CAAgC,EAAC;YAC1C,EAAE,IAAI,EAAE,4BAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjD,EAAE,IAAI,EAAE,4BAAc,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvD,EAAE,IAAI,EAAE,4BAAc,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;SACxD,CAAC;QACF,YAAY,EAAE,CAAC,mCAAW,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC;IACtD,UAAU,EAAE,cAAc;IAC1B,oBAAoB;CACZ,CAAC,CAAC;AAEZ;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAA2B;IACjD,IAAI,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAA,qBAAa,EAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,MAAM,sBAAS,CAAC,aAAa,CAAC;YAC5B,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAEzB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,4BAAc,CAAC,QAAQ;YAC1B,IAAA,oBAAY,EAAC,KAAK,EAAE,4BAAc,CAAC,CAAC;YACpC,MAAM;QACR,KAAK,4BAAc,CAAC,cAAc;YAChC,IAAA,oBAAY,EAAC,KAAK,EAAE,kCAAoB,CAAC,CAAC;YAC1C,MAAM;QACR;YACE,MAAM,sBAAS,CAAC,aAAa,CAAC;gBAC5B,OAAO,EACL,4EAA4E;aAC/E,CAAC,CAAC;IACP,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACvC,KAAW;IAEX,IAAI,CAAC,KAAK,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,4BAAc,CAAC,QAAQ;YAC7B,KAAK,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,4BAAc,CAAC,cAAc;YACnC,KAAK,EAAE,KAAK,CAAC,QAAQ;SACtB,CAAC,CAAC;IACL,CAAC;IAED,IAAA,cAAM,EAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE3B,OAAO,EAAE,OAAO,EAAE,OAA0C,EAAE,CAAC;AACjE,CAAC;AA1BD,8DA0BC;AAED;;;;;;;;;GASG;AACH,SAAgB,iBAAiB,CAC/B,UAAiC;IAEjC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CACpC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,4BAAc,CAAC,QAAQ,CACpB,CAAC;IAE1C,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAZD,8CAYC;AAED;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CACrC,UAAiC;IAEjC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CACpC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,4BAAc,CAAC,cAAc,CACV,CAAC;IAE1D,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAZD,0DAYC;AAEY,QAAA,8BAA8B,GAGvC;IACF,CAAC,4BAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QACvC,IAAI,EAAE,4BAAc,CAAC,QAAQ;QAC7B,SAAS,EAAE,CAAC,MAA2B,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;KACnE,CAAC;IACF,CAAC,4BAAc,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;QAC7C,IAAI,EAAE,4BAAc,CAAC,cAAc;QACnC,SAAS,EAAE,CAAC,MAA2B,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;KACnE,CAAC;CACH,CAAC","sourcesContent":["import type {\n EndowmentGetterParams,\n PermissionSpecificationBuilder,\n PermissionValidatorConstraint,\n ValidPermissionSpecification,\n Caveat,\n CaveatSpecificationConstraint,\n PermissionConstraint,\n CaveatConstraint,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport {\n ChainIdsStruct,\n LookupMatchersStruct,\n SnapCaveatType,\n} from '@metamask/snaps-utils';\nimport type { Json, NonEmptyArray } from '@metamask/utils';\nimport {\n assert,\n assertStruct,\n hasProperty,\n isObject,\n isPlainObject,\n} from '@metamask/utils';\n\nimport { createGenericPermissionValidator } from './caveats';\nimport { SnapEndowments } from './enum';\n\nconst permissionName = SnapEndowments.NameLookup;\n\ntype NameLookupEndowmentSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.Endowment;\n targetName: typeof permissionName;\n endowmentGetter: (_options?: EndowmentGetterParams) => null;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n validator: PermissionValidatorConstraint;\n}>;\n\n/**\n * `endowment:name-lookup` returns nothing; it is intended to be used as a flag\n * by the extension to detect whether the snap has the capability to resolve a domain/address.\n *\n * @param _builderOptions - Optional specification builder options.\n * @returns The specification for the name-lookup endowment.\n */\nconst specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.Endowment,\n any,\n NameLookupEndowmentSpecification\n> = (_builderOptions?: unknown) => {\n return {\n permissionType: PermissionType.Endowment,\n targetName: permissionName,\n allowedCaveats: [\n SnapCaveatType.ChainIds,\n SnapCaveatType.LookupMatchers,\n SnapCaveatType.MaxRequestTime,\n ],\n endowmentGetter: (_getterOptions?: EndowmentGetterParams) => null,\n validator: createGenericPermissionValidator([\n { type: SnapCaveatType.ChainIds, optional: true },\n { type: SnapCaveatType.LookupMatchers, optional: true },\n { type: SnapCaveatType.MaxRequestTime, optional: true },\n ]),\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nexport const nameLookupEndowmentBuilder = Object.freeze({\n targetName: permissionName,\n specificationBuilder,\n} as const);\n\n/**\n * Validates the type of the caveat value.\n *\n * @param caveat - The caveat to validate.\n * @throws If the caveat value is invalid.\n */\nfunction validateCaveat(caveat: Caveat<string, any>): void {\n if (!hasProperty(caveat, 'value') || !isPlainObject(caveat)) {\n throw rpcErrors.invalidParams({\n message: 'Expected a plain object.',\n });\n }\n\n const { value } = caveat;\n\n switch (caveat.type) {\n case SnapCaveatType.ChainIds:\n assertStruct(value, ChainIdsStruct);\n break;\n case SnapCaveatType.LookupMatchers:\n assertStruct(value, LookupMatchersStruct);\n break;\n default:\n throw rpcErrors.invalidParams({\n message:\n 'Invalid caveat type, must be one of the following: \"chainIds\", \"matchers\".',\n });\n }\n}\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 getNameLookupCaveatMapper(\n value: Json,\n): Pick<PermissionConstraint, 'caveats'> {\n if (!value || !isObject(value) || Object.keys(value).length === 0) {\n return { caveats: null };\n }\n\n const caveats = [];\n\n if (value.chains) {\n caveats.push({\n type: SnapCaveatType.ChainIds,\n value: value.chains,\n });\n }\n\n if (value.matchers) {\n caveats.push({\n type: SnapCaveatType.LookupMatchers,\n value: value.matchers,\n });\n }\n\n assert(caveats.length > 0);\n\n return { caveats: caveats as NonEmptyArray<CaveatConstraint> };\n}\n\n/**\n * Getter function to get the chainIds caveat from a permission.\n *\n * This does basic validation of the caveat, but does not validate the type or\n * value of the namespaces object itself, as this is handled by the\n * `PermissionsController` when the permission is requested.\n *\n * @param permission - The permission to get the `chainIds` caveat from.\n * @returns An array of `chainIds` that the snap supports.\n */\nexport function getChainIdsCaveat(\n permission?: PermissionConstraint,\n): string[] | null {\n if (!permission?.caveats) {\n return null;\n }\n\n const caveat = permission.caveats.find(\n (permCaveat) => permCaveat.type === SnapCaveatType.ChainIds,\n ) as Caveat<string, string[]> | undefined;\n\n return caveat ? caveat.value : null;\n}\n\n/**\n * Getter function to get the matchers caveat from a permission.\n *\n * This does basic validation of the caveat, but does not validate the type or\n * value of the namespaces object itself, as this is handled by the\n * `PermissionsController` when the permission is requested.\n *\n * @param permission - The permission to get the `matchers` caveat from.\n * @returns A `matchers` object that defines the input that the snap supports.\n */\nexport function getLookupMatchersCaveat(\n permission?: PermissionConstraint,\n): Record<string, string[]> | null {\n if (!permission?.caveats) {\n return null;\n }\n\n const caveat = permission.caveats.find(\n (permCaveat) => permCaveat.type === SnapCaveatType.LookupMatchers,\n ) as Caveat<string, Record<string, string[]>> | undefined;\n\n return caveat ? caveat.value : null;\n}\n\nexport const nameLookupCaveatSpecifications: Record<\n SnapCaveatType.ChainIds | SnapCaveatType.LookupMatchers,\n CaveatSpecificationConstraint\n> = {\n [SnapCaveatType.ChainIds]: Object.freeze({\n type: SnapCaveatType.ChainIds,\n validator: (caveat: Caveat<string, any>) => validateCaveat(caveat),\n }),\n [SnapCaveatType.LookupMatchers]: Object.freeze({\n type: SnapCaveatType.LookupMatchers,\n validator: (caveat: Caveat<string, any>) => validateCaveat(caveat),\n }),\n};\n"]}
@@ -1,8 +1,8 @@
1
- import type { EndowmentGetterParams, PermissionSpecificationBuilder, PermissionValidatorConstraint, CaveatSpecificationConstraint, PermissionConstraint } from '@metamask/permission-controller';
2
- import { PermissionType } from '@metamask/permission-controller';
3
- import { SnapCaveatType } from '@metamask/snaps-utils';
4
- import type { Json, NonEmptyArray } from '@metamask/utils';
5
- import { SnapEndowments } from './enum';
1
+ import type { EndowmentGetterParams, PermissionSpecificationBuilder, PermissionValidatorConstraint, CaveatSpecificationConstraint, PermissionConstraint } from "@metamask/permission-controller";
2
+ import { PermissionType } from "@metamask/permission-controller";
3
+ import { SnapCaveatType } from "@metamask/snaps-utils";
4
+ import type { Json, NonEmptyArray } from "@metamask/utils";
5
+ import { SnapEndowments } from "./enum.cjs";
6
6
  declare const permissionName = SnapEndowments.NameLookup;
7
7
  export declare const nameLookupEndowmentBuilder: Readonly<{
8
8
  readonly targetName: SnapEndowments.NameLookup;
@@ -47,3 +47,4 @@ export declare function getChainIdsCaveat(permission?: PermissionConstraint): st
47
47
  export declare function getLookupMatchersCaveat(permission?: PermissionConstraint): Record<string, string[]> | null;
48
48
  export declare const nameLookupCaveatSpecifications: Record<SnapCaveatType.ChainIds | SnapCaveatType.LookupMatchers, CaveatSpecificationConstraint>;
49
49
  export {};
50
+ //# sourceMappingURL=name-lookup.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-lookup.d.cts","sourceRoot":"","sources":["../../src/endowments/name-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,8BAA8B,EAC9B,6BAA6B,EAG7B,6BAA6B,EAC7B,oBAAoB,EAErB,wCAAwC;AACzC,OAAO,EAAE,cAAc,EAAe,wCAAwC;AAE9E,OAAO,EAGL,cAAc,EACf,8BAA8B;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB;AAU3D,OAAO,EAAE,cAAc,EAAE,mBAAe;AAExC,QAAA,MAAM,cAAc,4BAA4B,CAAC;AAwCjD,eAAO,MAAM,0BAA0B;;;wBArCrB,eAAe,SAAS;oBAC5B,qBAAqB;qCACJ,qBAAqB,KAAK,IAAI;wBAC3C,SAAS,cAAc,MAAM,CAAC,CAAC,GAAG,IAAI;mBAC3C,6BAA6B;;EAoC/B,CAAC;AAgCZ;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,IAAI,GACV,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAwBvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,CAAC,EAAE,oBAAoB,GAChC,MAAM,EAAE,GAAG,IAAI,CAUjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,CAAC,EAAE,oBAAoB,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAUjC;AAED,eAAO,MAAM,8BAA8B,EAAE,MAAM,CACjD,cAAc,CAAC,QAAQ,GAAG,cAAc,CAAC,cAAc,EACvD,6BAA6B,CAU9B,CAAC"}