@dao-xyz/peerbit
Version:
Distributed p2p database on IPFS
45 lines (44 loc) • 1.41 kB
TypeScript
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>;