[Bug]: Timeout extension accepts stale replay dest transactions
Summary
extend_fulfilled_near_timeout verifies dest tx amount/sender but skips is_dest_tx_fresh. Stale replay payouts can buy deadline extensions while final confirm correctly rejects them.
Steps to reproduce
- Miner marks swap fulfilled with an old dest tx (canonical amount, correct sender, block before swap initiation).
- Validator runs extension loop near timeout.
Expected behavior
Extension evidence uses the same replay checks as final confirm.
Actual behavior
Extension is proposed; confirm path later fails freshness check.
Impact
Users stay locked longer; miners delay slash via extensions without valid payout.
[Bug]: Timeout extension accepts stale replay dest transactions
Summary
extend_fulfilled_near_timeoutverifies dest tx amount/sender but skipsis_dest_tx_fresh. Stale replay payouts can buy deadline extensions while final confirm correctly rejects them.Steps to reproduce
Expected behavior
Extension evidence uses the same replay checks as final confirm.
Actual behavior
Extension is proposed; confirm path later fails freshness check.
Impact
Users stay locked longer; miners delay slash via extensions without valid payout.