@metamask/snaps-sdk
Version:
A library containing the core functionality for building MetaMask Snaps
77 lines • 2.15 kB
text/typescript
import type { SupportedCurve } from "@metamask/key-tree";
import type { CaipChainId, JsonRpcRequest } from "@metamask/utils";
export type EmptyObject = Record<string, never>;
export type Cronjob = {
expression: string;
request: Omit<JsonRpcRequest, 'jsonrpc' | 'id'>;
};
export type NameLookupMatchers = {
tlds: string[];
} | {
schemes: string[];
} | {
tlds: string[];
schemes: string[];
};
export type Bip32Entropy = {
curve: SupportedCurve;
path: string[];
};
export type Bip44Entropy = {
coinType: number;
};
export type RequestedSnap = {
version?: string;
};
export type InitialPermissions = Partial<{
'endowment:cronjob': {
jobs?: Cronjob[];
maxRequestTime?: number;
};
'endowment:ethereum-provider': EmptyObject;
'endowment:keyring': {
allowedOrigins?: string[];
maxRequestTime?: number;
};
'endowment:lifecycle-hooks'?: {
maxRequestTime?: number;
};
'endowment:name-lookup': {
chains?: CaipChainId[];
matchers?: NameLookupMatchers;
maxRequestTime?: number;
};
'endowment:network-access': EmptyObject;
'endowment:page-home'?: {
maxRequestTime?: number;
};
'endowment:page-settings'?: {
maxRequestTime?: number;
};
'endowment:rpc': {
dapps?: boolean;
snaps?: boolean;
allowedOrigins?: string[];
maxRequestTime?: number;
};
'endowment:signature-insight': {
allowSignatureOrigin?: boolean;
maxRequestTime?: number;
};
'endowment:transaction-insight': {
allowTransactionOrigin?: boolean;
maxRequestTime?: number;
};
'endowment:webassembly': EmptyObject;
snap_dialog: EmptyObject;
snap_getBip32Entropy: Bip32Entropy[];
snap_getBip32PublicKey: Bip32Entropy[];
snap_getBip44Entropy: Bip44Entropy[];
snap_getEntropy: EmptyObject;
snap_getLocale: EmptyObject;
snap_manageAccounts: EmptyObject;
snap_manageState: EmptyObject;
snap_notify: EmptyObject;
wallet_snap: Record<string, RequestedSnap>;
}>;
//# sourceMappingURL=permissions.d.mts.map