LLFourn / bdk_core_staging

Staging area for bdk_core initial development
15 stars 12 forks source link

Esplora may return conflicting transactions which should be tiebroken by feerate #128

Open LLFourn opened 1 year ago

LLFourn commented 1 year ago

In general when inserting txs from esplora we should insert where unconfirmed conflicts are resolved by choosing the one with the higher feerate. This is because it may return a txid that has been fully evicted from the mempool. This is probably a feature where you can see a tx that has been rbf'd.

evanlinjin commented 1 year ago

We also need to consider all children transactions as well, correct?

LLFourn commented 1 year ago

True. This is requires doing CPFP modelling first!

evanlinjin commented 1 year ago

Right now in esplora, we prepare an update ChainGraph by insert_tx one at a time. This will naturally evict conflicting txs. I think we should defer this ticket as figuring out the logic of this will be rather difficult.

Does esplora have a guarantee where the positioning of the results show feerate order?

LLFourn commented 1 year ago

Maybe even esplora tells you the actual feerate with package in mind? I mean mempool.space tells you this I think (at least includes CPFP fee).