UNPKG

@gleif-it/did-webs-ts

Version:
23 lines (22 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getKeyState = void 0; // Returns the latest key state for a given identifier from the sorted key event stream const getKeyState = (identifier, events) => { const sortedEvents = events.get(identifier); if (!sortedEvents || sortedEvents.length === 0) { throw new Error(`No events found for identifier: ${identifier}`); } // To find latest key state, filter events to only include inception or rotation events const validEvents = sortedEvents.filter((event) => event.t === 'icp' || event.t === 'rot'); if (validEvents.length === 0) { throw new Error(`No inception or rotation events found for identifier: ${identifier}`); } // Since sortedEvents are in descending order, the first valid event is the current key state const latestEvent = validEvents[0]; return { identifier, keyState: { kt: latestEvent.kt, k: latestEvent.k }, }; }; exports.getKeyState = getKeyState;