UNPKG

@waku/enr

Version:
41 lines (40 loc) 1.65 kB
import type { PeerId, PeerInfo } from "@libp2p/interface"; import type { Multiaddr } from "@multiformats/multiaddr"; import type { ENRKey, ENRValue, IEnr, NodeId, SequenceNumber, ShardInfo } from "@waku/interfaces"; import { RawEnr } from "./raw_enr.js"; export declare enum TransportProtocol { TCP = "tcp", UDP = "udp" } export declare enum TransportProtocolPerIpVersion { TCP4 = "tcp4", UDP4 = "udp4", TCP6 = "tcp6", UDP6 = "udp6" } export declare class ENR extends RawEnr implements IEnr { static readonly RECORD_PREFIX = "enr:"; peerId?: PeerId; static create(kvs?: Record<ENRKey, ENRValue>, seq?: SequenceNumber, signature?: Uint8Array): ENR; get nodeId(): NodeId | undefined; getLocationMultiaddr: (protocol: TransportProtocol | TransportProtocolPerIpVersion) => Multiaddr | undefined; get shardInfo(): ShardInfo | undefined; setLocationMultiaddr(multiaddr: Multiaddr): void; getAllLocationMultiaddrs(): Multiaddr[]; get peerInfo(): PeerInfo | undefined; /** * Returns the full multiaddr from the ENR fields matching the provided * `protocol` parameter. * To return full multiaddrs from the `multiaddrs` ENR field, * use { @link ENR.getFullMultiaddrs }. * * @param protocol */ getFullMultiaddr(protocol: TransportProtocol | TransportProtocolPerIpVersion): Multiaddr | undefined; /** * Returns the full multiaddrs from the `multiaddrs` ENR field. */ getFullMultiaddrs(): Multiaddr[]; verify(data: Uint8Array, signature: Uint8Array): boolean; sign(data: Uint8Array, privateKey: Uint8Array): Promise<Uint8Array>; }