import type { SlotNumber } from '@aztec/foundation/branded-types'; import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js'; import { type ApiSchemaFor } from '../schemas/index.js'; import { Tx } from '../tx/tx.js'; import { TxHash } from '../tx/tx_hash.js'; export type PeerInfo = { status: 'connected'; score: number; id: string; } | { status: 'dialing'; dialStatus: string; id: string; addresses: string[]; } | { status: 'cached'; id: string; addresses: string[]; enr: string; dialAttempts: number; }; /** Exposed API to the P2P module. */ export interface P2PApi { /** * Returns all pending transactions in the transaction pool. * @param limit - The number of items to returns * @param after - The last known pending tx. Used for pagination * @returns An array of Txs. */ getPendingTxs(limit?: number, after?: TxHash): Promise; /** Returns the number of pending txs in the p2p tx pool. */ getPendingTxCount(): Promise; /** * Returns the ENR for this node, if any. */ getEncodedEnr(): Promise; /** * Returns info for all connected, dialing, and cached peers. */ getPeers(includePending?: boolean): Promise; /** * Queries the Attestation pool for checkpoint attestations for the given slot * * @param slot - the slot to query * @param proposalId - the proposal id to query, or undefined to query all proposals for the slot * @returns CheckpointAttestations */ getCheckpointAttestationsForSlot(slot: SlotNumber, proposalId?: string): Promise; } export interface P2PClient extends P2PApi { /** Manually adds checkpoint attestations to the p2p client attestation pool. */ addOwnCheckpointAttestations(attestations: CheckpointAttestation[]): Promise; } export declare const P2PApiSchema: ApiSchemaFor; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9wMnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFxQixNQUFNLHFCQUFxQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzFDLE1BQU0sTUFBTSxRQUFRLEdBQ2hCO0lBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7SUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDbEQ7SUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO0lBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUFDLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUE7Q0FBRSxHQUMxRTtJQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7SUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUFDLFlBQVksRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDO0FBYzdGLHFDQUFxQztBQUNyQyxNQUFNLFdBQVcsTUFBTTtJQUNyQjs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTdELDREQUE0RDtJQUM1RCxpQkFBaUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFckM7O09BRUc7SUFDSCxhQUFhLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3Qzs7T0FFRztJQUNILFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFeEQ7Ozs7OztPQU1HO0lBQ0gsZ0NBQWdDLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztDQUMzRztBQUVELE1BQU0sV0FBVyxTQUFVLFNBQVEsTUFBTTtJQUN2QyxnRkFBZ0Y7SUFDaEYsNEJBQTRCLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQ3BGO0FBRUQsZUFBTyxNQUFNLFlBQVksRUFBRSxZQUFZLENBQUMsTUFBTSxDQWE3QyxDQUFDIn0=