@metamask/snaps-rpc-methods 15.1.0 → 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 +34 -4
- package/dist/endowments/keyring.cjs +2 -5
- package/dist/endowments/keyring.cjs.map +1 -1
- package/dist/endowments/keyring.d.cts +0 -2
- package/dist/endowments/keyring.d.cts.map +1 -1
- package/dist/endowments/keyring.d.mts +0 -2
- package/dist/endowments/keyring.d.mts.map +1 -1
- package/dist/endowments/keyring.mjs +3 -6
- package/dist/endowments/keyring.mjs.map +1 -1
- 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,11 +1,10 @@
|
|
|
1
1
|
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
|
-
import type {
|
|
2
|
+
import type { Messenger } from "@metamask/messenger";
|
|
3
|
+
import type { PermissionControllerHasPermissionAction } from "@metamask/permission-controller";
|
|
4
|
+
import type { GetBackgroundEventsParams, GetBackgroundEventsResult } from "@metamask/snaps-sdk";
|
|
3
5
|
import { type PendingJsonRpcResponse } from "@metamask/utils";
|
|
4
|
-
import type {
|
|
5
|
-
export type
|
|
6
|
-
getBackgroundEvents: () => BackgroundEvent[];
|
|
7
|
-
hasPermission: (permissionName: string) => boolean;
|
|
8
|
-
};
|
|
6
|
+
import type { CronjobControllerGetAction, JsonRpcRequestWithOrigin } from "../types.cjs";
|
|
7
|
+
export type GetBackgroundEventsMethodActions = PermissionControllerHasPermissionAction | CronjobControllerGetAction;
|
|
9
8
|
/**
|
|
10
9
|
* Get the scheduled background events for the Snap.
|
|
11
10
|
*
|
|
@@ -31,23 +30,21 @@ export type GetBackgroundEventsMethodHooks = {
|
|
|
31
30
|
* ```
|
|
32
31
|
*/
|
|
33
32
|
export declare const getBackgroundEventsHandler: {
|
|
34
|
-
methodNames: ["snap_getBackgroundEvents"];
|
|
35
33
|
implementation: typeof getGetBackgroundEventsImplementation;
|
|
36
|
-
|
|
34
|
+
actionNames: ("CronjobController:get" | "PermissionController:hasPermission")[];
|
|
37
35
|
};
|
|
38
36
|
/**
|
|
39
37
|
* The `snap_getBackgroundEvents` method implementation.
|
|
40
38
|
*
|
|
41
|
-
* @param
|
|
39
|
+
* @param req - The JSON-RPC request object.
|
|
42
40
|
* @param res - The JSON-RPC response object.
|
|
43
41
|
* @param _next - The `json-rpc-engine` "next" callback.
|
|
44
42
|
* Not used by this function.
|
|
45
43
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
46
|
-
* @param
|
|
47
|
-
* @param
|
|
48
|
-
* @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.
|
|
44
|
+
* @param _hooks - The RPC method hooks. Not used by this function.
|
|
45
|
+
* @param messenger - The messenger used to call controller actions.
|
|
49
46
|
* @returns An array of background events.
|
|
50
47
|
*/
|
|
51
|
-
declare function getGetBackgroundEventsImplementation(
|
|
48
|
+
declare function getGetBackgroundEventsImplementation(req: JsonRpcRequestWithOrigin<GetBackgroundEventsParams>, res: PendingJsonRpcResponse<GetBackgroundEventsResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetBackgroundEventsMethodActions>): Promise<void>;
|
|
52
49
|
export {};
|
|
53
50
|
//# sourceMappingURL=getBackgroundEvents.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBackgroundEvents.d.cts","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getBackgroundEvents.d.cts","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,uCAAuC,EAAE,wCAAwC;AAE/F,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAE1B,4BAA4B;AAC7B,OAAO,EAAE,KAAK,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACzB,qBAAiB;AAElB,MAAM,MAAM,gCAAgC,GACxC,uCAAuC,GACvC,0BAA0B,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,0BAA0B;;;CAStC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAe,oCAAoC,CACjD,GAAG,EAAE,wBAAwB,CAAC,yBAAyB,CAAC,EACxD,GAAG,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,EACtD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
|
-
import type {
|
|
2
|
+
import type { Messenger } from "@metamask/messenger";
|
|
3
|
+
import type { PermissionControllerHasPermissionAction } from "@metamask/permission-controller";
|
|
4
|
+
import type { GetBackgroundEventsParams, GetBackgroundEventsResult } from "@metamask/snaps-sdk";
|
|
3
5
|
import { type PendingJsonRpcResponse } from "@metamask/utils";
|
|
4
|
-
import type {
|
|
5
|
-
export type
|
|
6
|
-
getBackgroundEvents: () => BackgroundEvent[];
|
|
7
|
-
hasPermission: (permissionName: string) => boolean;
|
|
8
|
-
};
|
|
6
|
+
import type { CronjobControllerGetAction, JsonRpcRequestWithOrigin } from "../types.mjs";
|
|
7
|
+
export type GetBackgroundEventsMethodActions = PermissionControllerHasPermissionAction | CronjobControllerGetAction;
|
|
9
8
|
/**
|
|
10
9
|
* Get the scheduled background events for the Snap.
|
|
11
10
|
*
|
|
@@ -31,23 +30,21 @@ export type GetBackgroundEventsMethodHooks = {
|
|
|
31
30
|
* ```
|
|
32
31
|
*/
|
|
33
32
|
export declare const getBackgroundEventsHandler: {
|
|
34
|
-
methodNames: ["snap_getBackgroundEvents"];
|
|
35
33
|
implementation: typeof getGetBackgroundEventsImplementation;
|
|
36
|
-
|
|
34
|
+
actionNames: ("CronjobController:get" | "PermissionController:hasPermission")[];
|
|
37
35
|
};
|
|
38
36
|
/**
|
|
39
37
|
* The `snap_getBackgroundEvents` method implementation.
|
|
40
38
|
*
|
|
41
|
-
* @param
|
|
39
|
+
* @param req - The JSON-RPC request object.
|
|
42
40
|
* @param res - The JSON-RPC response object.
|
|
43
41
|
* @param _next - The `json-rpc-engine` "next" callback.
|
|
44
42
|
* Not used by this function.
|
|
45
43
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
46
|
-
* @param
|
|
47
|
-
* @param
|
|
48
|
-
* @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.
|
|
44
|
+
* @param _hooks - The RPC method hooks. Not used by this function.
|
|
45
|
+
* @param messenger - The messenger used to call controller actions.
|
|
49
46
|
* @returns An array of background events.
|
|
50
47
|
*/
|
|
51
|
-
declare function getGetBackgroundEventsImplementation(
|
|
48
|
+
declare function getGetBackgroundEventsImplementation(req: JsonRpcRequestWithOrigin<GetBackgroundEventsParams>, res: PendingJsonRpcResponse<GetBackgroundEventsResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetBackgroundEventsMethodActions>): Promise<void>;
|
|
52
49
|
export {};
|
|
53
50
|
//# sourceMappingURL=getBackgroundEvents.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBackgroundEvents.d.mts","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getBackgroundEvents.d.mts","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,uCAAuC,EAAE,wCAAwC;AAE/F,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAE1B,4BAA4B;AAC7B,OAAO,EAAE,KAAK,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACzB,qBAAiB;AAElB,MAAM,MAAM,gCAAgC,GACxC,uCAAuC,GACvC,0BAA0B,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,0BAA0B;;;CAStC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAe,oCAAoC,CACjD,GAAG,EAAE,wBAAwB,CAAC,yBAAyB,CAAC,EACxD,GAAG,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,EACtD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { providerErrors } from "@metamask/rpc-errors";
|
|
2
2
|
import { SnapEndowments } from "../endowments/index.mjs";
|
|
3
|
-
const methodName = 'snap_getBackgroundEvents';
|
|
4
|
-
const hookNames = {
|
|
5
|
-
getBackgroundEvents: true,
|
|
6
|
-
hasPermission: true,
|
|
7
|
-
};
|
|
8
3
|
/**
|
|
9
4
|
* Get the scheduled background events for the Snap.
|
|
10
5
|
*
|
|
@@ -30,30 +25,28 @@ const hookNames = {
|
|
|
30
25
|
* ```
|
|
31
26
|
*/
|
|
32
27
|
export const getBackgroundEventsHandler = {
|
|
33
|
-
methodNames: [methodName],
|
|
34
28
|
implementation: getGetBackgroundEventsImplementation,
|
|
35
|
-
|
|
29
|
+
actionNames: ['PermissionController:hasPermission', 'CronjobController:get'],
|
|
36
30
|
};
|
|
37
31
|
/**
|
|
38
32
|
* The `snap_getBackgroundEvents` method implementation.
|
|
39
33
|
*
|
|
40
|
-
* @param
|
|
34
|
+
* @param req - The JSON-RPC request object.
|
|
41
35
|
* @param res - The JSON-RPC response object.
|
|
42
36
|
* @param _next - The `json-rpc-engine` "next" callback.
|
|
43
37
|
* Not used by this function.
|
|
44
38
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
45
|
-
* @param
|
|
46
|
-
* @param
|
|
47
|
-
* @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.
|
|
39
|
+
* @param _hooks - The RPC method hooks. Not used by this function.
|
|
40
|
+
* @param messenger - The messenger used to call controller actions.
|
|
48
41
|
* @returns An array of background events.
|
|
49
42
|
*/
|
|
50
|
-
async function getGetBackgroundEventsImplementation(
|
|
51
|
-
|
|
43
|
+
async function getGetBackgroundEventsImplementation(req, res, _next, end, _hooks, messenger) {
|
|
44
|
+
const { origin } = req;
|
|
45
|
+
if (!messenger.call('PermissionController:hasPermission', origin, SnapEndowments.Cronjob)) {
|
|
52
46
|
return end(providerErrors.unauthorized());
|
|
53
47
|
}
|
|
54
48
|
try {
|
|
55
|
-
|
|
56
|
-
res.result = events;
|
|
49
|
+
res.result = messenger.call('CronjobController:get', origin);
|
|
57
50
|
}
|
|
58
51
|
catch (error) {
|
|
59
52
|
return end(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBackgroundEvents.mjs","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getBackgroundEvents.mjs","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,6BAA6B;AAQtD,OAAO,EAAE,cAAc,EAAE,gCAAsB;AAU/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,cAAc,EAAE,oCAAoC;IACpD,WAAW,EAAE,CAAC,oCAAoC,EAAE,uBAAuB,CAAC;CAO7E,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,oCAAoC,CACjD,GAAwD,EACxD,GAAsD,EACtD,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAA8D;IAE9D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,IACE,CAAC,SAAS,CAAC,IAAI,CACb,oCAAoC,EACpC,MAAM,EACN,cAAc,CAAC,OAAO,CACvB,EACD,CAAC;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC/D,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 type { PermissionControllerHasPermissionAction } from '@metamask/permission-controller';\nimport { providerErrors } from '@metamask/rpc-errors';\nimport type {\n GetBackgroundEventsParams,\n GetBackgroundEventsResult,\n SnapId,\n} from '@metamask/snaps-sdk';\nimport { type PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type {\n CronjobControllerGetAction,\n JsonRpcRequestWithOrigin,\n} from '../types';\n\nexport type GetBackgroundEventsMethodActions =\n | PermissionControllerHasPermissionAction\n | CronjobControllerGetAction;\n\n/**\n * Get the scheduled background events for the Snap.\n *\n * @example\n * ```ts\n * const events = await snap.request({\n * method: 'snap_getBackgroundEvents',\n * });\n * console.log(events);\n * // [\n * // {\n * // id: 'event-1',\n * // scheduledAt: 1672531200000,\n * // snapId: 'npm:example-snap',\n * // date: 1672531200000,\n * // request: {\n * // method: 'example_method',\n * // params: { example: 'data' },\n * // },\n * // },\n * // ...,\n * // ]\n * ```\n */\nexport const getBackgroundEventsHandler = {\n implementation: getGetBackgroundEventsImplementation,\n actionNames: ['PermissionController:hasPermission', 'CronjobController:get'],\n} satisfies MethodHandler<\n never,\n GetBackgroundEventsMethodActions,\n GetBackgroundEventsParams,\n GetBackgroundEventsResult,\n { origin: SnapId }\n>;\n\n/**\n * The `snap_getBackgroundEvents` 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.\n * Not used by this 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 An array of background events.\n */\nasync function getGetBackgroundEventsImplementation(\n req: JsonRpcRequestWithOrigin<GetBackgroundEventsParams>,\n res: PendingJsonRpcResponse<GetBackgroundEventsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetBackgroundEventsMethodActions>,\n): Promise<void> {\n const { origin } = req;\n\n if (\n !messenger.call(\n 'PermissionController:hasPermission',\n origin,\n SnapEndowments.Cronjob,\n )\n ) {\n return end(providerErrors.unauthorized());\n }\n try {\n res.result = messenger.call('CronjobController:get', origin);\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getClientStatusHandler = void 0;
|
|
4
4
|
const snaps_utils_1 = require("@metamask/snaps-utils");
|
|
5
|
-
const methodName = 'snap_getClientStatus';
|
|
6
5
|
const hookNames = {
|
|
7
|
-
getIsLocked: true,
|
|
8
6
|
getIsActive: true,
|
|
9
7
|
getVersion: true,
|
|
10
8
|
};
|
|
@@ -36,9 +34,9 @@ const hookNames = {
|
|
|
36
34
|
* ```
|
|
37
35
|
*/
|
|
38
36
|
exports.getClientStatusHandler = {
|
|
39
|
-
methodNames: [methodName],
|
|
40
37
|
implementation: getClientStatusImplementation,
|
|
41
38
|
hookNames,
|
|
39
|
+
actionNames: ['KeyringController:getState'],
|
|
42
40
|
};
|
|
43
41
|
/**
|
|
44
42
|
* The `snap_getClientStatus` method implementation.
|
|
@@ -50,14 +48,15 @@ exports.getClientStatusHandler = {
|
|
|
50
48
|
* function.
|
|
51
49
|
* @param end - The `json-rpc-engine` "end" callback.
|
|
52
50
|
* @param hooks - The RPC method hooks.
|
|
53
|
-
* @param hooks.getIsLocked - A function that returns whether the client is locked or not.
|
|
54
51
|
* @param hooks.getIsActive - A function that returns whether the client is opened or not.
|
|
55
52
|
* @param hooks.getVersion - A function that returns the client version.
|
|
53
|
+
* @param messenger - The messenger used to call controller actions.
|
|
56
54
|
* @returns Nothing.
|
|
57
55
|
*/
|
|
58
|
-
async function getClientStatusImplementation(_request, response, _next, end, {
|
|
56
|
+
async function getClientStatusImplementation(_request, response, _next, end, { getIsActive, getVersion }, messenger) {
|
|
57
|
+
const { isUnlocked } = messenger.call('KeyringController:getState');
|
|
59
58
|
response.result = {
|
|
60
|
-
locked:
|
|
59
|
+
locked: !isUnlocked,
|
|
61
60
|
active: getIsActive(),
|
|
62
61
|
clientVersion: getVersion(),
|
|
63
62
|
platformVersion: (0, snaps_utils_1.getPlatformVersion)(),
|
|
@@ -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"}
|