@metamask/snaps-rpc-methods 15.1.1 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -4
- package/dist/index.cjs +1 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/index.mjs.map +1 -1
- package/dist/permissions.cjs +18 -8
- package/dist/permissions.cjs.map +1 -1
- package/dist/permissions.d.cts +3 -2
- package/dist/permissions.d.cts.map +1 -1
- package/dist/permissions.d.mts +3 -2
- package/dist/permissions.d.mts.map +1 -1
- package/dist/permissions.mjs +17 -7
- package/dist/permissions.mjs.map +1 -1
- package/dist/permitted/cancelBackgroundEvent.cjs +10 -14
- package/dist/permitted/cancelBackgroundEvent.cjs.map +1 -1
- package/dist/permitted/cancelBackgroundEvent.d.cts +9 -12
- package/dist/permitted/cancelBackgroundEvent.d.cts.map +1 -1
- package/dist/permitted/cancelBackgroundEvent.d.mts +9 -12
- package/dist/permitted/cancelBackgroundEvent.d.mts.map +1 -1
- package/dist/permitted/cancelBackgroundEvent.mjs +10 -14
- package/dist/permitted/cancelBackgroundEvent.mjs.map +1 -1
- package/dist/permitted/clearState.cjs +10 -16
- package/dist/permitted/clearState.cjs.map +1 -1
- package/dist/permitted/clearState.d.cts +9 -23
- package/dist/permitted/clearState.d.cts.map +1 -1
- package/dist/permitted/clearState.d.mts +9 -23
- package/dist/permitted/clearState.d.mts.map +1 -1
- package/dist/permitted/clearState.mjs +10 -16
- package/dist/permitted/clearState.mjs.map +1 -1
- package/dist/permitted/closeWebSocket.cjs +7 -14
- package/dist/permitted/closeWebSocket.cjs.map +1 -1
- package/dist/permitted/closeWebSocket.d.cts +9 -12
- package/dist/permitted/closeWebSocket.d.cts.map +1 -1
- package/dist/permitted/closeWebSocket.d.mts +9 -12
- package/dist/permitted/closeWebSocket.d.mts.map +1 -1
- package/dist/permitted/closeWebSocket.mjs +7 -14
- package/dist/permitted/closeWebSocket.mjs.map +1 -1
- package/dist/permitted/createInterface.cjs +11 -15
- package/dist/permitted/createInterface.cjs.map +1 -1
- package/dist/permitted/createInterface.d.cts +23 -37
- package/dist/permitted/createInterface.d.cts.map +1 -1
- package/dist/permitted/createInterface.d.mts +23 -37
- package/dist/permitted/createInterface.d.mts.map +1 -1
- package/dist/permitted/createInterface.mjs +11 -15
- package/dist/permitted/createInterface.mjs.map +1 -1
- package/dist/permitted/endTrace.cjs +4 -6
- package/dist/permitted/endTrace.cjs.map +1 -1
- package/dist/permitted/endTrace.d.cts +8 -11
- package/dist/permitted/endTrace.d.cts.map +1 -1
- package/dist/permitted/endTrace.d.mts +8 -11
- package/dist/permitted/endTrace.d.mts.map +1 -1
- package/dist/permitted/endTrace.mjs +4 -6
- package/dist/permitted/endTrace.mjs.map +1 -1
- package/dist/permitted/getAllSnaps.cjs +5 -11
- package/dist/permitted/getAllSnaps.cjs.map +1 -1
- package/dist/permitted/getAllSnaps.d.cts +10 -14
- package/dist/permitted/getAllSnaps.d.cts.map +1 -1
- package/dist/permitted/getAllSnaps.d.mts +10 -14
- package/dist/permitted/getAllSnaps.d.mts.map +1 -1
- package/dist/permitted/getAllSnaps.mjs +5 -11
- package/dist/permitted/getAllSnaps.mjs.map +1 -1
- package/dist/permitted/getBackgroundEvents.cjs +8 -15
- package/dist/permitted/getBackgroundEvents.cjs.map +1 -1
- package/dist/permitted/getBackgroundEvents.d.cts +10 -13
- package/dist/permitted/getBackgroundEvents.d.cts.map +1 -1
- package/dist/permitted/getBackgroundEvents.d.mts +10 -13
- package/dist/permitted/getBackgroundEvents.d.mts.map +1 -1
- package/dist/permitted/getBackgroundEvents.mjs +8 -15
- package/dist/permitted/getBackgroundEvents.mjs.map +1 -1
- package/dist/permitted/getClientStatus.cjs +5 -6
- package/dist/permitted/getClientStatus.cjs.map +1 -1
- package/dist/permitted/getClientStatus.d.cts +17 -18
- package/dist/permitted/getClientStatus.d.cts.map +1 -1
- package/dist/permitted/getClientStatus.d.mts +17 -18
- package/dist/permitted/getClientStatus.d.mts.map +1 -1
- package/dist/permitted/getClientStatus.mjs +5 -6
- package/dist/permitted/getClientStatus.mjs.map +1 -1
- package/dist/permitted/getFile.cjs +7 -11
- package/dist/permitted/getFile.cjs.map +1 -1
- package/dist/permitted/getFile.d.cts +8 -10
- package/dist/permitted/getFile.d.cts.map +1 -1
- package/dist/permitted/getFile.d.mts +8 -10
- package/dist/permitted/getFile.d.mts.map +1 -1
- package/dist/permitted/getFile.mjs +7 -11
- package/dist/permitted/getFile.mjs.map +1 -1
- package/dist/permitted/getInterfaceContext.cjs +12 -15
- package/dist/permitted/getInterfaceContext.cjs.map +1 -1
- package/dist/permitted/getInterfaceContext.d.cts +9 -21
- package/dist/permitted/getInterfaceContext.d.cts.map +1 -1
- package/dist/permitted/getInterfaceContext.d.mts +9 -21
- package/dist/permitted/getInterfaceContext.d.mts.map +1 -1
- package/dist/permitted/getInterfaceContext.mjs +12 -15
- package/dist/permitted/getInterfaceContext.mjs.map +1 -1
- package/dist/permitted/getInterfaceState.cjs +11 -15
- package/dist/permitted/getInterfaceState.cjs.map +1 -1
- package/dist/permitted/getInterfaceState.d.cts +9 -21
- package/dist/permitted/getInterfaceState.d.cts.map +1 -1
- package/dist/permitted/getInterfaceState.d.mts +9 -21
- package/dist/permitted/getInterfaceState.d.mts.map +1 -1
- package/dist/permitted/getInterfaceState.mjs +11 -15
- package/dist/permitted/getInterfaceState.mjs.map +1 -1
- package/dist/permitted/getSnaps.cjs +6 -12
- package/dist/permitted/getSnaps.cjs.map +1 -1
- package/dist/permitted/getSnaps.d.cts +11 -14
- package/dist/permitted/getSnaps.d.cts.map +1 -1
- package/dist/permitted/getSnaps.d.mts +11 -14
- package/dist/permitted/getSnaps.d.mts.map +1 -1
- package/dist/permitted/getSnaps.mjs +6 -12
- package/dist/permitted/getSnaps.mjs.map +1 -1
- package/dist/permitted/getState.cjs +9 -11
- package/dist/permitted/getState.cjs.map +1 -1
- package/dist/permitted/getState.d.cts +17 -28
- package/dist/permitted/getState.d.cts.map +1 -1
- package/dist/permitted/getState.d.mts +17 -28
- package/dist/permitted/getState.d.mts.map +1 -1
- package/dist/permitted/getState.mjs +9 -11
- package/dist/permitted/getState.mjs.map +1 -1
- package/dist/permitted/getWebSockets.cjs +11 -14
- package/dist/permitted/getWebSockets.cjs.map +1 -1
- package/dist/permitted/getWebSockets.d.cts +10 -13
- package/dist/permitted/getWebSockets.d.cts.map +1 -1
- package/dist/permitted/getWebSockets.d.mts +10 -13
- package/dist/permitted/getWebSockets.d.mts.map +1 -1
- package/dist/permitted/getWebSockets.mjs +11 -14
- package/dist/permitted/getWebSockets.mjs.map +1 -1
- package/dist/permitted/index.cjs +0 -1
- package/dist/permitted/index.cjs.map +1 -1
- package/dist/permitted/index.d.cts +29 -25
- package/dist/permitted/index.d.cts.map +1 -1
- package/dist/permitted/index.d.mts +29 -25
- package/dist/permitted/index.d.mts.map +1 -1
- package/dist/permitted/index.mjs +0 -1
- package/dist/permitted/index.mjs.map +1 -1
- package/dist/permitted/invokeKeyring.cjs +12 -13
- package/dist/permitted/invokeKeyring.cjs.map +1 -1
- package/dist/permitted/invokeKeyring.d.cts +17 -16
- package/dist/permitted/invokeKeyring.d.cts.map +1 -1
- package/dist/permitted/invokeKeyring.d.mts +17 -16
- package/dist/permitted/invokeKeyring.d.mts.map +1 -1
- package/dist/permitted/invokeKeyring.mjs +12 -13
- package/dist/permitted/invokeKeyring.mjs.map +1 -1
- package/dist/permitted/invokeSnapSugar.cjs +6 -10
- package/dist/permitted/invokeSnapSugar.cjs.map +1 -1
- package/dist/permitted/invokeSnapSugar.d.cts +9 -12
- package/dist/permitted/invokeSnapSugar.d.cts.map +1 -1
- package/dist/permitted/invokeSnapSugar.d.mts +9 -12
- package/dist/permitted/invokeSnapSugar.d.mts.map +1 -1
- package/dist/permitted/invokeSnapSugar.mjs +6 -10
- package/dist/permitted/invokeSnapSugar.mjs.map +1 -1
- package/dist/permitted/listEntropySources.cjs +28 -12
- package/dist/permitted/listEntropySources.cjs.map +1 -1
- package/dist/permitted/listEntropySources.d.cts +12 -23
- package/dist/permitted/listEntropySources.d.cts.map +1 -1
- package/dist/permitted/listEntropySources.d.mts +12 -23
- package/dist/permitted/listEntropySources.d.mts.map +1 -1
- package/dist/permitted/listEntropySources.mjs +28 -12
- package/dist/permitted/listEntropySources.mjs.map +1 -1
- package/dist/permitted/middleware.cjs +70 -20
- package/dist/permitted/middleware.cjs.map +1 -1
- package/dist/permitted/middleware.d.cts +5 -2
- package/dist/permitted/middleware.d.cts.map +1 -1
- package/dist/permitted/middleware.d.mts +5 -2
- package/dist/permitted/middleware.d.mts.map +1 -1
- package/dist/permitted/middleware.mjs +70 -20
- package/dist/permitted/middleware.mjs.map +1 -1
- package/dist/permitted/openWebSocket.cjs +7 -14
- package/dist/permitted/openWebSocket.cjs.map +1 -1
- package/dist/permitted/openWebSocket.d.cts +9 -12
- package/dist/permitted/openWebSocket.d.cts.map +1 -1
- package/dist/permitted/openWebSocket.d.mts +9 -12
- package/dist/permitted/openWebSocket.d.mts.map +1 -1
- package/dist/permitted/openWebSocket.mjs +7 -14
- package/dist/permitted/openWebSocket.mjs.map +1 -1
- package/dist/permitted/requestSnaps.cjs +14 -19
- package/dist/permitted/requestSnaps.cjs.map +1 -1
- package/dist/permitted/requestSnaps.d.cts +9 -36
- package/dist/permitted/requestSnaps.d.cts.map +1 -1
- package/dist/permitted/requestSnaps.d.mts +9 -36
- package/dist/permitted/requestSnaps.d.mts.map +1 -1
- package/dist/permitted/requestSnaps.mjs +15 -20
- package/dist/permitted/requestSnaps.mjs.map +1 -1
- package/dist/permitted/resolveInterface.cjs +11 -15
- package/dist/permitted/resolveInterface.cjs.map +1 -1
- package/dist/permitted/resolveInterface.d.cts +12 -24
- package/dist/permitted/resolveInterface.d.cts.map +1 -1
- package/dist/permitted/resolveInterface.d.mts +12 -24
- package/dist/permitted/resolveInterface.d.mts.map +1 -1
- package/dist/permitted/resolveInterface.mjs +11 -15
- package/dist/permitted/resolveInterface.mjs.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.cjs +11 -14
- package/dist/permitted/scheduleBackgroundEvent.cjs.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.d.cts +10 -17
- package/dist/permitted/scheduleBackgroundEvent.d.cts.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.d.mts +10 -17
- package/dist/permitted/scheduleBackgroundEvent.d.mts.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.mjs +11 -14
- package/dist/permitted/scheduleBackgroundEvent.mjs.map +1 -1
- package/dist/permitted/sendWebSocketMessage.cjs +10 -14
- package/dist/permitted/sendWebSocketMessage.cjs.map +1 -1
- package/dist/permitted/sendWebSocketMessage.d.cts +9 -12
- package/dist/permitted/sendWebSocketMessage.d.cts.map +1 -1
- package/dist/permitted/sendWebSocketMessage.d.mts +9 -12
- package/dist/permitted/sendWebSocketMessage.d.mts.map +1 -1
- package/dist/permitted/sendWebSocketMessage.mjs +10 -14
- package/dist/permitted/sendWebSocketMessage.mjs.map +1 -1
- package/dist/permitted/setState.cjs +18 -21
- package/dist/permitted/setState.cjs.map +1 -1
- package/dist/permitted/setState.d.cts +18 -45
- package/dist/permitted/setState.d.cts.map +1 -1
- package/dist/permitted/setState.d.mts +18 -45
- package/dist/permitted/setState.d.mts.map +1 -1
- package/dist/permitted/setState.mjs +18 -21
- package/dist/permitted/setState.mjs.map +1 -1
- package/dist/permitted/startTrace.cjs +4 -6
- package/dist/permitted/startTrace.cjs.map +1 -1
- package/dist/permitted/startTrace.d.cts +8 -11
- package/dist/permitted/startTrace.d.cts.map +1 -1
- package/dist/permitted/startTrace.d.mts +8 -11
- package/dist/permitted/startTrace.d.mts.map +1 -1
- package/dist/permitted/startTrace.mjs +4 -6
- package/dist/permitted/startTrace.mjs.map +1 -1
- package/dist/permitted/trackError.cjs +4 -6
- package/dist/permitted/trackError.cjs.map +1 -1
- package/dist/permitted/trackError.d.cts +8 -11
- package/dist/permitted/trackError.d.cts.map +1 -1
- package/dist/permitted/trackError.d.mts +8 -11
- package/dist/permitted/trackError.d.mts.map +1 -1
- package/dist/permitted/trackError.mjs +4 -6
- package/dist/permitted/trackError.mjs.map +1 -1
- package/dist/permitted/trackEvent.cjs +4 -6
- package/dist/permitted/trackEvent.cjs.map +1 -1
- package/dist/permitted/trackEvent.d.cts +8 -11
- package/dist/permitted/trackEvent.d.cts.map +1 -1
- package/dist/permitted/trackEvent.d.mts +8 -11
- package/dist/permitted/trackEvent.d.mts.map +1 -1
- package/dist/permitted/trackEvent.mjs +4 -6
- package/dist/permitted/trackEvent.mjs.map +1 -1
- package/dist/permitted/updateInterface.cjs +11 -15
- package/dist/permitted/updateInterface.cjs.map +1 -1
- package/dist/permitted/updateInterface.d.cts +9 -22
- package/dist/permitted/updateInterface.d.cts.map +1 -1
- package/dist/permitted/updateInterface.d.mts +9 -22
- package/dist/permitted/updateInterface.d.mts.map +1 -1
- package/dist/permitted/updateInterface.mjs +11 -15
- package/dist/permitted/updateInterface.mjs.map +1 -1
- package/dist/restricted/dialog.cjs +23 -30
- package/dist/restricted/dialog.cjs.map +1 -1
- package/dist/restricted/dialog.d.cts +10 -58
- package/dist/restricted/dialog.d.cts.map +1 -1
- package/dist/restricted/dialog.d.mts +10 -58
- package/dist/restricted/dialog.d.mts.map +1 -1
- package/dist/restricted/dialog.mjs +23 -30
- package/dist/restricted/dialog.mjs.map +1 -1
- package/dist/restricted/getBip32Entropy.cjs +15 -12
- package/dist/restricted/getBip32Entropy.cjs.map +1 -1
- package/dist/restricted/getBip32Entropy.d.cts +11 -24
- package/dist/restricted/getBip32Entropy.d.cts.map +1 -1
- package/dist/restricted/getBip32Entropy.d.mts +11 -24
- package/dist/restricted/getBip32Entropy.d.mts.map +1 -1
- package/dist/restricted/getBip32Entropy.mjs +16 -13
- package/dist/restricted/getBip32Entropy.mjs.map +1 -1
- package/dist/restricted/getBip32PublicKey.cjs +15 -12
- package/dist/restricted/getBip32PublicKey.cjs.map +1 -1
- package/dist/restricted/getBip32PublicKey.d.cts +11 -24
- package/dist/restricted/getBip32PublicKey.d.cts.map +1 -1
- package/dist/restricted/getBip32PublicKey.d.mts +11 -24
- package/dist/restricted/getBip32PublicKey.d.mts.map +1 -1
- package/dist/restricted/getBip32PublicKey.mjs +16 -13
- package/dist/restricted/getBip32PublicKey.mjs.map +1 -1
- package/dist/restricted/getBip44Entropy.cjs +14 -10
- package/dist/restricted/getBip44Entropy.cjs.map +1 -1
- package/dist/restricted/getBip44Entropy.d.cts +11 -15
- package/dist/restricted/getBip44Entropy.d.cts.map +1 -1
- package/dist/restricted/getBip44Entropy.d.mts +11 -15
- package/dist/restricted/getBip44Entropy.d.mts.map +1 -1
- package/dist/restricted/getBip44Entropy.mjs +15 -11
- package/dist/restricted/getBip44Entropy.mjs.map +1 -1
- package/dist/restricted/getEntropy.cjs +10 -10
- package/dist/restricted/getEntropy.cjs.map +1 -1
- package/dist/restricted/getEntropy.d.cts +11 -15
- package/dist/restricted/getEntropy.d.cts.map +1 -1
- package/dist/restricted/getEntropy.d.mts +11 -15
- package/dist/restricted/getEntropy.d.mts.map +1 -1
- package/dist/restricted/getEntropy.mjs +11 -11
- package/dist/restricted/getEntropy.mjs.map +1 -1
- package/dist/restricted/index.cjs.map +1 -1
- package/dist/restricted/index.d.cts +20 -160
- package/dist/restricted/index.d.cts.map +1 -1
- package/dist/restricted/index.d.mts +20 -160
- package/dist/restricted/index.d.mts.map +1 -1
- package/dist/restricted/index.mjs.map +1 -1
- package/dist/restricted/invokeSnap.cjs +11 -12
- package/dist/restricted/invokeSnap.cjs.map +1 -1
- package/dist/restricted/invokeSnap.d.cts +9 -13
- package/dist/restricted/invokeSnap.d.cts.map +1 -1
- package/dist/restricted/invokeSnap.d.mts +9 -13
- package/dist/restricted/invokeSnap.d.mts.map +1 -1
- package/dist/restricted/invokeSnap.mjs +11 -12
- package/dist/restricted/invokeSnap.mjs.map +1 -1
- package/dist/restricted/manageState.cjs +21 -20
- package/dist/restricted/manageState.cjs.map +1 -1
- package/dist/restricted/manageState.d.cts +12 -34
- package/dist/restricted/manageState.d.cts.map +1 -1
- package/dist/restricted/manageState.d.mts +12 -34
- package/dist/restricted/manageState.d.mts.map +1 -1
- package/dist/restricted/manageState.mjs +21 -20
- package/dist/restricted/manageState.mjs.map +1 -1
- package/dist/restricted/notify.cjs +31 -24
- package/dist/restricted/notify.cjs.map +1 -1
- package/dist/restricted/notify.d.cts +16 -25
- package/dist/restricted/notify.d.cts.map +1 -1
- package/dist/restricted/notify.d.mts +16 -25
- package/dist/restricted/notify.d.mts.map +1 -1
- package/dist/restricted/notify.mjs +32 -25
- package/dist/restricted/notify.mjs.map +1 -1
- package/dist/types.cjs +3 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +155 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +155 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +2 -0
- package/dist/types.mjs.map +1 -0
- package/dist/utils.cjs +78 -24
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +21 -13
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.mts +21 -13
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.mjs +75 -22
- package/dist/utils.mjs.map +1 -1
- package/package.json +6 -6
- package/dist/permitted/handlers.cjs +0 -63
- package/dist/permitted/handlers.cjs.map +0 -1
- package/dist/permitted/handlers.d.cts +0 -299
- package/dist/permitted/handlers.d.cts.map +0 -1
- package/dist/permitted/handlers.d.mts +0 -299
- package/dist/permitted/handlers.d.mts.map +0 -1
- package/dist/permitted/handlers.mjs +0 -60
- package/dist/permitted/handlers.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientStatus.cjs","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getClientStatus.cjs","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":";;;AAMA,uDAA2D;AAU3D,MAAM,SAAS,GAAkD;IAC/D,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;CACjB,CAAC;AAgBF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACU,QAAA,sBAAsB,GAAG;IACpC,cAAc,EAAE,6BAA6B;IAC7C,SAAS;IACT,WAAW,EAAE,CAAC,4BAA4B,CAAC;CAM5C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,6BAA6B,CAC1C,QAAwB,EACxB,QAAuD,EACvD,KAAc,EACd,GAA6B,EAC7B,EAAE,WAAW,EAAE,UAAU,EAA8B,EACvD,SAA0D;IAE1D,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAEpE,QAAQ,CAAC,MAAM,GAAG;QAChB,MAAM,EAAE,CAAC,UAAU;QACnB,MAAM,EAAE,WAAW,EAAE;QACrB,aAAa,EAAE,UAAU,EAAE;QAC3B,eAAe,EAAE,IAAA,gCAAkB,GAAE;KACtC,CAAC;IACF,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport type { GetClientStatusResult } from '@metamask/snaps-sdk';\nimport { getPlatformVersion } from '@metamask/snaps-utils';\nimport type {\n JsonRpcParams,\n JsonRpcRequest,\n PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nimport type { KeyringControllerGetStateAction } from '../types';\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<GetClientStatusMethodHooks> = {\n getIsActive: true,\n getVersion: true,\n};\n\nexport type GetClientStatusMethodHooks = {\n /**\n * @returns Whether the client is active or not.\n */\n getIsActive: () => boolean;\n\n /**\n * @returns The version string for the client.\n */\n getVersion: () => string;\n};\n\nexport type GetClientStatusMethodActions = KeyringControllerGetStateAction;\n\n/**\n * Get the status of the client running the Snap.\n *\n * @example\n * ```ts\n * import type { OnCronjobHandler } from '@metamask/snaps-sdk'\n * import { MethodNotFoundError } from '@metamask/snaps-sdk'\n *\n * export const onCronjob: OnCronjobHandler = async ({ request }) => {\n * switch (request.method) {\n * case 'execute':\n * // Find out if MetaMask is locked.\n * const { locked } = await snap.request({\n * method: 'snap_getClientStatus',\n * })\n *\n * if (!locked) {\n * // Do something that requires MetaMask to be unlocked, such as\n * // accessing the encrypted state.\n * }\n *\n * default:\n * throw new MethodNotFoundError()\n * }\n * }\n * ```\n */\nexport const getClientStatusHandler = {\n implementation: getClientStatusImplementation,\n hookNames,\n actionNames: ['KeyringController:getState'],\n} satisfies MethodHandler<\n GetClientStatusMethodHooks,\n GetClientStatusMethodActions,\n JsonRpcParams,\n GetClientStatusResult\n>;\n\n/**\n * The `snap_getClientStatus` method implementation.\n * Returns useful information about the client running the snap.\n *\n * @param _request - The JSON-RPC request object. Not used by this function.\n * @param response - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.getIsActive - A function that returns whether the client is opened or not.\n * @param hooks.getVersion - A function that returns the client version.\n * @param messenger - The messenger used to call controller actions.\n * @returns Nothing.\n */\nasync function getClientStatusImplementation(\n _request: JsonRpcRequest,\n response: PendingJsonRpcResponse<GetClientStatusResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getIsActive, getVersion }: GetClientStatusMethodHooks,\n messenger: Messenger<string, GetClientStatusMethodActions>,\n): Promise<void> {\n const { isUnlocked } = messenger.call('KeyringController:getState');\n\n response.result = {\n locked: !isUnlocked,\n active: getIsActive(),\n clientVersion: getVersion(),\n platformVersion: getPlatformVersion(),\n };\n return end();\n}\n"]}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
|
+
import type { Messenger } from "@metamask/messenger";
|
|
2
3
|
import type { GetClientStatusResult } from "@metamask/snaps-sdk";
|
|
3
4
|
import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
|
|
5
|
+
import type { KeyringControllerGetStateAction } from "../types.cjs";
|
|
4
6
|
import type { MethodHooksObject } from "../utils.cjs";
|
|
7
|
+
export type GetClientStatusMethodHooks = {
|
|
8
|
+
/**
|
|
9
|
+
* @returns Whether the client is active or not.
|
|
10
|
+
*/
|
|
11
|
+
getIsActive: () => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* @returns The version string for the client.
|
|
14
|
+
*/
|
|
15
|
+
getVersion: () => string;
|
|
16
|
+
};
|
|
17
|
+
export type GetClientStatusMethodActions = KeyringControllerGetStateAction;
|
|
5
18
|
/**
|
|
6
19
|
* Get the status of the client running the Snap.
|
|
7
20
|
*
|
|
@@ -30,23 +43,9 @@ import type { MethodHooksObject } from "../utils.cjs";
|
|
|
30
43
|
* ```
|
|
31
44
|
*/
|
|
32
45
|
export declare const getClientStatusHandler: {
|
|
33
|
-
methodNames: ["snap_getClientStatus"];
|
|
34
46
|
implementation: typeof getClientStatusImplementation;
|
|
35
|
-
hookNames: MethodHooksObject<
|
|
36
|
-
|
|
37
|
-
export type GetClientStatusHooks = {
|
|
38
|
-
/**
|
|
39
|
-
* @returns Whether the client is locked or not.
|
|
40
|
-
*/
|
|
41
|
-
getIsLocked: () => boolean;
|
|
42
|
-
/**
|
|
43
|
-
* @returns Whether the client is active or not.
|
|
44
|
-
*/
|
|
45
|
-
getIsActive: () => boolean;
|
|
46
|
-
/**
|
|
47
|
-
* @returns The version string for the client.
|
|
48
|
-
*/
|
|
49
|
-
getVersion: () => string;
|
|
47
|
+
hookNames: MethodHooksObject<GetClientStatusMethodHooks>;
|
|
48
|
+
actionNames: "KeyringController:getState"[];
|
|
50
49
|
};
|
|
51
50
|
/**
|
|
52
51
|
* The `snap_getClientStatus` method implementation.
|
|
@@ -58,11 +57,11 @@ export type GetClientStatusHooks = {
|
|
|
58
57
|
* function.
|
|
59
58
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
60
59
|
* @param hooks - The RPC method hooks.
|
|
61
|
-
* @param hooks.getIsLocked - A function that returns whether the client is locked or not.
|
|
62
60
|
* @param hooks.getIsActive - A function that returns whether the client is opened or not.
|
|
63
61
|
* @param hooks.getVersion - A function that returns the client version.
|
|
62
|
+
* @param messenger - The messenger used to call controller actions.
|
|
64
63
|
* @returns Nothing.
|
|
65
64
|
*/
|
|
66
|
-
declare function getClientStatusImplementation(_request: JsonRpcRequest, response: PendingJsonRpcResponse<GetClientStatusResult>, _next: unknown, end: JsonRpcEngineEndCallback, {
|
|
65
|
+
declare function getClientStatusImplementation(_request: JsonRpcRequest, response: PendingJsonRpcResponse<GetClientStatusResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getIsActive, getVersion }: GetClientStatusMethodHooks, messenger: Messenger<string, GetClientStatusMethodActions>): Promise<void>;
|
|
67
66
|
export {};
|
|
68
67
|
//# sourceMappingURL=getClientStatus.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientStatus.d.cts","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getClientStatus.d.cts","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAA4B;AAEjE,OAAO,KAAK,EAEV,cAAc,EACd,sBAAsB,EACvB,wBAAwB;AAEzB,OAAO,KAAK,EAAE,+BAA+B,EAAE,qBAAiB;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AAOlD,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,+BAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,sBAAsB;;;;CASlC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,iBAAe,6BAA6B,CAC1C,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sBAAsB,CAAC,qBAAqB,CAAC,EACvD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,0BAA0B,EACvD,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,4BAA4B,CAAC,GACzD,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
|
+
import type { Messenger } from "@metamask/messenger";
|
|
2
3
|
import type { GetClientStatusResult } from "@metamask/snaps-sdk";
|
|
3
4
|
import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
|
|
5
|
+
import type { KeyringControllerGetStateAction } from "../types.mjs";
|
|
4
6
|
import type { MethodHooksObject } from "../utils.mjs";
|
|
7
|
+
export type GetClientStatusMethodHooks = {
|
|
8
|
+
/**
|
|
9
|
+
* @returns Whether the client is active or not.
|
|
10
|
+
*/
|
|
11
|
+
getIsActive: () => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* @returns The version string for the client.
|
|
14
|
+
*/
|
|
15
|
+
getVersion: () => string;
|
|
16
|
+
};
|
|
17
|
+
export type GetClientStatusMethodActions = KeyringControllerGetStateAction;
|
|
5
18
|
/**
|
|
6
19
|
* Get the status of the client running the Snap.
|
|
7
20
|
*
|
|
@@ -30,23 +43,9 @@ import type { MethodHooksObject } from "../utils.mjs";
|
|
|
30
43
|
* ```
|
|
31
44
|
*/
|
|
32
45
|
export declare const getClientStatusHandler: {
|
|
33
|
-
methodNames: ["snap_getClientStatus"];
|
|
34
46
|
implementation: typeof getClientStatusImplementation;
|
|
35
|
-
hookNames: MethodHooksObject<
|
|
36
|
-
|
|
37
|
-
export type GetClientStatusHooks = {
|
|
38
|
-
/**
|
|
39
|
-
* @returns Whether the client is locked or not.
|
|
40
|
-
*/
|
|
41
|
-
getIsLocked: () => boolean;
|
|
42
|
-
/**
|
|
43
|
-
* @returns Whether the client is active or not.
|
|
44
|
-
*/
|
|
45
|
-
getIsActive: () => boolean;
|
|
46
|
-
/**
|
|
47
|
-
* @returns The version string for the client.
|
|
48
|
-
*/
|
|
49
|
-
getVersion: () => string;
|
|
47
|
+
hookNames: MethodHooksObject<GetClientStatusMethodHooks>;
|
|
48
|
+
actionNames: "KeyringController:getState"[];
|
|
50
49
|
};
|
|
51
50
|
/**
|
|
52
51
|
* The `snap_getClientStatus` method implementation.
|
|
@@ -58,11 +57,11 @@ export type GetClientStatusHooks = {
|
|
|
58
57
|
* function.
|
|
59
58
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
60
59
|
* @param hooks - The RPC method hooks.
|
|
61
|
-
* @param hooks.getIsLocked - A function that returns whether the client is locked or not.
|
|
62
60
|
* @param hooks.getIsActive - A function that returns whether the client is opened or not.
|
|
63
61
|
* @param hooks.getVersion - A function that returns the client version.
|
|
62
|
+
* @param messenger - The messenger used to call controller actions.
|
|
64
63
|
* @returns Nothing.
|
|
65
64
|
*/
|
|
66
|
-
declare function getClientStatusImplementation(_request: JsonRpcRequest, response: PendingJsonRpcResponse<GetClientStatusResult>, _next: unknown, end: JsonRpcEngineEndCallback, {
|
|
65
|
+
declare function getClientStatusImplementation(_request: JsonRpcRequest, response: PendingJsonRpcResponse<GetClientStatusResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getIsActive, getVersion }: GetClientStatusMethodHooks, messenger: Messenger<string, GetClientStatusMethodActions>): Promise<void>;
|
|
67
66
|
export {};
|
|
68
67
|
//# sourceMappingURL=getClientStatus.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientStatus.d.mts","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getClientStatus.d.mts","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAA4B;AAEjE,OAAO,KAAK,EAEV,cAAc,EACd,sBAAsB,EACvB,wBAAwB;AAEzB,OAAO,KAAK,EAAE,+BAA+B,EAAE,qBAAiB;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AAOlD,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,+BAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,sBAAsB;;;;CASlC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,iBAAe,6BAA6B,CAC1C,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sBAAsB,CAAC,qBAAqB,CAAC,EACvD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,0BAA0B,EACvD,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,4BAA4B,CAAC,GACzD,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { getPlatformVersion } from "@metamask/snaps-utils";
|
|
2
|
-
const methodName = 'snap_getClientStatus';
|
|
3
2
|
const hookNames = {
|
|
4
|
-
getIsLocked: true,
|
|
5
3
|
getIsActive: true,
|
|
6
4
|
getVersion: true,
|
|
7
5
|
};
|
|
@@ -33,9 +31,9 @@ const hookNames = {
|
|
|
33
31
|
* ```
|
|
34
32
|
*/
|
|
35
33
|
export const getClientStatusHandler = {
|
|
36
|
-
methodNames: [methodName],
|
|
37
34
|
implementation: getClientStatusImplementation,
|
|
38
35
|
hookNames,
|
|
36
|
+
actionNames: ['KeyringController:getState'],
|
|
39
37
|
};
|
|
40
38
|
/**
|
|
41
39
|
* The `snap_getClientStatus` method implementation.
|
|
@@ -47,14 +45,15 @@ export const getClientStatusHandler = {
|
|
|
47
45
|
* function.
|
|
48
46
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
49
47
|
* @param hooks - The RPC method hooks.
|
|
50
|
-
* @param hooks.getIsLocked - A function that returns whether the client is locked or not.
|
|
51
48
|
* @param hooks.getIsActive - A function that returns whether the client is opened or not.
|
|
52
49
|
* @param hooks.getVersion - A function that returns the client version.
|
|
50
|
+
* @param messenger - The messenger used to call controller actions.
|
|
53
51
|
* @returns Nothing.
|
|
54
52
|
*/
|
|
55
|
-
async function getClientStatusImplementation(_request, response, _next, end, {
|
|
53
|
+
async function getClientStatusImplementation(_request, response, _next, end, { getIsActive, getVersion }, messenger) {
|
|
54
|
+
const { isUnlocked } = messenger.call('KeyringController:getState');
|
|
56
55
|
response.result = {
|
|
57
|
-
locked:
|
|
56
|
+
locked: !isUnlocked,
|
|
58
57
|
active: getIsActive(),
|
|
59
58
|
clientVersion: getVersion(),
|
|
60
59
|
platformVersion: getPlatformVersion(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientStatus.mjs","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getClientStatus.mjs","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,8BAA8B;AAU3D,MAAM,SAAS,GAAkD;IAC/D,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;CACjB,CAAC;AAgBF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,cAAc,EAAE,6BAA6B;IAC7C,SAAS;IACT,WAAW,EAAE,CAAC,4BAA4B,CAAC;CAM5C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,6BAA6B,CAC1C,QAAwB,EACxB,QAAuD,EACvD,KAAc,EACd,GAA6B,EAC7B,EAAE,WAAW,EAAE,UAAU,EAA8B,EACvD,SAA0D;IAE1D,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAEpE,QAAQ,CAAC,MAAM,GAAG;QAChB,MAAM,EAAE,CAAC,UAAU;QACnB,MAAM,EAAE,WAAW,EAAE;QACrB,aAAa,EAAE,UAAU,EAAE;QAC3B,eAAe,EAAE,kBAAkB,EAAE;KACtC,CAAC;IACF,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport type { GetClientStatusResult } from '@metamask/snaps-sdk';\nimport { getPlatformVersion } from '@metamask/snaps-utils';\nimport type {\n JsonRpcParams,\n JsonRpcRequest,\n PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nimport type { KeyringControllerGetStateAction } from '../types';\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<GetClientStatusMethodHooks> = {\n getIsActive: true,\n getVersion: true,\n};\n\nexport type GetClientStatusMethodHooks = {\n /**\n * @returns Whether the client is active or not.\n */\n getIsActive: () => boolean;\n\n /**\n * @returns The version string for the client.\n */\n getVersion: () => string;\n};\n\nexport type GetClientStatusMethodActions = KeyringControllerGetStateAction;\n\n/**\n * Get the status of the client running the Snap.\n *\n * @example\n * ```ts\n * import type { OnCronjobHandler } from '@metamask/snaps-sdk'\n * import { MethodNotFoundError } from '@metamask/snaps-sdk'\n *\n * export const onCronjob: OnCronjobHandler = async ({ request }) => {\n * switch (request.method) {\n * case 'execute':\n * // Find out if MetaMask is locked.\n * const { locked } = await snap.request({\n * method: 'snap_getClientStatus',\n * })\n *\n * if (!locked) {\n * // Do something that requires MetaMask to be unlocked, such as\n * // accessing the encrypted state.\n * }\n *\n * default:\n * throw new MethodNotFoundError()\n * }\n * }\n * ```\n */\nexport const getClientStatusHandler = {\n implementation: getClientStatusImplementation,\n hookNames,\n actionNames: ['KeyringController:getState'],\n} satisfies MethodHandler<\n GetClientStatusMethodHooks,\n GetClientStatusMethodActions,\n JsonRpcParams,\n GetClientStatusResult\n>;\n\n/**\n * The `snap_getClientStatus` method implementation.\n * Returns useful information about the client running the snap.\n *\n * @param _request - The JSON-RPC request object. Not used by this function.\n * @param response - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.getIsActive - A function that returns whether the client is opened or not.\n * @param hooks.getVersion - A function that returns the client version.\n * @param messenger - The messenger used to call controller actions.\n * @returns Nothing.\n */\nasync function getClientStatusImplementation(\n _request: JsonRpcRequest,\n response: PendingJsonRpcResponse<GetClientStatusResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getIsActive, getVersion }: GetClientStatusMethodHooks,\n messenger: Messenger<string, GetClientStatusMethodActions>,\n): Promise<void> {\n const { isUnlocked } = messenger.call('KeyringController:getState');\n\n response.result = {\n locked: !isUnlocked,\n active: getIsActive(),\n clientVersion: getVersion(),\n platformVersion: getPlatformVersion(),\n };\n return end();\n}\n"]}
|
|
@@ -13,10 +13,6 @@ exports.GetFileArgsStruct = (0, superstruct_1.object)({
|
|
|
13
13
|
(0, snaps_sdk_1.enumValue)(snaps_sdk_1.AuxiliaryFileEncoding.Utf8),
|
|
14
14
|
])),
|
|
15
15
|
});
|
|
16
|
-
const methodName = 'snap_getFile';
|
|
17
|
-
const hookNames = {
|
|
18
|
-
getSnapFile: true,
|
|
19
|
-
};
|
|
20
16
|
/**
|
|
21
17
|
* Gets a static file's content in UTF-8, Base64, or hexadecimal.
|
|
22
18
|
*
|
|
@@ -44,9 +40,8 @@ const hookNames = {
|
|
|
44
40
|
* ```
|
|
45
41
|
*/
|
|
46
42
|
exports.getFileHandler = {
|
|
47
|
-
methodNames: [methodName],
|
|
48
43
|
implementation,
|
|
49
|
-
|
|
44
|
+
actionNames: ['SnapController:getSnapFile'],
|
|
50
45
|
};
|
|
51
46
|
/**
|
|
52
47
|
* The `snap_getFile` method implementation.
|
|
@@ -56,15 +51,16 @@ exports.getFileHandler = {
|
|
|
56
51
|
* @param _next - The `json-rpc-engine` "next" callback. Not used by this
|
|
57
52
|
* function.
|
|
58
53
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
59
|
-
* @param
|
|
60
|
-
* @param
|
|
54
|
+
* @param _hooks - The RPC method hooks. Not used by this function.
|
|
55
|
+
* @param messenger - The messenger used to call controller actions.
|
|
61
56
|
* @returns Nothing.
|
|
62
57
|
*/
|
|
63
|
-
async function implementation(req, res, _next, end,
|
|
64
|
-
const { params } = req;
|
|
58
|
+
async function implementation(req, res, _next, end, _hooks, messenger) {
|
|
59
|
+
const { params, origin } = req;
|
|
65
60
|
(0, utils_1.assertStruct)(params, exports.GetFileArgsStruct, 'Invalid "snap_getFile" parameters', rpc_errors_1.rpcErrors.invalidParams);
|
|
66
61
|
try {
|
|
67
|
-
res.result = await getSnapFile
|
|
62
|
+
res.result = await messenger.call('SnapController:getSnapFile', origin, params.path, params.encoding ??
|
|
63
|
+
snaps_sdk_1.AuxiliaryFileEncoding.Base64);
|
|
68
64
|
}
|
|
69
65
|
catch (error) {
|
|
70
66
|
return end(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFile.cjs","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getFile.cjs","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":";;;AAKA,qDAAiD;AAEjD,mDAAuE;AAEvE,uDAAwE;AAExE,2CAA+C;AAOlC,QAAA,iBAAiB,GAAG,IAAA,oBAAM,EAAC;IACtC,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,QAAQ,EAAE,IAAA,sBAAQ,EAChB,IAAA,mBAAK,EAAC;QACJ,IAAA,qBAAS,EAAC,iCAAqB,CAAC,MAAM,CAAC;QACvC,IAAA,qBAAS,EAAC,iCAAqB,CAAC,GAAG,CAAC;QACpC,IAAA,qBAAS,EAAC,iCAAqB,CAAC,IAAI,CAAC;KACtC,CAAC,CACH;CACF,CAAC,CAAC;AASH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACU,QAAA,cAAc,GAAG;IAC5B,cAAc;IACd,WAAW,EAAE,CAAC,4BAA4B,CAAC;CAO5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAoD,EACpD,GAA0C,EAC1C,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAAkD;IAElD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAE/B,IAAA,oBAAY,EACV,MAAM,EACN,yBAAiB,EACjB,mCAAmC,EACnC,sBAAS,CAAC,aAAa,CACxB,CAAC;IAEF,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAC/B,4BAA4B,EAC5B,MAAM,EACN,MAAM,CAAC,IAAI,EACV,MAAM,CAAC,QAAkC;YACxC,iCAAqB,CAAC,MAAM,CAC/B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { GetFileParams, GetFileResult } from '@metamask/snaps-sdk';\nimport { AuxiliaryFileEncoding, enumValue } from '@metamask/snaps-sdk';\nimport type { InferMatching } from '@metamask/snaps-utils';\nimport { object, optional, string, union } from '@metamask/superstruct';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\nimport { assertStruct } from '@metamask/utils';\n\nimport type {\n JsonRpcRequestWithOrigin,\n SnapControllerGetSnapFileAction,\n} from '../types';\n\nexport const GetFileArgsStruct = object({\n path: string(),\n encoding: optional(\n union([\n enumValue(AuxiliaryFileEncoding.Base64),\n enumValue(AuxiliaryFileEncoding.Hex),\n enumValue(AuxiliaryFileEncoding.Utf8),\n ]),\n ),\n});\n\nexport type InferredGetFileParams = InferMatching<\n typeof GetFileArgsStruct,\n GetFileParams\n>;\n\nexport type GetFileMethodActions = SnapControllerGetSnapFileAction;\n\n/**\n * Gets a static file's content in UTF-8, Base64, or hexadecimal.\n *\n * The file must be specified in [the Snap's manifest file](https://docs.metamask.io/snaps/features/static-files/).\n *\n * @example\n * ```json name=\"Manifest\"\n * {\n * \"source\": {\n * \"files\": [\"./files/my-file.bin\"]\n * }\n * }\n * ```\n * ```ts name=\"Usage\"\n * const contents = await snap.request({\n * method: 'snap_getFile',\n * params: {\n * path: './files/myfile.bin',\n * encoding: 'hex',\n * },\n * })\n *\n * // '0x...'\n * console.log(contents)\n * ```\n */\nexport const getFileHandler = {\n implementation,\n actionNames: ['SnapController:getSnapFile'],\n} satisfies MethodHandler<\n never,\n GetFileMethodActions,\n InferredGetFileParams,\n GetFileResult,\n { origin: string }\n>;\n\n/**\n * The `snap_getFile` method implementation.\n *\n * @param req - The JSON-RPC request object.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param _hooks - The RPC method hooks. Not used by this function.\n * @param messenger - The messenger used to call controller actions.\n * @returns Nothing.\n */\nasync function implementation(\n req: JsonRpcRequestWithOrigin<InferredGetFileParams>,\n res: PendingJsonRpcResponse<GetFileResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetFileMethodActions>,\n): Promise<void> {\n const { params, origin } = req;\n\n assertStruct(\n params,\n GetFileArgsStruct,\n 'Invalid \"snap_getFile\" parameters',\n rpcErrors.invalidParams,\n );\n\n try {\n res.result = await messenger.call(\n 'SnapController:getSnapFile',\n origin,\n params.path,\n (params.encoding as AuxiliaryFileEncoding) ??\n AuxiliaryFileEncoding.Base64,\n );\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
|
+
import type { Messenger } from "@metamask/messenger";
|
|
2
3
|
import type { GetFileParams, GetFileResult } from "@metamask/snaps-sdk";
|
|
3
4
|
import type { InferMatching } from "@metamask/snaps-utils";
|
|
4
|
-
import type { PendingJsonRpcResponse
|
|
5
|
-
import type {
|
|
5
|
+
import type { PendingJsonRpcResponse } from "@metamask/utils";
|
|
6
|
+
import type { JsonRpcRequestWithOrigin, SnapControllerGetSnapFileAction } from "../types.cjs";
|
|
6
7
|
export declare const GetFileArgsStruct: import("@metamask/superstruct").Struct<{
|
|
7
8
|
path: string;
|
|
8
9
|
encoding?: "base64" | "hex" | "utf8" | undefined;
|
|
@@ -11,6 +12,7 @@ export declare const GetFileArgsStruct: import("@metamask/superstruct").Struct<{
|
|
|
11
12
|
encoding: import("@metamask/superstruct").Struct<"base64" | "hex" | "utf8" | undefined, null>;
|
|
12
13
|
}>;
|
|
13
14
|
export type InferredGetFileParams = InferMatching<typeof GetFileArgsStruct, GetFileParams>;
|
|
15
|
+
export type GetFileMethodActions = SnapControllerGetSnapFileAction;
|
|
14
16
|
/**
|
|
15
17
|
* Gets a static file's content in UTF-8, Base64, or hexadecimal.
|
|
16
18
|
*
|
|
@@ -38,12 +40,8 @@ export type InferredGetFileParams = InferMatching<typeof GetFileArgsStruct, GetF
|
|
|
38
40
|
* ```
|
|
39
41
|
*/
|
|
40
42
|
export declare const getFileHandler: {
|
|
41
|
-
methodNames: ["snap_getFile"];
|
|
42
43
|
implementation: typeof implementation;
|
|
43
|
-
|
|
44
|
-
};
|
|
45
|
-
export type GetFileHooks = {
|
|
46
|
-
getSnapFile: (path: InferredGetFileParams['path'], encoding: InferredGetFileParams['encoding']) => Promise<string>;
|
|
44
|
+
actionNames: "SnapController:getSnapFile"[];
|
|
47
45
|
};
|
|
48
46
|
/**
|
|
49
47
|
* The `snap_getFile` method implementation.
|
|
@@ -53,10 +51,10 @@ export type GetFileHooks = {
|
|
|
53
51
|
* @param _next - The `json-rpc-engine` "next" callback. Not used by this
|
|
54
52
|
* function.
|
|
55
53
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
56
|
-
* @param
|
|
57
|
-
* @param
|
|
54
|
+
* @param _hooks - The RPC method hooks. Not used by this function.
|
|
55
|
+
* @param messenger - The messenger used to call controller actions.
|
|
58
56
|
* @returns Nothing.
|
|
59
57
|
*/
|
|
60
|
-
declare function implementation(req:
|
|
58
|
+
declare function implementation(req: JsonRpcRequestWithOrigin<InferredGetFileParams>, res: PendingJsonRpcResponse<GetFileResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetFileMethodActions>): Promise<void>;
|
|
61
59
|
export {};
|
|
62
60
|
//# sourceMappingURL=getFile.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFile.d.cts","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getFile.d.cts","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,4BAA4B;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,qBAAiB;AAElB,eAAO,MAAM,iBAAiB;;;;;;EAS5B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAC/C,OAAO,iBAAiB,EACxB,aAAa,CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc;;;CAS1B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAe,cAAc,CAC3B,GAAG,EAAE,wBAAwB,CAAC,qBAAqB,CAAC,EACpD,GAAG,EAAE,sBAAsB,CAAC,aAAa,CAAC,EAC1C,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC,CAuBf"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
|
+
import type { Messenger } from "@metamask/messenger";
|
|
2
3
|
import type { GetFileParams, GetFileResult } from "@metamask/snaps-sdk";
|
|
3
4
|
import type { InferMatching } from "@metamask/snaps-utils";
|
|
4
|
-
import type { PendingJsonRpcResponse
|
|
5
|
-
import type {
|
|
5
|
+
import type { PendingJsonRpcResponse } from "@metamask/utils";
|
|
6
|
+
import type { JsonRpcRequestWithOrigin, SnapControllerGetSnapFileAction } from "../types.mjs";
|
|
6
7
|
export declare const GetFileArgsStruct: import("@metamask/superstruct").Struct<{
|
|
7
8
|
path: string;
|
|
8
9
|
encoding?: "base64" | "hex" | "utf8" | undefined;
|
|
@@ -11,6 +12,7 @@ export declare const GetFileArgsStruct: import("@metamask/superstruct").Struct<{
|
|
|
11
12
|
encoding: import("@metamask/superstruct").Struct<"base64" | "hex" | "utf8" | undefined, null>;
|
|
12
13
|
}>;
|
|
13
14
|
export type InferredGetFileParams = InferMatching<typeof GetFileArgsStruct, GetFileParams>;
|
|
15
|
+
export type GetFileMethodActions = SnapControllerGetSnapFileAction;
|
|
14
16
|
/**
|
|
15
17
|
* Gets a static file's content in UTF-8, Base64, or hexadecimal.
|
|
16
18
|
*
|
|
@@ -38,12 +40,8 @@ export type InferredGetFileParams = InferMatching<typeof GetFileArgsStruct, GetF
|
|
|
38
40
|
* ```
|
|
39
41
|
*/
|
|
40
42
|
export declare const getFileHandler: {
|
|
41
|
-
methodNames: ["snap_getFile"];
|
|
42
43
|
implementation: typeof implementation;
|
|
43
|
-
|
|
44
|
-
};
|
|
45
|
-
export type GetFileHooks = {
|
|
46
|
-
getSnapFile: (path: InferredGetFileParams['path'], encoding: InferredGetFileParams['encoding']) => Promise<string>;
|
|
44
|
+
actionNames: "SnapController:getSnapFile"[];
|
|
47
45
|
};
|
|
48
46
|
/**
|
|
49
47
|
* The `snap_getFile` method implementation.
|
|
@@ -53,10 +51,10 @@ export type GetFileHooks = {
|
|
|
53
51
|
* @param _next - The `json-rpc-engine` "next" callback. Not used by this
|
|
54
52
|
* function.
|
|
55
53
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
56
|
-
* @param
|
|
57
|
-
* @param
|
|
54
|
+
* @param _hooks - The RPC method hooks. Not used by this function.
|
|
55
|
+
* @param messenger - The messenger used to call controller actions.
|
|
58
56
|
* @returns Nothing.
|
|
59
57
|
*/
|
|
60
|
-
declare function implementation(req:
|
|
58
|
+
declare function implementation(req: JsonRpcRequestWithOrigin<InferredGetFileParams>, res: PendingJsonRpcResponse<GetFileResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetFileMethodActions>): Promise<void>;
|
|
61
59
|
export {};
|
|
62
60
|
//# sourceMappingURL=getFile.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFile.d.mts","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getFile.d.mts","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,4BAA4B;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,qBAAiB;AAElB,eAAO,MAAM,iBAAiB;;;;;;EAS5B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAC/C,OAAO,iBAAiB,EACxB,aAAa,CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc;;;CAS1B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAe,cAAc,CAC3B,GAAG,EAAE,wBAAwB,CAAC,qBAAqB,CAAC,EACpD,GAAG,EAAE,sBAAsB,CAAC,aAAa,CAAC,EAC1C,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC,CAuBf"}
|
|
@@ -10,10 +10,6 @@ export const GetFileArgsStruct = object({
|
|
|
10
10
|
enumValue(AuxiliaryFileEncoding.Utf8),
|
|
11
11
|
])),
|
|
12
12
|
});
|
|
13
|
-
const methodName = 'snap_getFile';
|
|
14
|
-
const hookNames = {
|
|
15
|
-
getSnapFile: true,
|
|
16
|
-
};
|
|
17
13
|
/**
|
|
18
14
|
* Gets a static file's content in UTF-8, Base64, or hexadecimal.
|
|
19
15
|
*
|
|
@@ -41,9 +37,8 @@ const hookNames = {
|
|
|
41
37
|
* ```
|
|
42
38
|
*/
|
|
43
39
|
export const getFileHandler = {
|
|
44
|
-
methodNames: [methodName],
|
|
45
40
|
implementation,
|
|
46
|
-
|
|
41
|
+
actionNames: ['SnapController:getSnapFile'],
|
|
47
42
|
};
|
|
48
43
|
/**
|
|
49
44
|
* The `snap_getFile` method implementation.
|
|
@@ -53,15 +48,16 @@ export const getFileHandler = {
|
|
|
53
48
|
* @param _next - The `json-rpc-engine` "next" callback. Not used by this
|
|
54
49
|
* function.
|
|
55
50
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
56
|
-
* @param
|
|
57
|
-
* @param
|
|
51
|
+
* @param _hooks - The RPC method hooks. Not used by this function.
|
|
52
|
+
* @param messenger - The messenger used to call controller actions.
|
|
58
53
|
* @returns Nothing.
|
|
59
54
|
*/
|
|
60
|
-
async function implementation(req, res, _next, end,
|
|
61
|
-
const { params } = req;
|
|
55
|
+
async function implementation(req, res, _next, end, _hooks, messenger) {
|
|
56
|
+
const { params, origin } = req;
|
|
62
57
|
assertStruct(params, GetFileArgsStruct, 'Invalid "snap_getFile" parameters', rpcErrors.invalidParams);
|
|
63
58
|
try {
|
|
64
|
-
res.result = await getSnapFile
|
|
59
|
+
res.result = await messenger.call('SnapController:getSnapFile', origin, params.path, params.encoding ??
|
|
60
|
+
AuxiliaryFileEncoding.Base64);
|
|
65
61
|
}
|
|
66
62
|
catch (error) {
|
|
67
63
|
return end(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFile.mjs","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getFile.mjs","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,6BAA6B;AAEjD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,4BAA4B;AAEvE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B;AAExE,OAAO,EAAE,YAAY,EAAE,wBAAwB;AAO/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;IACtC,IAAI,EAAE,MAAM,EAAE;IACd,QAAQ,EAAE,QAAQ,CAChB,KAAK,CAAC;QACJ,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC;QACvC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC;QACpC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC;KACtC,CAAC,CACH;CACF,CAAC,CAAC;AASH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc;IACd,WAAW,EAAE,CAAC,4BAA4B,CAAC;CAO5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAoD,EACpD,GAA0C,EAC1C,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAAkD;IAElD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAE/B,YAAY,CACV,MAAM,EACN,iBAAiB,EACjB,mCAAmC,EACnC,SAAS,CAAC,aAAa,CACxB,CAAC;IAEF,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAC/B,4BAA4B,EAC5B,MAAM,EACN,MAAM,CAAC,IAAI,EACV,MAAM,CAAC,QAAkC;YACxC,qBAAqB,CAAC,MAAM,CAC/B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { GetFileParams, GetFileResult } from '@metamask/snaps-sdk';\nimport { AuxiliaryFileEncoding, enumValue } from '@metamask/snaps-sdk';\nimport type { InferMatching } from '@metamask/snaps-utils';\nimport { object, optional, string, union } from '@metamask/superstruct';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\nimport { assertStruct } from '@metamask/utils';\n\nimport type {\n JsonRpcRequestWithOrigin,\n SnapControllerGetSnapFileAction,\n} from '../types';\n\nexport const GetFileArgsStruct = object({\n path: string(),\n encoding: optional(\n union([\n enumValue(AuxiliaryFileEncoding.Base64),\n enumValue(AuxiliaryFileEncoding.Hex),\n enumValue(AuxiliaryFileEncoding.Utf8),\n ]),\n ),\n});\n\nexport type InferredGetFileParams = InferMatching<\n typeof GetFileArgsStruct,\n GetFileParams\n>;\n\nexport type GetFileMethodActions = SnapControllerGetSnapFileAction;\n\n/**\n * Gets a static file's content in UTF-8, Base64, or hexadecimal.\n *\n * The file must be specified in [the Snap's manifest file](https://docs.metamask.io/snaps/features/static-files/).\n *\n * @example\n * ```json name=\"Manifest\"\n * {\n * \"source\": {\n * \"files\": [\"./files/my-file.bin\"]\n * }\n * }\n * ```\n * ```ts name=\"Usage\"\n * const contents = await snap.request({\n * method: 'snap_getFile',\n * params: {\n * path: './files/myfile.bin',\n * encoding: 'hex',\n * },\n * })\n *\n * // '0x...'\n * console.log(contents)\n * ```\n */\nexport const getFileHandler = {\n implementation,\n actionNames: ['SnapController:getSnapFile'],\n} satisfies MethodHandler<\n never,\n GetFileMethodActions,\n InferredGetFileParams,\n GetFileResult,\n { origin: string }\n>;\n\n/**\n * The `snap_getFile` method implementation.\n *\n * @param req - The JSON-RPC request object.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param _hooks - The RPC method hooks. Not used by this function.\n * @param messenger - The messenger used to call controller actions.\n * @returns Nothing.\n */\nasync function implementation(\n req: JsonRpcRequestWithOrigin<InferredGetFileParams>,\n res: PendingJsonRpcResponse<GetFileResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetFileMethodActions>,\n): Promise<void> {\n const { params, origin } = req;\n\n assertStruct(\n params,\n GetFileArgsStruct,\n 'Invalid \"snap_getFile\" parameters',\n rpcErrors.invalidParams,\n );\n\n try {\n res.result = await messenger.call(\n 'SnapController:getSnapFile',\n origin,\n params.path,\n (params.encoding as AuxiliaryFileEncoding) ??\n AuxiliaryFileEncoding.Base64,\n );\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
|
|
@@ -4,11 +4,6 @@ exports.getInterfaceContextHandler = void 0;
|
|
|
4
4
|
const rpc_errors_1 = require("@metamask/rpc-errors");
|
|
5
5
|
const superstruct_1 = require("@metamask/superstruct");
|
|
6
6
|
const utils_1 = require("../utils.cjs");
|
|
7
|
-
const methodName = 'snap_getInterfaceContext';
|
|
8
|
-
const hookNames = {
|
|
9
|
-
hasPermission: true,
|
|
10
|
-
getInterfaceContext: true,
|
|
11
|
-
};
|
|
12
7
|
/**
|
|
13
8
|
* Get the context of an [interface](https://docs.metamask.io/snaps/features/custom-ui/interactive-ui/)
|
|
14
9
|
* created by [`snap_createInterface`](https://docs.metamask.io/snaps/reference/snaps-api/snap_createinterface).
|
|
@@ -46,9 +41,11 @@ const hookNames = {
|
|
|
46
41
|
* ```
|
|
47
42
|
*/
|
|
48
43
|
exports.getInterfaceContextHandler = {
|
|
49
|
-
methodNames: [methodName],
|
|
50
44
|
implementation: getInterfaceContextImplementation,
|
|
51
|
-
|
|
45
|
+
actionNames: [
|
|
46
|
+
'PermissionController:hasPermission',
|
|
47
|
+
'SnapInterfaceController:getInterface',
|
|
48
|
+
],
|
|
52
49
|
};
|
|
53
50
|
const GetInterfaceContextParametersStruct = (0, superstruct_1.object)({
|
|
54
51
|
id: (0, superstruct_1.string)(),
|
|
@@ -61,23 +58,23 @@ const GetInterfaceContextParametersStruct = (0, superstruct_1.object)({
|
|
|
61
58
|
* @param _next - The `json-rpc-engine` "next" callback. Not used by this
|
|
62
59
|
* function.
|
|
63
60
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
64
|
-
* @param
|
|
65
|
-
* @param
|
|
66
|
-
* permission.
|
|
67
|
-
* @param hooks.getInterfaceContext - The function to get the interface context.
|
|
61
|
+
* @param _hooks - The RPC method hooks. Not used by this function.
|
|
62
|
+
* @param messenger - The messenger used to call controller actions.
|
|
68
63
|
* @returns Nothing.
|
|
69
64
|
*/
|
|
70
|
-
function getInterfaceContextImplementation(req, res, _next, end,
|
|
71
|
-
|
|
65
|
+
function getInterfaceContextImplementation(req, res, _next, end, _hooks, messenger) {
|
|
66
|
+
const { params, origin } = req;
|
|
67
|
+
const isPermitted = utils_1.UI_PERMISSIONS.some((permission) => messenger.call('PermissionController:hasPermission', origin, permission));
|
|
68
|
+
if (!isPermitted) {
|
|
72
69
|
return end(rpc_errors_1.providerErrors.unauthorized({
|
|
73
70
|
message: `This method can only be used if the Snap has one of the following permissions: ${utils_1.UI_PERMISSIONS.join(', ')}.`,
|
|
74
71
|
}));
|
|
75
72
|
}
|
|
76
|
-
const { params } = req;
|
|
77
73
|
try {
|
|
78
74
|
const validatedParams = getValidatedParams(params);
|
|
79
75
|
const { id } = validatedParams;
|
|
80
|
-
|
|
76
|
+
const { context } = messenger.call('SnapInterfaceController:getInterface', origin, id);
|
|
77
|
+
res.result = context;
|
|
81
78
|
}
|
|
82
79
|
catch (error) {
|
|
83
80
|
return end(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInterfaceContext.cjs","sourceRoot":"","sources":["../../src/permitted/getInterfaceContext.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getInterfaceContext.cjs","sourceRoot":"","sources":["../../src/permitted/getInterfaceContext.ts"],"names":[],"mappings":";;;AAMA,qDAAiE;AAMjE,uDAA4E;AAO5E,wCAA0C;AAM1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACU,QAAA,0BAA0B,GAAG;IACxC,cAAc,EAAE,iCAAiC;IACjD,WAAW,EAAE;QACX,oCAAoC;QACpC,sCAAsC;KACvC;CAOF,CAAC;AAEF,MAAM,mCAAmC,GAAG,IAAA,oBAAM,EAAC;IACjD,EAAE,EAAE,IAAA,oBAAM,GAAE;CACb,CAAC,CAAC;AAOH;;;;;;;;;;;GAWG;AACH,SAAS,iCAAiC,CACxC,GAA4D,EAC5D,GAAsD,EACtD,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAA8D;IAE9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAE/B,MAAM,WAAW,GAAG,sBAAc,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACrD,SAAS,CAAC,IAAI,CAAC,oCAAoC,EAAE,MAAM,EAAE,UAAU,CAAC,CACzE,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,GAAG,CACR,2BAAc,CAAC,YAAY,CAAC;YAC1B,OAAO,EAAE,kFAAkF,sBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SACxH,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEnD,MAAM,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC;QAE/B,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAChC,sCAAsC,EACtC,MAAM,EACN,EAAE,CACH,CAAC;QAEF,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,CAAC;QACH,OAAO,IAAA,oBAAM,EAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,yBAAW,EAAE,CAAC;YACjC,MAAM,sBAAS,CAAC,aAAa,CAAC;gBAC5B,OAAO,EAAE,mBAAmB,KAAK,CAAC,OAAO,GAAG;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,0BAA0B;QAC1B,MAAM,sBAAS,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport type { PermissionControllerHasPermissionAction } from '@metamask/permission-controller';\nimport { providerErrors, rpcErrors } from '@metamask/rpc-errors';\nimport type {\n GetInterfaceContextParams,\n GetInterfaceContextResult,\n} from '@metamask/snaps-sdk';\nimport { type InferMatching } from '@metamask/snaps-utils';\nimport { StructError, create, object, string } from '@metamask/superstruct';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type {\n JsonRpcRequestWithOrigin,\n SnapInterfaceControllerGetInterfaceAction,\n} from '../types';\nimport { UI_PERMISSIONS } from '../utils';\n\nexport type GetInterfaceContextMethodActions =\n | PermissionControllerHasPermissionAction\n | SnapInterfaceControllerGetInterfaceAction;\n\n/**\n * Get the context of an [interface](https://docs.metamask.io/snaps/features/custom-ui/interactive-ui/)\n * created by [`snap_createInterface`](https://docs.metamask.io/snaps/reference/snaps-api/snap_createinterface).\n *\n * @example\n * ```ts\n * import { Box, Heading, Text } from '@metamask/snaps-sdk/jsx';\n *\n * const interfaceId = await snap.request({\n * method: 'snap_createInterface',\n * params: {\n * ui: (\n * <Box>\n * <Heading>Hello, world!</Heading>\n * <Text>Welcome to my Snap homepage!</Text>\n * </Box>\n * ),\n * context: {\n * key: 'value'\n * }\n * },\n * })\n *\n * const context = await snap.request({\n * method: 'snap_getInterfaceContext',\n * params: {\n * id: interfaceId,\n * },\n * })\n *\n * console.log(context)\n * // {\n * // key: 'value'\n * // }\n * ```\n */\nexport const getInterfaceContextHandler = {\n implementation: getInterfaceContextImplementation,\n actionNames: [\n 'PermissionController:hasPermission',\n 'SnapInterfaceController:getInterface',\n ],\n} satisfies MethodHandler<\n never,\n GetInterfaceContextMethodActions,\n GetInterfaceContextParameters,\n GetInterfaceContextResult,\n { origin: string }\n>;\n\nconst GetInterfaceContextParametersStruct = object({\n id: string(),\n});\n\nexport type GetInterfaceContextParameters = InferMatching<\n typeof GetInterfaceContextParametersStruct,\n GetInterfaceContextParams\n>;\n\n/**\n * The `snap_getInterfaceContext` method implementation.\n *\n * @param req - The JSON-RPC request object.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param _hooks - The RPC method hooks. Not used by this function.\n * @param messenger - The messenger used to call controller actions.\n * @returns Nothing.\n */\nfunction getInterfaceContextImplementation(\n req: JsonRpcRequestWithOrigin<GetInterfaceContextParameters>,\n res: PendingJsonRpcResponse<GetInterfaceContextResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetInterfaceContextMethodActions>,\n): void {\n const { params, origin } = req;\n\n const isPermitted = UI_PERMISSIONS.some((permission) =>\n messenger.call('PermissionController:hasPermission', origin, permission),\n );\n\n if (!isPermitted) {\n return end(\n providerErrors.unauthorized({\n message: `This method can only be used if the Snap has one of the following permissions: ${UI_PERMISSIONS.join(', ')}.`,\n }),\n );\n }\n\n try {\n const validatedParams = getValidatedParams(params);\n\n const { id } = validatedParams;\n\n const { context } = messenger.call(\n 'SnapInterfaceController:getInterface',\n origin,\n id,\n );\n\n res.result = context;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n\n/**\n * Validate the getInterfaceContext method `params` and returns them cast to the correct\n * type. Throws if validation fails.\n *\n * @param params - The unvalidated params object from the method request.\n * @returns The validated getInterfaceContext method parameter object.\n */\nfunction getValidatedParams(params: unknown): GetInterfaceContextParameters {\n try {\n return create(params, GetInterfaceContextParametersStruct);\n } catch (error) {\n if (error instanceof StructError) {\n throw rpcErrors.invalidParams({\n message: `Invalid params: ${error.message}.`,\n });\n }\n /* istanbul ignore next */\n throw rpcErrors.internal();\n }\n}\n"]}
|