UNPKG

@tevm/actions

Version:

A typesafe library for writing forge scripts in typescript

33 lines (31 loc) 1 kB
import { ethNewFilterHandler } from './ethNewFilterHandler.js' /** * Request handler for eth_newFilter JSON-RPC requests. * @param {import('@tevm/node').TevmNode} tevmNode * @returns {import('./EthProcedure.js').EthNewFilterJsonRpcProcedure} */ export const ethNewFilterJsonRpcProcedure = (tevmNode) => { return async (request) => { const newFilterRequest = /** @type {import('./EthJsonRpcRequest.js').EthNewFilterJsonRpcRequest}*/ (request) try { return { jsonrpc: request.jsonrpc, method: request.method, result: await ethNewFilterHandler(tevmNode)(newFilterRequest.params[0]), ...(request.id !== undefined ? { id: request.id } : {}), } } catch (e) { tevmNode.logger.error(e) const { code, message } = /** @type {import('./ethNewFilterHandler.js').EthNewFilterError}*/ (e) return { error: { code, message, }, method: request.method, jsonrpc: request.jsonrpc, ...(request.id !== undefined ? { id: request.id } : {}), } } } }