tari-project / tari-dan

BSD 3-Clause "New" or "Revised" License
5 stars 14 forks source link

fix(consensus): deferred execution fixes #1039

Closed sdbondi closed 2 months ago

sdbondi commented 2 months ago

Description

Motivation and Context

Number of omissions and bugs in deferred transaction execution are fixed in the PR.

How Has This Been Tested?

Manually, commenting out code in the wallet daemon and mempool that fills or resolves inputs for a transaction and use unversioned inputs. The results in deferred execution which succeeds after this PR. Tested creating an account and transferring. Also tested concurrent local-only conflicting transactions, the second transaction was aborted due to a lock conflict, this still needs to be investigated.

What process can a PR reviewer use to test or verify this change?

It's currently not possible to directly test this on a single-shard network without forcing transactions to be deferred in code. Mutlishard deferred is not currently supported because we cannot resolve foreign inputs.

Breaking Changes

github-actions[bot] commented 2 months ago

Test Results (CI)

541 tests  ±0   541 :white_check_mark: ±0   1h 58m 14s :stopwatch: + 17m 6s  63 suites ±0     0 :zzz: ±0    2 files   ±0     0 :x: ±0 

Results for commit 333acdde. ± Comparison against base commit 4b8382fc.