@metamask/eth-json-rpc-provider
Version:
Create an Ethereum provider using a JSON-RPC engine or middleware
1 lines • 1.31 kB
Source Map (JSON)
{"version":3,"file":"provider-from-middleware.mjs","sourceRoot":"","sources":["../src/provider-from-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kCAAkC;AAI1D,OAAO,EAAE,kBAAkB,EAAE,mCAA+B;AAG5D;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAGpC,UAA6C;IAC7C,MAAM,MAAM,GAAkB,IAAI,aAAa,EAAE,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,MAAM,QAAQ,GAA6B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACtE,OAAO,QAAQ,CAAC;AAClB,CAAC","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"]}