UNPKG

@lodestar/types

Version:

Typescript types required for lodestar

27 lines 1.04 kB
/** * Deserialize a state from bytes ignoring some fields. */ export function deserializeContainerIgnoreFields(sszType, bytes, ignoreFields, fieldRanges) { const allFields = Object.keys(sszType.fields); const object = sszType.defaultViewDU(); if (!fieldRanges) { const dataView = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength); fieldRanges = sszType.getFieldRanges(dataView, 0, bytes.length); } for (const [field, type] of Object.entries(sszType.fields)) { // loaded above if (ignoreFields.includes(field)) { continue; } const fieldIndex = allFields.indexOf(field); const fieldRange = fieldRanges[fieldIndex]; if (type.isBasic) { object[field] = type.deserialize(bytes.subarray(fieldRange.start, fieldRange.end)); } else { object[field] = type.deserializeToViewDU(bytes.subarray(fieldRange.start, fieldRange.end)); } } return object; } //# sourceMappingURL=container.js.map