@kagamidigital/salt-sdk-mirror
    Preparing search index...

    Class CeremonyTimeoutError

    Thrown when a ceremony (account creation, transaction signing, or message signing) fails because a protocol wait expired.

    No timeout is retryable in place. A ceremony whose parties have gone silent cannot be resumed — recovery always means a fresh ceremony (a new submitTx/createAccount/... call), never re-joining the same session.

    The error carries the signer-sdk's structured diagnostics: check phase and missingPeerIds to tell "a co-signer never joined" apart from "a joined peer dropped mid-ceremony". The full diagnostic payload (relay party snapshots, socket connectivity, quiet time) is preserved on the inherited SaltCeremonyError.data field — include it in support reports.

    import { CeremonyTimeoutError } from 'salt-sdk';

    try {
    await tx.wait();
    } catch (err) {
    if (err instanceof CeremonyTimeoutError) {
    if (err.phase === 'party-barrier') {
    // A co-signer never joined — chase the missing party, then resubmit.
    console.error(`Only ${err.receivedCount}/${err.expectedCount} signers joined`);
    } else {
    // A joined peer dropped mid-ceremony — safe to resubmit immediately.
    console.error('Peer stalled mid-signing:', err.missingPeerIds);
    }
    return resubmit();
    }
    throw err;
    }

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    cause?: Error
    data?: unknown

    Optional structured data attached to the failure (e.g. on-chain receipt).

    expectedCount?: number

    How many messages/parties the wait expected.

    message: string
    missingPeerIds?: number[]

    Parties that had not responded when the wait expired, when known.

    name: string

    Which stage ran out of time — see CeremonyTimeoutPhase.

    receivedCount?: number

    How many had actually arrived when the wait expired.

    sessionId?: string

    The relay session the ceremony was running in, when known.

    stack?: string
    waitedForMs?: number

    How long the timed-out wait ran before giving up.

    waitingFor?: string

    The signer-sdk's own label for the expired wait (e.g. 'partyCount', 'protocolMessage').