{"version":3,"file":"permissions.cjs","sourceRoot":"","sources":["../../src/types/permissions.ts"],"names":[],"mappings":"","sourcesContent":["import type { SupportedCurve } from '@metamask/key-tree';\nimport type { CaipChainId, JsonRpcRequest } from '@metamask/utils';\n\nexport type EmptyObject = Record<string, never>;\n\nexport type Cronjob = {\n  expression: string;\n  request: Omit<JsonRpcRequest, 'jsonrpc' | 'id'>;\n};\n\nexport type NameLookupMatchers =\n  | {\n      tlds: string[];\n    }\n  | {\n      schemes: string[];\n    }\n  | {\n      tlds: string[];\n      schemes: string[];\n    };\n\nexport type Bip32Entropy = {\n  curve: SupportedCurve;\n  path: string[];\n};\n\nexport type Bip44Entropy = {\n  coinType: number;\n};\n\nexport type RequestedSnap = {\n  version?: string;\n};\n\nexport type InitialPermissions = Partial<{\n  'endowment:cronjob': {\n    jobs?: Cronjob[];\n    maxRequestTime?: number;\n  };\n  'endowment:ethereum-provider': EmptyObject;\n  'endowment:keyring': {\n    allowedOrigins?: string[];\n    maxRequestTime?: number;\n  };\n  'endowment:lifecycle-hooks'?: {\n    maxRequestTime?: number;\n  };\n  'endowment:name-lookup': {\n    chains?: CaipChainId[];\n    matchers?: NameLookupMatchers;\n    maxRequestTime?: number;\n  };\n  'endowment:network-access': EmptyObject;\n  'endowment:page-home'?: {\n    maxRequestTime?: number;\n  };\n  'endowment:page-settings'?: {\n    maxRequestTime?: number;\n  };\n  'endowment:rpc': {\n    dapps?: boolean;\n    snaps?: boolean;\n    allowedOrigins?: string[];\n    maxRequestTime?: number;\n  };\n  'endowment:signature-insight': {\n    allowSignatureOrigin?: boolean;\n    maxRequestTime?: number;\n  };\n  'endowment:transaction-insight': {\n    allowTransactionOrigin?: boolean;\n    maxRequestTime?: number;\n  };\n  'endowment:webassembly': EmptyObject;\n\n  /* eslint-disable @typescript-eslint/naming-convention */\n  snap_dialog: EmptyObject;\n  snap_getBip32Entropy: Bip32Entropy[];\n  snap_getBip32PublicKey: Bip32Entropy[];\n  snap_getBip44Entropy: Bip44Entropy[];\n  snap_getEntropy: EmptyObject;\n  snap_getLocale: EmptyObject;\n  snap_manageAccounts: EmptyObject;\n  snap_manageState: EmptyObject;\n  snap_notify: EmptyObject;\n  wallet_snap: Record<string, RequestedSnap>;\n  /* eslint-enable @typescript-eslint/naming-convention */\n}>;\n"]}