ordspv
    Preparing search index...

    Interface FetchCustodyOptions

    interface FetchCustodyOptions {
        anchorSources?: string[];
        checkpoints?: Map<number, string>;
        esplora?: string[];
        fetchFn?: FetchFn;
        limits?: BackendLimitsInit;
        maxHops?: number;
        minConfirmations?: number;
        minHeaderAgreement?: number;
        onAttempt?: OnAttempt;
        powLimitBits?: number | null;
        trustHeader?: (
            header: BlockHeader,
            height: number,
        ) => Promise<HeaderTrustReport>;
        witnessSection?: WitnessSectionMode;
    }
    Index
    anchorSources?: string[]

    header attesters (default DEFAULT_ANCHOR_SOURCES); see HeaderTrustOptions

    checkpoints?: Map<number, string>
    esplora?: string[]
    fetchFn?: FetchFn
    maxHops?: number
    minConfirmations?: number
    minHeaderAgreement?: number

    see HeaderTrustOptions; defaults mirror the resolver

    onAttempt?: OnAttempt

    Called once per build attempt, before it runs, with the backend leading it and what ended the attempt before. A rotation can cost a whole second walk, so a caller that shows progress has to be told one happened.

    powLimitBits?: number | null
    trustHeader?: (
        header: BlockHeader,
        height: number,
    ) => Promise<HeaderTrustReport>

    Anchor every hop header instead of makeHeaderTrust. Throw to reject. Custody verification reads no height out of the hook, so a rejection-only anchor is enough here; the attests field matters to fetchSatIdentity, where a sub-BIP34 coinbase height rests on it.

    witnessSection?: WitnessSectionMode

    Whether the reveal hop carries its wtxid proof. 'when-needed' (default) attaches it to multi-input reveals only, which is what verification requires and keeps single-input bundles byte-identical to before the option existed. 'always' attaches it to every reveal, at one raw block request, so the bundle verifies at indexProof: 'wtxid' and carries no executed-leaf residual.