UNPKG

@dao-xyz/peerbit

Version:

Distributed p2p database on IPFS

45 lines (44 loc) 1.41 kB
import { Entry } from "@dao-xyz/peerbit-log"; import { Identity } from "@dao-xyz/peerbit-crypto"; import { Log } from "@dao-xyz/peerbit-log"; import { TransportMessage } from "./message.js"; export declare class MinReplicas { get value(): number; } export declare class AbsolutMinReplicas extends MinReplicas { _value: number; constructor(value: number); get value(): number; } /** * This thing allows use to faster sync since we can provide * references that can be read concurrently to * the entry when doing Log.fromEntry or Log.fromEntryHash */ export declare class EntryWithRefs<T> { entry: Entry<T>; references: Entry<T>[]; constructor(properties: { entry: Entry<T>; references: Entry<T>[]; }); } export declare class ExchangeHeadsMessage<T> extends TransportMessage { logId: Uint8Array; heads: EntryWithRefs<T>[]; minReplicas?: MinReplicas; reserved: Uint8Array; constructor(props: { logId: Uint8Array; heads: EntryWithRefs<T>[]; minReplicas?: MinReplicas; }); } export declare class RequestHeadsMessage extends TransportMessage { address: string; constructor(props: { topic: string; address: string; }); } export declare const createExchangeHeadsMessage: (log: Log<any>, heads: Entry<any>[], includeReferences: boolean, identity: Identity | undefined) => Promise<Uint8Array>;