mirror of
https://github.com/logos-messaging/js-waku.git
synced 2026-01-03 14:23:12 +00:00
46 lines
1.0 KiB
TypeScript
46 lines
1.0 KiB
TypeScript
import type { PeerId } from "@libp2p/interface";
|
|
import type { PeerInfo } from "@libp2p/interface";
|
|
import type { Multiaddr } from "@multiformats/multiaddr";
|
|
|
|
import { ShardInfo } from "./sharding.js";
|
|
|
|
export type ENRKey = string;
|
|
export type ENRValue = Uint8Array;
|
|
/**
|
|
* We represent NodeId as a hex string, since node equality is used very heavily
|
|
* and it is convenient to index data by NodeId
|
|
*/
|
|
export type NodeId = string;
|
|
export type SequenceNumber = bigint;
|
|
|
|
export interface Waku2 {
|
|
relay: boolean;
|
|
store: boolean;
|
|
filter: boolean;
|
|
lightPush: boolean;
|
|
}
|
|
|
|
export interface IEnr extends Map<ENRKey, ENRValue> {
|
|
nodeId?: NodeId;
|
|
peerId?: PeerId;
|
|
id: string;
|
|
seq: SequenceNumber;
|
|
publicKey?: Uint8Array;
|
|
signature?: Uint8Array;
|
|
ip?: string;
|
|
tcp?: number;
|
|
udp?: number;
|
|
ip6?: string;
|
|
tcp6?: number;
|
|
udp6?: number;
|
|
multiaddrs?: Multiaddr[];
|
|
waku2?: Waku2;
|
|
peerInfo: PeerInfo | undefined;
|
|
shardInfo?: ShardInfo;
|
|
|
|
/**
|
|
* @deprecated: use { @link IEnr.peerInfo } instead.
|
|
*/
|
|
getFullMultiaddrs(): Multiaddr[];
|
|
}
|