UNPKG

@metamask/snaps-rpc-methods

Version:
86 lines 5.95 kB
import { HandlerType } from "@metamask/snaps-utils"; import { assetsEndowmentBuilder, getAssetsCaveatMapper } from "./assets.mjs"; import { createMaxRequestTimeMapper, getMaxRequestTimeCaveatMapper, maxRequestTimeCaveatSpecifications } from "./caveats/index.mjs"; import { cronjobCaveatSpecifications, cronjobEndowmentBuilder, getCronjobCaveatMapper } from "./cronjob.mjs"; import { ethereumProviderEndowmentBuilder } from "./ethereum-provider.mjs"; import { homePageEndowmentBuilder } from "./home-page.mjs"; import { getKeyringCaveatMapper, keyringCaveatSpecifications, keyringEndowmentBuilder } from "./keyring.mjs"; import { lifecycleHooksEndowmentBuilder } from "./lifecycle-hooks.mjs"; import { getNameLookupCaveatMapper, nameLookupCaveatSpecifications, nameLookupEndowmentBuilder } from "./name-lookup.mjs"; import { networkAccessEndowmentBuilder } from "./network-access.mjs"; import { getProtocolCaveatMapper, protocolCaveatSpecifications, protocolEndowmentBuilder } from "./protocol.mjs"; import { getRpcCaveatMapper, rpcCaveatSpecifications, rpcEndowmentBuilder } from "./rpc.mjs"; import { settingsPageEndowmentBuilder } from "./settings-page.mjs"; import { getSignatureInsightCaveatMapper, signatureInsightCaveatSpecifications, signatureInsightEndowmentBuilder } from "./signature-insight.mjs"; import { getTransactionInsightCaveatMapper, transactionInsightCaveatSpecifications, transactionInsightEndowmentBuilder } from "./transaction-insight.mjs"; import { webAssemblyEndowmentBuilder } from "./web-assembly.mjs"; export const endowmentPermissionBuilders = { [networkAccessEndowmentBuilder.targetName]: networkAccessEndowmentBuilder, [transactionInsightEndowmentBuilder.targetName]: transactionInsightEndowmentBuilder, [cronjobEndowmentBuilder.targetName]: cronjobEndowmentBuilder, [ethereumProviderEndowmentBuilder.targetName]: ethereumProviderEndowmentBuilder, [rpcEndowmentBuilder.targetName]: rpcEndowmentBuilder, [webAssemblyEndowmentBuilder.targetName]: webAssemblyEndowmentBuilder, [nameLookupEndowmentBuilder.targetName]: nameLookupEndowmentBuilder, [lifecycleHooksEndowmentBuilder.targetName]: lifecycleHooksEndowmentBuilder, [keyringEndowmentBuilder.targetName]: keyringEndowmentBuilder, [settingsPageEndowmentBuilder.targetName]: settingsPageEndowmentBuilder, [protocolEndowmentBuilder.targetName]: protocolEndowmentBuilder, [homePageEndowmentBuilder.targetName]: homePageEndowmentBuilder, [signatureInsightEndowmentBuilder.targetName]: signatureInsightEndowmentBuilder, [assetsEndowmentBuilder.targetName]: assetsEndowmentBuilder, }; export const endowmentCaveatSpecifications = { ...cronjobCaveatSpecifications, ...transactionInsightCaveatSpecifications, ...rpcCaveatSpecifications, ...nameLookupCaveatSpecifications, ...keyringCaveatSpecifications, ...signatureInsightCaveatSpecifications, ...maxRequestTimeCaveatSpecifications, ...protocolCaveatSpecifications, }; export const endowmentCaveatMappers = { [cronjobEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getCronjobCaveatMapper), [transactionInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getTransactionInsightCaveatMapper), [rpcEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getRpcCaveatMapper), [nameLookupEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getNameLookupCaveatMapper), [keyringEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getKeyringCaveatMapper), [protocolEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getProtocolCaveatMapper), [signatureInsightEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getSignatureInsightCaveatMapper), [lifecycleHooksEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper, [homePageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper, [settingsPageEndowmentBuilder.targetName]: getMaxRequestTimeCaveatMapper, [assetsEndowmentBuilder.targetName]: createMaxRequestTimeMapper(getAssetsCaveatMapper), }; // We allow null because a permitted handler does not have an endowment export const handlerEndowments = { [HandlerType.OnRpcRequest]: rpcEndowmentBuilder.targetName, [HandlerType.OnTransaction]: transactionInsightEndowmentBuilder.targetName, [HandlerType.OnCronjob]: cronjobEndowmentBuilder.targetName, [HandlerType.OnNameLookup]: nameLookupEndowmentBuilder.targetName, [HandlerType.OnInstall]: lifecycleHooksEndowmentBuilder.targetName, [HandlerType.OnUpdate]: lifecycleHooksEndowmentBuilder.targetName, [HandlerType.OnStart]: lifecycleHooksEndowmentBuilder.targetName, [HandlerType.OnKeyringRequest]: keyringEndowmentBuilder.targetName, [HandlerType.OnHomePage]: homePageEndowmentBuilder.targetName, [HandlerType.OnSettingsPage]: settingsPageEndowmentBuilder.targetName, [HandlerType.OnSignature]: signatureInsightEndowmentBuilder.targetName, [HandlerType.OnUserInput]: null, [HandlerType.OnAssetHistoricalPrice]: assetsEndowmentBuilder.targetName, [HandlerType.OnAssetsLookup]: assetsEndowmentBuilder.targetName, [HandlerType.OnAssetsConversion]: assetsEndowmentBuilder.targetName, [HandlerType.OnProtocolRequest]: protocolEndowmentBuilder.targetName, [HandlerType.OnClientRequest]: null, [HandlerType.OnWebSocketEvent]: networkAccessEndowmentBuilder.targetName, }; export * from "./enum.mjs"; export { getRpcCaveatOrigins } from "./rpc.mjs"; export { getSignatureOriginCaveat } from "./signature-insight.mjs"; export { getTransactionOriginCaveat } from "./transaction-insight.mjs"; export { getChainIdsCaveat, getLookupMatchersCaveat } from "./name-lookup.mjs"; export { getKeyringCaveatOrigins } from "./keyring.mjs"; export { getMaxRequestTimeCaveat } from "./caveats/index.mjs"; export { getCronjobCaveatJobs } from "./cronjob.mjs"; export { getProtocolCaveatScopes } from "./protocol.mjs"; //# sourceMappingURL=index.mjs.map