Skip to content

[bug] validator: late dest-tip snapshot rejects honest fulfillment after RPC retry #430

@dearsishs

Description

@dearsishs

[bug] validator: late dest-tip snapshot rejects honest fulfillment after RPC retry

Component: allways/validator/chain_verification.py


Summary

observe_initiation() records the dest-chain tip on first successful RPC. If the first snapshot fails and the miner fulfills before a retry succeeds, the snapshot can be taken after the payout block. is_dest_tx_fresh() then rejects the honest tx as a replay, blocking confirm_swap and risking timeout/slash.


Suggested fix

When swap.to_tx_block > 0, cap the stored tip with min(tip, swap.to_tx_block).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions