UNPKG

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

Version:

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

40 lines 1.74 kB
import { CommonPublicKeyBundleSerialized } from "../device/key-bundles/DeviceAndVirtualDeviceCommonKeyBundle"; import { Epoch } from "../EpochStorage"; import { ThisDevice } from "../device/ThisDevice"; type DeviceInEpochSerialized = { id: string; } & VirtualDeviceInEpochSerialized; type VirtualDeviceInEpochSerialized = { mac: string; keyBundle: CommonPublicKeyBundleSerialized; }; export type GetDevicesInEpochResponse = { devices: DeviceInEpochSerialized[]; virtualDevice: VirtualDeviceInEpochSerialized; }; type EncryptedNewEpochEntropyForEveryDeviceInEpochSerialized = { deviceIdToEncryptedNewEpochEntropyMap: { [deviceId: string]: string; }; virtualDeviceEncryptedNewEpochEntropy: string; }; export type OpenNewEpochBasedOnCurrentBody = { encryptedNewEpochEntropyForEveryDeviceInEpoch: EncryptedNewEpochEntropyForEveryDeviceInEpochSerialized; newEpochMembershipProof: { epochThisDeviceMac: string; epochVirtualDeviceMac: string; }; }; export type OpenNewEpochBasedOnCurrentResponse = { openedEpochId: string; }; export type OpenNewEpochBasedOnCurrentServerClient = { getDevicesInEpoch: (epochId: string) => Promise<GetDevicesInEpochResponse>; openNewEpochBasedOnCurrent: (currentEpochId: string, thisDeviceId: string, requestBody: OpenNewEpochBasedOnCurrentBody) => Promise<OpenNewEpochBasedOnCurrentResponse>; }; export declare function openNewEpochBasedOnCurrent(currentEpoch: Epoch, webClient: OpenNewEpochBasedOnCurrentServerClient, thisDevice: ThisDevice): Promise<Epoch>; export declare class InvalidVirtualDeviceServerRepresentationError extends Error { constructor(); } export {}; //# sourceMappingURL=open-new-epoch-based-on-current.d.ts.map