HomePhabricator

[avalanche] Reject transactions that conflict with a finalized one

Description

[avalanche] Reject transactions that conflict with a finalized one

Summary:
Treat these transaction separately from "regular" conflicting transactions, because they are plain invalid and don't need to be stored in the conflict pool.

After this diff we have 2 kind of conflicting txs:

  • conflicting with a non finalized transaction: at this stage the node has no idea which transaction is legit and it needs to be reconciled via avalanche (in a later diff)
  • conflicting with a finalized transaction: at this stage the node knows that this transaction is not the selected one and it should be treated as invalid.

The avalanche reconsiderable status could be later used to vote on transactions for other reason, e.g. for transactions that spend a proof coin.

Depends on D16649.

Test Plan:

./test/functional/test_runner.py abc_p2p_avalanche_transaction_voting

Reviewers: #bitcoin_abc, PiRK

Reviewed By: #bitcoin_abc, PiRK

Subscribers: PiRK, roqqit, bytesofman

Differential Revision: https://reviews.bitcoinabc.org/D16650

Details

Provenance
FabienAuthored on Aug 15 2024, 14:11
FabienPushed on Fri, Aug 30, 19:49
Reviewer
Restricted Project
Differential Revision
D16650: [avalanche] Reject transactions that conflict with a finalized one
Parents
rABC247f9514753f: [e.cash] Swap color cashtab logos
Branches
Unknown
Tags
Unknown