@cfxlabsinc/b2b-services
    Preparing search index...

    Conditions a send attempt puts on its FAILED mark, so it cannot fail a transfer another attempt claimed after it, ordered by when the claims commit. The mark applies only while every condition given holds.

    type SendAttemptFailureFence = {
        onlyWhileClaim:
            | NonNullable<BankInternalTransfer["data"]["executorClaims"]>
            | null;
        unlessRouteFusionTicketRecorded?: true;
    }
    Index
    onlyWhileClaim:
        | NonNullable<BankInternalTransfer["data"]["executorClaims"]>
        | null

    null fails only while no attempt has claimed the executor. A claim fails only while it is still the latest and no provider reference is recorded.

    unlessRouteFusionTicketRecorded?: true

    Fails only while no RouteFusion ticket is recorded, so a payout attempt cannot fail a ticket another attempt recorded.