UNPKG

@metamask/snaps-rpc-methods

Version:
30 lines 1.25 kB
import { PermissionType, SubjectType } from "@metamask/permission-controller"; import { SnapCaveatType } from "@metamask/snaps-utils"; import { createGenericPermissionValidator } from "./caveats/index.mjs"; import { SnapEndowments } from "./enum.mjs"; const permissionName = SnapEndowments.LifecycleHooks; /** * `endowment:lifecycle-hooks` returns nothing; it is intended to be used as a * flag by the snap controller to detect whether the snap has the capability to * use lifecycle hooks. * * @param _builderOptions - Optional specification builder options. * @returns The specification for the `lifecycle-hooks` endowment. */ const specificationBuilder = (_builderOptions) => { return { permissionType: PermissionType.Endowment, targetName: permissionName, allowedCaveats: [SnapCaveatType.MaxRequestTime], endowmentGetter: (_getterOptions) => null, subjectTypes: [SubjectType.Snap], validator: createGenericPermissionValidator([ { type: SnapCaveatType.MaxRequestTime, optional: true }, ]), }; }; export const lifecycleHooksEndowmentBuilder = Object.freeze({ targetName: permissionName, specificationBuilder, }); //# sourceMappingURL=lifecycle-hooks.mjs.map