@metamask/snaps-jest 5.0.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -1
- package/dist/chunk-265BMFM5.js +13 -0
- package/dist/chunk-265BMFM5.js.map +1 -0
- package/dist/chunk-2JTGBHPR.js +14 -0
- package/dist/chunk-2JTGBHPR.js.map +1 -0
- package/dist/chunk-2X23DUDP.mjs +22 -0
- package/dist/chunk-2X23DUDP.mjs.map +1 -0
- package/dist/chunk-2YE2P5BZ.js +36 -0
- package/dist/chunk-2YE2P5BZ.js.map +1 -0
- package/dist/chunk-3FNLFVV2.js +15 -0
- package/dist/chunk-3FNLFVV2.js.map +1 -0
- package/dist/chunk-4SC3HVI5.mjs +104 -0
- package/dist/chunk-4SC3HVI5.mjs.map +1 -0
- package/dist/chunk-55J6XMHW.js +1 -0
- package/dist/chunk-55J6XMHW.js.map +1 -0
- package/dist/chunk-57SGDM5B.mjs +69 -0
- package/dist/chunk-57SGDM5B.mjs.map +1 -0
- package/dist/chunk-5PLDD7ZC.js +153 -0
- package/dist/chunk-5PLDD7ZC.js.map +1 -0
- package/dist/chunk-5ZFHFICZ.mjs +1 -0
- package/dist/chunk-5ZFHFICZ.mjs.map +1 -0
- package/dist/chunk-6HHV6YFQ.mjs +1 -0
- package/dist/chunk-6HHV6YFQ.mjs.map +1 -0
- package/dist/chunk-6KXCBUNZ.mjs +11 -0
- package/dist/chunk-6KXCBUNZ.mjs.map +1 -0
- package/dist/chunk-6MVV44M5.mjs +76 -0
- package/dist/chunk-6MVV44M5.mjs.map +1 -0
- package/dist/chunk-74TIKA2T.mjs +34 -0
- package/dist/chunk-74TIKA2T.mjs.map +1 -0
- package/dist/chunk-7BFTEFLS.mjs +39 -0
- package/dist/chunk-7BFTEFLS.mjs.map +1 -0
- package/dist/chunk-7J34R6YW.mjs +233 -0
- package/dist/chunk-7J34R6YW.mjs.map +1 -0
- package/dist/chunk-7VILST6M.mjs +134 -0
- package/dist/chunk-7VILST6M.mjs.map +1 -0
- package/dist/chunk-7YD4IW43.mjs +57 -0
- package/dist/chunk-7YD4IW43.mjs.map +1 -0
- package/dist/chunk-ALRZENWP.mjs +42 -0
- package/dist/chunk-ALRZENWP.mjs.map +1 -0
- package/dist/chunk-B4QZXXQY.js +134 -0
- package/dist/chunk-B4QZXXQY.js.map +1 -0
- package/dist/chunk-B73P64TE.mjs +28 -0
- package/dist/chunk-B73P64TE.mjs.map +1 -0
- package/dist/chunk-CCYBLBVL.mjs +91 -0
- package/dist/chunk-CCYBLBVL.mjs.map +1 -0
- package/dist/chunk-DR6Y7IVX.js +1 -0
- package/dist/chunk-DR6Y7IVX.js.map +1 -0
- package/dist/chunk-EMTW3H54.js +20 -0
- package/dist/chunk-EMTW3H54.js.map +1 -0
- package/dist/chunk-FP4H3ADT.mjs +20 -0
- package/dist/chunk-FP4H3ADT.mjs.map +1 -0
- package/dist/chunk-GECE47HW.js +1 -0
- package/dist/chunk-GECE47HW.js.map +1 -0
- package/dist/chunk-GMTKFAWO.js +42 -0
- package/dist/chunk-GMTKFAWO.js.map +1 -0
- package/dist/chunk-H2464AXT.mjs +33 -0
- package/dist/chunk-H2464AXT.mjs.map +1 -0
- package/dist/chunk-HBLJOACO.mjs +97 -0
- package/dist/chunk-HBLJOACO.mjs.map +1 -0
- package/dist/chunk-HNH5UAKZ.js +80 -0
- package/dist/chunk-HNH5UAKZ.js.map +1 -0
- package/dist/chunk-HROOL3VI.js +1 -0
- package/dist/chunk-HROOL3VI.js.map +1 -0
- package/dist/chunk-IH7UNS5A.mjs +36 -0
- package/dist/chunk-IH7UNS5A.mjs.map +1 -0
- package/dist/chunk-ISWZ7XZ5.js +39 -0
- package/dist/chunk-ISWZ7XZ5.js.map +1 -0
- package/dist/chunk-IXKO6X55.mjs +15 -0
- package/dist/chunk-IXKO6X55.mjs.map +1 -0
- package/dist/chunk-J4ZPUCLX.mjs +8 -0
- package/dist/chunk-J4ZPUCLX.mjs.map +1 -0
- package/dist/chunk-JMDSN227.mjs +25 -0
- package/dist/chunk-JMDSN227.mjs.map +1 -0
- package/dist/chunk-JUNUGLG4.js +104 -0
- package/dist/chunk-JUNUGLG4.js.map +1 -0
- package/dist/chunk-KIQOUUEZ.mjs +1 -0
- package/dist/chunk-KIQOUUEZ.mjs.map +1 -0
- package/dist/chunk-KNJNL723.mjs +39 -0
- package/dist/chunk-KNJNL723.mjs.map +1 -0
- package/dist/chunk-KSIBNOB2.mjs +13 -0
- package/dist/chunk-KSIBNOB2.mjs.map +1 -0
- package/dist/chunk-LACTK6EO.js +33 -0
- package/dist/chunk-LACTK6EO.js.map +1 -0
- package/dist/chunk-LB4R3BUA.mjs +36 -0
- package/dist/chunk-LB4R3BUA.mjs.map +1 -0
- package/dist/chunk-LBC2OGSN.js +48 -0
- package/dist/chunk-LBC2OGSN.js.map +1 -0
- package/dist/chunk-LHU3EHLI.mjs +137 -0
- package/dist/chunk-LHU3EHLI.mjs.map +1 -0
- package/dist/chunk-LXSNRZV4.js +97 -0
- package/dist/chunk-LXSNRZV4.js.map +1 -0
- package/dist/chunk-LYK6EGZU.mjs +80 -0
- package/dist/chunk-LYK6EGZU.mjs.map +1 -0
- package/dist/chunk-MF43OG3Z.mjs +1 -0
- package/dist/chunk-MF43OG3Z.mjs.map +1 -0
- package/dist/chunk-MJHR5RTY.js +21 -0
- package/dist/chunk-MJHR5RTY.js.map +1 -0
- package/dist/chunk-MPZOXW6I.mjs +48 -0
- package/dist/chunk-MPZOXW6I.mjs.map +1 -0
- package/dist/chunk-N6MAO223.js +60 -0
- package/dist/chunk-N6MAO223.js.map +1 -0
- package/dist/chunk-NTOY6Y4Q.mjs +1 -0
- package/dist/chunk-NTOY6Y4Q.mjs.map +1 -0
- package/dist/chunk-ORO3T6BU.mjs +24 -0
- package/dist/chunk-ORO3T6BU.mjs.map +1 -0
- package/dist/chunk-PHUTP7NB.js +25 -0
- package/dist/chunk-PHUTP7NB.js.map +1 -0
- package/dist/chunk-PZDTZGSI.js +34 -0
- package/dist/chunk-PZDTZGSI.js.map +1 -0
- package/dist/chunk-Q2OQXAUM.mjs +35 -0
- package/dist/chunk-Q2OQXAUM.mjs.map +1 -0
- package/dist/chunk-RAMAN5RM.js +24 -0
- package/dist/{cjs/internals/simulation/methods/hooks/show-dialog.js.map → chunk-RAMAN5RM.js.map} +1 -1
- package/dist/chunk-RD7GQCPL.js +22 -0
- package/dist/chunk-RD7GQCPL.js.map +1 -0
- package/dist/chunk-RQKT6BQ2.mjs +1 -0
- package/dist/chunk-RQKT6BQ2.mjs.map +1 -0
- package/dist/chunk-SLU4FNKX.mjs +60 -0
- package/dist/chunk-SLU4FNKX.mjs.map +1 -0
- package/dist/chunk-SQJOQ7AF.js +137 -0
- package/dist/chunk-SQJOQ7AF.js.map +1 -0
- package/dist/chunk-T2BE4O5H.js +233 -0
- package/dist/chunk-T2BE4O5H.js.map +1 -0
- package/dist/chunk-T2PHS5FY.js +28 -0
- package/dist/chunk-T2PHS5FY.js.map +1 -0
- package/dist/chunk-TBDYQSRT.mjs +16 -0
- package/dist/chunk-TBDYQSRT.mjs.map +1 -0
- package/dist/chunk-TO46ICOZ.js +57 -0
- package/dist/chunk-TO46ICOZ.js.map +1 -0
- package/dist/chunk-TVD4SWH7.js +16 -0
- package/dist/chunk-TVD4SWH7.js.map +1 -0
- package/dist/chunk-TZB4LBT7.js +8 -0
- package/dist/chunk-TZB4LBT7.js.map +1 -0
- package/dist/chunk-U5BLLHIU.js +1 -0
- package/dist/chunk-U5BLLHIU.js.map +1 -0
- package/dist/chunk-V6LFAN3U.mjs +1 -0
- package/dist/chunk-V6LFAN3U.mjs.map +1 -0
- package/dist/chunk-VHJZERIC.js +1 -0
- package/dist/chunk-VHJZERIC.js.map +1 -0
- package/dist/chunk-VOYBI6T4.mjs +22 -0
- package/dist/chunk-VOYBI6T4.mjs.map +1 -0
- package/dist/chunk-VXPCUDBI.js +36 -0
- package/dist/chunk-VXPCUDBI.js.map +1 -0
- package/dist/chunk-WDYPMEZB.js +22 -0
- package/dist/chunk-WDYPMEZB.js.map +1 -0
- package/dist/chunk-WFBQPYSV.js +91 -0
- package/dist/chunk-WFBQPYSV.js.map +1 -0
- package/dist/chunk-WH5C5WIZ.mjs +21 -0
- package/dist/chunk-WH5C5WIZ.mjs.map +1 -0
- package/dist/chunk-WHGYMK5B.js +1 -0
- package/dist/chunk-WHGYMK5B.js.map +1 -0
- package/dist/chunk-WIFOID2P.mjs +153 -0
- package/dist/chunk-WIFOID2P.mjs.map +1 -0
- package/dist/chunk-XAOCS6ZD.js +69 -0
- package/dist/chunk-XAOCS6ZD.js.map +1 -0
- package/dist/chunk-XK5HPZZC.mjs +14 -0
- package/dist/chunk-XK5HPZZC.mjs.map +1 -0
- package/dist/chunk-XKJHFUHE.js +11 -0
- package/dist/chunk-XKJHFUHE.js.map +1 -0
- package/dist/chunk-XWGECIXI.js +39 -0
- package/dist/chunk-XWGECIXI.js.map +1 -0
- package/dist/chunk-Y3JC4WGW.js +35 -0
- package/dist/chunk-Y3JC4WGW.js.map +1 -0
- package/dist/chunk-ZAQZRYPW.js +76 -0
- package/dist/chunk-ZAQZRYPW.js.map +1 -0
- package/dist/chunk-ZG33OGC3.mjs +1 -0
- package/dist/chunk-ZG33OGC3.mjs.map +1 -0
- package/dist/chunk-ZTX624YO.js +1 -0
- package/dist/chunk-ZTX624YO.js.map +1 -0
- package/dist/environment.js +47 -0
- package/dist/environment.js.map +1 -0
- package/dist/environment.mjs +47 -0
- package/dist/environment.mjs.map +1 -0
- package/dist/helpers.js +44 -0
- package/dist/helpers.js.map +1 -0
- package/dist/helpers.mjs +44 -0
- package/dist/helpers.mjs.map +1 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +54 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internals/environment.js +8 -0
- package/dist/internals/environment.js.map +1 -0
- package/dist/internals/environment.mjs +8 -0
- package/dist/internals/environment.mjs.map +1 -0
- package/dist/internals/index.js +123 -0
- package/dist/internals/index.js.map +1 -0
- package/dist/internals/index.mjs +123 -0
- package/dist/internals/index.mjs.map +1 -0
- package/dist/internals/logger.js +8 -0
- package/dist/internals/logger.js.map +1 -0
- package/dist/internals/logger.mjs +8 -0
- package/dist/internals/logger.mjs.map +1 -0
- package/dist/internals/request.js +40 -0
- package/dist/internals/request.js.map +1 -0
- package/dist/internals/request.mjs +40 -0
- package/dist/internals/request.mjs.map +1 -0
- package/dist/internals/server.js +9 -0
- package/dist/internals/server.js.map +1 -0
- package/dist/internals/server.mjs +9 -0
- package/dist/internals/server.mjs.map +1 -0
- package/dist/internals/simulation/constants.js +12 -0
- package/dist/internals/simulation/constants.js.map +1 -0
- package/dist/internals/simulation/constants.mjs +12 -0
- package/dist/internals/simulation/constants.mjs.map +1 -0
- package/dist/internals/simulation/controllers.js +26 -0
- package/dist/internals/simulation/controllers.js.map +1 -0
- package/dist/internals/simulation/controllers.mjs +26 -0
- package/dist/internals/simulation/controllers.mjs.map +1 -0
- package/dist/internals/simulation/files.js +8 -0
- package/dist/internals/simulation/files.js.map +1 -0
- package/dist/internals/simulation/files.mjs +8 -0
- package/dist/internals/simulation/files.mjs.map +1 -0
- package/dist/internals/simulation/index.js +90 -0
- package/dist/internals/simulation/index.js.map +1 -0
- package/dist/internals/simulation/index.mjs +90 -0
- package/dist/internals/simulation/index.mjs.map +1 -0
- package/dist/internals/simulation/interface.js +16 -0
- package/dist/internals/simulation/interface.js.map +1 -0
- package/dist/internals/simulation/interface.mjs +16 -0
- package/dist/internals/simulation/interface.mjs.map +1 -0
- package/dist/internals/simulation/methods/constants.js +12 -0
- package/dist/internals/simulation/methods/constants.js.map +1 -0
- package/dist/internals/simulation/methods/constants.mjs +12 -0
- package/dist/internals/simulation/methods/constants.mjs.map +1 -0
- package/dist/internals/simulation/methods/hooks/encryption.js +10 -0
- package/dist/internals/simulation/methods/hooks/encryption.js.map +1 -0
- package/dist/internals/simulation/methods/hooks/encryption.mjs +10 -0
- package/dist/internals/simulation/methods/hooks/encryption.mjs.map +1 -0
- package/dist/internals/simulation/methods/hooks/get-locale.js +8 -0
- package/dist/internals/simulation/methods/hooks/get-locale.js.map +1 -0
- package/dist/internals/simulation/methods/hooks/get-locale.mjs +8 -0
- package/dist/internals/simulation/methods/hooks/get-locale.mjs.map +1 -0
- package/dist/internals/simulation/methods/hooks/index.js +45 -0
- package/dist/internals/simulation/methods/hooks/index.js.map +1 -0
- package/dist/internals/simulation/methods/hooks/index.mjs +45 -0
- package/dist/internals/simulation/methods/hooks/index.mjs.map +1 -0
- package/dist/internals/simulation/methods/hooks/interface.js +10 -0
- package/dist/internals/simulation/methods/hooks/interface.js.map +1 -0
- package/dist/internals/simulation/methods/hooks/interface.mjs +10 -0
- package/dist/internals/simulation/methods/hooks/interface.mjs.map +1 -0
- package/dist/internals/simulation/methods/hooks/notifications.js +16 -0
- package/dist/internals/simulation/methods/hooks/notifications.js.map +1 -0
- package/dist/internals/simulation/methods/hooks/notifications.mjs +16 -0
- package/dist/internals/simulation/methods/hooks/notifications.mjs.map +1 -0
- package/dist/internals/simulation/methods/hooks/show-dialog.js +14 -0
- package/dist/internals/simulation/methods/hooks/show-dialog.js.map +1 -0
- package/dist/internals/simulation/methods/hooks/show-dialog.mjs +14 -0
- package/dist/internals/simulation/methods/hooks/show-dialog.mjs.map +1 -0
- package/dist/internals/simulation/methods/hooks/state.js +18 -0
- package/dist/internals/simulation/methods/hooks/state.js.map +1 -0
- package/dist/internals/simulation/methods/hooks/state.mjs +18 -0
- package/dist/internals/simulation/methods/hooks/state.mjs.map +1 -0
- package/dist/internals/simulation/methods/index.js +29 -0
- package/dist/internals/simulation/methods/index.js.map +1 -0
- package/dist/internals/simulation/methods/index.mjs +29 -0
- package/dist/internals/simulation/methods/index.mjs.map +1 -0
- package/dist/internals/simulation/methods/specifications.js +28 -0
- package/dist/internals/simulation/methods/specifications.js.map +1 -0
- package/dist/internals/simulation/methods/specifications.mjs +28 -0
- package/dist/internals/simulation/methods/specifications.mjs.map +1 -0
- package/dist/internals/simulation/middleware/engine.js +15 -0
- package/dist/internals/simulation/middleware/engine.js.map +1 -0
- package/dist/internals/simulation/middleware/engine.mjs +15 -0
- package/dist/internals/simulation/middleware/engine.mjs.map +1 -0
- package/dist/internals/simulation/middleware/index.js +16 -0
- package/dist/internals/simulation/middleware/index.js.map +1 -0
- package/dist/internals/simulation/middleware/index.mjs +16 -0
- package/dist/internals/simulation/middleware/index.mjs.map +1 -0
- package/dist/internals/simulation/middleware/internal-methods/accounts.js +8 -0
- package/dist/internals/simulation/middleware/internal-methods/accounts.js.map +1 -0
- package/dist/internals/simulation/middleware/internal-methods/accounts.mjs +8 -0
- package/dist/internals/simulation/middleware/internal-methods/accounts.mjs.map +1 -0
- package/dist/internals/simulation/middleware/internal-methods/index.js +11 -0
- package/dist/internals/simulation/middleware/internal-methods/index.js.map +1 -0
- package/dist/internals/simulation/middleware/internal-methods/index.mjs +11 -0
- package/dist/internals/simulation/middleware/internal-methods/index.mjs.map +1 -0
- package/dist/internals/simulation/middleware/internal-methods/middleware.js +10 -0
- package/dist/internals/simulation/middleware/internal-methods/middleware.js.map +1 -0
- package/dist/internals/simulation/middleware/internal-methods/middleware.mjs +10 -0
- package/dist/internals/simulation/middleware/internal-methods/middleware.mjs.map +1 -0
- package/dist/internals/simulation/middleware/internal-methods/provider-state.js +8 -0
- package/dist/internals/simulation/middleware/internal-methods/provider-state.js.map +1 -0
- package/dist/internals/simulation/middleware/internal-methods/provider-state.mjs +8 -0
- package/dist/internals/simulation/middleware/internal-methods/provider-state.mjs.map +1 -0
- package/dist/internals/simulation/middleware/mock.js +9 -0
- package/dist/internals/simulation/middleware/mock.js.map +1 -0
- package/dist/internals/simulation/middleware/mock.mjs +9 -0
- package/dist/internals/simulation/middleware/mock.mjs.map +1 -0
- package/dist/internals/simulation/options.js +9 -0
- package/dist/internals/simulation/options.js.map +1 -0
- package/dist/internals/simulation/options.mjs +9 -0
- package/dist/internals/simulation/options.mjs.map +1 -0
- package/dist/internals/simulation/simulation.js +39 -0
- package/dist/internals/simulation/simulation.js.map +1 -0
- package/dist/internals/simulation/simulation.mjs +39 -0
- package/dist/internals/simulation/simulation.mjs.map +1 -0
- package/dist/internals/simulation/store/index.js +44 -0
- package/dist/internals/simulation/store/index.js.map +1 -0
- package/dist/internals/simulation/store/index.mjs +44 -0
- package/dist/internals/simulation/store/index.mjs.map +1 -0
- package/dist/internals/simulation/store/mocks.js +16 -0
- package/dist/internals/simulation/store/mocks.js.map +1 -0
- package/dist/internals/simulation/store/mocks.mjs +16 -0
- package/dist/internals/simulation/store/mocks.mjs.map +1 -0
- package/dist/internals/simulation/store/notifications.js +16 -0
- package/dist/internals/simulation/store/notifications.js.map +1 -0
- package/dist/internals/simulation/store/notifications.mjs +16 -0
- package/dist/internals/simulation/store/notifications.mjs.map +1 -0
- package/dist/internals/simulation/store/state.js +14 -0
- package/dist/internals/simulation/store/state.js.map +1 -0
- package/dist/internals/simulation/store/state.mjs +14 -0
- package/dist/internals/simulation/store/state.mjs.map +1 -0
- package/dist/internals/simulation/store/store.js +12 -0
- package/dist/internals/simulation/store/store.js.map +1 -0
- package/dist/internals/simulation/store/store.mjs +12 -0
- package/dist/internals/simulation/store/store.mjs.map +1 -0
- package/dist/internals/simulation/store/ui.js +16 -0
- package/dist/internals/simulation/store/ui.js.map +1 -0
- package/dist/internals/simulation/store/ui.mjs +16 -0
- package/dist/internals/simulation/store/ui.mjs.map +1 -0
- package/dist/internals/structs.js +18 -0
- package/dist/internals/structs.js.map +1 -0
- package/dist/internals/structs.mjs +18 -0
- package/dist/internals/structs.mjs.map +1 -0
- package/dist/matchers.js +50 -0
- package/dist/matchers.js.map +1 -0
- package/dist/matchers.mjs +50 -0
- package/dist/matchers.mjs.map +1 -0
- package/dist/options.js +8 -0
- package/dist/options.js.map +1 -0
- package/dist/options.mjs +8 -0
- package/dist/options.mjs.map +1 -0
- package/dist/setup.js +39 -0
- package/dist/setup.js.map +1 -0
- package/dist/setup.mjs +39 -0
- package/dist/setup.mjs.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/vendor/readable-stream.d.js +1 -0
- package/dist/types/vendor/readable-stream.d.js.map +1 -0
- package/dist/types/vendor/readable-stream.d.mjs +1 -0
- package/dist/types/vendor/readable-stream.d.mjs.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +2 -0
- package/dist/types.mjs.map +1 -0
- package/jest-preset.js +1 -1
- package/package.json +24 -20
- package/dist/cjs/environment.js +0 -144
- package/dist/cjs/environment.js.map +0 -1
- package/dist/cjs/helpers.js +0 -142
- package/dist/cjs/helpers.js.map +0 -1
- package/dist/cjs/index.js +0 -42
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/internals/environment.js +0 -19
- package/dist/cjs/internals/environment.js.map +0 -1
- package/dist/cjs/internals/index.js +0 -25
- package/dist/cjs/internals/index.js.map +0 -1
- package/dist/cjs/internals/logger.js +0 -14
- package/dist/cjs/internals/logger.js.map +0 -1
- package/dist/cjs/internals/request.js +0 -69
- package/dist/cjs/internals/request.js.map +0 -1
- package/dist/cjs/internals/server.js +0 -71
- package/dist/cjs/internals/server.js.map +0 -1
- package/dist/cjs/internals/simulation/constants.js +0 -29
- package/dist/cjs/internals/simulation/constants.js.map +0 -1
- package/dist/cjs/internals/simulation/controllers.js +0 -95
- package/dist/cjs/internals/simulation/controllers.js.map +0 -1
- package/dist/cjs/internals/simulation/files.js +0 -22
- package/dist/cjs/internals/simulation/files.js.map +0 -1
- package/dist/cjs/internals/simulation/index.js +0 -24
- package/dist/cjs/internals/simulation/index.js.map +0 -1
- package/dist/cjs/internals/simulation/interface.js +0 -98
- package/dist/cjs/internals/simulation/interface.js.map +0 -1
- package/dist/cjs/internals/simulation/methods/constants.js +0 -84
- package/dist/cjs/internals/simulation/methods/constants.js.map +0 -1
- package/dist/cjs/internals/simulation/methods/hooks/encryption.js +0 -33
- package/dist/cjs/internals/simulation/methods/hooks/encryption.js.map +0 -1
- package/dist/cjs/internals/simulation/methods/hooks/get-locale.js +0 -17
- package/dist/cjs/internals/simulation/methods/hooks/get-locale.js.map +0 -1
- package/dist/cjs/internals/simulation/methods/hooks/index.js +0 -25
- package/dist/cjs/internals/simulation/methods/hooks/index.js.map +0 -1
- package/dist/cjs/internals/simulation/methods/hooks/interface.js +0 -26
- package/dist/cjs/internals/simulation/methods/hooks/interface.js.map +0 -1
- package/dist/cjs/internals/simulation/methods/hooks/notifications.js +0 -66
- package/dist/cjs/internals/simulation/methods/hooks/notifications.js.map +0 -1
- package/dist/cjs/internals/simulation/methods/hooks/show-dialog.js +0 -43
- package/dist/cjs/internals/simulation/methods/hooks/state.js +0 -80
- package/dist/cjs/internals/simulation/methods/hooks/state.js.map +0 -1
- package/dist/cjs/internals/simulation/methods/index.js +0 -20
- package/dist/cjs/internals/simulation/methods/index.js.map +0 -1
- package/dist/cjs/internals/simulation/methods/specifications.js +0 -81
- package/dist/cjs/internals/simulation/methods/specifications.js.map +0 -1
- package/dist/cjs/internals/simulation/middleware/engine.js +0 -31
- package/dist/cjs/internals/simulation/middleware/engine.js.map +0 -1
- package/dist/cjs/internals/simulation/middleware/index.js +0 -20
- package/dist/cjs/internals/simulation/middleware/index.js.map +0 -1
- package/dist/cjs/internals/simulation/middleware/internal-methods/accounts.js +0 -30
- package/dist/cjs/internals/simulation/middleware/internal-methods/accounts.js.map +0 -1
- package/dist/cjs/internals/simulation/middleware/internal-methods/index.js +0 -20
- package/dist/cjs/internals/simulation/middleware/internal-methods/index.js.map +0 -1
- package/dist/cjs/internals/simulation/middleware/internal-methods/middleware.js +0 -37
- package/dist/cjs/internals/simulation/middleware/internal-methods/middleware.js.map +0 -1
- package/dist/cjs/internals/simulation/middleware/internal-methods/provider-state.js +0 -23
- package/dist/cjs/internals/simulation/middleware/internal-methods/provider-state.js.map +0 -1
- package/dist/cjs/internals/simulation/middleware/mock.js +0 -23
- package/dist/cjs/internals/simulation/middleware/mock.js.map +0 -1
- package/dist/cjs/internals/simulation/options.js +0 -24
- package/dist/cjs/internals/simulation/options.js.map +0 -1
- package/dist/cjs/internals/simulation/simulation.js +0 -124
- package/dist/cjs/internals/simulation/simulation.js.map +0 -1
- package/dist/cjs/internals/simulation/store/index.js +0 -23
- package/dist/cjs/internals/simulation/store/index.js.map +0 -1
- package/dist/cjs/internals/simulation/store/mocks.js +0 -52
- package/dist/cjs/internals/simulation/store/mocks.js.map +0 -1
- package/dist/cjs/internals/simulation/store/notifications.js +0 -52
- package/dist/cjs/internals/simulation/store/notifications.js.map +0 -1
- package/dist/cjs/internals/simulation/store/state.js +0 -64
- package/dist/cjs/internals/simulation/store/state.js.map +0 -1
- package/dist/cjs/internals/simulation/store/store.js +0 -57
- package/dist/cjs/internals/simulation/store/store.js.map +0 -1
- package/dist/cjs/internals/simulation/store/ui.js +0 -48
- package/dist/cjs/internals/simulation/store/ui.js.map +0 -1
- package/dist/cjs/internals/structs.js +0 -165
- package/dist/cjs/internals/structs.js.map +0 -1
- package/dist/cjs/matchers.js +0 -120
- package/dist/cjs/matchers.js.map +0 -1
- package/dist/cjs/options.js +0 -23
- package/dist/cjs/options.js.map +0 -1
- package/dist/cjs/setup.js +0 -10
- package/dist/cjs/setup.js.map +0 -1
- package/dist/cjs/types.js +0 -6
- package/dist/cjs/types.js.map +0 -1
- package/dist/esm/environment.js +0 -121
- package/dist/esm/environment.js.map +0 -1
- package/dist/esm/helpers.js +0 -163
- package/dist/esm/helpers.js.map +0 -1
- package/dist/esm/index.js +0 -6
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/internals/environment.js +0 -14
- package/dist/esm/internals/environment.js.map +0 -1
- package/dist/esm/internals/index.js +0 -8
- package/dist/esm/internals/index.js.map +0 -1
- package/dist/esm/internals/logger.js +0 -4
- package/dist/esm/internals/logger.js.map +0 -1
- package/dist/esm/internals/request.js +0 -77
- package/dist/esm/internals/request.js.map +0 -1
- package/dist/esm/internals/server.js +0 -64
- package/dist/esm/internals/server.js.map +0 -1
- package/dist/esm/internals/simulation/constants.js +0 -12
- package/dist/esm/internals/simulation/constants.js.map +0 -1
- package/dist/esm/internals/simulation/controllers.js +0 -90
- package/dist/esm/internals/simulation/controllers.js.map +0 -1
- package/dist/esm/internals/simulation/files.js +0 -19
- package/dist/esm/internals/simulation/files.js.map +0 -1
- package/dist/esm/internals/simulation/index.js +0 -7
- package/dist/esm/internals/simulation/index.js.map +0 -1
- package/dist/esm/internals/simulation/interface.js +0 -95
- package/dist/esm/internals/simulation/interface.js.map +0 -1
- package/dist/esm/internals/simulation/methods/constants.js +0 -69
- package/dist/esm/internals/simulation/methods/constants.js.map +0 -1
- package/dist/esm/internals/simulation/methods/hooks/encryption.js +0 -39
- package/dist/esm/internals/simulation/methods/hooks/encryption.js.map +0 -1
- package/dist/esm/internals/simulation/methods/hooks/get-locale.js +0 -13
- package/dist/esm/internals/simulation/methods/hooks/get-locale.js.map +0 -1
- package/dist/esm/internals/simulation/methods/hooks/index.js +0 -8
- package/dist/esm/internals/simulation/methods/hooks/index.js.map +0 -1
- package/dist/esm/internals/simulation/methods/hooks/interface.js +0 -18
- package/dist/esm/internals/simulation/methods/hooks/interface.js.map +0 -1
- package/dist/esm/internals/simulation/methods/hooks/notifications.js +0 -58
- package/dist/esm/internals/simulation/methods/hooks/notifications.js.map +0 -1
- package/dist/esm/internals/simulation/methods/hooks/show-dialog.js +0 -38
- package/dist/esm/internals/simulation/methods/hooks/show-dialog.js.map +0 -1
- package/dist/esm/internals/simulation/methods/hooks/state.js +0 -74
- package/dist/esm/internals/simulation/methods/hooks/state.js.map +0 -1
- package/dist/esm/internals/simulation/methods/index.js +0 -3
- package/dist/esm/internals/simulation/methods/index.js.map +0 -1
- package/dist/esm/internals/simulation/methods/specifications.js +0 -84
- package/dist/esm/internals/simulation/methods/specifications.js.map +0 -1
- package/dist/esm/internals/simulation/middleware/engine.js +0 -33
- package/dist/esm/internals/simulation/middleware/engine.js.map +0 -1
- package/dist/esm/internals/simulation/middleware/index.js +0 -3
- package/dist/esm/internals/simulation/middleware/index.js.map +0 -1
- package/dist/esm/internals/simulation/middleware/internal-methods/accounts.js +0 -31
- package/dist/esm/internals/simulation/middleware/internal-methods/accounts.js.map +0 -1
- package/dist/esm/internals/simulation/middleware/internal-methods/index.js +0 -3
- package/dist/esm/internals/simulation/middleware/internal-methods/index.js.map +0 -1
- package/dist/esm/internals/simulation/middleware/internal-methods/middleware.js +0 -37
- package/dist/esm/internals/simulation/middleware/internal-methods/middleware.js.map +0 -1
- package/dist/esm/internals/simulation/middleware/internal-methods/provider-state.js +0 -23
- package/dist/esm/internals/simulation/middleware/internal-methods/provider-state.js.map +0 -1
- package/dist/esm/internals/simulation/middleware/mock.js +0 -18
- package/dist/esm/internals/simulation/middleware/mock.js.map +0 -1
- package/dist/esm/internals/simulation/options.js +0 -20
- package/dist/esm/internals/simulation/options.js.map +0 -1
- package/dist/esm/internals/simulation/simulation.js +0 -128
- package/dist/esm/internals/simulation/simulation.js.map +0 -1
- package/dist/esm/internals/simulation/store/index.js +0 -6
- package/dist/esm/internals/simulation/store/index.js.map +0 -1
- package/dist/esm/internals/simulation/store/mocks.js +0 -32
- package/dist/esm/internals/simulation/store/mocks.js.map +0 -1
- package/dist/esm/internals/simulation/store/notifications.js +0 -30
- package/dist/esm/internals/simulation/store/notifications.js.map +0 -1
- package/dist/esm/internals/simulation/store/state.js +0 -47
- package/dist/esm/internals/simulation/store/state.js.map +0 -1
- package/dist/esm/internals/simulation/store/store.js +0 -50
- package/dist/esm/internals/simulation/store/store.js.map +0 -1
- package/dist/esm/internals/simulation/store/ui.js +0 -21
- package/dist/esm/internals/simulation/store/ui.js.map +0 -1
- package/dist/esm/internals/structs.js +0 -135
- package/dist/esm/internals/structs.js.map +0 -1
- package/dist/esm/matchers.js +0 -111
- package/dist/esm/matchers.js.map +0 -1
- package/dist/esm/options.js +0 -20
- package/dist/esm/options.js.map +0 -1
- package/dist/esm/setup.js +0 -6
- package/dist/esm/setup.js.map +0 -1
- package/dist/esm/types.js +0 -3
- package/dist/esm/types.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-V6LFAN3U.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";//# sourceMappingURL=chunk-VHJZERIC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// src/internals/simulation/middleware/internal-methods/accounts.ts
|
|
2
|
+
import { BIP44Node } from "@metamask/key-tree";
|
|
3
|
+
async function getAccountsHandler(_request, response, _next, end, hooks) {
|
|
4
|
+
const { getMnemonic } = hooks;
|
|
5
|
+
const node = await BIP44Node.fromDerivationPath({
|
|
6
|
+
derivationPath: [
|
|
7
|
+
await getMnemonic(),
|
|
8
|
+
`bip32:44'`,
|
|
9
|
+
`bip32:60'`,
|
|
10
|
+
`bip32:0'`,
|
|
11
|
+
`bip32:0`,
|
|
12
|
+
`bip32:0`
|
|
13
|
+
]
|
|
14
|
+
});
|
|
15
|
+
response.result = [node.address];
|
|
16
|
+
return end();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export {
|
|
20
|
+
getAccountsHandler
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=chunk-VOYBI6T4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/middleware/internal-methods/accounts.ts"],"sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n JsonRpcEngineNextCallback,\n} from '@metamask/json-rpc-engine';\nimport { BIP44Node } from '@metamask/key-tree';\nimport type {\n Json,\n JsonRpcRequest,\n PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nexport type GetAccountsHandlerHooks = {\n getMnemonic: () => Promise<Uint8Array>;\n};\n\n/**\n * A mock handler for account related methods that always returns the first\n * address for the selected secret recovery phrase.\n *\n * @param _request - Incoming JSON-RPC request. This is ignored for this\n * specific handler.\n * @param response - The outgoing JSON-RPC response, modified to return the\n * result.\n * @param _next - The `json-rpc-engine` middleware next handler.\n * @param end - The `json-rpc-engine` middleware end handler.\n * @param hooks - Any hooks required by this handler.\n */\nexport async function getAccountsHandler(\n _request: JsonRpcRequest,\n response: PendingJsonRpcResponse<Json>,\n _next: JsonRpcEngineNextCallback,\n end: JsonRpcEngineEndCallback,\n hooks: GetAccountsHandlerHooks,\n) {\n const { getMnemonic } = hooks;\n\n const node = await BIP44Node.fromDerivationPath({\n derivationPath: [\n await getMnemonic(),\n `bip32:44'`,\n `bip32:60'`,\n `bip32:0'`,\n `bip32:0`,\n `bip32:0`,\n ],\n });\n\n response.result = [node.address];\n return end();\n}\n"],"mappings":";AAIA,SAAS,iBAAiB;AAuB1B,eAAsB,mBACpB,UACA,UACA,OACA,KACA,OACA;AACA,QAAM,EAAE,YAAY,IAAI;AAExB,QAAM,OAAO,MAAM,UAAU,mBAAmB;AAAA,IAC9C,gBAAgB;AAAA,MACd,MAAM,YAAY;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAED,WAAS,SAAS,CAAC,KAAK,OAAO;AAC/B,SAAO,IAAI;AACb;","names":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkXKJHFUHEjs = require('./chunk-XKJHFUHE.js');
|
|
5
|
+
|
|
6
|
+
// src/internals/simulation/options.ts
|
|
7
|
+
var _utils = require('@metamask/utils');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
var _superstruct = require('superstruct');
|
|
17
|
+
var SimulationOptionsStruct = _superstruct.object.call(void 0, {
|
|
18
|
+
secretRecoveryPhrase: _superstruct.defaulted.call(void 0, _superstruct.optional.call(void 0, _superstruct.string.call(void 0, )), _chunkXKJHFUHEjs.DEFAULT_SRP),
|
|
19
|
+
locale: _superstruct.defaulted.call(void 0, _superstruct.optional.call(void 0, _superstruct.string.call(void 0, )), _chunkXKJHFUHEjs.DEFAULT_LOCALE),
|
|
20
|
+
state: _superstruct.defaulted.call(void 0, _superstruct.optional.call(void 0, _superstruct.nullable.call(void 0, _superstruct.record.call(void 0, _superstruct.string.call(void 0, ), _utils.JsonStruct))), null),
|
|
21
|
+
unencryptedState: _superstruct.defaulted.call(void 0,
|
|
22
|
+
_superstruct.optional.call(void 0, _superstruct.nullable.call(void 0, _superstruct.record.call(void 0, _superstruct.string.call(void 0, ), _utils.JsonStruct))),
|
|
23
|
+
null
|
|
24
|
+
)
|
|
25
|
+
});
|
|
26
|
+
function getOptions(options) {
|
|
27
|
+
return _superstruct.create.call(void 0,
|
|
28
|
+
options,
|
|
29
|
+
SimulationOptionsStruct
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
exports.getOptions = getOptions;
|
|
36
|
+
//# sourceMappingURL=chunk-VXPCUDBI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/options.ts"],"names":[],"mappings":";;;;;;AAAA,SAAS,kBAAkB;AAE3B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP,IAAM,0BAA0B,OAAO;AAAA,EACrC,sBAAsB,UAAU,SAAS,OAAO,CAAC,GAAG,WAAW;AAAA,EAC/D,QAAQ,UAAU,SAAS,OAAO,CAAC,GAAG,cAAc;AAAA,EACpD,OAAO,UAAU,SAAS,SAAS,OAAO,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI;AAAA,EACvE,kBAAkB;AAAA,IAChB,SAAS,SAAS,OAAO,OAAO,GAAG,UAAU,CAAC,CAAC;AAAA,IAC/C;AAAA,EACF;AACF,CAAC;AA2BM,SAAS,WAAW,SAAmD;AAC5E,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF","sourcesContent":["import { JsonStruct } from '@metamask/utils';\nimport type { Infer } from 'superstruct';\nimport {\n create,\n defaulted,\n nullable,\n object,\n optional,\n record,\n string,\n} from 'superstruct';\n\nimport { DEFAULT_LOCALE, DEFAULT_SRP } from './constants';\n\nconst SimulationOptionsStruct = object({\n secretRecoveryPhrase: defaulted(optional(string()), DEFAULT_SRP),\n locale: defaulted(optional(string()), DEFAULT_LOCALE),\n state: defaulted(optional(nullable(record(string(), JsonStruct))), null),\n unencryptedState: defaulted(\n optional(nullable(record(string(), JsonStruct))),\n null,\n ),\n});\n\n/**\n * Options for the simulation.\n *\n * @property secretRecoveryPhrase - The secret recovery phrase to use. This is\n * used to derive addresses and private keys. Defaults to a test recovery\n * phrase.\n * @property locale - The locale to use. Defaults to `en`.\n * @property state - The initial state of the Snap, if any. Defaults to `null`.\n */\nexport type SimulationUserOptions = Infer<typeof SimulationOptionsStruct>;\n\n/**\n * Options for the simulation, with defaults filled in.\n *\n * See {@link SimulationUserOptions} for documentation.\n */\nexport type SimulationOptions = Required<SimulationUserOptions>;\n\n/**\n * Get the options for the simulation.\n *\n * @param options - The user options. Any options not specified will be filled\n * in with default values.\n * @returns The simulation options.\n */\nexport function getOptions(options: SimulationUserOptions): SimulationOptions {\n return create(\n options,\n SimulationOptionsStruct,\n ) as Required<SimulationUserOptions>;\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/internals/simulation/middleware/internal-methods/accounts.ts
|
|
2
|
+
var _keytree = require('@metamask/key-tree');
|
|
3
|
+
async function getAccountsHandler(_request, response, _next, end, hooks) {
|
|
4
|
+
const { getMnemonic } = hooks;
|
|
5
|
+
const node = await _keytree.BIP44Node.fromDerivationPath({
|
|
6
|
+
derivationPath: [
|
|
7
|
+
await getMnemonic(),
|
|
8
|
+
`bip32:44'`,
|
|
9
|
+
`bip32:60'`,
|
|
10
|
+
`bip32:0'`,
|
|
11
|
+
`bip32:0`,
|
|
12
|
+
`bip32:0`
|
|
13
|
+
]
|
|
14
|
+
});
|
|
15
|
+
response.result = [node.address];
|
|
16
|
+
return end();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
exports.getAccountsHandler = getAccountsHandler;
|
|
22
|
+
//# sourceMappingURL=chunk-WDYPMEZB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/middleware/internal-methods/accounts.ts"],"names":[],"mappings":";AAIA,SAAS,iBAAiB;AAuB1B,eAAsB,mBACpB,UACA,UACA,OACA,KACA,OACA;AACA,QAAM,EAAE,YAAY,IAAI;AAExB,QAAM,OAAO,MAAM,UAAU,mBAAmB;AAAA,IAC9C,gBAAgB;AAAA,MACd,MAAM,YAAY;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAED,WAAS,SAAS,CAAC,KAAK,OAAO;AAC/B,SAAO,IAAI;AACb","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n JsonRpcEngineNextCallback,\n} from '@metamask/json-rpc-engine';\nimport { BIP44Node } from '@metamask/key-tree';\nimport type {\n Json,\n JsonRpcRequest,\n PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nexport type GetAccountsHandlerHooks = {\n getMnemonic: () => Promise<Uint8Array>;\n};\n\n/**\n * A mock handler for account related methods that always returns the first\n * address for the selected secret recovery phrase.\n *\n * @param _request - Incoming JSON-RPC request. This is ignored for this\n * specific handler.\n * @param response - The outgoing JSON-RPC response, modified to return the\n * result.\n * @param _next - The `json-rpc-engine` middleware next handler.\n * @param end - The `json-rpc-engine` middleware end handler.\n * @param hooks - Any hooks required by this handler.\n */\nexport async function getAccountsHandler(\n _request: JsonRpcRequest,\n response: PendingJsonRpcResponse<Json>,\n _next: JsonRpcEngineNextCallback,\n end: JsonRpcEngineEndCallback,\n hooks: GetAccountsHandlerHooks,\n) {\n const { getMnemonic } = hooks;\n\n const node = await BIP44Node.fromDerivationPath({\n derivationPath: [\n await getMnemonic(),\n `bip32:44'`,\n `bip32:60'`,\n `bip32:0'`,\n `bip32:0`,\n `bip32:0`,\n ],\n });\n\n response.result = [node.address];\n return end();\n}\n"]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkLXSNRZV4js = require('./chunk-LXSNRZV4.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkXAOCS6ZDjs = require('./chunk-XAOCS6ZD.js');
|
|
7
|
+
|
|
8
|
+
// src/internals/simulation/controllers.ts
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
var _permissioncontroller = require('@metamask/permission-controller');
|
|
14
|
+
var _snapscontrollers = require('@metamask/snaps-controllers');
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
var _snapsrpcmethods = require('@metamask/snaps-rpc-methods');
|
|
20
|
+
var _utils = require('@metamask/utils');
|
|
21
|
+
function getControllers(options) {
|
|
22
|
+
const { controllerMessenger } = options;
|
|
23
|
+
const subjectMetadataController = new (0, _permissioncontroller.SubjectMetadataController)({
|
|
24
|
+
messenger: controllerMessenger.getRestricted({
|
|
25
|
+
name: "SubjectMetadataController"
|
|
26
|
+
}),
|
|
27
|
+
subjectCacheLimit: 100
|
|
28
|
+
});
|
|
29
|
+
const interfaceController = new (0, _snapscontrollers.SnapInterfaceController)({
|
|
30
|
+
messenger: controllerMessenger.getRestricted({
|
|
31
|
+
name: "SnapInterfaceController",
|
|
32
|
+
allowedActions: [
|
|
33
|
+
"PhishingController:maybeUpdateState",
|
|
34
|
+
"PhishingController:testOrigin"
|
|
35
|
+
]
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
const permissionController = getPermissionController(options);
|
|
39
|
+
return {
|
|
40
|
+
permissionController,
|
|
41
|
+
subjectMetadataController,
|
|
42
|
+
interfaceController
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function getPermissionController(options) {
|
|
46
|
+
const { controllerMessenger } = options;
|
|
47
|
+
const permissionSpecifications = _chunkLXSNRZV4js.getPermissionSpecifications.call(void 0, options);
|
|
48
|
+
return new (0, _permissioncontroller.PermissionController)({
|
|
49
|
+
messenger: controllerMessenger.getRestricted({
|
|
50
|
+
name: "PermissionController",
|
|
51
|
+
allowedActions: [
|
|
52
|
+
`ApprovalController:addRequest`,
|
|
53
|
+
`ApprovalController:hasRequest`,
|
|
54
|
+
`ApprovalController:acceptRequest`,
|
|
55
|
+
`ApprovalController:rejectRequest`,
|
|
56
|
+
`SnapController:getPermitted`,
|
|
57
|
+
`SnapController:install`,
|
|
58
|
+
`SubjectMetadataController:getSubjectMetadata`
|
|
59
|
+
]
|
|
60
|
+
}),
|
|
61
|
+
caveatSpecifications: {
|
|
62
|
+
..._snapsrpcmethods.caveatSpecifications,
|
|
63
|
+
..._snapsrpcmethods.endowmentCaveatSpecifications
|
|
64
|
+
},
|
|
65
|
+
permissionSpecifications,
|
|
66
|
+
unrestrictedMethods: _chunkXAOCS6ZDjs.UNRESTRICTED_METHODS
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async function registerSnap(snapId, manifest, {
|
|
70
|
+
permissionController,
|
|
71
|
+
subjectMetadataController
|
|
72
|
+
}) {
|
|
73
|
+
subjectMetadataController.addSubjectMetadata({
|
|
74
|
+
origin: snapId,
|
|
75
|
+
subjectType: _permissioncontroller.SubjectType.Snap
|
|
76
|
+
});
|
|
77
|
+
const approvedPermissions = _snapsrpcmethods.processSnapPermissions.call(void 0,
|
|
78
|
+
_utils.getSafeJson.call(void 0, manifest.initialPermissions)
|
|
79
|
+
);
|
|
80
|
+
permissionController.grantPermissions({
|
|
81
|
+
approvedPermissions,
|
|
82
|
+
subject: { origin: snapId },
|
|
83
|
+
preserveExistingPermissions: false
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
exports.getControllers = getControllers; exports.registerSnap = registerSnap;
|
|
91
|
+
//# sourceMappingURL=chunk-WFBQPYSV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/controllers.ts"],"names":[],"mappings":";;;;;;;;AAOA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,+BAA+B;AAMxC;AAAA,EACE,wBAAwB;AAAA,EACxB,iCAAiC;AAAA,EACjC;AAAA,OACK;AAGP,SAAS,mBAAmB;AA0CrB,SAAS,eAAe,SAA6C;AAC1E,QAAM,EAAE,oBAAoB,IAAI;AAChC,QAAM,4BAA4B,IAAI,0BAA0B;AAAA,IAC9D,WAAW,oBAAoB,cAAc;AAAA,MAC3C,MAAM;AAAA,IACR,CAAC;AAAA,IACD,mBAAmB;AAAA,EACrB,CAAC;AAED,QAAM,sBAAsB,IAAI,wBAAwB;AAAA,IACtD,WAAW,oBAAoB,cAAc;AAAA,MAC3C,MAAM;AAAA,MACN,gBAAgB;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,QAAM,uBAAuB,wBAAwB,OAAO;AAE5D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAUA,SAAS,wBAAwB,SAAgC;AAC/D,QAAM,EAAE,oBAAoB,IAAI;AAChC,QAAM,2BAA2B,4BAA4B,OAAO;AACpE,SAAO,IAAI,qBAAqB;AAAA,IAC9B,WAAW,oBAAoB,cAAc;AAAA,MAC3C,MAAM;AAAA,MACN,gBAAgB;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,sBAAsB;AAAA,MACpB,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,EACvB,CAAC;AACH;AAWA,eAAsB,aACpB,QACA,UACA;AAAA,EACE;AAAA,EACA;AACF,GACA;AACA,4BAA0B,mBAAmB;AAAA,IAC3C,QAAQ;AAAA,IACR,aAAa,YAAY;AAAA,EAC3B,CAAC;AAED,QAAM,sBAAsB;AAAA,IAC1B,YAAY,SAAS,kBAAkB;AAAA,EACzC;AAEA,uBAAqB,iBAAiB;AAAA,IACpC;AAAA,IACA,SAAS,EAAE,QAAQ,OAAO;AAAA,IAC1B,6BAA6B;AAAA,EAC/B,CAAC;AACH","sourcesContent":["import type { ControllerMessenger } from '@metamask/base-controller';\nimport type {\n CaveatSpecificationConstraint,\n PermissionSpecificationConstraint,\n PermissionControllerActions,\n SubjectMetadataControllerActions,\n} from '@metamask/permission-controller';\nimport {\n PermissionController,\n SubjectMetadataController,\n SubjectType,\n} from '@metamask/permission-controller';\nimport { SnapInterfaceController } from '@metamask/snaps-controllers';\nimport type {\n ExecutionServiceActions,\n SnapInterfaceControllerActions,\n SnapInterfaceControllerAllowedActions,\n} from '@metamask/snaps-controllers';\nimport {\n caveatSpecifications as snapsCaveatsSpecifications,\n endowmentCaveatSpecifications as snapsEndowmentCaveatSpecifications,\n processSnapPermissions,\n} from '@metamask/snaps-rpc-methods';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport type { SnapManifest } from '@metamask/snaps-utils';\nimport { getSafeJson } from '@metamask/utils';\n\nimport { getPermissionSpecifications } from './methods';\nimport { UNRESTRICTED_METHODS } from './methods/constants';\nimport type { SimulationOptions } from './options';\nimport type { MiddlewareHooks } from './simulation';\nimport type { RunSagaFunction } from './store';\n\nexport type RootControllerAllowedActions =\n | SnapInterfaceControllerActions\n | SnapInterfaceControllerAllowedActions\n | PermissionControllerActions\n | ExecutionServiceActions\n | SubjectMetadataControllerActions;\n\nexport type RootControllerMessenger = ControllerMessenger<\n RootControllerAllowedActions,\n any\n>;\n\nexport type GetControllersOptions = {\n controllerMessenger: ControllerMessenger<any, any>;\n hooks: MiddlewareHooks;\n runSaga: RunSagaFunction;\n options: SimulationOptions;\n};\n\nexport type Controllers = {\n permissionController: PermissionController<\n PermissionSpecificationConstraint,\n CaveatSpecificationConstraint\n >;\n subjectMetadataController: SubjectMetadataController;\n interfaceController: SnapInterfaceController;\n};\n\n/**\n * Get the controllers for the Snap.\n *\n * @param options - The options.\n * @returns The controllers for the Snap.\n */\nexport function getControllers(options: GetControllersOptions): Controllers {\n const { controllerMessenger } = options;\n const subjectMetadataController = new SubjectMetadataController({\n messenger: controllerMessenger.getRestricted({\n name: 'SubjectMetadataController',\n }),\n subjectCacheLimit: 100,\n });\n\n const interfaceController = new SnapInterfaceController({\n messenger: controllerMessenger.getRestricted({\n name: 'SnapInterfaceController',\n allowedActions: [\n 'PhishingController:maybeUpdateState',\n 'PhishingController:testOrigin',\n ],\n }),\n });\n\n const permissionController = getPermissionController(options);\n\n return {\n permissionController,\n subjectMetadataController,\n interfaceController,\n };\n}\n\n/**\n * Get the permission controller for the Snap.\n *\n * @param options - The options.\n * @param options.controllerMessenger - The controller messenger.\n * @param options.options - Miscellaneous options.\n * @returns The permission controller for the Snap.\n */\nfunction getPermissionController(options: GetControllersOptions) {\n const { controllerMessenger } = options;\n const permissionSpecifications = getPermissionSpecifications(options);\n return new PermissionController({\n messenger: controllerMessenger.getRestricted({\n name: 'PermissionController',\n allowedActions: [\n `ApprovalController:addRequest`,\n `ApprovalController:hasRequest`,\n `ApprovalController:acceptRequest`,\n `ApprovalController:rejectRequest`,\n `SnapController:getPermitted`,\n `SnapController:install`,\n `SubjectMetadataController:getSubjectMetadata`,\n ],\n }),\n caveatSpecifications: {\n ...snapsCaveatsSpecifications,\n ...snapsEndowmentCaveatSpecifications,\n },\n permissionSpecifications,\n unrestrictedMethods: UNRESTRICTED_METHODS,\n });\n}\n\n/**\n * Register the Snap. This sets up the Snap's permissions and subject metadata.\n *\n * @param snapId - The ID of the Snap to install.\n * @param manifest - The parsed manifest.\n * @param controllers - The controllers for the Snap.\n * @param controllers.permissionController - The permission controller.\n * @param controllers.subjectMetadataController - The subject metadata controller.\n */\nexport async function registerSnap(\n snapId: SnapId,\n manifest: SnapManifest,\n {\n permissionController,\n subjectMetadataController,\n }: Omit<Controllers, 'interfaceController'>,\n) {\n subjectMetadataController.addSubjectMetadata({\n origin: snapId,\n subjectType: SubjectType.Snap,\n });\n\n const approvedPermissions = processSnapPermissions(\n getSafeJson(manifest.initialPermissions),\n );\n\n permissionController.grantPermissions({\n approvedPermissions,\n subject: { origin: snapId },\n preserveExistingPermissions: false,\n });\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// src/internals/simulation/methods/hooks/interface.ts
|
|
2
|
+
function getCreateInterfaceImplementation(controllerMessenger) {
|
|
3
|
+
return async (snapId, content) => controllerMessenger.call(
|
|
4
|
+
"SnapInterfaceController:createInterface",
|
|
5
|
+
snapId,
|
|
6
|
+
content
|
|
7
|
+
);
|
|
8
|
+
}
|
|
9
|
+
function getGetInterfaceImplementation(controllerMessenger) {
|
|
10
|
+
return (snapId, id) => controllerMessenger.call(
|
|
11
|
+
"SnapInterfaceController:getInterface",
|
|
12
|
+
snapId,
|
|
13
|
+
id
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
getCreateInterfaceImplementation,
|
|
19
|
+
getGetInterfaceImplementation
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-WH5C5WIZ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/methods/hooks/interface.ts"],"sourcesContent":["import type { Component, SnapId } from '@metamask/snaps-sdk';\n\nimport type { RootControllerMessenger } from '../../controllers';\n\n/**\n * Get the implementation of the `createInterface` hook.\n *\n * @param controllerMessenger - The controller messenger used to call actions.\n * @returns The implementation of the `createInterface` hook.\n */\nexport function getCreateInterfaceImplementation(\n controllerMessenger: RootControllerMessenger,\n) {\n return async (snapId: SnapId, content: Component) =>\n controllerMessenger.call(\n 'SnapInterfaceController:createInterface',\n snapId,\n content,\n );\n}\n\n/**\n * Get the implementation of the `getInterface` hook.\n *\n * @param controllerMessenger - The controller messenger used to call actions.\n * @returns The implementation of the `getInterface` hook.\n */\nexport function getGetInterfaceImplementation(\n controllerMessenger: RootControllerMessenger,\n) {\n return (snapId: SnapId, id: string) =>\n controllerMessenger.call(\n 'SnapInterfaceController:getInterface',\n snapId,\n id,\n );\n}\n"],"mappings":";AAUO,SAAS,iCACd,qBACA;AACA,SAAO,OAAO,QAAgB,YAC5B,oBAAoB;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACJ;AAQO,SAAS,8BACd,qBACA;AACA,SAAO,CAAC,QAAgB,OACtB,oBAAoB;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";//# sourceMappingURL=chunk-WHGYMK5B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import {
|
|
2
|
+
handleRequest
|
|
3
|
+
} from "./chunk-LYK6EGZU.mjs";
|
|
4
|
+
import {
|
|
5
|
+
rootLogger
|
|
6
|
+
} from "./chunk-J4ZPUCLX.mjs";
|
|
7
|
+
import {
|
|
8
|
+
JsonRpcMockOptionsStruct,
|
|
9
|
+
SignatureOptionsStruct,
|
|
10
|
+
TransactionOptionsStruct
|
|
11
|
+
} from "./chunk-7J34R6YW.mjs";
|
|
12
|
+
import {
|
|
13
|
+
addJsonRpcMock,
|
|
14
|
+
removeJsonRpcMock
|
|
15
|
+
} from "./chunk-H2464AXT.mjs";
|
|
16
|
+
import {
|
|
17
|
+
getEnvironment
|
|
18
|
+
} from "./chunk-XK5HPZZC.mjs";
|
|
19
|
+
|
|
20
|
+
// src/helpers.ts
|
|
21
|
+
import { HandlerType, logInfo } from "@metamask/snaps-utils";
|
|
22
|
+
import { createModuleLogger } from "@metamask/utils";
|
|
23
|
+
import { create } from "superstruct";
|
|
24
|
+
var log = createModuleLogger(rootLogger, "helpers");
|
|
25
|
+
function getOptions(snapId, options) {
|
|
26
|
+
if (typeof snapId === "object") {
|
|
27
|
+
return [void 0, snapId];
|
|
28
|
+
}
|
|
29
|
+
return [snapId, options];
|
|
30
|
+
}
|
|
31
|
+
async function installSnap(snapId, options = {}) {
|
|
32
|
+
const resolvedOptions = getOptions(snapId, options);
|
|
33
|
+
const {
|
|
34
|
+
snapId: installedSnapId,
|
|
35
|
+
store,
|
|
36
|
+
executionService,
|
|
37
|
+
runSaga,
|
|
38
|
+
controllerMessenger
|
|
39
|
+
} = await getEnvironment().installSnap(...resolvedOptions);
|
|
40
|
+
const onTransaction = async (request) => {
|
|
41
|
+
log("Sending transaction %o.", request);
|
|
42
|
+
const {
|
|
43
|
+
origin: transactionOrigin,
|
|
44
|
+
chainId,
|
|
45
|
+
...transaction
|
|
46
|
+
} = create(request, TransactionOptionsStruct);
|
|
47
|
+
return handleRequest({
|
|
48
|
+
snapId: installedSnapId,
|
|
49
|
+
store,
|
|
50
|
+
executionService,
|
|
51
|
+
runSaga,
|
|
52
|
+
controllerMessenger,
|
|
53
|
+
handler: HandlerType.OnTransaction,
|
|
54
|
+
request: {
|
|
55
|
+
method: "",
|
|
56
|
+
params: {
|
|
57
|
+
chainId,
|
|
58
|
+
transaction,
|
|
59
|
+
transactionOrigin
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const onCronjob = (request) => {
|
|
65
|
+
log("Running cronjob %o.", options);
|
|
66
|
+
return handleRequest({
|
|
67
|
+
snapId: installedSnapId,
|
|
68
|
+
store,
|
|
69
|
+
executionService,
|
|
70
|
+
controllerMessenger,
|
|
71
|
+
runSaga,
|
|
72
|
+
handler: HandlerType.OnCronjob,
|
|
73
|
+
request
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
request: (request) => {
|
|
78
|
+
log("Sending request %o.", request);
|
|
79
|
+
return handleRequest({
|
|
80
|
+
snapId: installedSnapId,
|
|
81
|
+
store,
|
|
82
|
+
executionService,
|
|
83
|
+
controllerMessenger,
|
|
84
|
+
runSaga,
|
|
85
|
+
handler: HandlerType.OnRpcRequest,
|
|
86
|
+
request
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
onTransaction,
|
|
90
|
+
sendTransaction: onTransaction,
|
|
91
|
+
onSignature: async (request) => {
|
|
92
|
+
log("Requesting signature %o.", request);
|
|
93
|
+
const { origin: signatureOrigin, ...signature } = create(
|
|
94
|
+
request,
|
|
95
|
+
SignatureOptionsStruct
|
|
96
|
+
);
|
|
97
|
+
return handleRequest({
|
|
98
|
+
snapId: installedSnapId,
|
|
99
|
+
store,
|
|
100
|
+
executionService,
|
|
101
|
+
controllerMessenger,
|
|
102
|
+
runSaga,
|
|
103
|
+
handler: HandlerType.OnSignature,
|
|
104
|
+
request: {
|
|
105
|
+
method: "",
|
|
106
|
+
params: {
|
|
107
|
+
signature,
|
|
108
|
+
signatureOrigin
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
onCronjob,
|
|
114
|
+
runCronjob: onCronjob,
|
|
115
|
+
onHomePage: async () => {
|
|
116
|
+
log("Rendering home page.");
|
|
117
|
+
return handleRequest({
|
|
118
|
+
snapId: installedSnapId,
|
|
119
|
+
store,
|
|
120
|
+
executionService,
|
|
121
|
+
controllerMessenger,
|
|
122
|
+
runSaga,
|
|
123
|
+
handler: HandlerType.OnHomePage,
|
|
124
|
+
request: {
|
|
125
|
+
method: ""
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
},
|
|
129
|
+
mockJsonRpc(mock) {
|
|
130
|
+
log("Mocking JSON-RPC request %o.", mock);
|
|
131
|
+
const { method, result } = create(mock, JsonRpcMockOptionsStruct);
|
|
132
|
+
store.dispatch(addJsonRpcMock({ method, result }));
|
|
133
|
+
return {
|
|
134
|
+
unmock() {
|
|
135
|
+
log("Unmocking JSON-RPC request %o.", mock);
|
|
136
|
+
store.dispatch(removeJsonRpcMock(method));
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
},
|
|
140
|
+
close: async () => {
|
|
141
|
+
log("Closing execution service.");
|
|
142
|
+
logInfo(
|
|
143
|
+
"Calling `snap.close()` is deprecated, and will be removed in a future release. Snaps are now automatically closed when the test ends."
|
|
144
|
+
);
|
|
145
|
+
await executionService.terminateAllSnaps();
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export {
|
|
151
|
+
installSnap
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=chunk-WIFOID2P.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/helpers.ts"],"sourcesContent":["import type { AbstractExecutionService } from '@metamask/snaps-controllers';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport { HandlerType, logInfo } from '@metamask/snaps-utils';\nimport { createModuleLogger } from '@metamask/utils';\nimport { create } from 'superstruct';\n\nimport {\n rootLogger,\n handleRequest,\n TransactionOptionsStruct,\n getEnvironment,\n JsonRpcMockOptionsStruct,\n SignatureOptionsStruct,\n} from './internals';\nimport type { InstallSnapOptions } from './internals';\nimport {\n addJsonRpcMock,\n removeJsonRpcMock,\n} from './internals/simulation/store/mocks';\nimport type {\n CronjobOptions,\n JsonRpcMockOptions,\n Snap,\n SnapResponse,\n TransactionOptions,\n} from './types';\n\nconst log = createModuleLogger(rootLogger, 'helpers');\n\n/**\n * Get the options for {@link installSnap}.\n *\n * @param snapId - The ID of the Snap, or the options.\n * @param options - The options, if any.\n * @returns The options.\n */\nfunction getOptions<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(\n snapId: SnapId | Partial<InstallSnapOptions<Service>> | undefined,\n options: Partial<InstallSnapOptions<Service>>,\n): [SnapId | undefined, Partial<InstallSnapOptions<Service>>] {\n if (typeof snapId === 'object') {\n return [undefined, snapId];\n }\n\n return [snapId, options];\n}\n\n/**\n * Load a snap into the environment. This is the main entry point for testing\n * snaps: It returns a {@link Snap} object that can be used to interact with the\n * snap.\n *\n * @example\n * import { installSnap } from '@metamask/snaps-jest';\n *\n * describe('My Snap', () => {\n * it('should do something', async () => {\n * const { request } = await installSnap('local:my-snap');\n * const response = await request({\n * method: 'foo',\n * params: ['bar'],\n * });\n * expect(response).toRespondWith('bar');\n * });\n * });\n * @returns The snap.\n * @throws If the built-in server is not running, and no snap ID is provided.\n */\nexport async function installSnap(): Promise<Snap>;\n\n/**\n * Load a snap into the environment. This is the main entry point for testing\n * snaps: It returns a {@link Snap} object that can be used to interact with the\n * snap.\n *\n * @example\n * import { installSnap } from '@metamask/snaps-jest';\n *\n * describe('My Snap', () => {\n * it('should do something', async () => {\n * const { request } = await installSnap('local:my-snap');\n * const response = await request({\n * method: 'foo',\n * params: ['bar'],\n * });\n * expect(response).toRespondWith('bar');\n * });\n * });\n * @param options - The options to use.\n * @param options.executionService - The execution service to use. Defaults to\n * {@link NodeThreadExecutionService}. You do not need to provide this unless\n * you are testing a custom execution service.\n * @param options.executionServiceOptions - The options to use when creating the\n * execution service, if any. This should only include options specific to the\n * provided execution service.\n * @param options.options - The simulation options.\n * @returns The snap.\n * @throws If the built-in server is not running, and no snap ID is provided.\n */\nexport async function installSnap<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(options: Partial<InstallSnapOptions<Service>>): Promise<Snap>;\n\n/**\n * Load a snap into the environment. This is the main entry point for testing\n * snaps: It returns a {@link Snap} object that can be used to interact with the\n * snap.\n *\n * @example\n * import { installSnap } from '@metamask/snaps-jest';\n *\n * describe('My Snap', () => {\n * it('should do something', async () => {\n * const { request } = await installSnap('local:my-snap');\n * const response = await request({\n * method: 'foo',\n * params: ['bar'],\n * });\n * expect(response).toRespondWith('bar');\n * });\n * });\n * @param snapId - The ID of the snap, including the prefix (`local:`). Defaults\n * to the URL of the built-in server, if it is running. This supports both\n * local snap IDs and NPM snap IDs.\n * @param options - The options to use.\n * @param options.executionService - The execution service to use. Defaults to\n * {@link NodeThreadExecutionService}. You do not need to provide this unless\n * you are testing a custom execution service.\n * @param options.executionServiceOptions - The options to use when creating the\n * execution service, if any. This should only include options specific to the\n * provided execution service.\n * @param options.options - The simulation options.\n * @returns The snap.\n * @throws If the built-in server is not running, and no snap ID is provided.\n */\nexport async function installSnap<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(\n snapId: SnapId,\n options?: Partial<InstallSnapOptions<Service>>,\n): Promise<Snap>;\n\n/**\n * Load a snap into the environment. This is the main entry point for testing\n * snaps: It returns a {@link Snap} object that can be used to interact with the\n * snap.\n *\n * @example\n * import { installSnap } from '@metamask/snaps-jest';\n *\n * describe('My Snap', () => {\n * it('should do something', async () => {\n * const { request } = await installSnap('local:my-snap');\n * const response = await request({\n * method: 'foo',\n * params: ['bar'],\n * });\n * expect(response).toRespondWith('bar');\n * });\n * });\n * @param snapId - The ID of the snap, including the prefix (`local:`). Defaults\n * to the URL of the built-in server, if it is running. This supports both\n * local snap IDs and NPM snap IDs.\n * @param options - The options to use.\n * @param options.executionService - The execution service to use. Defaults to\n * {@link NodeThreadExecutionService}. You do not need to provide this unless\n * you are testing a custom execution service.\n * @param options.executionServiceOptions - The options to use when creating the\n * execution service, if any. This should only include options specific to the\n * provided execution service.\n * @param options.options - The simulation options.\n * @returns The snap.\n * @throws If the built-in server is not running, and no snap ID is provided.\n */\nexport async function installSnap<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(\n snapId?: SnapId | Partial<InstallSnapOptions<Service>>,\n options: Partial<InstallSnapOptions<Service>> = {},\n): Promise<Snap> {\n const resolvedOptions = getOptions(snapId, options);\n const {\n snapId: installedSnapId,\n store,\n executionService,\n runSaga,\n controllerMessenger,\n } = await getEnvironment().installSnap(...resolvedOptions);\n\n const onTransaction = async (\n request: TransactionOptions,\n ): Promise<SnapResponse> => {\n log('Sending transaction %o.', request);\n\n const {\n origin: transactionOrigin,\n chainId,\n ...transaction\n } = create(request, TransactionOptionsStruct);\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n runSaga,\n controllerMessenger,\n handler: HandlerType.OnTransaction,\n request: {\n method: '',\n params: {\n chainId,\n transaction,\n transactionOrigin,\n },\n },\n });\n };\n\n const onCronjob = (request: CronjobOptions) => {\n log('Running cronjob %o.', options);\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n controllerMessenger,\n runSaga,\n handler: HandlerType.OnCronjob,\n request,\n });\n };\n\n return {\n request: (request) => {\n log('Sending request %o.', request);\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n controllerMessenger,\n runSaga,\n handler: HandlerType.OnRpcRequest,\n request,\n });\n },\n\n onTransaction,\n sendTransaction: onTransaction,\n\n onSignature: async (request: unknown): Promise<SnapResponse> => {\n log('Requesting signature %o.', request);\n\n const { origin: signatureOrigin, ...signature } = create(\n request,\n SignatureOptionsStruct,\n );\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n controllerMessenger,\n runSaga,\n handler: HandlerType.OnSignature,\n request: {\n method: '',\n params: {\n signature,\n signatureOrigin,\n },\n },\n });\n },\n\n onCronjob,\n runCronjob: onCronjob,\n\n onHomePage: async (): Promise<SnapResponse> => {\n log('Rendering home page.');\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n controllerMessenger,\n runSaga,\n handler: HandlerType.OnHomePage,\n request: {\n method: '',\n },\n });\n },\n\n mockJsonRpc(mock: JsonRpcMockOptions) {\n log('Mocking JSON-RPC request %o.', mock);\n\n const { method, result } = create(mock, JsonRpcMockOptionsStruct);\n store.dispatch(addJsonRpcMock({ method, result }));\n\n return {\n unmock() {\n log('Unmocking JSON-RPC request %o.', mock);\n\n store.dispatch(removeJsonRpcMock(method));\n },\n };\n },\n\n close: async () => {\n log('Closing execution service.');\n logInfo(\n 'Calling `snap.close()` is deprecated, and will be removed in a future release. Snaps are now automatically closed when the test ends.',\n );\n\n await executionService.terminateAllSnaps();\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,SAAS,aAAa,eAAe;AACrC,SAAS,0BAA0B;AACnC,SAAS,cAAc;AAuBvB,IAAM,MAAM,mBAAmB,YAAY,SAAS;AASpD,SAAS,WAKP,QACA,SAC4D;AAC5D,MAAI,OAAO,WAAW,UAAU;AAC9B,WAAO,CAAC,QAAW,MAAM;AAAA,EAC3B;AAEA,SAAO,CAAC,QAAQ,OAAO;AACzB;AAqIA,eAAsB,YAKpB,QACA,UAAgD,CAAC,GAClC;AACf,QAAM,kBAAkB,WAAW,QAAQ,OAAO;AAClD,QAAM;AAAA,IACJ,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,MAAM,eAAe,EAAE,YAAY,GAAG,eAAe;AAEzD,QAAM,gBAAgB,OACpB,YAC0B;AAC1B,QAAI,2BAA2B,OAAO;AAEtC,UAAM;AAAA,MACJ,QAAQ;AAAA,MACR;AAAA,MACA,GAAG;AAAA,IACL,IAAI,OAAO,SAAS,wBAAwB;AAE5C,WAAO,cAAc;AAAA,MACnB,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,YAAY;AAAA,MACrB,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,YAAY,CAAC,YAA4B;AAC7C,QAAI,uBAAuB,OAAO;AAElC,WAAO,cAAc;AAAA,MACnB,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,YAAY;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,SAAS,CAAC,YAAY;AACpB,UAAI,uBAAuB,OAAO;AAElC,aAAO,cAAc;AAAA,QACnB,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,YAAY;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA;AAAA,IACA,iBAAiB;AAAA,IAEjB,aAAa,OAAO,YAA4C;AAC9D,UAAI,4BAA4B,OAAO;AAEvC,YAAM,EAAE,QAAQ,iBAAiB,GAAG,UAAU,IAAI;AAAA,QAChD;AAAA,QACA;AAAA,MACF;AAEA,aAAO,cAAc;AAAA,QACnB,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,YAAY;AAAA,QACrB,SAAS;AAAA,UACP,QAAQ;AAAA,UACR,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA;AAAA,IACA,YAAY;AAAA,IAEZ,YAAY,YAAmC;AAC7C,UAAI,sBAAsB;AAE1B,aAAO,cAAc;AAAA,QACnB,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,YAAY;AAAA,QACrB,SAAS;AAAA,UACP,QAAQ;AAAA,QACV;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA,YAAY,MAA0B;AACpC,UAAI,gCAAgC,IAAI;AAExC,YAAM,EAAE,QAAQ,OAAO,IAAI,OAAO,MAAM,wBAAwB;AAChE,YAAM,SAAS,eAAe,EAAE,QAAQ,OAAO,CAAC,CAAC;AAEjD,aAAO;AAAA,QACL,SAAS;AACP,cAAI,kCAAkC,IAAI;AAE1C,gBAAM,SAAS,kBAAkB,MAAM,CAAC;AAAA,QAC1C;AAAA,MACF;AAAA,IACF;AAAA,IAEA,OAAO,YAAY;AACjB,UAAI,4BAA4B;AAChC;AAAA,QACE;AAAA,MACF;AAEA,YAAM,iBAAiB,kBAAkB;AAAA,IAC3C;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/internals/simulation/methods/constants.ts
|
|
2
|
+
var EXCLUDED_SNAP_ENDOWMENTS = [];
|
|
3
|
+
var EXCLUDED_SNAP_PERMISSIONS = [];
|
|
4
|
+
var UNRESTRICTED_METHODS = Object.freeze([
|
|
5
|
+
"eth_blockNumber",
|
|
6
|
+
"eth_call",
|
|
7
|
+
"eth_chainId",
|
|
8
|
+
"eth_coinbase",
|
|
9
|
+
"eth_decrypt",
|
|
10
|
+
"eth_estimateGas",
|
|
11
|
+
"eth_feeHistory",
|
|
12
|
+
"eth_gasPrice",
|
|
13
|
+
"eth_getBalance",
|
|
14
|
+
"eth_getBlockByHash",
|
|
15
|
+
"eth_getBlockByNumber",
|
|
16
|
+
"eth_getBlockTransactionCountByHash",
|
|
17
|
+
"eth_getBlockTransactionCountByNumber",
|
|
18
|
+
"eth_getCode",
|
|
19
|
+
"eth_getEncryptionPublicKey",
|
|
20
|
+
"eth_getFilterChanges",
|
|
21
|
+
"eth_getFilterLogs",
|
|
22
|
+
"eth_getLogs",
|
|
23
|
+
"eth_getProof",
|
|
24
|
+
"eth_getStorageAt",
|
|
25
|
+
"eth_getTransactionByBlockHashAndIndex",
|
|
26
|
+
"eth_getTransactionByBlockNumberAndIndex",
|
|
27
|
+
"eth_getTransactionByHash",
|
|
28
|
+
"eth_getTransactionCount",
|
|
29
|
+
"eth_getTransactionReceipt",
|
|
30
|
+
"eth_getUncleByBlockHashAndIndex",
|
|
31
|
+
"eth_getUncleByBlockNumberAndIndex",
|
|
32
|
+
"eth_getUncleCountByBlockHash",
|
|
33
|
+
"eth_getUncleCountByBlockNumber",
|
|
34
|
+
"eth_getWork",
|
|
35
|
+
"eth_hashrate",
|
|
36
|
+
"eth_mining",
|
|
37
|
+
"eth_newBlockFilter",
|
|
38
|
+
"eth_newFilter",
|
|
39
|
+
"eth_newPendingTransactionFilter",
|
|
40
|
+
"eth_protocolVersion",
|
|
41
|
+
"eth_sendRawTransaction",
|
|
42
|
+
"eth_sendTransaction",
|
|
43
|
+
"eth_sign",
|
|
44
|
+
"eth_signTypedData",
|
|
45
|
+
"eth_signTypedData_v1",
|
|
46
|
+
"eth_signTypedData_v3",
|
|
47
|
+
"eth_signTypedData_v4",
|
|
48
|
+
"eth_submitHashrate",
|
|
49
|
+
"eth_submitWork",
|
|
50
|
+
"eth_syncing",
|
|
51
|
+
"eth_uninstallFilter",
|
|
52
|
+
"metamask_getProviderState",
|
|
53
|
+
"metamask_watchAsset",
|
|
54
|
+
"net_listening",
|
|
55
|
+
"net_peerCount",
|
|
56
|
+
"net_version",
|
|
57
|
+
"personal_ecRecover",
|
|
58
|
+
"personal_sign",
|
|
59
|
+
"wallet_watchAsset",
|
|
60
|
+
"web3_clientVersion",
|
|
61
|
+
"web3_sha3"
|
|
62
|
+
]);
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
exports.EXCLUDED_SNAP_ENDOWMENTS = EXCLUDED_SNAP_ENDOWMENTS; exports.EXCLUDED_SNAP_PERMISSIONS = EXCLUDED_SNAP_PERMISSIONS; exports.UNRESTRICTED_METHODS = UNRESTRICTED_METHODS;
|
|
69
|
+
//# sourceMappingURL=chunk-XAOCS6ZD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/methods/constants.ts"],"names":[],"mappings":";AAAO,IAAM,2BAA2B,CAAC;AAElC,IAAM,4BAA4B,CAAC;AASnC,IAAM,uBAAuB,OAAO,OAAO;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC","sourcesContent":["export const EXCLUDED_SNAP_ENDOWMENTS = [];\n\nexport const EXCLUDED_SNAP_PERMISSIONS = [];\n\n/**\n * All unrestricted methods recognized by the `PermissionController`.\n * Unrestricted methods are ignored by the permission system, but every\n * JSON-RPC request seen by the permission system must correspond to a\n * restricted or unrestricted method, or the request will be rejected with a\n * \"method not found\" error.\n */\nexport const UNRESTRICTED_METHODS = Object.freeze([\n 'eth_blockNumber',\n 'eth_call',\n 'eth_chainId',\n 'eth_coinbase',\n 'eth_decrypt',\n 'eth_estimateGas',\n 'eth_feeHistory',\n 'eth_gasPrice',\n 'eth_getBalance',\n 'eth_getBlockByHash',\n 'eth_getBlockByNumber',\n 'eth_getBlockTransactionCountByHash',\n 'eth_getBlockTransactionCountByNumber',\n 'eth_getCode',\n 'eth_getEncryptionPublicKey',\n 'eth_getFilterChanges',\n 'eth_getFilterLogs',\n 'eth_getLogs',\n 'eth_getProof',\n 'eth_getStorageAt',\n 'eth_getTransactionByBlockHashAndIndex',\n 'eth_getTransactionByBlockNumberAndIndex',\n 'eth_getTransactionByHash',\n 'eth_getTransactionCount',\n 'eth_getTransactionReceipt',\n 'eth_getUncleByBlockHashAndIndex',\n 'eth_getUncleByBlockNumberAndIndex',\n 'eth_getUncleCountByBlockHash',\n 'eth_getUncleCountByBlockNumber',\n 'eth_getWork',\n 'eth_hashrate',\n 'eth_mining',\n 'eth_newBlockFilter',\n 'eth_newFilter',\n 'eth_newPendingTransactionFilter',\n 'eth_protocolVersion',\n 'eth_sendRawTransaction',\n 'eth_sendTransaction',\n 'eth_sign',\n 'eth_signTypedData',\n 'eth_signTypedData_v1',\n 'eth_signTypedData_v3',\n 'eth_signTypedData_v4',\n 'eth_submitHashrate',\n 'eth_submitWork',\n 'eth_syncing',\n 'eth_uninstallFilter',\n 'metamask_getProviderState',\n 'metamask_watchAsset',\n 'net_listening',\n 'net_peerCount',\n 'net_version',\n 'personal_ecRecover',\n 'personal_sign',\n 'wallet_watchAsset',\n 'web3_clientVersion',\n 'web3_sha3',\n]);\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// src/internals/environment.ts
|
|
2
|
+
import { assert } from "@metamask/utils";
|
|
3
|
+
function getEnvironment() {
|
|
4
|
+
assert(
|
|
5
|
+
typeof snapsEnvironment !== "undefined",
|
|
6
|
+
"Snaps environment not found. Make sure you have configured the environment correctly."
|
|
7
|
+
);
|
|
8
|
+
return snapsEnvironment;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
getEnvironment
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=chunk-XK5HPZZC.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/environment.ts"],"sourcesContent":["import { assert } from '@metamask/utils';\n\n/**\n * Get the Snaps environment. This asserts that the environment has been\n * configured.\n *\n * @returns The Snaps environment.\n */\nexport function getEnvironment() {\n // `snapsEnvironment` is a global variable that is set by the Jest\n // environment.\n assert(\n typeof snapsEnvironment !== 'undefined',\n 'Snaps environment not found. Make sure you have configured the environment correctly.',\n );\n\n return snapsEnvironment;\n}\n"],"mappings":";AAAA,SAAS,cAAc;AAQhB,SAAS,iBAAiB;AAG/B;AAAA,IACE,OAAO,qBAAqB;AAAA,IAC5B;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/internals/simulation/constants.ts
|
|
2
|
+
var DEFAULT_SRP = "test test test test test test test test test test test ball";
|
|
3
|
+
var DEFAULT_LOCALE = "en";
|
|
4
|
+
var DEFAULT_JSON_RPC_ENDPOINT = "https://cloudflare-eth.com/";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.DEFAULT_SRP = DEFAULT_SRP; exports.DEFAULT_LOCALE = DEFAULT_LOCALE; exports.DEFAULT_JSON_RPC_ENDPOINT = DEFAULT_JSON_RPC_ENDPOINT;
|
|
11
|
+
//# sourceMappingURL=chunk-XKJHFUHE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/constants.ts"],"names":[],"mappings":";AAIO,IAAM,cACX;AAKK,IAAM,iBAAiB;AAKvB,IAAM,4BAA4B","sourcesContent":["/**\n * A secret recovery phrase that is used for testing purposes. Do not use this\n * to store any real funds!\n */\nexport const DEFAULT_SRP =\n 'test test test test test test test test test test test ball';\n\n/**\n * The default locale.\n */\nexport const DEFAULT_LOCALE = 'en';\n\n/**\n * The default JSON-RPC endpoint for Ethereum requests.\n */\nexport const DEFAULT_JSON_RPC_ENDPOINT = 'https://cloudflare-eth.com/';\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkY3JC4WGWjs = require('./chunk-Y3JC4WGW.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkEMTW3H54js = require('./chunk-EMTW3H54.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkXKJHFUHEjs = require('./chunk-XKJHFUHE.js');
|
|
10
|
+
|
|
11
|
+
// src/internals/simulation/middleware/engine.ts
|
|
12
|
+
var _ethjsonrpcmiddleware = require('@metamask/eth-json-rpc-middleware');
|
|
13
|
+
var _jsonrpcengine = require('@metamask/json-rpc-engine');
|
|
14
|
+
var _snapsrpcmethods = require('@metamask/snaps-rpc-methods');
|
|
15
|
+
function createJsonRpcEngine({
|
|
16
|
+
store,
|
|
17
|
+
hooks,
|
|
18
|
+
permissionMiddleware,
|
|
19
|
+
endpoint = _chunkXKJHFUHEjs.DEFAULT_JSON_RPC_ENDPOINT
|
|
20
|
+
}) {
|
|
21
|
+
const engine = new (0, _jsonrpcengine.JsonRpcEngine)();
|
|
22
|
+
engine.push(_chunkEMTW3H54js.createMockMiddleware.call(void 0, store));
|
|
23
|
+
engine.push(_chunkY3JC4WGWjs.createInternalMethodsMiddleware.call(void 0, hooks));
|
|
24
|
+
engine.push(_snapsrpcmethods.createSnapsMethodMiddleware.call(void 0, true, hooks));
|
|
25
|
+
engine.push(permissionMiddleware);
|
|
26
|
+
engine.push(
|
|
27
|
+
_ethjsonrpcmiddleware.createFetchMiddleware.call(void 0, {
|
|
28
|
+
btoa: globalThis.btoa,
|
|
29
|
+
fetch: globalThis.fetch,
|
|
30
|
+
rpcUrl: endpoint
|
|
31
|
+
})
|
|
32
|
+
);
|
|
33
|
+
return engine;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
exports.createJsonRpcEngine = createJsonRpcEngine;
|
|
39
|
+
//# sourceMappingURL=chunk-XWGECIXI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/middleware/engine.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,SAAS,6BAA6B;AAEtC,SAAS,qBAAqB;AAE9B,SAAS,mCAAmC;AA6BrC,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AACb,GAA+B;AAC7B,QAAM,SAAS,IAAI,cAAc;AACjC,SAAO,KAAK,qBAAqB,KAAK,CAAC;AACvC,SAAO,KAAK,gCAAgC,KAAK,CAAC;AAClD,SAAO,KAAK,4BAA4B,MAAM,KAAK,CAAC;AACpD,SAAO,KAAK,oBAAoB;AAChC,SAAO;AAAA,IACL,sBAAsB;AAAA,MACpB,MAAM,WAAW;AAAA,MACjB,OAAO,WAAW;AAAA,MAClB,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AAEA,SAAO;AACT","sourcesContent":["import { createFetchMiddleware } from '@metamask/eth-json-rpc-middleware';\nimport type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport { JsonRpcEngine } from '@metamask/json-rpc-engine';\nimport type { RestrictedMethodParameters } from '@metamask/permission-controller';\nimport { createSnapsMethodMiddleware } from '@metamask/snaps-rpc-methods';\nimport type { Json } from '@metamask/utils';\n\nimport { DEFAULT_JSON_RPC_ENDPOINT } from '../constants';\nimport type { MiddlewareHooks } from '../simulation';\nimport type { Store } from '../store';\nimport { createInternalMethodsMiddleware } from './internal-methods';\nimport { createMockMiddleware } from './mock';\n\nexport type CreateJsonRpcEngineOptions = {\n store: Store;\n hooks: MiddlewareHooks;\n permissionMiddleware: JsonRpcMiddleware<RestrictedMethodParameters, Json>;\n endpoint?: string;\n};\n\n/**\n * Create a JSON-RPC engine for use in a simulated environment. This engine\n * should be used to handle all JSON-RPC requests. It is set up to handle\n * requests that would normally be handled internally by the MetaMask client, as\n * well as Snap-specific requests.\n *\n * @param options - The options to use when creating the engine.\n * @param options.store - The Redux store to use.\n * @param options.hooks - Any hooks used by the middleware handlers.\n * @param options.permissionMiddleware - The permission middleware to use.\n * @param options.endpoint - The JSON-RPC endpoint to use for Ethereum requests.\n * @returns A JSON-RPC engine.\n */\nexport function createJsonRpcEngine({\n store,\n hooks,\n permissionMiddleware,\n endpoint = DEFAULT_JSON_RPC_ENDPOINT,\n}: CreateJsonRpcEngineOptions) {\n const engine = new JsonRpcEngine();\n engine.push(createMockMiddleware(store));\n engine.push(createInternalMethodsMiddleware(hooks));\n engine.push(createSnapsMethodMiddleware(true, hooks));\n engine.push(permissionMiddleware);\n engine.push(\n createFetchMiddleware({\n btoa: globalThis.btoa,\n fetch: globalThis.fetch,\n rpcUrl: endpoint,\n }),\n );\n\n return engine;\n}\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkWDYPMEZBjs = require('./chunk-WDYPMEZB.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunk3FNLFVV2js = require('./chunk-3FNLFVV2.js');
|
|
7
|
+
|
|
8
|
+
// src/internals/simulation/middleware/internal-methods/middleware.ts
|
|
9
|
+
var _snapsutils = require('@metamask/snaps-utils');
|
|
10
|
+
var methodHandlers = {
|
|
11
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
12
|
+
metamask_getProviderState: _chunk3FNLFVV2js.getProviderStateHandler,
|
|
13
|
+
eth_requestAccounts: _chunkWDYPMEZBjs.getAccountsHandler,
|
|
14
|
+
eth_accounts: _chunkWDYPMEZBjs.getAccountsHandler
|
|
15
|
+
/* eslint-enable @typescript-eslint/naming-convention */
|
|
16
|
+
};
|
|
17
|
+
function createInternalMethodsMiddleware(hooks) {
|
|
18
|
+
return async function methodMiddleware(request, response, next, end) {
|
|
19
|
+
const handler = methodHandlers[request.method];
|
|
20
|
+
if (handler) {
|
|
21
|
+
try {
|
|
22
|
+
return await handler(request, response, next, end, hooks);
|
|
23
|
+
} catch (error) {
|
|
24
|
+
_snapsutils.logError.call(void 0, error);
|
|
25
|
+
return end(error);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return next();
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
exports.createInternalMethodsMiddleware = createInternalMethodsMiddleware;
|
|
35
|
+
//# sourceMappingURL=chunk-Y3JC4WGW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/middleware/internal-methods/middleware.ts"],"names":[],"mappings":";;;;;;;;AACA,SAAS,gBAAgB;AAezB,IAAM,iBAAiB;AAAA;AAAA,EAErB,2BAA2B;AAAA,EAC3B,qBAAqB;AAAA,EACrB,cAAc;AAAA;AAEhB;AAaO,SAAS,gCACd,OACwC;AAGxC,SAAO,eAAe,iBAAiB,SAAS,UAAU,MAAM,KAAK;AACnE,UAAM,UACJ,eAAe,QAAQ,MAAqC;AAC9D,QAAI,SAAS;AACX,UAAI;AAEF,eAAO,MAAM,QAAQ,SAAS,UAAU,MAAM,KAAK,KAAK;AAAA,MAC1D,SAAS,OAAY;AACnB,iBAAS,KAAK;AACd,eAAO,IAAI,KAAK;AAAA,MAClB;AAAA,IACF;AAEA,WAAO,KAAK;AAAA,EACd;AACF","sourcesContent":["import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport { logError } from '@metamask/snaps-utils';\nimport type { Json, JsonRpcParams } from '@metamask/utils';\n\nimport { getAccountsHandler } from './accounts';\nimport { getProviderStateHandler } from './provider-state';\n\nexport type InternalMethodsMiddlewareHooks = {\n /**\n * A hook that returns the user's secret recovery phrase.\n *\n * @returns The user's secret recovery phrase.\n */\n getMnemonic: () => Promise<Uint8Array>;\n};\n\nconst methodHandlers = {\n /* eslint-disable @typescript-eslint/naming-convention */\n metamask_getProviderState: getProviderStateHandler,\n eth_requestAccounts: getAccountsHandler,\n eth_accounts: getAccountsHandler,\n /* eslint-enable @typescript-eslint/naming-convention */\n};\n\n/**\n * Create a middleware for handling JSON-RPC methods normally handled internally\n * by the MetaMask client.\n *\n * NOTE: This middleware provides all `hooks` to all handlers and should\n * therefore NOT be used outside of the simulation environment. It is intended\n * for testing purposes only.\n *\n * @param hooks - Any hooks used by the middleware handlers.\n * @returns A middleware function.\n */\nexport function createInternalMethodsMiddleware(\n hooks: InternalMethodsMiddlewareHooks,\n): JsonRpcMiddleware<JsonRpcParams, Json> {\n // This should probably use createAsyncMiddleware.\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return async function methodMiddleware(request, response, next, end) {\n const handler =\n methodHandlers[request.method as keyof typeof methodHandlers];\n if (handler) {\n try {\n // Implementations may or may not be async, so we must await them.\n return await handler(request, response, next, end, hooks);\n } catch (error: any) {\n logError(error);\n return end(error);\n }\n }\n\n return next();\n };\n}\n"]}
|