{"version":3,"file":"provider-from-middleware.cjs","sourceRoot":"","sources":["../src/provider-from-middleware.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAI1D,qEAA4D;AAG5D;;;;;GAKG;AACH,SAAgB,sBAAsB,CAGpC,UAA6C;IAC7C,MAAM,MAAM,GAAkB,IAAI,+BAAa,EAAE,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,MAAM,QAAQ,GAA6B,IAAA,yCAAkB,EAAC,MAAM,CAAC,CAAC;IACtE,OAAO,QAAQ,CAAC;AAClB,CAAC;AARD,wDAQC","sourcesContent":["import { JsonRpcEngine } from '@metamask/json-rpc-engine';\nimport type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport type { Json, JsonRpcParams } from '@metamask/utils';\n\nimport { providerFromEngine } from './provider-from-engine';\nimport type { SafeEventEmitterProvider } from './safe-event-emitter-provider';\n\n/**\n * Construct an Ethereum provider from the given middleware.\n *\n * @param middleware - The middleware to construct a provider from.\n * @returns An Ethereum provider.\n */\nexport function providerFromMiddleware<\n  Params extends JsonRpcParams,\n  Result extends Json,\n>(middleware: JsonRpcMiddleware<Params, Result>): SafeEventEmitterProvider {\n  const engine: JsonRpcEngine = new JsonRpcEngine();\n  engine.push(middleware);\n  const provider: SafeEventEmitterProvider = providerFromEngine(engine);\n  return provider;\n}\n"]}