UNPKG

@sebastianp265/safe-server-side-storage-client

Version:

Library for Confidential Server-Side Message Storage Using the Labyrinth Protocol

54 lines 1.76 kB
export declare class EpochStorageError extends Error { constructor(message: string); } export declare class EpochDoesNotExistError extends EpochStorageError { constructor(epochSequenceId: string); } export declare class EpochAlreadyExistError extends EpochStorageError { constructor(epochSequenceId: string); } export declare class OmittedEpochError extends EpochStorageError { constructor(expectedOlderEpochSequenceId: string, expectedNewerEpochSequenceId: string, actualEpochSequenceId: string); } export declare class NoEpochExistsInEpochStorageError extends EpochStorageError { constructor(); } export declare class NegativeEpochSequenceIdError extends EpochStorageError { constructor(); } export type EpochSerialized = { id: string; sequenceId: string; rootKey: string; }; export type Epoch = { id: string; sequenceId: string; rootKey: Uint8Array; }; export type EpochWithoutId = { sequenceId: string; rootKey: Uint8Array; }; export type EpochStorageSerialized = { newestEpochSequenceId: string | null; oldestEpochSequenceId: string | null; sequenceIdToEpoch: { [sequenceId: string]: EpochSerialized; }; }; export declare class EpochStorage { private newestEpochSequenceId; private oldestEpochSequenceId; private readonly sequenceIdToEpoch; private constructor(); static deserialize(epochStorageSerialized: EpochStorageSerialized): EpochStorage; serialize(): EpochStorageSerialized; static createEmpty(): EpochStorage; getEpoch(sequenceId: string): Epoch; isEpochPresent(sequenceId: string): boolean; getOldestEpoch(): Epoch; getNewestEpoch(): Epoch; add(epochToAdd: Epoch): void; } //# sourceMappingURL=EpochStorage.d.ts.map