Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(consensus)!: defer proposing txs with conflicting unversioned inputs #1125

Merged

Conversation

sdbondi
Copy link
Member

@sdbondi sdbondi commented Aug 28, 2024

Description

fix(consensus)!: defer proposing txs with conflicting unversioned inputs
refactor: locks take into account if the requested input was versioned or not

Motivation and Context

A transaction may provide an unversioned input. In the multi-shard case, if this input is locked by another transaction, the first transaction should not be proposed until that lock is cleared.

How Has This Been Tested?

Manually, submitting transactions with conflicting unversioned inputs.

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

Submit transactions with transaction_generator and transaction_submitter. The default generated transactions use unversioned inputs.

Breaking Changes

  • None
  • Requires data directory to be deleted
  • Other - Please specify

Copy link

github-actions bot commented Aug 28, 2024

Test Results (CI)

553 tests  +1   553 ✅ +1   1h 46m 5s ⏱️ + 17m 59s
 58 suites ±0     0 💤 ±0 
  2 files   ±0     0 ❌ ±0 

Results for commit 256a5b1. ± Comparison against base commit 23bbb44.

This pull request removes 5 and adds 6 tests. Note that renamed tests count towards both.
tari_dan_storage ‑ consensus_models::executed_transaction::export_bindings_versionedsubstateidlockintent
tari_dan_storage ‑ consensus_models::substate::export_bindings_substatelocktype
tari_transaction ‑ substate::export_bindings_substaterequirement
tari_transaction ‑ substate::export_bindings_versionedsubstateid
tari_transaction ‑ substate::tests::it_hashes_identically_to_a_substate_id
tari_dan_common_types ‑ lock_intent::export_bindings_substatelocktype
tari_dan_common_types ‑ versioned_substate_id::export_bindings_substaterequirement
tari_dan_common_types ‑ versioned_substate_id::export_bindings_versionedsubstateid
tari_dan_common_types ‑ versioned_substate_id::tests::it_hashes_identically_to_a_substate_id
tari_dan_storage ‑ consensus_models::lock_intent::export_bindings_substaterequirementlockintent
tari_dan_storage ‑ consensus_models::lock_intent::export_bindings_versionedsubstateidlockintent

♻️ This comment has been updated with latest results.

@sdbondi sdbondi changed the title fix!: propose and mint burnt L1 UTXOs in consensus fix!(consensus): defer proposing txs with conflicting unversioned inputs Aug 28, 2024
@sdbondi sdbondi force-pushed the consensus-multishard-unversioned branch from c39ea8e to 8e02651 Compare August 28, 2024 08:01
@sdbondi sdbondi changed the title fix!(consensus): defer proposing txs with conflicting unversioned inputs fix(consensus)!: defer proposing txs with conflicting unversioned inputs Aug 28, 2024
@sdbondi sdbondi force-pushed the consensus-multishard-unversioned branch from 8e02651 to 062dbcf Compare August 28, 2024 10:42
@sdbondi sdbondi marked this pull request as ready for review August 28, 2024 12:38
@therealdannzor therealdannzor self-requested a review September 3, 2024 08:11
Copy link
Contributor

@therealdannzor therealdannzor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just one minor question

dan_layer/common_types/src/lock_intent.rs Show resolved Hide resolved
@sdbondi sdbondi added this pull request to the merge queue Sep 3, 2024
Merged via the queue into tari-project:development with commit b3f1507 Sep 3, 2024
12 checks passed
@sdbondi sdbondi deleted the consensus-multishard-unversioned branch September 3, 2024 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants