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.SettingsPage; /** * `endowment:settings-page` 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 the snap settings page feature. * * @param _builderOptions - Optional specification builder options. * @returns The specification for the `settings-page` 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 settingsPageEndowmentBuilder = Object.freeze({ targetName: permissionName, specificationBuilder, }); //# sourceMappingURL=settings-page.mjs.map