{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/snaps/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oCAAoC;AAC7D,OAAO,EAAE,WAAW,EAAE,8BAA8B;AAEpD,gEAAgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,cAAc,CAAC,OAAO;IACtB,cAAc,CAAC,QAAQ;IACvB,cAAc,CAAC,cAAc;IAC7B,cAAc,CAAC,gBAAgB;IAC/B,cAAc,CAAC,kBAAkB;IACjC,cAAc,CAAC,gBAAgB;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,SAAS,EAAE,QAAiB;IAC5B,MAAM,EAAE;QACN,UAAU,EAAE,KAAM;KACnB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,+DAA+D;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAE1C,+DAA+D;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,WAAW,CAAC,eAAe;IAC3B,WAAW,CAAC,WAAW;IACvB,WAAW,CAAC,aAAa;IACzB,WAAW,CAAC,SAAS;IACrB,WAAW,CAAC,YAAY;IACxB,WAAW,CAAC,UAAU;IACtB,WAAW,CAAC,cAAc;IAC1B,WAAW,CAAC,WAAW;IACvB,WAAW,CAAC,cAAc;IAC1B,WAAW,CAAC,kBAAkB;IAC9B,WAAW,CAAC,sBAAsB;IAClC,WAAW,CAAC,kBAAkB;IAC9B,WAAW,CAAC,gBAAgB;CAC7B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,WAAW,CAAC,UAAU;IACtB,WAAW,CAAC,cAAc;IAC1B,WAAW,CAAC,WAAW;IACvB,WAAW,CAAC,aAAa;CAC1B,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAExC,MAAM,CAAC,MAAM,CAAC;IAChB,kBAAkB,EAAE,CAAC,6BAA6B,CAAC;CACpD,CAAC,CAAC","sourcesContent":["import { SnapEndowments } from '@metamask/snaps-rpc-methods';\nimport { HandlerType } from '@metamask/snaps-utils';\n\n// These permissions are allowed without being on the allowlist.\nexport const ALLOWED_PERMISSIONS = Object.freeze([\n  'snap_dialog',\n  'snap_manageState',\n  'snap_notify',\n  'snap_getLocale',\n  SnapEndowments.Cronjob,\n  SnapEndowments.HomePage,\n  SnapEndowments.LifecycleHooks,\n  SnapEndowments.EthereumProvider,\n  SnapEndowments.TransactionInsight,\n  SnapEndowments.SignatureInsight,\n]);\n\nexport const LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS = {\n  algorithm: 'PBKDF2' as const,\n  params: {\n    iterations: 10_000,\n  },\n};\n\n/**\n * The timeout for debouncing state updates.\n */\nexport const STATE_DEBOUNCE_TIMEOUT = 500;\n\n// The origin used to indicate requests coming from the client.\nexport const METAMASK_ORIGIN = 'metamask';\n\n// These handlers are only allowed to be invoked by the client.\nexport const CLIENT_ONLY_HANDLERS = Object.freeze([\n  HandlerType.OnClientRequest,\n  HandlerType.OnSignature,\n  HandlerType.OnTransaction,\n  HandlerType.OnCronjob,\n  HandlerType.OnNameLookup,\n  HandlerType.OnHomePage,\n  HandlerType.OnSettingsPage,\n  HandlerType.OnUserInput,\n  HandlerType.OnAssetsLookup,\n  HandlerType.OnAssetsConversion,\n  HandlerType.OnAssetHistoricalPrice,\n  HandlerType.OnAssetsMarketData,\n  HandlerType.OnWebSocketEvent,\n]);\n\n/**\n * Handlers which are expected to show a user interface.\n */\nexport const INTERFACE_HANDLERS = Object.freeze([\n  HandlerType.OnHomePage,\n  HandlerType.OnSettingsPage,\n  HandlerType.OnSignature,\n  HandlerType.OnTransaction,\n]);\n\n/**\n * A mapping of dynamic permission to their required dependencies, i.e., if the\n * dynamic permission is requested, at least one of its dependencies should\n * also be requested in order to use the dynamic permission.\n *\n * This is primarily used to grant or revoke the permission if its dependencies\n * are granted or revoked.\n */\nexport const DYNAMIC_PERMISSION_DEPENDENCIES: Readonly<\n  Record<string, string[]>\n> = Object.freeze({\n  'endowment:caip25': ['endowment:ethereum-provider'],\n});\n"]}