UNPKG

moon-did-resolver

Version:

Resolve DID documents for ethereum addresses and public keys

36 lines 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logDecoder = void 0; const helpers_1 = require("./helpers"); function populateEventMetaClass(logResult, blockNumber) { // eslint-disable-next-line @typescript-eslint/no-explicit-any const result = {}; if (logResult.fragment.inputs.length !== logResult.args.length) { throw new TypeError('malformed event input. wrong number of arguments'); } logResult.fragment.inputs.forEach((input, index) => { let val = logResult.args[index]; if (typeof val === 'object') { val = BigInt(val); } if (input.type === 'bytes32') { val = (0, helpers_1.bytes32toString)(val); } result[input.name] = val; }); result._eventName = logResult.name; result.blockNumber = blockNumber; return result; } function logDecoder(contract, logs) { return logs .map((log) => { const res = contract.interface.parseLog({ topics: [...log.topics], data: log.data }); if (!res) return null; return populateEventMetaClass(res, log.blockNumber); }) .filter(helpers_1.isDefined); } exports.logDecoder = logDecoder; //# sourceMappingURL=logParser.js.map