@metamask/snaps-rpc-methods
Version:
MetaMask Snaps JSON-RPC method implementations
18 lines • 1.26 kB
text/typescript
import { type PermissionConstraint, type PermissionSpecificationConstraint } from "@metamask/permission-controller";
import type { SnapPermissions } from "@metamask/snaps-utils";
import type { RestrictedMethodMessenger } from "./restricted/index.mjs";
/**
* Map initial permissions as defined in a Snap manifest to something that can
* be processed by the PermissionsController. Each caveat mapping function
* should return a valid permission caveat value.
*
* This function does not validate the caveat values, since that is done by
* the PermissionsController itself, upon requesting the permissions.
*
* @param initialPermissions - The initial permissions to process.
* @returns The processed permissions.
*/
export declare function processSnapPermissions(initialPermissions: SnapPermissions): Record<string, Pick<PermissionConstraint, 'caveats'>>;
export declare const buildSnapEndowmentSpecifications: (excludedEndowments: string[]) => Record<string, PermissionSpecificationConstraint>;
export declare const buildSnapRestrictedMethodSpecifications: (excludedPermissions: string[], hooks: Record<string, unknown>, messenger: RestrictedMethodMessenger) => Record<string, PermissionSpecificationConstraint>;
//# sourceMappingURL=permissions.d.mts.map