UNPKG

envio

Version:

A latency and sync speed optimized, developer friendly blockchain data indexer.

45 lines (39 loc) 1.22 kB
// Generated by ReScript, PLEASE EDIT WITH CARE import * as Viem from "viem"; import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js"; import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js"; let ParseError = /* @__PURE__ */Primitive_exceptions.create("Viem.ParseError"); let UnknownContractName = /* @__PURE__ */Primitive_exceptions.create("Viem.UnknownContractName"); function parseLogOrThrow(contractNameAbiMapping, contractName, topics, data) { let abi = contractNameAbiMapping[contractName]; if (abi !== undefined) { let viemLog_abi = Primitive_option.valFromOption(abi); let viemLog = { abi: viemLog_abi, data: data, topics: topics }; try { return Viem.decodeEventLog(viemLog); } catch (raw_exn) { let exn = Primitive_exceptions.internalToException(raw_exn); throw { RE_EXN_ID: ParseError, _1: exn, Error: new Error() }; } } else { throw { RE_EXN_ID: UnknownContractName, contractName: contractName, Error: new Error() }; } } export { ParseError, UnknownContractName, parseLogOrThrow, } /* viem Not a pure module */