@metamask/snaps-rpc-methods 14.3.0 → 15.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 +17 -1
- package/dist/permitted/cancelBackgroundEvent.cjs +20 -0
- package/dist/permitted/cancelBackgroundEvent.cjs.map +1 -1
- package/dist/permitted/cancelBackgroundEvent.d.cts +43 -3
- package/dist/permitted/cancelBackgroundEvent.d.cts.map +1 -1
- package/dist/permitted/cancelBackgroundEvent.d.mts +43 -3
- package/dist/permitted/cancelBackgroundEvent.d.mts.map +1 -1
- package/dist/permitted/cancelBackgroundEvent.mjs +20 -0
- package/dist/permitted/cancelBackgroundEvent.mjs.map +1 -1
- package/dist/permitted/clearState.cjs +13 -2
- package/dist/permitted/clearState.cjs.map +1 -1
- package/dist/permitted/clearState.d.cts +35 -3
- package/dist/permitted/clearState.d.cts.map +1 -1
- package/dist/permitted/clearState.d.mts +35 -3
- package/dist/permitted/clearState.d.mts.map +1 -1
- package/dist/permitted/clearState.mjs +13 -2
- package/dist/permitted/clearState.mjs.map +1 -1
- package/dist/permitted/closeWebSocket.cjs +19 -2
- package/dist/permitted/closeWebSocket.cjs.map +1 -1
- package/dist/permitted/closeWebSocket.d.cts +39 -4
- package/dist/permitted/closeWebSocket.d.cts.map +1 -1
- package/dist/permitted/closeWebSocket.d.mts +39 -4
- package/dist/permitted/closeWebSocket.d.mts.map +1 -1
- package/dist/permitted/closeWebSocket.mjs +19 -2
- package/dist/permitted/closeWebSocket.mjs.map +1 -1
- package/dist/permitted/createInterface.cjs +33 -2
- package/dist/permitted/createInterface.cjs.map +1 -1
- package/dist/permitted/createInterface.d.cts +68 -17
- package/dist/permitted/createInterface.d.cts.map +1 -1
- package/dist/permitted/createInterface.d.mts +68 -17
- package/dist/permitted/createInterface.d.mts.map +1 -1
- package/dist/permitted/createInterface.mjs +34 -3
- package/dist/permitted/createInterface.mjs.map +1 -1
- package/dist/permitted/endTrace.cjs +6 -2
- package/dist/permitted/endTrace.cjs.map +1 -1
- package/dist/permitted/endTrace.d.cts +28 -4
- package/dist/permitted/endTrace.d.cts.map +1 -1
- package/dist/permitted/endTrace.d.mts +28 -4
- package/dist/permitted/endTrace.d.mts.map +1 -1
- package/dist/permitted/endTrace.mjs +6 -2
- package/dist/permitted/endTrace.mjs.map +1 -1
- package/dist/permitted/getAllSnaps.cjs +4 -1
- package/dist/permitted/getAllSnaps.cjs.map +1 -1
- package/dist/permitted/getAllSnaps.d.cts +25 -3
- package/dist/permitted/getAllSnaps.d.cts.map +1 -1
- package/dist/permitted/getAllSnaps.d.mts +25 -3
- package/dist/permitted/getAllSnaps.d.mts.map +1 -1
- package/dist/permitted/getAllSnaps.mjs +4 -1
- package/dist/permitted/getAllSnaps.mjs.map +1 -1
- package/dist/permitted/getBackgroundEvents.cjs +24 -0
- package/dist/permitted/getBackgroundEvents.cjs.map +1 -1
- package/dist/permitted/getBackgroundEvents.d.cts +48 -3
- package/dist/permitted/getBackgroundEvents.d.cts.map +1 -1
- package/dist/permitted/getBackgroundEvents.d.mts +48 -3
- package/dist/permitted/getBackgroundEvents.d.mts.map +1 -1
- package/dist/permitted/getBackgroundEvents.mjs +24 -0
- package/dist/permitted/getBackgroundEvents.mjs.map +1 -1
- package/dist/permitted/getClientStatus.cjs +27 -2
- package/dist/permitted/getClientStatus.cjs.map +1 -1
- package/dist/permitted/getClientStatus.d.cts +50 -4
- package/dist/permitted/getClientStatus.d.cts.map +1 -1
- package/dist/permitted/getClientStatus.d.mts +50 -4
- package/dist/permitted/getClientStatus.d.mts.map +1 -1
- package/dist/permitted/getClientStatus.mjs +27 -2
- package/dist/permitted/getClientStatus.mjs.map +1 -1
- package/dist/permitted/getFile.cjs +28 -1
- package/dist/permitted/getFile.cjs.map +1 -1
- package/dist/permitted/getFile.d.cts +49 -3
- package/dist/permitted/getFile.d.cts.map +1 -1
- package/dist/permitted/getFile.d.mts +49 -3
- package/dist/permitted/getFile.d.mts.map +1 -1
- package/dist/permitted/getFile.mjs +28 -1
- package/dist/permitted/getFile.mjs.map +1 -1
- package/dist/permitted/getInterfaceContext.cjs +49 -3
- package/dist/permitted/getInterfaceContext.cjs.map +1 -1
- package/dist/permitted/getInterfaceContext.d.cts +65 -3
- package/dist/permitted/getInterfaceContext.d.cts.map +1 -1
- package/dist/permitted/getInterfaceContext.d.mts +65 -3
- package/dist/permitted/getInterfaceContext.d.mts.map +1 -1
- package/dist/permitted/getInterfaceContext.mjs +50 -4
- package/dist/permitted/getInterfaceContext.mjs.map +1 -1
- package/dist/permitted/getInterfaceState.cjs +27 -3
- package/dist/permitted/getInterfaceState.cjs.map +1 -1
- package/dist/permitted/getInterfaceState.d.cts +43 -3
- package/dist/permitted/getInterfaceState.d.cts.map +1 -1
- package/dist/permitted/getInterfaceState.d.mts +43 -3
- package/dist/permitted/getInterfaceState.d.mts.map +1 -1
- package/dist/permitted/getInterfaceState.mjs +28 -4
- package/dist/permitted/getInterfaceState.mjs.map +1 -1
- package/dist/permitted/getSnaps.cjs +21 -2
- package/dist/permitted/getSnaps.cjs.map +1 -1
- package/dist/permitted/getSnaps.d.cts +42 -4
- package/dist/permitted/getSnaps.d.cts.map +1 -1
- package/dist/permitted/getSnaps.d.mts +42 -4
- package/dist/permitted/getSnaps.d.mts.map +1 -1
- package/dist/permitted/getSnaps.mjs +21 -2
- package/dist/permitted/getSnaps.mjs.map +1 -1
- package/dist/permitted/getState.cjs +24 -2
- package/dist/permitted/getState.cjs.map +1 -1
- package/dist/permitted/getState.d.cts +46 -4
- package/dist/permitted/getState.d.cts.map +1 -1
- package/dist/permitted/getState.d.mts +46 -4
- package/dist/permitted/getState.d.mts.map +1 -1
- package/dist/permitted/getState.mjs +24 -2
- package/dist/permitted/getState.mjs.map +1 -1
- package/dist/permitted/getWebSockets.cjs +29 -2
- package/dist/permitted/getWebSockets.cjs.map +1 -1
- package/dist/permitted/getWebSockets.d.cts +50 -4
- package/dist/permitted/getWebSockets.d.cts.map +1 -1
- package/dist/permitted/getWebSockets.d.mts +50 -4
- package/dist/permitted/getWebSockets.d.mts.map +1 -1
- package/dist/permitted/getWebSockets.mjs +29 -2
- package/dist/permitted/getWebSockets.mjs.map +1 -1
- package/dist/permitted/handlers.cjs +0 -4
- package/dist/permitted/handlers.cjs.map +1 -1
- package/dist/permitted/handlers.d.cts +274 -56
- package/dist/permitted/handlers.d.cts.map +1 -1
- package/dist/permitted/handlers.d.mts +274 -56
- package/dist/permitted/handlers.d.mts.map +1 -1
- package/dist/permitted/handlers.mjs +0 -4
- package/dist/permitted/handlers.mjs.map +1 -1
- package/dist/permitted/index.cjs.map +1 -1
- package/dist/permitted/index.d.cts +1 -3
- package/dist/permitted/index.d.cts.map +1 -1
- package/dist/permitted/index.d.mts +1 -3
- package/dist/permitted/index.d.mts.map +1 -1
- package/dist/permitted/index.mjs.map +1 -1
- package/dist/permitted/invokeKeyring.cjs +8 -2
- package/dist/permitted/invokeKeyring.cjs.map +1 -1
- package/dist/permitted/invokeKeyring.d.cts +34 -4
- package/dist/permitted/invokeKeyring.d.cts.map +1 -1
- package/dist/permitted/invokeKeyring.d.mts +34 -4
- package/dist/permitted/invokeKeyring.d.mts.map +1 -1
- package/dist/permitted/invokeKeyring.mjs +8 -2
- package/dist/permitted/invokeKeyring.mjs.map +1 -1
- package/dist/permitted/invokeSnapSugar.cjs +25 -2
- package/dist/permitted/invokeSnapSugar.cjs.map +1 -1
- package/dist/permitted/invokeSnapSugar.d.cts +30 -3
- package/dist/permitted/invokeSnapSugar.d.cts.map +1 -1
- package/dist/permitted/invokeSnapSugar.d.mts +30 -3
- package/dist/permitted/invokeSnapSugar.d.mts.map +1 -1
- package/dist/permitted/invokeSnapSugar.mjs +25 -2
- package/dist/permitted/invokeSnapSugar.mjs.map +1 -1
- package/dist/permitted/listEntropySources.cjs +40 -1
- package/dist/permitted/listEntropySources.cjs.map +1 -1
- package/dist/permitted/listEntropySources.d.cts +64 -3
- package/dist/permitted/listEntropySources.d.cts.map +1 -1
- package/dist/permitted/listEntropySources.d.mts +64 -3
- package/dist/permitted/listEntropySources.d.mts.map +1 -1
- package/dist/permitted/listEntropySources.mjs +40 -1
- package/dist/permitted/listEntropySources.mjs.map +1 -1
- package/dist/permitted/openWebSocket.cjs +46 -2
- package/dist/permitted/openWebSocket.cjs.map +1 -1
- package/dist/permitted/openWebSocket.d.cts +66 -4
- package/dist/permitted/openWebSocket.d.cts.map +1 -1
- package/dist/permitted/openWebSocket.d.mts +66 -4
- package/dist/permitted/openWebSocket.d.mts.map +1 -1
- package/dist/permitted/openWebSocket.mjs +46 -2
- package/dist/permitted/openWebSocket.mjs.map +1 -1
- package/dist/permitted/requestSnaps.cjs +25 -2
- package/dist/permitted/requestSnaps.cjs.map +1 -1
- package/dist/permitted/requestSnaps.d.cts +51 -3
- package/dist/permitted/requestSnaps.d.cts.map +1 -1
- package/dist/permitted/requestSnaps.d.mts +51 -3
- package/dist/permitted/requestSnaps.d.mts.map +1 -1
- package/dist/permitted/requestSnaps.mjs +25 -2
- package/dist/permitted/requestSnaps.mjs.map +1 -1
- package/dist/permitted/resolveInterface.cjs +38 -2
- package/dist/permitted/resolveInterface.cjs.map +1 -1
- package/dist/permitted/resolveInterface.d.cts +55 -4
- package/dist/permitted/resolveInterface.d.cts.map +1 -1
- package/dist/permitted/resolveInterface.d.mts +55 -4
- package/dist/permitted/resolveInterface.d.mts.map +1 -1
- package/dist/permitted/resolveInterface.mjs +39 -3
- package/dist/permitted/resolveInterface.mjs.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.cjs +26 -0
- package/dist/permitted/scheduleBackgroundEvent.cjs.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.d.cts +49 -3
- package/dist/permitted/scheduleBackgroundEvent.d.cts.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.d.mts +49 -3
- package/dist/permitted/scheduleBackgroundEvent.d.mts.map +1 -1
- package/dist/permitted/scheduleBackgroundEvent.mjs +26 -0
- package/dist/permitted/scheduleBackgroundEvent.mjs.map +1 -1
- package/dist/permitted/sendWebSocketMessage.cjs +24 -2
- package/dist/permitted/sendWebSocketMessage.cjs.map +1 -1
- package/dist/permitted/sendWebSocketMessage.d.cts +44 -4
- package/dist/permitted/sendWebSocketMessage.d.cts.map +1 -1
- package/dist/permitted/sendWebSocketMessage.d.mts +44 -4
- package/dist/permitted/sendWebSocketMessage.d.mts.map +1 -1
- package/dist/permitted/sendWebSocketMessage.mjs +24 -2
- package/dist/permitted/sendWebSocketMessage.mjs.map +1 -1
- package/dist/permitted/setState.cjs +48 -2
- package/dist/permitted/setState.cjs.map +1 -1
- package/dist/permitted/setState.d.cts +72 -4
- package/dist/permitted/setState.d.cts.map +1 -1
- package/dist/permitted/setState.d.mts +72 -4
- package/dist/permitted/setState.d.mts.map +1 -1
- package/dist/permitted/setState.mjs +48 -2
- package/dist/permitted/setState.mjs.map +1 -1
- package/dist/permitted/startTrace.cjs +4 -1
- package/dist/permitted/startTrace.cjs.map +1 -1
- package/dist/permitted/startTrace.d.cts +26 -3
- package/dist/permitted/startTrace.d.cts.map +1 -1
- package/dist/permitted/startTrace.d.mts +26 -3
- package/dist/permitted/startTrace.d.mts.map +1 -1
- package/dist/permitted/startTrace.mjs +4 -1
- package/dist/permitted/startTrace.mjs.map +1 -1
- package/dist/permitted/trackError.cjs +4 -1
- package/dist/permitted/trackError.cjs.map +1 -1
- package/dist/permitted/trackError.d.cts +26 -3
- package/dist/permitted/trackError.d.cts.map +1 -1
- package/dist/permitted/trackError.d.mts +26 -3
- package/dist/permitted/trackError.d.mts.map +1 -1
- package/dist/permitted/trackError.mjs +4 -1
- package/dist/permitted/trackError.mjs.map +1 -1
- package/dist/permitted/trackEvent.cjs +4 -1
- package/dist/permitted/trackEvent.cjs.map +1 -1
- package/dist/permitted/trackEvent.d.cts +25 -4
- package/dist/permitted/trackEvent.d.cts.map +1 -1
- package/dist/permitted/trackEvent.d.mts +25 -4
- package/dist/permitted/trackEvent.d.mts.map +1 -1
- package/dist/permitted/trackEvent.mjs +4 -1
- package/dist/permitted/trackEvent.mjs.map +1 -1
- package/dist/permitted/updateInterface.cjs +47 -2
- package/dist/permitted/updateInterface.cjs.map +1 -1
- package/dist/permitted/updateInterface.d.cts +64 -3
- package/dist/permitted/updateInterface.d.cts.map +1 -1
- package/dist/permitted/updateInterface.d.mts +64 -3
- package/dist/permitted/updateInterface.d.mts.map +1 -1
- package/dist/permitted/updateInterface.mjs +48 -3
- package/dist/permitted/updateInterface.mjs.map +1 -1
- package/dist/restricted/caveats/snapIds.cjs.map +1 -1
- package/dist/restricted/caveats/snapIds.d.cts.map +1 -1
- package/dist/restricted/caveats/snapIds.d.mts.map +1 -1
- package/dist/restricted/caveats/snapIds.mjs.map +1 -1
- package/dist/restricted/dialog.cjs +49 -1
- package/dist/restricted/dialog.cjs.map +1 -1
- package/dist/restricted/dialog.d.cts +52 -2
- package/dist/restricted/dialog.d.cts.map +1 -1
- package/dist/restricted/dialog.d.mts +52 -2
- package/dist/restricted/dialog.d.mts.map +1 -1
- package/dist/restricted/dialog.mjs +49 -1
- package/dist/restricted/dialog.mjs.map +1 -1
- package/dist/restricted/getBip32Entropy.cjs +55 -0
- package/dist/restricted/getBip32Entropy.cjs.map +1 -1
- package/dist/restricted/getBip32Entropy.d.cts +55 -0
- package/dist/restricted/getBip32Entropy.d.cts.map +1 -1
- package/dist/restricted/getBip32Entropy.d.mts +55 -0
- package/dist/restricted/getBip32Entropy.d.mts.map +1 -1
- package/dist/restricted/getBip32Entropy.mjs +55 -0
- package/dist/restricted/getBip32Entropy.mjs.map +1 -1
- package/dist/restricted/getBip32PublicKey.cjs +36 -0
- package/dist/restricted/getBip32PublicKey.cjs.map +1 -1
- package/dist/restricted/getBip32PublicKey.d.cts +36 -0
- package/dist/restricted/getBip32PublicKey.d.cts.map +1 -1
- package/dist/restricted/getBip32PublicKey.d.mts +36 -0
- package/dist/restricted/getBip32PublicKey.d.mts.map +1 -1
- package/dist/restricted/getBip32PublicKey.mjs +36 -0
- package/dist/restricted/getBip32PublicKey.mjs.map +1 -1
- package/dist/restricted/getBip44Entropy.cjs +53 -0
- package/dist/restricted/getBip44Entropy.cjs.map +1 -1
- package/dist/restricted/getBip44Entropy.d.cts +53 -0
- package/dist/restricted/getBip44Entropy.d.cts.map +1 -1
- package/dist/restricted/getBip44Entropy.d.mts +53 -0
- package/dist/restricted/getBip44Entropy.d.mts.map +1 -1
- package/dist/restricted/getBip44Entropy.mjs +53 -0
- package/dist/restricted/getBip44Entropy.mjs.map +1 -1
- package/dist/restricted/getEntropy.cjs +35 -0
- package/dist/restricted/getEntropy.cjs.map +1 -1
- package/dist/restricted/getEntropy.d.cts +35 -0
- package/dist/restricted/getEntropy.d.cts.map +1 -1
- package/dist/restricted/getEntropy.d.mts +35 -0
- package/dist/restricted/getEntropy.d.mts.map +1 -1
- package/dist/restricted/getEntropy.mjs +35 -0
- package/dist/restricted/getEntropy.mjs.map +1 -1
- package/dist/restricted/getLocale.cjs +11 -0
- package/dist/restricted/getLocale.cjs.map +1 -1
- package/dist/restricted/getLocale.d.cts +11 -0
- package/dist/restricted/getLocale.d.cts.map +1 -1
- package/dist/restricted/getLocale.d.mts +11 -0
- package/dist/restricted/getLocale.d.mts.map +1 -1
- package/dist/restricted/getLocale.mjs +11 -0
- package/dist/restricted/getLocale.mjs.map +1 -1
- package/dist/restricted/getPreferences.cjs +24 -0
- package/dist/restricted/getPreferences.cjs.map +1 -1
- package/dist/restricted/getPreferences.d.cts +24 -0
- package/dist/restricted/getPreferences.d.cts.map +1 -1
- package/dist/restricted/getPreferences.d.mts +24 -0
- package/dist/restricted/getPreferences.d.mts.map +1 -1
- package/dist/restricted/getPreferences.mjs +24 -0
- package/dist/restricted/getPreferences.mjs.map +1 -1
- package/dist/restricted/index.d.cts +1 -1
- package/dist/restricted/index.d.mts +1 -1
- package/dist/restricted/invokeSnap.cjs +22 -0
- package/dist/restricted/invokeSnap.cjs.map +1 -1
- package/dist/restricted/invokeSnap.d.cts +24 -6
- package/dist/restricted/invokeSnap.d.cts.map +1 -1
- package/dist/restricted/invokeSnap.d.mts +24 -6
- package/dist/restricted/invokeSnap.d.mts.map +1 -1
- package/dist/restricted/invokeSnap.mjs +22 -0
- package/dist/restricted/invokeSnap.mjs.map +1 -1
- package/dist/restricted/manageAccounts.cjs +10 -0
- package/dist/restricted/manageAccounts.cjs.map +1 -1
- package/dist/restricted/manageAccounts.d.cts +10 -0
- package/dist/restricted/manageAccounts.d.cts.map +1 -1
- package/dist/restricted/manageAccounts.d.mts +10 -0
- package/dist/restricted/manageAccounts.d.mts.map +1 -1
- package/dist/restricted/manageAccounts.mjs +10 -0
- package/dist/restricted/manageAccounts.mjs.map +1 -1
- package/dist/restricted/manageState.cjs +42 -0
- package/dist/restricted/manageState.cjs.map +1 -1
- package/dist/restricted/manageState.d.cts +42 -0
- package/dist/restricted/manageState.d.cts.map +1 -1
- package/dist/restricted/manageState.d.mts +42 -0
- package/dist/restricted/manageState.d.mts.map +1 -1
- package/dist/restricted/manageState.mjs +42 -0
- package/dist/restricted/manageState.mjs.map +1 -1
- package/dist/restricted/notify.cjs +74 -0
- package/dist/restricted/notify.cjs.map +1 -1
- package/dist/restricted/notify.d.cts +74 -0
- package/dist/restricted/notify.d.cts.map +1 -1
- package/dist/restricted/notify.d.mts +74 -0
- package/dist/restricted/notify.d.mts.map +1 -1
- package/dist/restricted/notify.mjs +74 -0
- package/dist/restricted/notify.mjs.map +1 -1
- package/dist/utils.cjs +14 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +6 -0
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.mts +6 -0
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.mjs +13 -0
- package/dist/utils.mjs.map +1 -1
- package/package.json +11 -7
- package/dist/permitted/experimentalProviderRequest.cjs +0 -152
- package/dist/permitted/experimentalProviderRequest.cjs.map +0 -1
- package/dist/permitted/experimentalProviderRequest.d.cts +0 -39
- package/dist/permitted/experimentalProviderRequest.d.cts.map +0 -1
- package/dist/permitted/experimentalProviderRequest.d.mts +0 -39
- package/dist/permitted/experimentalProviderRequest.d.mts.map +0 -1
- package/dist/permitted/experimentalProviderRequest.mjs +0 -149
- package/dist/permitted/experimentalProviderRequest.mjs.map +0 -1
- package/dist/permitted/getCurrencyRate.cjs +0 -63
- package/dist/permitted/getCurrencyRate.cjs.map +0 -1
- package/dist/permitted/getCurrencyRate.d.cts +0 -20
- package/dist/permitted/getCurrencyRate.d.cts.map +0 -1
- package/dist/permitted/getCurrencyRate.d.mts +0 -20
- package/dist/permitted/getCurrencyRate.d.mts.map +0 -1
- package/dist/permitted/getCurrencyRate.mjs +0 -60
- package/dist/permitted/getCurrencyRate.mjs.map +0 -1
|
@@ -5,6 +5,30 @@ const hookNames = {
|
|
|
5
5
|
getBackgroundEvents: true,
|
|
6
6
|
hasPermission: true,
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Get the scheduled background events for the Snap.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const events = await snap.request({
|
|
14
|
+
* method: 'snap_getBackgroundEvents',
|
|
15
|
+
* });
|
|
16
|
+
* console.log(events);
|
|
17
|
+
* // [
|
|
18
|
+
* // {
|
|
19
|
+
* // id: 'event-1',
|
|
20
|
+
* // scheduledAt: 1672531200000,
|
|
21
|
+
* // snapId: 'npm:example-snap',
|
|
22
|
+
* // date: 1672531200000,
|
|
23
|
+
* // request: {
|
|
24
|
+
* // method: 'example_method',
|
|
25
|
+
* // params: { example: 'data' },
|
|
26
|
+
* // },
|
|
27
|
+
* // },
|
|
28
|
+
* // ...,
|
|
29
|
+
* // ]
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
8
32
|
export const getBackgroundEventsHandler = {
|
|
9
33
|
methodNames: [methodName],
|
|
10
34
|
implementation: getGetBackgroundEventsImplementation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBackgroundEvents.mjs","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,6BAA6B;AAStD,OAAO,EAAE,cAAc,EAAE,gCAAsB;AAG/C,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C,MAAM,SAAS,GAAsD;IACnE,mBAAmB,EAAE,IAAI;IACzB,aAAa,EAAE,IAAI;CACpB,CAAC;AAOF,MAAM,CAAC,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"getBackgroundEvents.mjs","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,6BAA6B;AAStD,OAAO,EAAE,cAAc,EAAE,gCAAsB;AAG/C,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C,MAAM,SAAS,GAAsD;IACnE,mBAAmB,EAAE,IAAI;IACzB,aAAa,EAAE,IAAI;CACpB,CAAC;AAOF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,oCAAoC;IACpD,SAAS;CAKV,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,oCAAoC,CACjD,IAA+C,EAC/C,GAAsD,EACtD,KAAc,EACd,GAA6B,EAC7B,EAAE,mBAAmB,EAAE,aAAa,EAAkC;IAEtE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,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 { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { providerErrors } from '@metamask/rpc-errors';\nimport type {\n BackgroundEvent,\n GetBackgroundEventsParams,\n GetBackgroundEventsResult,\n JsonRpcRequest,\n} from '@metamask/snaps-sdk';\nimport { type PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type { MethodHooksObject } from '../utils';\n\nconst methodName = 'snap_getBackgroundEvents';\n\nconst hookNames: MethodHooksObject<GetBackgroundEventsMethodHooks> = {\n getBackgroundEvents: true,\n hasPermission: true,\n};\n\nexport type GetBackgroundEventsMethodHooks = {\n getBackgroundEvents: () => BackgroundEvent[];\n hasPermission: (permissionName: string) => boolean;\n};\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 methodNames: [methodName] as const,\n implementation: getGetBackgroundEventsImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n GetBackgroundEventsMethodHooks,\n GetBackgroundEventsParams,\n GetBackgroundEventsResult\n>;\n\n/**\n * The `snap_getBackgroundEvents` method implementation.\n *\n * @param _req - The JSON-RPC request object. Not used by this function.\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.\n * @param hooks.getBackgroundEvents - The function to get the background events.\n * @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.\n * @returns An array of background events.\n */\nasync function getGetBackgroundEventsImplementation(\n _req: JsonRpcRequest<GetBackgroundEventsParams>,\n res: PendingJsonRpcResponse<GetBackgroundEventsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getBackgroundEvents, hasPermission }: GetBackgroundEventsMethodHooks,\n): Promise<void> {\n if (!hasPermission(SnapEndowments.Cronjob)) {\n return end(providerErrors.unauthorized());\n }\n try {\n const events = getBackgroundEvents();\n res.result = events;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
|
|
@@ -2,16 +2,41 @@
|
|
|
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';
|
|
5
6
|
const hookNames = {
|
|
6
7
|
getIsLocked: true,
|
|
7
8
|
getIsActive: true,
|
|
8
9
|
getVersion: true,
|
|
9
10
|
};
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
+
* Get the status of the client running the Snap.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* import type { OnCronjobHandler } from '@metamask/snaps-sdk'
|
|
17
|
+
* import { MethodNotFoundError } from '@metamask/snaps-sdk'
|
|
18
|
+
*
|
|
19
|
+
* export const onCronjob: OnCronjobHandler = async ({ request }) => {
|
|
20
|
+
* switch (request.method) {
|
|
21
|
+
* case 'execute':
|
|
22
|
+
* // Find out if MetaMask is locked.
|
|
23
|
+
* const { locked } = await snap.request({
|
|
24
|
+
* method: 'snap_getClientStatus',
|
|
25
|
+
* })
|
|
26
|
+
*
|
|
27
|
+
* if (!locked) {
|
|
28
|
+
* // Do something that requires MetaMask to be unlocked, such as
|
|
29
|
+
* // accessing the encrypted state.
|
|
30
|
+
* }
|
|
31
|
+
*
|
|
32
|
+
* default:
|
|
33
|
+
* throw new MethodNotFoundError()
|
|
34
|
+
* }
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
12
37
|
*/
|
|
13
38
|
exports.getClientStatusHandler = {
|
|
14
|
-
methodNames: [
|
|
39
|
+
methodNames: [methodName],
|
|
15
40
|
implementation: getClientStatusImplementation,
|
|
16
41
|
hookNames,
|
|
17
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientStatus.cjs","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":";;;AAGA,uDAA2D;AAS3D,MAAM,SAAS,GAA4C;IACzD,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"getClientStatus.cjs","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":";;;AAGA,uDAA2D;AAS3D,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,MAAM,SAAS,GAA4C;IACzD,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACU,QAAA,sBAAsB,GAAG;IACpC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,6BAA6B;IAC7C,SAAS;CAKV,CAAC;AAmBF;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,6BAA6B,CAC1C,QAAwB,EACxB,QAAuD,EACvD,KAAc,EACd,GAA6B,EAC7B,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAwB;IAE9D,QAAQ,CAAC,MAAM,GAAG;QAChB,MAAM,EAAE,WAAW,EAAE;QACrB,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 { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\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 { MethodHooksObject } from '../utils';\n\nconst methodName = 'snap_getClientStatus';\n\nconst hookNames: MethodHooksObject<GetClientStatusHooks> = {\n getIsLocked: true,\n getIsActive: true,\n getVersion: true,\n};\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 methodNames: [methodName] as const,\n implementation: getClientStatusImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n GetClientStatusHooks,\n JsonRpcParams,\n GetClientStatusResult\n>;\n\nexport type GetClientStatusHooks = {\n /**\n * @returns Whether the client is locked or not.\n */\n getIsLocked: () => boolean;\n\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\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.getIsLocked - A function that returns whether the client is locked or not.\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 * @returns Nothing.\n */\nasync function getClientStatusImplementation(\n _request: JsonRpcRequest,\n response: PendingJsonRpcResponse<GetClientStatusResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getIsLocked, getIsActive, getVersion }: GetClientStatusHooks,\n): Promise<void> {\n response.result = {\n locked: getIsLocked(),\n active: getIsActive(),\n clientVersion: getVersion(),\n platformVersion: getPlatformVersion(),\n };\n return end();\n}\n"]}
|
|
@@ -1,10 +1,39 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
2
|
import type { GetClientStatusResult } from "@metamask/snaps-sdk";
|
|
3
|
-
import type {
|
|
3
|
+
import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
|
|
4
|
+
import type { MethodHooksObject } from "../utils.cjs";
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* Get the status of the client running the Snap.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import type { OnCronjobHandler } from '@metamask/snaps-sdk'
|
|
11
|
+
* import { MethodNotFoundError } from '@metamask/snaps-sdk'
|
|
12
|
+
*
|
|
13
|
+
* export const onCronjob: OnCronjobHandler = async ({ request }) => {
|
|
14
|
+
* switch (request.method) {
|
|
15
|
+
* case 'execute':
|
|
16
|
+
* // Find out if MetaMask is locked.
|
|
17
|
+
* const { locked } = await snap.request({
|
|
18
|
+
* method: 'snap_getClientStatus',
|
|
19
|
+
* })
|
|
20
|
+
*
|
|
21
|
+
* if (!locked) {
|
|
22
|
+
* // Do something that requires MetaMask to be unlocked, such as
|
|
23
|
+
* // accessing the encrypted state.
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* default:
|
|
27
|
+
* throw new MethodNotFoundError()
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
6
31
|
*/
|
|
7
|
-
export declare const getClientStatusHandler:
|
|
32
|
+
export declare const getClientStatusHandler: {
|
|
33
|
+
methodNames: ["snap_getClientStatus"];
|
|
34
|
+
implementation: typeof getClientStatusImplementation;
|
|
35
|
+
hookNames: MethodHooksObject<GetClientStatusHooks>;
|
|
36
|
+
};
|
|
8
37
|
export type GetClientStatusHooks = {
|
|
9
38
|
/**
|
|
10
39
|
* @returns Whether the client is locked or not.
|
|
@@ -19,4 +48,21 @@ export type GetClientStatusHooks = {
|
|
|
19
48
|
*/
|
|
20
49
|
getVersion: () => string;
|
|
21
50
|
};
|
|
51
|
+
/**
|
|
52
|
+
* The `snap_getClientStatus` method implementation.
|
|
53
|
+
* Returns useful information about the client running the snap.
|
|
54
|
+
*
|
|
55
|
+
* @param _request - The JSON-RPC request object. Not used by this function.
|
|
56
|
+
* @param response - The JSON-RPC response object.
|
|
57
|
+
* @param _next - The `json-rpc-engine` "next" callback. Not used by this
|
|
58
|
+
* function.
|
|
59
|
+
* @param end - The `json-rpc-engine` "end" callback.
|
|
60
|
+
* @param hooks - The RPC method hooks.
|
|
61
|
+
* @param hooks.getIsLocked - A function that returns whether the client is locked or not.
|
|
62
|
+
* @param hooks.getIsActive - A function that returns whether the client is opened or not.
|
|
63
|
+
* @param hooks.getVersion - A function that returns the client version.
|
|
64
|
+
* @returns Nothing.
|
|
65
|
+
*/
|
|
66
|
+
declare function getClientStatusImplementation(_request: JsonRpcRequest, response: PendingJsonRpcResponse<GetClientStatusResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getIsLocked, getIsActive, getVersion }: GetClientStatusHooks): Promise<void>;
|
|
67
|
+
export {};
|
|
22
68
|
//# sourceMappingURL=getClientStatus.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientStatus.d.cts","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getClientStatus.d.cts","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAE1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAA4B;AAEjE,OAAO,KAAK,EAEV,cAAc,EACd,sBAAsB,EACvB,wBAAwB;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AAUlD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,sBAAsB;;;;CAQlC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;CAC1B,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,WAAW,EAAE,UAAU,EAAE,EAAE,oBAAoB,GAC7D,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -1,10 +1,39 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
2
|
import type { GetClientStatusResult } from "@metamask/snaps-sdk";
|
|
3
|
-
import type {
|
|
3
|
+
import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
|
|
4
|
+
import type { MethodHooksObject } from "../utils.mjs";
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* Get the status of the client running the Snap.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import type { OnCronjobHandler } from '@metamask/snaps-sdk'
|
|
11
|
+
* import { MethodNotFoundError } from '@metamask/snaps-sdk'
|
|
12
|
+
*
|
|
13
|
+
* export const onCronjob: OnCronjobHandler = async ({ request }) => {
|
|
14
|
+
* switch (request.method) {
|
|
15
|
+
* case 'execute':
|
|
16
|
+
* // Find out if MetaMask is locked.
|
|
17
|
+
* const { locked } = await snap.request({
|
|
18
|
+
* method: 'snap_getClientStatus',
|
|
19
|
+
* })
|
|
20
|
+
*
|
|
21
|
+
* if (!locked) {
|
|
22
|
+
* // Do something that requires MetaMask to be unlocked, such as
|
|
23
|
+
* // accessing the encrypted state.
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* default:
|
|
27
|
+
* throw new MethodNotFoundError()
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
6
31
|
*/
|
|
7
|
-
export declare const getClientStatusHandler:
|
|
32
|
+
export declare const getClientStatusHandler: {
|
|
33
|
+
methodNames: ["snap_getClientStatus"];
|
|
34
|
+
implementation: typeof getClientStatusImplementation;
|
|
35
|
+
hookNames: MethodHooksObject<GetClientStatusHooks>;
|
|
36
|
+
};
|
|
8
37
|
export type GetClientStatusHooks = {
|
|
9
38
|
/**
|
|
10
39
|
* @returns Whether the client is locked or not.
|
|
@@ -19,4 +48,21 @@ export type GetClientStatusHooks = {
|
|
|
19
48
|
*/
|
|
20
49
|
getVersion: () => string;
|
|
21
50
|
};
|
|
51
|
+
/**
|
|
52
|
+
* The `snap_getClientStatus` method implementation.
|
|
53
|
+
* Returns useful information about the client running the snap.
|
|
54
|
+
*
|
|
55
|
+
* @param _request - The JSON-RPC request object. Not used by this function.
|
|
56
|
+
* @param response - The JSON-RPC response object.
|
|
57
|
+
* @param _next - The `json-rpc-engine` "next" callback. Not used by this
|
|
58
|
+
* function.
|
|
59
|
+
* @param end - The `json-rpc-engine` "end" callback.
|
|
60
|
+
* @param hooks - The RPC method hooks.
|
|
61
|
+
* @param hooks.getIsLocked - A function that returns whether the client is locked or not.
|
|
62
|
+
* @param hooks.getIsActive - A function that returns whether the client is opened or not.
|
|
63
|
+
* @param hooks.getVersion - A function that returns the client version.
|
|
64
|
+
* @returns Nothing.
|
|
65
|
+
*/
|
|
66
|
+
declare function getClientStatusImplementation(_request: JsonRpcRequest, response: PendingJsonRpcResponse<GetClientStatusResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getIsLocked, getIsActive, getVersion }: GetClientStatusHooks): Promise<void>;
|
|
67
|
+
export {};
|
|
22
68
|
//# sourceMappingURL=getClientStatus.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientStatus.d.mts","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getClientStatus.d.mts","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAE1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAA4B;AAEjE,OAAO,KAAK,EAEV,cAAc,EACd,sBAAsB,EACvB,wBAAwB;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AAUlD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,sBAAsB;;;;CAQlC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;CAC1B,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,WAAW,EAAE,UAAU,EAAE,EAAE,oBAAoB,GAC7D,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
import { getPlatformVersion } from "@metamask/snaps-utils";
|
|
2
|
+
const methodName = 'snap_getClientStatus';
|
|
2
3
|
const hookNames = {
|
|
3
4
|
getIsLocked: true,
|
|
4
5
|
getIsActive: true,
|
|
5
6
|
getVersion: true,
|
|
6
7
|
};
|
|
7
8
|
/**
|
|
8
|
-
*
|
|
9
|
+
* Get the status of the client running the Snap.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import type { OnCronjobHandler } from '@metamask/snaps-sdk'
|
|
14
|
+
* import { MethodNotFoundError } from '@metamask/snaps-sdk'
|
|
15
|
+
*
|
|
16
|
+
* export const onCronjob: OnCronjobHandler = async ({ request }) => {
|
|
17
|
+
* switch (request.method) {
|
|
18
|
+
* case 'execute':
|
|
19
|
+
* // Find out if MetaMask is locked.
|
|
20
|
+
* const { locked } = await snap.request({
|
|
21
|
+
* method: 'snap_getClientStatus',
|
|
22
|
+
* })
|
|
23
|
+
*
|
|
24
|
+
* if (!locked) {
|
|
25
|
+
* // Do something that requires MetaMask to be unlocked, such as
|
|
26
|
+
* // accessing the encrypted state.
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* default:
|
|
30
|
+
* throw new MethodNotFoundError()
|
|
31
|
+
* }
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
9
34
|
*/
|
|
10
35
|
export const getClientStatusHandler = {
|
|
11
|
-
methodNames: [
|
|
36
|
+
methodNames: [methodName],
|
|
12
37
|
implementation: getClientStatusImplementation,
|
|
13
38
|
hookNames,
|
|
14
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientStatus.mjs","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,8BAA8B;AAS3D,MAAM,SAAS,GAA4C;IACzD,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"getClientStatus.mjs","sourceRoot":"","sources":["../../src/permitted/getClientStatus.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,8BAA8B;AAS3D,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,MAAM,SAAS,GAA4C;IACzD,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,6BAA6B;IAC7C,SAAS;CAKV,CAAC;AAmBF;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,6BAA6B,CAC1C,QAAwB,EACxB,QAAuD,EACvD,KAAc,EACd,GAA6B,EAC7B,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAwB;IAE9D,QAAQ,CAAC,MAAM,GAAG;QAChB,MAAM,EAAE,WAAW,EAAE;QACrB,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 { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\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 { MethodHooksObject } from '../utils';\n\nconst methodName = 'snap_getClientStatus';\n\nconst hookNames: MethodHooksObject<GetClientStatusHooks> = {\n getIsLocked: true,\n getIsActive: true,\n getVersion: true,\n};\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 methodNames: [methodName] as const,\n implementation: getClientStatusImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n GetClientStatusHooks,\n JsonRpcParams,\n GetClientStatusResult\n>;\n\nexport type GetClientStatusHooks = {\n /**\n * @returns Whether the client is locked or not.\n */\n getIsLocked: () => boolean;\n\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\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.getIsLocked - A function that returns whether the client is locked or not.\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 * @returns Nothing.\n */\nasync function getClientStatusImplementation(\n _request: JsonRpcRequest,\n response: PendingJsonRpcResponse<GetClientStatusResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getIsLocked, getIsActive, getVersion }: GetClientStatusHooks,\n): Promise<void> {\n response.result = {\n locked: getIsLocked(),\n active: getIsActive(),\n clientVersion: getVersion(),\n platformVersion: getPlatformVersion(),\n };\n return end();\n}\n"]}
|
|
@@ -13,11 +13,38 @@ 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';
|
|
16
17
|
const hookNames = {
|
|
17
18
|
getSnapFile: true,
|
|
18
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* Gets a static file's content in UTF-8, Base64, or hexadecimal.
|
|
22
|
+
*
|
|
23
|
+
* The file must be specified in [the Snap's manifest file](https://docs.metamask.io/snaps/features/static-files/).
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```json name="Manifest"
|
|
27
|
+
* {
|
|
28
|
+
* "source": {
|
|
29
|
+
* "files": ["./files/my-file.bin"]
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
* ```ts name="Usage"
|
|
34
|
+
* const contents = await snap.request({
|
|
35
|
+
* method: 'snap_getFile',
|
|
36
|
+
* params: {
|
|
37
|
+
* path: './files/myfile.bin',
|
|
38
|
+
* encoding: 'hex',
|
|
39
|
+
* },
|
|
40
|
+
* })
|
|
41
|
+
*
|
|
42
|
+
* // '0x...'
|
|
43
|
+
* console.log(contents)
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
19
46
|
exports.getFileHandler = {
|
|
20
|
-
methodNames: [
|
|
47
|
+
methodNames: [methodName],
|
|
21
48
|
implementation,
|
|
22
49
|
hookNames,
|
|
23
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFile.cjs","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAEjD,mDAAuE;AAEvE,uDAAwE;AAExE,2CAA+C;AAIlC,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;AAOH,MAAM,SAAS,GAAoC;IACjD,WAAW,EAAE,IAAI;CAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"getFile.cjs","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAEjD,mDAAuE;AAEvE,uDAAwE;AAExE,2CAA+C;AAIlC,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;AAOH,MAAM,UAAU,GAAG,cAAc,CAAC;AAElC,MAAM,SAAS,GAAoC;IACjD,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACU,QAAA,cAAc,GAAG;IAC5B,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc;IACd,SAAS;CACoE,CAAC;AAShF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,cAAc,CAC3B,GAA0C,EAC1C,GAA0C,EAC1C,KAAc,EACd,GAA6B,EAC7B,EAAE,WAAW,EAAgB;IAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,IAAA,oBAAY,EACV,MAAM,EACN,yBAAiB,EACjB,mCAAmC,EACnC,sBAAS,CAAC,aAAa,CACxB,CAAC;IAEF,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,MAAM,WAAW,CAC5B,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,QAAQ,IAAI,iCAAqB,CAAC,MAAM,CAChD,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 { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\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, JsonRpcRequest } from '@metamask/utils';\nimport { assertStruct } from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\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\nconst methodName = 'snap_getFile';\n\nconst hookNames: MethodHooksObject<GetFileHooks> = {\n getSnapFile: true,\n};\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 methodNames: [methodName] as const,\n implementation,\n hookNames,\n} satisfies PermittedHandlerExport<GetFileHooks, InferredGetFileParams, string>;\n\nexport type GetFileHooks = {\n getSnapFile: (\n path: InferredGetFileParams['path'],\n encoding: InferredGetFileParams['encoding'],\n ) => Promise<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.\n * @param hooks.getSnapFile - The function to load a static snap file.\n * @returns Nothing.\n */\nasync function implementation(\n req: JsonRpcRequest<InferredGetFileParams>,\n res: PendingJsonRpcResponse<GetFileResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getSnapFile }: GetFileHooks,\n): Promise<void> {\n const { params } = req;\n\n assertStruct(\n params,\n GetFileArgsStruct,\n 'Invalid \"snap_getFile\" parameters',\n rpcErrors.invalidParams,\n );\n\n try {\n res.result = await getSnapFile(\n params.path,\n params.encoding ?? AuxiliaryFileEncoding.Base64,\n );\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { GetFileParams } from "@metamask/snaps-sdk";
|
|
1
|
+
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
|
+
import type { GetFileParams, GetFileResult } from "@metamask/snaps-sdk";
|
|
3
3
|
import type { InferMatching } from "@metamask/snaps-utils";
|
|
4
|
+
import type { PendingJsonRpcResponse, JsonRpcRequest } from "@metamask/utils";
|
|
5
|
+
import type { MethodHooksObject } from "../utils.cjs";
|
|
4
6
|
export declare const GetFileArgsStruct: import("@metamask/superstruct").Struct<{
|
|
5
7
|
path: string;
|
|
6
8
|
encoding?: "base64" | "hex" | "utf8" | undefined;
|
|
@@ -9,8 +11,52 @@ export declare const GetFileArgsStruct: import("@metamask/superstruct").Struct<{
|
|
|
9
11
|
encoding: import("@metamask/superstruct").Struct<"base64" | "hex" | "utf8" | undefined, null>;
|
|
10
12
|
}>;
|
|
11
13
|
export type InferredGetFileParams = InferMatching<typeof GetFileArgsStruct, GetFileParams>;
|
|
12
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Gets a static file's content in UTF-8, Base64, or hexadecimal.
|
|
16
|
+
*
|
|
17
|
+
* The file must be specified in [the Snap's manifest file](https://docs.metamask.io/snaps/features/static-files/).
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```json name="Manifest"
|
|
21
|
+
* {
|
|
22
|
+
* "source": {
|
|
23
|
+
* "files": ["./files/my-file.bin"]
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
* ```ts name="Usage"
|
|
28
|
+
* const contents = await snap.request({
|
|
29
|
+
* method: 'snap_getFile',
|
|
30
|
+
* params: {
|
|
31
|
+
* path: './files/myfile.bin',
|
|
32
|
+
* encoding: 'hex',
|
|
33
|
+
* },
|
|
34
|
+
* })
|
|
35
|
+
*
|
|
36
|
+
* // '0x...'
|
|
37
|
+
* console.log(contents)
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare const getFileHandler: {
|
|
41
|
+
methodNames: ["snap_getFile"];
|
|
42
|
+
implementation: typeof implementation;
|
|
43
|
+
hookNames: MethodHooksObject<GetFileHooks>;
|
|
44
|
+
};
|
|
13
45
|
export type GetFileHooks = {
|
|
14
46
|
getSnapFile: (path: InferredGetFileParams['path'], encoding: InferredGetFileParams['encoding']) => Promise<string>;
|
|
15
47
|
};
|
|
48
|
+
/**
|
|
49
|
+
* The `snap_getFile` method implementation.
|
|
50
|
+
*
|
|
51
|
+
* @param req - The JSON-RPC request object.
|
|
52
|
+
* @param res - The JSON-RPC response object.
|
|
53
|
+
* @param _next - The `json-rpc-engine` "next" callback. Not used by this
|
|
54
|
+
* function.
|
|
55
|
+
* @param end - The `json-rpc-engine` "end" callback.
|
|
56
|
+
* @param hooks - The RPC method hooks.
|
|
57
|
+
* @param hooks.getSnapFile - The function to load a static snap file.
|
|
58
|
+
* @returns Nothing.
|
|
59
|
+
*/
|
|
60
|
+
declare function implementation(req: JsonRpcRequest<InferredGetFileParams>, res: PendingJsonRpcResponse<GetFileResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getSnapFile }: GetFileHooks): Promise<void>;
|
|
61
|
+
export {};
|
|
16
62
|
//# sourceMappingURL=getFile.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFile.d.cts","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getFile.d.cts","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,4BAA4B;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB;AAG9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AAElD,eAAO,MAAM,iBAAiB;;;;;;EAS5B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAC/C,OAAO,iBAAiB,EACxB,aAAa,CACd,CAAC;AAQF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc;;;;CAIoD,CAAC;AAEhF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,CACX,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACnC,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC,KACxC,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAe,cAAc,CAC3B,GAAG,EAAE,cAAc,CAAC,qBAAqB,CAAC,EAC1C,GAAG,EAAE,sBAAsB,CAAC,aAAa,CAAC,EAC1C,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,WAAW,EAAE,EAAE,YAAY,GAC5B,OAAO,CAAC,IAAI,CAAC,CAoBf"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { GetFileParams } from "@metamask/snaps-sdk";
|
|
1
|
+
import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
|
|
2
|
+
import type { GetFileParams, GetFileResult } from "@metamask/snaps-sdk";
|
|
3
3
|
import type { InferMatching } from "@metamask/snaps-utils";
|
|
4
|
+
import type { PendingJsonRpcResponse, JsonRpcRequest } from "@metamask/utils";
|
|
5
|
+
import type { MethodHooksObject } from "../utils.mjs";
|
|
4
6
|
export declare const GetFileArgsStruct: import("@metamask/superstruct").Struct<{
|
|
5
7
|
path: string;
|
|
6
8
|
encoding?: "base64" | "hex" | "utf8" | undefined;
|
|
@@ -9,8 +11,52 @@ export declare const GetFileArgsStruct: import("@metamask/superstruct").Struct<{
|
|
|
9
11
|
encoding: import("@metamask/superstruct").Struct<"base64" | "hex" | "utf8" | undefined, null>;
|
|
10
12
|
}>;
|
|
11
13
|
export type InferredGetFileParams = InferMatching<typeof GetFileArgsStruct, GetFileParams>;
|
|
12
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Gets a static file's content in UTF-8, Base64, or hexadecimal.
|
|
16
|
+
*
|
|
17
|
+
* The file must be specified in [the Snap's manifest file](https://docs.metamask.io/snaps/features/static-files/).
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```json name="Manifest"
|
|
21
|
+
* {
|
|
22
|
+
* "source": {
|
|
23
|
+
* "files": ["./files/my-file.bin"]
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
* ```ts name="Usage"
|
|
28
|
+
* const contents = await snap.request({
|
|
29
|
+
* method: 'snap_getFile',
|
|
30
|
+
* params: {
|
|
31
|
+
* path: './files/myfile.bin',
|
|
32
|
+
* encoding: 'hex',
|
|
33
|
+
* },
|
|
34
|
+
* })
|
|
35
|
+
*
|
|
36
|
+
* // '0x...'
|
|
37
|
+
* console.log(contents)
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare const getFileHandler: {
|
|
41
|
+
methodNames: ["snap_getFile"];
|
|
42
|
+
implementation: typeof implementation;
|
|
43
|
+
hookNames: MethodHooksObject<GetFileHooks>;
|
|
44
|
+
};
|
|
13
45
|
export type GetFileHooks = {
|
|
14
46
|
getSnapFile: (path: InferredGetFileParams['path'], encoding: InferredGetFileParams['encoding']) => Promise<string>;
|
|
15
47
|
};
|
|
48
|
+
/**
|
|
49
|
+
* The `snap_getFile` method implementation.
|
|
50
|
+
*
|
|
51
|
+
* @param req - The JSON-RPC request object.
|
|
52
|
+
* @param res - The JSON-RPC response object.
|
|
53
|
+
* @param _next - The `json-rpc-engine` "next" callback. Not used by this
|
|
54
|
+
* function.
|
|
55
|
+
* @param end - The `json-rpc-engine` "end" callback.
|
|
56
|
+
* @param hooks - The RPC method hooks.
|
|
57
|
+
* @param hooks.getSnapFile - The function to load a static snap file.
|
|
58
|
+
* @returns Nothing.
|
|
59
|
+
*/
|
|
60
|
+
declare function implementation(req: JsonRpcRequest<InferredGetFileParams>, res: PendingJsonRpcResponse<GetFileResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getSnapFile }: GetFileHooks): Promise<void>;
|
|
61
|
+
export {};
|
|
16
62
|
//# sourceMappingURL=getFile.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFile.d.mts","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getFile.d.mts","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,4BAA4B;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB;AAG9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AAElD,eAAO,MAAM,iBAAiB;;;;;;EAS5B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAC/C,OAAO,iBAAiB,EACxB,aAAa,CACd,CAAC;AAQF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc;;;;CAIoD,CAAC;AAEhF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,CACX,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACnC,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC,KACxC,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAe,cAAc,CAC3B,GAAG,EAAE,cAAc,CAAC,qBAAqB,CAAC,EAC1C,GAAG,EAAE,sBAAsB,CAAC,aAAa,CAAC,EAC1C,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,WAAW,EAAE,EAAE,YAAY,GAC5B,OAAO,CAAC,IAAI,CAAC,CAoBf"}
|
|
@@ -10,11 +10,38 @@ export const GetFileArgsStruct = object({
|
|
|
10
10
|
enumValue(AuxiliaryFileEncoding.Utf8),
|
|
11
11
|
])),
|
|
12
12
|
});
|
|
13
|
+
const methodName = 'snap_getFile';
|
|
13
14
|
const hookNames = {
|
|
14
15
|
getSnapFile: true,
|
|
15
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* Gets a static file's content in UTF-8, Base64, or hexadecimal.
|
|
19
|
+
*
|
|
20
|
+
* The file must be specified in [the Snap's manifest file](https://docs.metamask.io/snaps/features/static-files/).
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```json name="Manifest"
|
|
24
|
+
* {
|
|
25
|
+
* "source": {
|
|
26
|
+
* "files": ["./files/my-file.bin"]
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
* ```ts name="Usage"
|
|
31
|
+
* const contents = await snap.request({
|
|
32
|
+
* method: 'snap_getFile',
|
|
33
|
+
* params: {
|
|
34
|
+
* path: './files/myfile.bin',
|
|
35
|
+
* encoding: 'hex',
|
|
36
|
+
* },
|
|
37
|
+
* })
|
|
38
|
+
*
|
|
39
|
+
* // '0x...'
|
|
40
|
+
* console.log(contents)
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
16
43
|
export const getFileHandler = {
|
|
17
|
-
methodNames: [
|
|
44
|
+
methodNames: [methodName],
|
|
18
45
|
implementation,
|
|
19
46
|
hookNames,
|
|
20
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFile.mjs","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"AAEA,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;AAI/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;AAOH,MAAM,SAAS,GAAoC;IACjD,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"getFile.mjs","sourceRoot":"","sources":["../../src/permitted/getFile.ts"],"names":[],"mappings":"AAEA,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;AAI/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;AAOH,MAAM,UAAU,GAAG,cAAc,CAAC;AAElC,MAAM,SAAS,GAAoC;IACjD,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc;IACd,SAAS;CACoE,CAAC;AAShF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,cAAc,CAC3B,GAA0C,EAC1C,GAA0C,EAC1C,KAAc,EACd,GAA6B,EAC7B,EAAE,WAAW,EAAgB;IAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,YAAY,CACV,MAAM,EACN,iBAAiB,EACjB,mCAAmC,EACnC,SAAS,CAAC,aAAa,CACxB,CAAC;IAEF,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,MAAM,WAAW,CAC5B,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,QAAQ,IAAI,qBAAqB,CAAC,MAAM,CAChD,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 { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\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, JsonRpcRequest } from '@metamask/utils';\nimport { assertStruct } from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\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\nconst methodName = 'snap_getFile';\n\nconst hookNames: MethodHooksObject<GetFileHooks> = {\n getSnapFile: true,\n};\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 methodNames: [methodName] as const,\n implementation,\n hookNames,\n} satisfies PermittedHandlerExport<GetFileHooks, InferredGetFileParams, string>;\n\nexport type GetFileHooks = {\n getSnapFile: (\n path: InferredGetFileParams['path'],\n encoding: InferredGetFileParams['encoding'],\n ) => Promise<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.\n * @param hooks.getSnapFile - The function to load a static snap file.\n * @returns Nothing.\n */\nasync function implementation(\n req: JsonRpcRequest<InferredGetFileParams>,\n res: PendingJsonRpcResponse<GetFileResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getSnapFile }: GetFileHooks,\n): Promise<void> {\n const { params } = req;\n\n assertStruct(\n params,\n GetFileArgsStruct,\n 'Invalid \"snap_getFile\" parameters',\n rpcErrors.invalidParams,\n );\n\n try {\n res.result = await getSnapFile(\n params.path,\n params.encoding ?? AuxiliaryFileEncoding.Base64,\n );\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
|