@libp2p/interface
Version:
The interface implemented by a libp2p node
57 lines • 1.47 kB
TypeScript
import type { PublicKey } from './keys.js';
import type { Uint8ArrayList } from 'uint8arraylist';
/**
* Record is the base implementation of a record that can be used as the payload of a libp2p envelope.
*/
export interface Record {
/**
* signature domain.
*/
domain: string;
/**
* identifier of the type of record
*/
codec: Uint8Array;
/**
* Marshal a record to be used in an envelope.
*/
marshal(): Uint8Array;
/**
* Verifies if the other provided Record is identical to this one.
*/
equals(other: Record): boolean;
}
/**
* A message with a signed payload.
*/
export interface Envelope {
/**
* The public key of the keypair used to sign the payload
*/
publicKey: PublicKey;
/**
* How the payload should be interpreted
*/
payloadType: Uint8Array | Uint8ArrayList;
/**
* The contents of the envelope
*/
payload: Uint8Array;
/**
* A signature that can be used to verify the payload is intact
*/
signature: Uint8Array | Uint8ArrayList;
/**
* Serialize the envelope to a binary format
*/
marshal(): Uint8Array;
/**
* Use the public key to validate that the payload is intact
*/
validate(domain: string): Promise<boolean>;
/**
* Returns true if this envelope has equivalency with the passed object
*/
equals(other?: Envelope): boolean;
}
//# sourceMappingURL=record.d.ts.map