@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,134 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkT2BE4O5Hjs = require('./chunk-T2BE4O5H.js');
|
|
5
|
+
|
|
6
|
+
// src/matchers.ts
|
|
7
|
+
var _globals = require('@jest/globals');
|
|
8
|
+
var _utils = require('@metamask/utils');
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
var _jestmatcherutils = require('jest-matcher-utils');
|
|
17
|
+
var _superstruct = require('superstruct');
|
|
18
|
+
function assertActualIsSnapResponse(actual, matcherName, options) {
|
|
19
|
+
if (!_superstruct.is.call(void 0, actual, _chunkT2BE4O5Hjs.SnapResponseStruct)) {
|
|
20
|
+
throw new Error(
|
|
21
|
+
_jestmatcherutils.matcherErrorMessage.call(void 0,
|
|
22
|
+
_jestmatcherutils.matcherHint.call(void 0, matcherName, void 0, void 0, options),
|
|
23
|
+
`${_jestmatcherutils.RECEIVED_COLOR.call(void 0,
|
|
24
|
+
"received"
|
|
25
|
+
)} value must be a response from the \`request\` function`,
|
|
26
|
+
_jestmatcherutils.printWithType.call(void 0, "Received", actual, _jestmatcherutils.printReceived)
|
|
27
|
+
)
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function assertHasInterface(actual, matcherName, options) {
|
|
32
|
+
if (!_superstruct.is.call(void 0, actual, _chunkT2BE4O5Hjs.InterfaceStruct) || !actual.content) {
|
|
33
|
+
throw new Error(
|
|
34
|
+
_jestmatcherutils.matcherErrorMessage.call(void 0,
|
|
35
|
+
_jestmatcherutils.matcherHint.call(void 0, matcherName, void 0, void 0, options),
|
|
36
|
+
`${_jestmatcherutils.RECEIVED_COLOR.call(void 0, "received")} value must have a \`content\` property`,
|
|
37
|
+
_jestmatcherutils.printWithType.call(void 0, "Received", actual, _jestmatcherutils.printReceived)
|
|
38
|
+
)
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
var toRespondWith = function(actual, expected) {
|
|
43
|
+
assertActualIsSnapResponse(actual, "toRespondWith");
|
|
44
|
+
const { response } = actual;
|
|
45
|
+
if (_utils.hasProperty.call(void 0, response, "error")) {
|
|
46
|
+
const message2 = () => `${this.utils.matcherHint(".toRespondWith")}
|
|
47
|
+
|
|
48
|
+
Expected response: ${this.utils.printExpected(expected)}
|
|
49
|
+
Received error: ${this.utils.printReceived(response.error)}`;
|
|
50
|
+
return { message: message2, pass: false };
|
|
51
|
+
}
|
|
52
|
+
const pass = this.equals(response.result, expected);
|
|
53
|
+
const message = pass ? () => `${this.utils.matcherHint(".not.toRespondWith")}
|
|
54
|
+
|
|
55
|
+
Expected: ${this.utils.printExpected(expected)}
|
|
56
|
+
Received: ${this.utils.printReceived(response.result)}` : () => `${this.utils.matcherHint(".toRespondWith")}
|
|
57
|
+
|
|
58
|
+
Expected: ${this.utils.printExpected(expected)}
|
|
59
|
+
Received: ${this.utils.printReceived(response.result)}`;
|
|
60
|
+
return { message, pass };
|
|
61
|
+
};
|
|
62
|
+
var toRespondWithError = function(actual, expected) {
|
|
63
|
+
assertActualIsSnapResponse(actual, "toRespondWithError");
|
|
64
|
+
const { response } = actual;
|
|
65
|
+
if (_utils.hasProperty.call(void 0, response, "result")) {
|
|
66
|
+
const message2 = () => `${this.utils.matcherHint(".toRespondWithError")}
|
|
67
|
+
|
|
68
|
+
Expected error: ${this.utils.printExpected(expected)}
|
|
69
|
+
Received result: ${this.utils.printReceived(response.result)}`;
|
|
70
|
+
return { message: message2, pass: false };
|
|
71
|
+
}
|
|
72
|
+
const pass = this.equals(response.error, expected);
|
|
73
|
+
const message = pass ? () => `${this.utils.matcherHint(".not.toRespondWithError")}
|
|
74
|
+
|
|
75
|
+
Expected: ${this.utils.printExpected(expected)}
|
|
76
|
+
Received: ${this.utils.printReceived(response.error)}` : () => `${this.utils.matcherHint(".toRespondWithError")}
|
|
77
|
+
|
|
78
|
+
Expected: ${this.utils.printExpected(expected)}
|
|
79
|
+
Received: ${this.utils.printReceived(response.error)}`;
|
|
80
|
+
return { message, pass };
|
|
81
|
+
};
|
|
82
|
+
var toSendNotification = function(actual, expected, type) {
|
|
83
|
+
assertActualIsSnapResponse(actual, "toSendNotification");
|
|
84
|
+
const { notifications } = actual;
|
|
85
|
+
const pass = notifications.some(
|
|
86
|
+
(notification) => this.equals(notification.message, expected) && (type === void 0 || notification.type === type)
|
|
87
|
+
);
|
|
88
|
+
const message = pass ? () => `${this.utils.matcherHint(".not.toSendNotification")}
|
|
89
|
+
|
|
90
|
+
Expected: ${this.utils.printExpected(expected)}
|
|
91
|
+
Expected type: ${this.utils.printExpected(type)}
|
|
92
|
+
Received: ${this.utils.printReceived(notifications)}` : () => `${this.utils.matcherHint(".toSendNotification")}
|
|
93
|
+
|
|
94
|
+
Expected: ${this.utils.printExpected(expected)}
|
|
95
|
+
Expected type: ${this.utils.printExpected(type)}
|
|
96
|
+
Received: ${this.utils.printReceived(notifications)}`;
|
|
97
|
+
return { message, pass };
|
|
98
|
+
};
|
|
99
|
+
var toRender = function(actual, expected) {
|
|
100
|
+
assertHasInterface(actual, "toRender");
|
|
101
|
+
const { content } = actual;
|
|
102
|
+
const pass = this.equals(content, expected);
|
|
103
|
+
const difference = _jestmatcherutils.diff.call(void 0, expected, content);
|
|
104
|
+
const message = pass ? () => `${this.utils.matcherHint(".not.toRender")}
|
|
105
|
+
|
|
106
|
+
Expected: ${this.utils.printExpected(expected)}
|
|
107
|
+
Received: ${this.utils.printReceived(content)}
|
|
108
|
+
|
|
109
|
+
Difference:
|
|
110
|
+
|
|
111
|
+
${difference}` : () => `${this.utils.matcherHint(".toRender")}
|
|
112
|
+
|
|
113
|
+
Expected: ${this.utils.printExpected(expected)}
|
|
114
|
+
Received: ${this.utils.printReceived(content)}
|
|
115
|
+
|
|
116
|
+
Difference:
|
|
117
|
+
|
|
118
|
+
${difference}`;
|
|
119
|
+
return { message, pass };
|
|
120
|
+
};
|
|
121
|
+
_globals.expect.extend({
|
|
122
|
+
toRespondWith,
|
|
123
|
+
toRespondWithError,
|
|
124
|
+
toSendNotification,
|
|
125
|
+
toRender
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
exports.toRespondWith = toRespondWith; exports.toRespondWithError = toRespondWithError; exports.toSendNotification = toSendNotification; exports.toRender = toRender;
|
|
134
|
+
//# sourceMappingURL=chunk-B4QZXXQY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/matchers.ts"],"names":["message"],"mappings":";;;;;;AAMA,SAAS,cAAc;AAOvB,SAAS,mBAAmB;AAE5B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,UAAU;AAYnB,SAAS,2BACP,QACA,aACA,SACgC;AAChC,MAAI,CAAC,GAAG,QAAQ,kBAAkB,GAAG;AACnC,UAAM,IAAI;AAAA,MACR;AAAA,QACE,YAAY,aAAa,QAAW,QAAW,OAAO;AAAA,QACtD,GAAG;AAAA,UACD;AAAA,QACF,CAAC;AAAA,QACD,cAAc,YAAY,QAAQ,aAAa;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;AAUA,SAAS,mBACP,QACA,aACA,SAC0C;AAC1C,MAAI,CAAC,GAAG,QAAQ,eAAe,KAAK,CAAC,OAAO,SAAS;AACnD,UAAM,IAAI;AAAA,MACR;AAAA,QACE,YAAY,aAAa,QAAW,QAAW,OAAO;AAAA,QACtD,GAAG,eAAe,UAAU,CAAC;AAAA,QAC7B,cAAc,YAAY,QAAQ,aAAa;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;AAUO,IAAM,gBAAmD,SAC9D,QACA,UACA;AACA,6BAA2B,QAAQ,eAAe;AAElD,QAAM,EAAE,SAAS,IAAI;AACrB,MAAI,YAAY,UAAU,OAAO,GAAG;AAClC,UAAMA,WAAU,MACd,GAAG,KAAK,MAAM,YAAY,gBAAgB,CAAC;AAAA;AAAA,qBACrB,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,kBACrC,KAAK,MAAM,cAAc,SAAS,KAAK,CAAC;AAE7D,WAAO,EAAE,SAAAA,UAAS,MAAM,MAAM;AAAA,EAChC;AAEA,QAAM,OAAO,KAAK,OAAO,SAAS,QAAQ,QAAQ;AAClD,QAAM,UAAU,OACZ,MACE,GAAG,KAAK,MAAM,YAAY,oBAAoB,CAAC;AAAA;AAAA,YAClC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,SAAS,MAAM,CAAC,KACxD,MACE,GAAG,KAAK,MAAM,YAAY,gBAAgB,CAAC;AAAA;AAAA,YAC9B,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,SAAS,MAAM,CAAC;AAE5D,SAAO,EAAE,SAAS,KAAK;AACzB;AAEO,IAAM,qBAAwD,SACnE,QACA,UACA;AACA,6BAA2B,QAAQ,oBAAoB;AAEvD,QAAM,EAAE,SAAS,IAAI;AACrB,MAAI,YAAY,UAAU,QAAQ,GAAG;AACnC,UAAMA,WAAU,MACd,GAAG,KAAK,MAAM,YAAY,qBAAqB,CAAC;AAAA;AAAA,kBAC7B,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,mBACjC,KAAK,MAAM,cAAc,SAAS,MAAM,CAAC;AAE/D,WAAO,EAAE,SAAAA,UAAS,MAAM,MAAM;AAAA,EAChC;AAEA,QAAM,OAAO,KAAK,OAAO,SAAS,OAAO,QAAQ;AACjD,QAAM,UAAU,OACZ,MACE,GAAG,KAAK,MAAM,YAAY,yBAAyB,CAAC;AAAA;AAAA,YACvC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,SAAS,KAAK,CAAC,KACvD,MACE,GAAG,KAAK,MAAM,YAAY,qBAAqB,CAAC;AAAA;AAAA,YACnC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,SAAS,KAAK,CAAC;AAE3D,SAAO,EAAE,SAAS,KAAK;AACzB;AAWO,IAAM,qBAET,SAAU,QAAQ,UAAU,MAAM;AACpC,6BAA2B,QAAQ,oBAAoB;AAEvD,QAAM,EAAE,cAAc,IAAI;AAC1B,QAAM,OAAO,cAAc;AAAA,IACzB,CAAC,iBACC,KAAK,OAAO,aAAa,SAAS,QAAQ,MACzC,SAAS,UAAa,aAAa,SAAS;AAAA,EACjD;AAEA,QAAM,UAAU,OACZ,MACE,GAAG,KAAK,MAAM,YAAY,yBAAyB,CAAC;AAAA;AAAA,YACvC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,iBAC7B,KAAK,MAAM,cAAc,IAAI,CAAC;AAAA,YACnC,KAAK,MAAM,cAAc,aAAa,CAAC,KACtD,MACE,GAAG,KAAK,MAAM,YAAY,qBAAqB,CAAC;AAAA;AAAA,YACnC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,iBAC7B,KAAK,MAAM,cAAc,IAAI,CAAC;AAAA,YACnC,KAAK,MAAM,cAAc,aAAa,CAAC;AAE1D,SAAO,EAAE,SAAS,KAAK;AACzB;AAEO,IAAM,WAAmD,SAC9D,QACA,UACA;AACA,qBAAmB,QAAQ,UAAU;AAErC,QAAM,EAAE,QAAQ,IAAI;AACpB,QAAM,OAAO,KAAK,OAAO,SAAS,QAAQ;AAK1C,QAAM,aAAa,KAAK,UAAU,OAAO;AAEzC,QAAM,UAAU,OACZ,MACE,GAAG,KAAK,MAAM,YAAY,eAAe,CAAC;AAAA;AAAA,YAC7B,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,EACxB,UAAoB,KAC5C,MACE,GAAG,KAAK,MAAM,YAAY,WAAW,CAAC;AAAA;AAAA,YACzB,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,EACxB,UAAoB;AAEhD,SAAO,EAAE,SAAS,KAAK;AACzB;AAEA,OAAO,OAAO;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC","sourcesContent":["/* eslint-disable no-invalid-this */\n\n// Note: Because this file imports from `@jest/globals`, it can only be used in\n// a Jest environment. This is why it's not exported from the index file.\n\nimport type { MatcherFunction } from '@jest/expect';\nimport { expect } from '@jest/globals';\nimport type {\n NotificationType,\n EnumToUnion,\n Component,\n} from '@metamask/snaps-sdk';\nimport type { Json } from '@metamask/utils';\nimport { hasProperty } from '@metamask/utils';\nimport type { MatcherHintOptions } from 'jest-matcher-utils';\nimport {\n diff,\n matcherErrorMessage,\n matcherHint,\n printReceived,\n printWithType,\n RECEIVED_COLOR,\n} from 'jest-matcher-utils';\nimport { is } from 'superstruct';\n\nimport { InterfaceStruct, SnapResponseStruct } from './internals';\nimport type { SnapResponse } from './types';\n\n/**\n * Ensure that the actual value is a response from the `request` function.\n *\n * @param actual - The actual value.\n * @param matcherName - The name of the matcher.\n * @param options - The matcher options.\n */\nfunction assertActualIsSnapResponse(\n actual: unknown,\n matcherName: string,\n options?: MatcherHintOptions,\n): asserts actual is SnapResponse {\n if (!is(actual, SnapResponseStruct)) {\n throw new Error(\n matcherErrorMessage(\n matcherHint(matcherName, undefined, undefined, options),\n `${RECEIVED_COLOR(\n 'received',\n )} value must be a response from the \\`request\\` function`,\n printWithType('Received', actual, printReceived),\n ),\n );\n }\n}\n\n/**\n * Ensure that the actual value is a response from the `request` function, and\n * that it has a `ui` property.\n *\n * @param actual - The actual value.\n * @param matcherName - The name of the matcher.\n * @param options - The matcher options.\n */\nfunction assertHasInterface(\n actual: unknown,\n matcherName: string,\n options?: MatcherHintOptions,\n): asserts actual is { content: Component } {\n if (!is(actual, InterfaceStruct) || !actual.content) {\n throw new Error(\n matcherErrorMessage(\n matcherHint(matcherName, undefined, undefined, options),\n `${RECEIVED_COLOR('received')} value must have a \\`content\\` property`,\n printWithType('Received', actual, printReceived),\n ),\n );\n }\n}\n\n/**\n * Check if a JSON-RPC response matches the expected value. This matcher is\n * intended to be used with the `expect` global.\n *\n * @param actual - The actual response.\n * @param expected - The expected response.\n * @returns The status and message.\n */\nexport const toRespondWith: MatcherFunction<[expected: Json]> = function (\n actual,\n expected,\n) {\n assertActualIsSnapResponse(actual, 'toRespondWith');\n\n const { response } = actual;\n if (hasProperty(response, 'error')) {\n const message = () =>\n `${this.utils.matcherHint('.toRespondWith')}\\n\\n` +\n `Expected response: ${this.utils.printExpected(expected)}\\n` +\n `Received error: ${this.utils.printReceived(response.error)}`;\n\n return { message, pass: false };\n }\n\n const pass = this.equals(response.result, expected);\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toRespondWith')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.result)}`\n : () =>\n `${this.utils.matcherHint('.toRespondWith')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.result)}`;\n\n return { message, pass };\n};\n\nexport const toRespondWithError: MatcherFunction<[expected: Json]> = function (\n actual,\n expected,\n) {\n assertActualIsSnapResponse(actual, 'toRespondWithError');\n\n const { response } = actual;\n if (hasProperty(response, 'result')) {\n const message = () =>\n `${this.utils.matcherHint('.toRespondWithError')}\\n\\n` +\n `Expected error: ${this.utils.printExpected(expected)}\\n` +\n `Received result: ${this.utils.printReceived(response.result)}`;\n\n return { message, pass: false };\n }\n\n const pass = this.equals(response.error, expected);\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toRespondWithError')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.error)}`\n : () =>\n `${this.utils.matcherHint('.toRespondWithError')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.error)}`;\n\n return { message, pass };\n};\n\n/**\n * Check if the snap sent a notification with the expected message. This matcher\n * is intended to be used with the `expect` global.\n *\n * @param actual - The actual response.\n * @param expected - The expected notification message.\n * @param type - The expected notification type.\n * @returns The status and message.\n */\nexport const toSendNotification: MatcherFunction<\n [expected: string, type?: EnumToUnion<NotificationType> | undefined]\n> = function (actual, expected, type) {\n assertActualIsSnapResponse(actual, 'toSendNotification');\n\n const { notifications } = actual;\n const pass = notifications.some(\n (notification) =>\n this.equals(notification.message, expected) &&\n (type === undefined || notification.type === type),\n );\n\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toSendNotification')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Expected type: ${this.utils.printExpected(type)}\\n` +\n `Received: ${this.utils.printReceived(notifications)}`\n : () =>\n `${this.utils.matcherHint('.toSendNotification')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Expected type: ${this.utils.printExpected(type)}\\n` +\n `Received: ${this.utils.printReceived(notifications)}`;\n\n return { message, pass };\n};\n\nexport const toRender: MatcherFunction<[expected: Component]> = function (\n actual,\n expected,\n) {\n assertHasInterface(actual, 'toRender');\n\n const { content } = actual;\n const pass = this.equals(content, expected);\n\n // This is typed as `string | null`, but in practice it's always a string. The\n // function only returns `null` if both the expected and actual values are\n // numbers, bigints, or booleans, which is never the case here.\n const difference = diff(expected, content);\n\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toRender')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(content)}` +\n `\\n\\nDifference:\\n\\n${difference as string}`\n : () =>\n `${this.utils.matcherHint('.toRender')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(content)}` +\n `\\n\\nDifference:\\n\\n${difference as string}`;\n\n return { message, pass };\n};\n\nexpect.extend({\n toRespondWith,\n toRespondWithError,\n toSendNotification,\n toRender,\n});\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// src/options.ts
|
|
2
|
+
import {
|
|
3
|
+
boolean,
|
|
4
|
+
create,
|
|
5
|
+
defaulted,
|
|
6
|
+
number,
|
|
7
|
+
object,
|
|
8
|
+
string,
|
|
9
|
+
type
|
|
10
|
+
} from "superstruct";
|
|
11
|
+
var SnapsEnvironmentOptionsStruct = type({
|
|
12
|
+
server: defaulted(
|
|
13
|
+
object({
|
|
14
|
+
enabled: defaulted(boolean(), true),
|
|
15
|
+
port: defaulted(number(), 0),
|
|
16
|
+
root: defaulted(string(), process.cwd())
|
|
17
|
+
}),
|
|
18
|
+
{}
|
|
19
|
+
)
|
|
20
|
+
});
|
|
21
|
+
function getOptions(testEnvironmentOptions) {
|
|
22
|
+
return create(testEnvironmentOptions, SnapsEnvironmentOptionsStruct);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
getOptions
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=chunk-B73P64TE.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/options.ts"],"sourcesContent":["import type { Infer } from 'superstruct';\nimport {\n boolean,\n create,\n defaulted,\n number,\n object,\n string,\n type,\n} from 'superstruct';\n\nconst SnapsEnvironmentOptionsStruct = type({\n server: defaulted(\n object({\n enabled: defaulted(boolean(), true),\n port: defaulted(number(), 0),\n root: defaulted(string(), process.cwd()),\n }),\n {},\n ),\n});\n\n/**\n * The options for the environment. These can be specified in the Jest\n * configuration under `testEnvironmentOptions`.\n *\n * @example\n * {\n * \"testEnvironment\": \"@metamask/snaps-jest\",\n * \"testEnvironmentOptions\": {\n * \"executionEnvironmentUrl\": \"http://localhost:8080\",\n * \"server\": {\n * \"port\": 8080,\n * /* ... *\\/\n * }\n * }\n * }\n * @property server - The options for the built-in HTTP server.\n * @property server.enabled - Whether to run the built-in HTTP server. Defaults\n * to `true`.\n * @property server.port - The port to use for the built-in HTTP server. If this\n * is not provided, a random available port will be used.\n * @property server.root - The root directory to serve from the built-in HTTP\n * server. Defaults to the current working directory. This is assumed to be the\n * directory containing the snap manifest and `dist` files. If this is a\n * relative path, it will be resolved relative to the current working directory.\n */\nexport type SnapsEnvironmentOptions = Infer<\n typeof SnapsEnvironmentOptionsStruct\n>;\n\n/**\n * Get the environment options. This validates the options, and returns the\n * default options if none are provided.\n *\n * @param testEnvironmentOptions - The test environment options as defined in\n * the Jest configuration.\n * @returns The environment options.\n */\nexport function getOptions(testEnvironmentOptions: Record<string, unknown>) {\n return create(testEnvironmentOptions, SnapsEnvironmentOptionsStruct);\n}\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,IAAM,gCAAgC,KAAK;AAAA,EACzC,QAAQ;AAAA,IACN,OAAO;AAAA,MACL,SAAS,UAAU,QAAQ,GAAG,IAAI;AAAA,MAClC,MAAM,UAAU,OAAO,GAAG,CAAC;AAAA,MAC3B,MAAM,UAAU,OAAO,GAAG,QAAQ,IAAI,CAAC;AAAA,IACzC,CAAC;AAAA,IACD,CAAC;AAAA,EACH;AACF,CAAC;AAuCM,SAAS,WAAW,wBAAiD;AAC1E,SAAO,OAAO,wBAAwB,6BAA6B;AACrE;","names":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getPermissionSpecifications
|
|
3
|
+
} from "./chunk-HBLJOACO.mjs";
|
|
4
|
+
import {
|
|
5
|
+
UNRESTRICTED_METHODS
|
|
6
|
+
} from "./chunk-57SGDM5B.mjs";
|
|
7
|
+
|
|
8
|
+
// src/internals/simulation/controllers.ts
|
|
9
|
+
import {
|
|
10
|
+
PermissionController,
|
|
11
|
+
SubjectMetadataController,
|
|
12
|
+
SubjectType
|
|
13
|
+
} from "@metamask/permission-controller";
|
|
14
|
+
import { SnapInterfaceController } from "@metamask/snaps-controllers";
|
|
15
|
+
import {
|
|
16
|
+
caveatSpecifications as snapsCaveatsSpecifications,
|
|
17
|
+
endowmentCaveatSpecifications as snapsEndowmentCaveatSpecifications,
|
|
18
|
+
processSnapPermissions
|
|
19
|
+
} from "@metamask/snaps-rpc-methods";
|
|
20
|
+
import { getSafeJson } from "@metamask/utils";
|
|
21
|
+
function getControllers(options) {
|
|
22
|
+
const { controllerMessenger } = options;
|
|
23
|
+
const subjectMetadataController = new SubjectMetadataController({
|
|
24
|
+
messenger: controllerMessenger.getRestricted({
|
|
25
|
+
name: "SubjectMetadataController"
|
|
26
|
+
}),
|
|
27
|
+
subjectCacheLimit: 100
|
|
28
|
+
});
|
|
29
|
+
const interfaceController = new 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 = getPermissionSpecifications(options);
|
|
48
|
+
return new 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
|
+
...snapsCaveatsSpecifications,
|
|
63
|
+
...snapsEndowmentCaveatSpecifications
|
|
64
|
+
},
|
|
65
|
+
permissionSpecifications,
|
|
66
|
+
unrestrictedMethods: UNRESTRICTED_METHODS
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async function registerSnap(snapId, manifest, {
|
|
70
|
+
permissionController,
|
|
71
|
+
subjectMetadataController
|
|
72
|
+
}) {
|
|
73
|
+
subjectMetadataController.addSubjectMetadata({
|
|
74
|
+
origin: snapId,
|
|
75
|
+
subjectType: SubjectType.Snap
|
|
76
|
+
});
|
|
77
|
+
const approvedPermissions = processSnapPermissions(
|
|
78
|
+
getSafeJson(manifest.initialPermissions)
|
|
79
|
+
);
|
|
80
|
+
permissionController.grantPermissions({
|
|
81
|
+
approvedPermissions,
|
|
82
|
+
subject: { origin: snapId },
|
|
83
|
+
preserveExistingPermissions: false
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export {
|
|
88
|
+
getControllers,
|
|
89
|
+
registerSnap
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=chunk-CCYBLBVL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/controllers.ts"],"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"],"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;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";//# sourceMappingURL=chunk-DR6Y7IVX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkLACTK6EOjs = require('./chunk-LACTK6EO.js');
|
|
4
|
+
|
|
5
|
+
// src/internals/simulation/middleware/mock.ts
|
|
6
|
+
function createMockMiddleware(store) {
|
|
7
|
+
return function mockMiddleware(request, response, next, end) {
|
|
8
|
+
const result = _chunkLACTK6EOjs.getJsonRpcMock.call(void 0, store.getState(), request.method);
|
|
9
|
+
if (result) {
|
|
10
|
+
response.result = result;
|
|
11
|
+
return end();
|
|
12
|
+
}
|
|
13
|
+
return next();
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
exports.createMockMiddleware = createMockMiddleware;
|
|
20
|
+
//# sourceMappingURL=chunk-EMTW3H54.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/middleware/mock.ts"],"names":[],"mappings":";;;;;AAYO,SAAS,qBACd,OACwC;AACxC,SAAO,SAAS,eAAe,SAAS,UAAU,MAAM,KAAK;AAC3D,UAAM,SAAS,eAAe,MAAM,SAAS,GAAG,QAAQ,MAAM;AAC9D,QAAI,QAAQ;AACV,eAAS,SAAS;AAClB,aAAO,IAAI;AAAA,IACb;AAEA,WAAO,KAAK;AAAA,EACd;AACF","sourcesContent":["import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport type { Json, JsonRpcParams } from '@metamask/utils';\n\nimport type { Store } from '../store';\nimport { getJsonRpcMock } from '../store/mocks';\n\n/**\n * Create a middleware for handling JSON-RPC methods that have been mocked.\n *\n * @param store - The Redux store to use.\n * @returns A middleware function.\n */\nexport function createMockMiddleware(\n store: Store,\n): JsonRpcMiddleware<JsonRpcParams, Json> {\n return function mockMiddleware(request, response, next, end) {\n const result = getJsonRpcMock(store.getState(), request.method);\n if (result) {\n response.result = result;\n return end();\n }\n\n return next();\n };\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getJsonRpcMock
|
|
3
|
+
} from "./chunk-H2464AXT.mjs";
|
|
4
|
+
|
|
5
|
+
// src/internals/simulation/middleware/mock.ts
|
|
6
|
+
function createMockMiddleware(store) {
|
|
7
|
+
return function mockMiddleware(request, response, next, end) {
|
|
8
|
+
const result = getJsonRpcMock(store.getState(), request.method);
|
|
9
|
+
if (result) {
|
|
10
|
+
response.result = result;
|
|
11
|
+
return end();
|
|
12
|
+
}
|
|
13
|
+
return next();
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
createMockMiddleware
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-FP4H3ADT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/middleware/mock.ts"],"sourcesContent":["import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport type { Json, JsonRpcParams } from '@metamask/utils';\n\nimport type { Store } from '../store';\nimport { getJsonRpcMock } from '../store/mocks';\n\n/**\n * Create a middleware for handling JSON-RPC methods that have been mocked.\n *\n * @param store - The Redux store to use.\n * @returns A middleware function.\n */\nexport function createMockMiddleware(\n store: Store,\n): JsonRpcMiddleware<JsonRpcParams, Json> {\n return function mockMiddleware(request, response, next, end) {\n const result = getJsonRpcMock(store.getState(), request.method);\n if (result) {\n response.result = result;\n return end();\n }\n\n return next();\n };\n}\n"],"mappings":";;;;;AAYO,SAAS,qBACd,OACwC;AACxC,SAAO,SAAS,eAAe,SAAS,UAAU,MAAM,KAAK;AAC3D,UAAM,SAAS,eAAe,MAAM,SAAS,GAAG,QAAQ,MAAM;AAC9D,QAAI,QAAQ;AACV,eAAS,SAAS;AAClB,aAAO,IAAI;AAAA,IACb;AAEA,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";//# sourceMappingURL=chunk-GECE47HW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunk2YE2P5BZjs = require('./chunk-2YE2P5BZ.js');
|
|
4
|
+
|
|
5
|
+
// src/internals/simulation/methods/hooks/notifications.ts
|
|
6
|
+
var _snapssdk = require('@metamask/snaps-sdk');
|
|
7
|
+
var _toolkit = require('@reduxjs/toolkit');
|
|
8
|
+
var _effects = require('redux-saga/effects');
|
|
9
|
+
function* showNativeNotificationImplementation(_snapId, { message }) {
|
|
10
|
+
yield _effects.put.call(void 0,
|
|
11
|
+
_chunk2YE2P5BZjs.addNotification.call(void 0, { id: _toolkit.nanoid.call(void 0, ), type: _snapssdk.NotificationType.Native, message })
|
|
12
|
+
);
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
function getShowNativeNotificationImplementation(runSaga) {
|
|
16
|
+
return async (...args) => {
|
|
17
|
+
return await runSaga(
|
|
18
|
+
showNativeNotificationImplementation,
|
|
19
|
+
...args
|
|
20
|
+
).toPromise();
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function* showInAppNotificationImplementation(_snapId, { message }) {
|
|
24
|
+
yield _effects.put.call(void 0,
|
|
25
|
+
_chunk2YE2P5BZjs.addNotification.call(void 0, { id: _toolkit.nanoid.call(void 0, ), type: _snapssdk.NotificationType.InApp, message })
|
|
26
|
+
);
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
function getShowInAppNotificationImplementation(runSaga) {
|
|
30
|
+
return async (...args) => {
|
|
31
|
+
return await runSaga(
|
|
32
|
+
showInAppNotificationImplementation,
|
|
33
|
+
...args
|
|
34
|
+
).toPromise();
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
exports.getShowNativeNotificationImplementation = getShowNativeNotificationImplementation; exports.getShowInAppNotificationImplementation = getShowInAppNotificationImplementation;
|
|
42
|
+
//# sourceMappingURL=chunk-GMTKFAWO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/methods/hooks/notifications.ts"],"names":[],"mappings":";;;;;AACA,SAAS,wBAAwB;AACjC,SAAS,cAAc;AAEvB,SAAS,WAAW;AAcpB,UAAU,qCACR,SACA,EAAE,QAAQ,GACI;AACd,QAAM;AAAA,IACJ,gBAAgB,EAAE,IAAI,OAAO,GAAG,MAAM,iBAAiB,QAAQ,QAAQ,CAAC;AAAA,EAC1E;AAEA,SAAO;AACT;AAQO,SAAS,wCACd,SACA;AACA,SAAO,UACF,SACA;AACH,WAAO,MAAM;AAAA,MACX;AAAA,MACA,GAAG;AAAA,IACL,EAAE,UAAU;AAAA,EACd;AACF;AAWA,UAAU,oCACR,SACA,EAAE,QAAQ,GACU;AACpB,QAAM;AAAA,IACJ,gBAAgB,EAAE,IAAI,OAAO,GAAG,MAAM,iBAAiB,OAAO,QAAQ,CAAC;AAAA,EACzE;AAEA,SAAO;AACT;AAQO,SAAS,uCACd,SACA;AACA,SAAO,UACF,SACA;AACH,WAAO,MAAM;AAAA,MACX;AAAA,MACA,GAAG;AAAA,IACL,EAAE,UAAU;AAAA,EACd;AACF","sourcesContent":["import type { NotifyParams } from '@metamask/snaps-sdk';\nimport { NotificationType } from '@metamask/snaps-sdk';\nimport { nanoid } from '@reduxjs/toolkit';\nimport type { SagaIterator } from 'redux-saga';\nimport { put } from 'redux-saga/effects';\n\nimport type { RunSagaFunction } from '../../store';\nimport { addNotification } from '../../store';\n\n/**\n * Show a native notification to the user.\n *\n * @param _snapId - The ID of the Snap that created the notification.\n * @param options - The notification options.\n * @param options.message - The message to show in the notification.\n * @yields Adds the notification to the store.\n * @returns `null`.\n */\nfunction* showNativeNotificationImplementation(\n _snapId: string,\n { message }: NotifyParams,\n): SagaIterator {\n yield put(\n addNotification({ id: nanoid(), type: NotificationType.Native, message }),\n );\n\n return null;\n}\n\n/**\n * Get a method that can be used to show a native notification.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to show a native notification.\n */\nexport function getShowNativeNotificationImplementation(\n runSaga: RunSagaFunction,\n) {\n return async (\n ...args: Parameters<typeof showNativeNotificationImplementation>\n ) => {\n return await runSaga(\n showNativeNotificationImplementation,\n ...args,\n ).toPromise();\n };\n}\n\n/**\n * Show an in-app notification to the user.\n *\n * @param _snapId - The ID of the Snap that created the notification.\n * @param options - The notification options.\n * @param options.message - The message to show in the notification.\n * @yields Adds the notification to the store.\n * @returns `null`.\n */\nfunction* showInAppNotificationImplementation(\n _snapId: string,\n { message }: NotifyParams,\n): SagaIterator<null> {\n yield put(\n addNotification({ id: nanoid(), type: NotificationType.InApp, message }),\n );\n\n return null;\n}\n\n/**\n * Get a method that can be used to show an in-app notification.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to show an in-app notification.\n */\nexport function getShowInAppNotificationImplementation(\n runSaga: RunSagaFunction,\n) {\n return async (\n ...args: Parameters<typeof showInAppNotificationImplementation>\n ) => {\n return await runSaga(\n showInAppNotificationImplementation,\n ...args,\n ).toPromise();\n };\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// src/internals/simulation/store/mocks.ts
|
|
2
|
+
import { createSelector, createSlice } from "@reduxjs/toolkit";
|
|
3
|
+
var INITIAL_STATE = {
|
|
4
|
+
jsonRpc: {}
|
|
5
|
+
};
|
|
6
|
+
var mocksSlice = createSlice({
|
|
7
|
+
name: "mocks",
|
|
8
|
+
initialState: INITIAL_STATE,
|
|
9
|
+
reducers: {
|
|
10
|
+
addJsonRpcMock: (state, action) => {
|
|
11
|
+
state.jsonRpc[action.payload.method] = action.payload.result;
|
|
12
|
+
},
|
|
13
|
+
removeJsonRpcMock: (state, action) => {
|
|
14
|
+
delete state.jsonRpc[action.payload];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
var { addJsonRpcMock, removeJsonRpcMock } = mocksSlice.actions;
|
|
19
|
+
var getJsonRpcMocks = (state) => state.mocks.jsonRpc;
|
|
20
|
+
var getJsonRpcMock = createSelector(
|
|
21
|
+
getJsonRpcMocks,
|
|
22
|
+
(_, method) => method,
|
|
23
|
+
(jsonRpcMocks, method) => jsonRpcMocks[method]
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
mocksSlice,
|
|
28
|
+
addJsonRpcMock,
|
|
29
|
+
removeJsonRpcMock,
|
|
30
|
+
getJsonRpcMocks,
|
|
31
|
+
getJsonRpcMock
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=chunk-H2464AXT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/store/mocks.ts"],"sourcesContent":["import type { Json } from '@metamask/utils';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSelector, createSlice } from '@reduxjs/toolkit';\n\nimport type { ApplicationState } from './store';\n\nexport type JsonRpcMock = {\n method: string;\n result: Json;\n};\n\nexport type MocksState = {\n jsonRpc: Record<string, Json>;\n};\n\n/**\n * The initial notifications state.\n */\nconst INITIAL_STATE: MocksState = {\n jsonRpc: {},\n};\n\nexport const mocksSlice = createSlice({\n name: 'mocks',\n initialState: INITIAL_STATE,\n reducers: {\n addJsonRpcMock: (state, action: PayloadAction<JsonRpcMock>) => {\n // @ts-expect-error - TS2589: Type instantiation is excessively deep and\n // possibly infinite.\n state.jsonRpc[action.payload.method] = action.payload.result;\n },\n removeJsonRpcMock: (state, action: PayloadAction<string>) => {\n delete state.jsonRpc[action.payload];\n },\n },\n});\n\nexport const { addJsonRpcMock, removeJsonRpcMock } = mocksSlice.actions;\n\n/**\n * Get the JSON-RPC mocks from the state.\n *\n * @param state - The application state.\n * @returns The JSON-RPC mocks.\n */\nexport const getJsonRpcMocks = (state: ApplicationState) => state.mocks.jsonRpc;\n\n/**\n * Get the JSON-RPC mock for a given method from the state.\n */\nexport const getJsonRpcMock = createSelector(\n getJsonRpcMocks,\n (_: unknown, method: string) => method,\n (jsonRpcMocks, method) => jsonRpcMocks[method],\n);\n"],"mappings":";AAEA,SAAS,gBAAgB,mBAAmB;AAgB5C,IAAM,gBAA4B;AAAA,EAChC,SAAS,CAAC;AACZ;AAEO,IAAM,aAAa,YAAY;AAAA,EACpC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,UAAU;AAAA,IACR,gBAAgB,CAAC,OAAO,WAAuC;AAG7D,YAAM,QAAQ,OAAO,QAAQ,MAAM,IAAI,OAAO,QAAQ;AAAA,IACxD;AAAA,IACA,mBAAmB,CAAC,OAAO,WAAkC;AAC3D,aAAO,MAAM,QAAQ,OAAO,OAAO;AAAA,IACrC;AAAA,EACF;AACF,CAAC;AAEM,IAAM,EAAE,gBAAgB,kBAAkB,IAAI,WAAW;AAQzD,IAAM,kBAAkB,CAAC,UAA4B,MAAM,MAAM;AAKjE,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,CAAC,GAAY,WAAmB;AAAA,EAChC,CAAC,cAAc,WAAW,aAAa,MAAM;AAC/C;","names":[]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import {
|
|
2
|
+
decryptImplementation,
|
|
3
|
+
encryptImplementation
|
|
4
|
+
} from "./chunk-2X23DUDP.mjs";
|
|
5
|
+
import {
|
|
6
|
+
getGetLocaleMethodImplementation
|
|
7
|
+
} from "./chunk-KSIBNOB2.mjs";
|
|
8
|
+
import {
|
|
9
|
+
getCreateInterfaceImplementation,
|
|
10
|
+
getGetInterfaceImplementation
|
|
11
|
+
} from "./chunk-WH5C5WIZ.mjs";
|
|
12
|
+
import {
|
|
13
|
+
getShowInAppNotificationImplementation,
|
|
14
|
+
getShowNativeNotificationImplementation
|
|
15
|
+
} from "./chunk-ALRZENWP.mjs";
|
|
16
|
+
import {
|
|
17
|
+
getShowDialogImplementation
|
|
18
|
+
} from "./chunk-ORO3T6BU.mjs";
|
|
19
|
+
import {
|
|
20
|
+
getClearSnapStateMethodImplementation,
|
|
21
|
+
getGetSnapStateMethodImplementation,
|
|
22
|
+
getUpdateSnapStateMethodImplementation
|
|
23
|
+
} from "./chunk-7BFTEFLS.mjs";
|
|
24
|
+
import {
|
|
25
|
+
EXCLUDED_SNAP_ENDOWMENTS,
|
|
26
|
+
EXCLUDED_SNAP_PERMISSIONS
|
|
27
|
+
} from "./chunk-57SGDM5B.mjs";
|
|
28
|
+
|
|
29
|
+
// src/internals/simulation/methods/specifications.ts
|
|
30
|
+
import {
|
|
31
|
+
endowmentPermissionBuilders,
|
|
32
|
+
buildSnapEndowmentSpecifications,
|
|
33
|
+
buildSnapRestrictedMethodSpecifications
|
|
34
|
+
} from "@metamask/snaps-rpc-methods";
|
|
35
|
+
import { DEFAULT_ENDOWMENTS } from "@metamask/snaps-utils";
|
|
36
|
+
function resolve(result) {
|
|
37
|
+
return () => result;
|
|
38
|
+
}
|
|
39
|
+
function asyncResolve(result) {
|
|
40
|
+
return async () => result;
|
|
41
|
+
}
|
|
42
|
+
function getPermissionSpecifications({
|
|
43
|
+
controllerMessenger,
|
|
44
|
+
hooks,
|
|
45
|
+
runSaga,
|
|
46
|
+
options
|
|
47
|
+
}) {
|
|
48
|
+
return {
|
|
49
|
+
...buildSnapEndowmentSpecifications(EXCLUDED_SNAP_ENDOWMENTS),
|
|
50
|
+
...buildSnapRestrictedMethodSpecifications(EXCLUDED_SNAP_PERMISSIONS, {
|
|
51
|
+
// Shared hooks.
|
|
52
|
+
...hooks,
|
|
53
|
+
// Encryption and decryption hooks.
|
|
54
|
+
// TODO: Swap these out for the real implementations.
|
|
55
|
+
encrypt: encryptImplementation,
|
|
56
|
+
decrypt: decryptImplementation,
|
|
57
|
+
// Snaps-specific hooks.
|
|
58
|
+
clearSnapState: getClearSnapStateMethodImplementation(runSaga),
|
|
59
|
+
getLocale: getGetLocaleMethodImplementation(options),
|
|
60
|
+
getSnapState: getGetSnapStateMethodImplementation(runSaga),
|
|
61
|
+
getUnlockPromise: asyncResolve(true),
|
|
62
|
+
// TODO: Allow the user to specify the result of this function.
|
|
63
|
+
isOnPhishingList: resolve(false),
|
|
64
|
+
maybeUpdatePhishingList: asyncResolve(),
|
|
65
|
+
showDialog: getShowDialogImplementation(runSaga),
|
|
66
|
+
showInAppNotification: getShowInAppNotificationImplementation(runSaga),
|
|
67
|
+
showNativeNotification: getShowNativeNotificationImplementation(runSaga),
|
|
68
|
+
updateSnapState: getUpdateSnapStateMethodImplementation(runSaga),
|
|
69
|
+
createInterface: getCreateInterfaceImplementation(controllerMessenger),
|
|
70
|
+
getInterface: getGetInterfaceImplementation(controllerMessenger)
|
|
71
|
+
})
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async function getEndowments(permissionController, snapId) {
|
|
75
|
+
const allEndowments = await Object.keys(endowmentPermissionBuilders).reduce(async (promise, permissionName) => {
|
|
76
|
+
const accumulator = await promise;
|
|
77
|
+
if (permissionController.hasPermission(snapId, permissionName)) {
|
|
78
|
+
const endowments = await permissionController.getEndowments(
|
|
79
|
+
snapId,
|
|
80
|
+
permissionName
|
|
81
|
+
);
|
|
82
|
+
if (endowments) {
|
|
83
|
+
return accumulator.concat(endowments);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return accumulator;
|
|
87
|
+
}, Promise.resolve([]));
|
|
88
|
+
return [.../* @__PURE__ */ new Set([...DEFAULT_ENDOWMENTS, ...allEndowments])];
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export {
|
|
92
|
+
resolve,
|
|
93
|
+
asyncResolve,
|
|
94
|
+
getPermissionSpecifications,
|
|
95
|
+
getEndowments
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=chunk-HBLJOACO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internals/simulation/methods/specifications.ts"],"sourcesContent":["import type { GenericPermissionController } from '@metamask/permission-controller';\nimport {\n endowmentPermissionBuilders,\n buildSnapEndowmentSpecifications,\n buildSnapRestrictedMethodSpecifications,\n} from '@metamask/snaps-rpc-methods';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport { DEFAULT_ENDOWMENTS } from '@metamask/snaps-utils';\n\nimport type { RootControllerMessenger } from '../controllers';\nimport type { SimulationOptions } from '../options';\nimport type { RunSagaFunction } from '../store';\nimport {\n EXCLUDED_SNAP_ENDOWMENTS,\n EXCLUDED_SNAP_PERMISSIONS,\n} from './constants';\nimport {\n getGetLocaleMethodImplementation,\n getClearSnapStateMethodImplementation,\n getGetSnapStateMethodImplementation,\n getUpdateSnapStateMethodImplementation,\n getShowDialogImplementation,\n getShowInAppNotificationImplementation,\n getShowNativeNotificationImplementation,\n encryptImplementation,\n decryptImplementation,\n getCreateInterfaceImplementation,\n getGetInterfaceImplementation,\n} from './hooks';\n\nexport type PermissionSpecificationsHooks = {\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\nexport type GetPermissionSpecificationsOptions = {\n controllerMessenger: RootControllerMessenger;\n hooks: PermissionSpecificationsHooks;\n runSaga: RunSagaFunction;\n options: SimulationOptions;\n};\n\n/**\n * Get a function which resolves with the specified result.\n *\n * @param result - The result to return.\n * @returns The function implementation.\n */\nexport function resolve(result: unknown) {\n return () => result;\n}\n\n/**\n * Get a function which resolves with the specified result.\n *\n * @param result - The result to return. If not specified, the function will\n * resolve with `undefined`.\n * @returns The function implementation.\n */\nexport function asyncResolve(result?: unknown) {\n return async () => result;\n}\n\n/**\n * Get the permission specifications for the Snap.\n *\n * @param options - The options.\n * @param options.controllerMessenger - The controller messenger.\n * @param options.hooks - The hooks.\n * @param options.runSaga - The function to run a saga outside the usual Redux\n * flow.\n * @param options.options - The simulation options.\n * @returns The permission specifications for the Snap.\n */\nexport function getPermissionSpecifications({\n controllerMessenger,\n hooks,\n runSaga,\n options,\n}: GetPermissionSpecificationsOptions) {\n return {\n ...buildSnapEndowmentSpecifications(EXCLUDED_SNAP_ENDOWMENTS),\n ...buildSnapRestrictedMethodSpecifications(EXCLUDED_SNAP_PERMISSIONS, {\n // Shared hooks.\n ...hooks,\n\n // Encryption and decryption hooks.\n // TODO: Swap these out for the real implementations.\n encrypt: encryptImplementation,\n decrypt: decryptImplementation,\n\n // Snaps-specific hooks.\n clearSnapState: getClearSnapStateMethodImplementation(runSaga),\n getLocale: getGetLocaleMethodImplementation(options),\n getSnapState: getGetSnapStateMethodImplementation(runSaga),\n getUnlockPromise: asyncResolve(true),\n\n // TODO: Allow the user to specify the result of this function.\n isOnPhishingList: resolve(false),\n\n maybeUpdatePhishingList: asyncResolve(),\n showDialog: getShowDialogImplementation(runSaga),\n showInAppNotification: getShowInAppNotificationImplementation(runSaga),\n showNativeNotification: getShowNativeNotificationImplementation(runSaga),\n updateSnapState: getUpdateSnapStateMethodImplementation(runSaga),\n createInterface: getCreateInterfaceImplementation(controllerMessenger),\n getInterface: getGetInterfaceImplementation(controllerMessenger),\n }),\n };\n}\n\n/**\n * Get the endowments for the Snap.\n *\n * @param permissionController - The permission controller.\n * @param snapId - The ID of the Snap.\n * @returns The endowments for the Snap.\n */\nexport async function getEndowments(\n permissionController: GenericPermissionController,\n snapId: SnapId,\n) {\n const allEndowments = await Object.keys(endowmentPermissionBuilders).reduce<\n Promise<string[]>\n >(async (promise, permissionName) => {\n const accumulator = await promise;\n if (permissionController.hasPermission(snapId, permissionName)) {\n const endowments = await permissionController.getEndowments(\n snapId,\n permissionName,\n );\n\n if (endowments) {\n return accumulator.concat(endowments as string[]);\n }\n }\n\n return accumulator;\n }, Promise.resolve([]));\n\n return [...new Set([...DEFAULT_ENDOWMENTS, ...allEndowments])];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,0BAA0B;AA6C5B,SAAS,QAAQ,QAAiB;AACvC,SAAO,MAAM;AACf;AASO,SAAS,aAAa,QAAkB;AAC7C,SAAO,YAAY;AACrB;AAaO,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuC;AACrC,SAAO;AAAA,IACL,GAAG,iCAAiC,wBAAwB;AAAA,IAC5D,GAAG,wCAAwC,2BAA2B;AAAA;AAAA,MAEpE,GAAG;AAAA;AAAA;AAAA,MAIH,SAAS;AAAA,MACT,SAAS;AAAA;AAAA,MAGT,gBAAgB,sCAAsC,OAAO;AAAA,MAC7D,WAAW,iCAAiC,OAAO;AAAA,MACnD,cAAc,oCAAoC,OAAO;AAAA,MACzD,kBAAkB,aAAa,IAAI;AAAA;AAAA,MAGnC,kBAAkB,QAAQ,KAAK;AAAA,MAE/B,yBAAyB,aAAa;AAAA,MACtC,YAAY,4BAA4B,OAAO;AAAA,MAC/C,uBAAuB,uCAAuC,OAAO;AAAA,MACrE,wBAAwB,wCAAwC,OAAO;AAAA,MACvE,iBAAiB,uCAAuC,OAAO;AAAA,MAC/D,iBAAiB,iCAAiC,mBAAmB;AAAA,MACrE,cAAc,8BAA8B,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AACF;AASA,eAAsB,cACpB,sBACA,QACA;AACA,QAAM,gBAAgB,MAAM,OAAO,KAAK,2BAA2B,EAAE,OAEnE,OAAO,SAAS,mBAAmB;AACnC,UAAM,cAAc,MAAM;AAC1B,QAAI,qBAAqB,cAAc,QAAQ,cAAc,GAAG;AAC9D,YAAM,aAAa,MAAM,qBAAqB;AAAA,QAC5C;AAAA,QACA;AAAA,MACF;AAEA,UAAI,YAAY;AACd,eAAO,YAAY,OAAO,UAAsB;AAAA,MAClD;AAAA,IACF;AAEA,WAAO;AAAA,EACT,GAAG,QAAQ,QAAQ,CAAC,CAAC,CAAC;AAEtB,SAAO,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,oBAAoB,GAAG,aAAa,CAAC,CAAC;AAC/D;","names":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkZAQZRYPWjs = require('./chunk-ZAQZRYPW.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunk2YE2P5BZjs = require('./chunk-2YE2P5BZ.js');
|
|
8
|
+
|
|
9
|
+
// src/internals/request.ts
|
|
10
|
+
var _snapsutils = require('@metamask/snaps-utils');
|
|
11
|
+
var _utils = require('@metamask/utils');
|
|
12
|
+
var _toolkit = require('@reduxjs/toolkit');
|
|
13
|
+
function handleRequest({
|
|
14
|
+
snapId,
|
|
15
|
+
store,
|
|
16
|
+
executionService,
|
|
17
|
+
handler,
|
|
18
|
+
controllerMessenger,
|
|
19
|
+
runSaga,
|
|
20
|
+
request: { id = _toolkit.nanoid.call(void 0, ), origin = "https://metamask.io", ...options }
|
|
21
|
+
}) {
|
|
22
|
+
const promise = executionService.handleRpcRequest(snapId, {
|
|
23
|
+
origin,
|
|
24
|
+
handler,
|
|
25
|
+
request: {
|
|
26
|
+
jsonrpc: "2.0",
|
|
27
|
+
id: 1,
|
|
28
|
+
...options
|
|
29
|
+
}
|
|
30
|
+
}).then((result) => {
|
|
31
|
+
const notifications = _chunk2YE2P5BZjs.getNotifications.call(void 0, store.getState());
|
|
32
|
+
store.dispatch(_chunk2YE2P5BZjs.clearNotifications.call(void 0, ));
|
|
33
|
+
const content = getContentFromResult(result, snapId, controllerMessenger);
|
|
34
|
+
return {
|
|
35
|
+
id: String(id),
|
|
36
|
+
response: {
|
|
37
|
+
result: _utils.getSafeJson.call(void 0, result)
|
|
38
|
+
},
|
|
39
|
+
notifications,
|
|
40
|
+
content
|
|
41
|
+
};
|
|
42
|
+
}).catch((error) => {
|
|
43
|
+
const [unwrappedError] = _snapsutils.unwrapError.call(void 0, error);
|
|
44
|
+
return {
|
|
45
|
+
id: String(id),
|
|
46
|
+
response: {
|
|
47
|
+
error: unwrappedError.serialize()
|
|
48
|
+
},
|
|
49
|
+
notifications: []
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
promise.getInterface = async () => {
|
|
53
|
+
return await runSaga(
|
|
54
|
+
_chunkZAQZRYPWjs.getInterface,
|
|
55
|
+
runSaga,
|
|
56
|
+
snapId,
|
|
57
|
+
controllerMessenger
|
|
58
|
+
).toPromise();
|
|
59
|
+
};
|
|
60
|
+
return promise;
|
|
61
|
+
}
|
|
62
|
+
function getContentFromResult(result, snapId, controllerMessenger) {
|
|
63
|
+
if (_utils.isPlainObject.call(void 0, result) && _utils.hasProperty.call(void 0, result, "id")) {
|
|
64
|
+
return controllerMessenger.call(
|
|
65
|
+
"SnapInterfaceController:getInterface",
|
|
66
|
+
snapId,
|
|
67
|
+
result.id
|
|
68
|
+
).content;
|
|
69
|
+
}
|
|
70
|
+
if (_utils.isPlainObject.call(void 0, result) && _utils.hasProperty.call(void 0, result, "content")) {
|
|
71
|
+
return result.content;
|
|
72
|
+
}
|
|
73
|
+
return void 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
exports.handleRequest = handleRequest; exports.getContentFromResult = getContentFromResult;
|
|
80
|
+
//# sourceMappingURL=chunk-HNH5UAKZ.js.map
|