Skip to content

Conversation

@soerenbf
Copy link
Contributor

@soerenbf soerenbf commented Jan 6, 2026

Purpose

Collection of functionality released with node version 10 and protocol version 10.

Checklist

  • My code follows the style of this project.
  • The code compiles without warnings.
  • I have performed a self-review of the changes.
  • I have documented my code, in particular the intent of the
    hard-to-understand areas.
  • (If necessary) I have updated the CHANGELOG.

limemloh and others added 30 commits October 21, 2025 13:30
* COR-2001: P10 boilerplate code

* concordium-base: update submodule

* update tests

* Update concordium-consensus/src/Concordium/ProtocolUpdate/P10.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* update Cargo.lock

* concordium-base: update submodule

---------

Co-authored-by: drsk <[email protected]>
Co-authored-by: Thomas Dinsdale-Young <[email protected]>
* COR-1980: update SendBlockItemRequest::get_v0_format

This adds the new implementations for
  - BlockItem::AccountTransactionV1
  - BlockItem::RawBlockItem

* update CHANGELOG

* Update concordium-node/src/grpc2.rs

Co-authored-by: Søren Bruus Zeppelin <[email protected]>

* Update concordium-node/src/grpc2.rs

Co-authored-by: Søren Bruus Zeppelin <[email protected]>

* fix compilation

* simplify `TryFrom<AccountTransactionV1Signatures` implementation

* Update concordium-node/src/grpc2.rs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* concordium-base: update submodule

* add stub for missing transaction verifier implementation

* format

* fix Versioned::from(0)

This doesn't compile unfortunately.

---------

Co-authored-by: drsk <[email protected]>
Co-authored-by: Søren Bruus Zeppelin <[email protected]>
Co-authored-by: Thomas Dinsdale-Young <[email protected]>
Add transaction verification results for sponsored transactions.
* SPO-9: extend AccountTransactionDetails

This extacts the optional sponsor from the received transaction and
fills the new sponsor field of `AccountTransactionDetails`.

* update CHANGELOG

* concordium-base:submodule update

* set TransactionSummaryVersion ~ TransactionOutcomesVersion

* concordium-base: update submodule

* propagate changes of concordium-base

* update benchmark code

* update getResults

* fix assertApplied

* extend hash tests for TOV3

* fix transactionOutcomesHashV1

* concordium-base: update submodule

* Update concordium-consensus/benchmarks/transactions/SchedulerBench/Helpers.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/src/Concordium/GlobalState/Persistent/BlockState.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/src/Concordium/GlobalState/Persistent/BlockState.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/src/Concordium/GlobalState/BlockState.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/src/Concordium/Types/TransactionOutcomes.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/src/Concordium/Types/TransactionOutcomes.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/src/Concordium/Scheduler.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/src/Concordium/GlobalState/BlockState.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* remove changelog entry

* format

* fix tests/benchmark

* drop tsSponsorField logic from scheduler

* Apply suggestion from @td202

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Apply suggestion from @td202

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Apply suggestion from @td202

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Apply suggestion from @td202

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Apply suggestion from @td202

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* small fixes after suggestions

* added DataKinds pragma

* more review comments

* format

* cosmetics

* format

* fix a billion tests

* Update concordium-consensus/src/Concordium/Scheduler/Environment.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/src/Concordium/Scheduler.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* remove wtcSponsorDetails field

---------

Co-authored-by: drsk <[email protected]>
Co-authored-by: Thomas Dinsdale-Young <[email protected]>
* SPO-10: transaction verifier implementation

* one passing test with valid transaction data

* transaction verifier tests

* fix transaction verifier

the signature verifiaction for sponsored transactions is different from
the signature verifaction of normal transactions.

* clean up

* Update concordium-consensus/src/Concordium/TransactionVerification.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/tests/consensus/ConcordiumTests/KonsensusV1/TransactionProcessingTest.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* Update concordium-consensus/src/Concordium/TransactionVerification.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* concordium-base: update submodule

* Update concordium-consensus/src/Concordium/TransactionVerification.hs

Co-authored-by: Thomas Dinsdale-Young <[email protected]>

* update call to verifySponsoredTransaction

* set unused type family instances to Void

* factor out sender/sponsor signatures

* update minimal energy amount in tests

* add EnergyRate to test data

* update minimum nonce

* introduce `checkExactNonce` field in test data

* add test for succeeding tx when checkExactNonce == False

* remove test .dat file

* Add a test for NormalTransactionDuplicateNonce error case

* refactor test data creation

* incremented nonce, so no zero nonce appear in the tests

* cosmetics

* replace dummy type family

* add comment

* format

---------

Co-authored-by: drsk <[email protected]>
Co-authored-by: Thomas Dinsdale-Young <[email protected]>
…ctions' into sponsored-transactions-execution-charging
@soerenbf soerenbf self-assigned this Jan 6, 2026
@github-actions
Copy link

github-actions bot commented Jan 6, 2026

The file size of the WebAssembly PLT deployment unit is 277268B.

@soerenbf soerenbf removed their assignment Jan 6, 2026
@soerenbf soerenbf self-assigned this Jan 8, 2026
@td202 td202 marked this pull request as ready for review January 9, 2026 15:38
@td202
Copy link
Contributor

td202 commented Jan 9, 2026

Outstanding comments are addressed in #1501 which should be merged to this branch first.

@codecov
Copy link

codecov bot commented Jan 9, 2026

Codecov Report

❌ Patch coverage is 83.97404% with 321 lines in your changes missing coverage. Please review.
✅ Project coverage is 60.45%. Comparing base (a8cb4ee) to head (4789822).

Files with missing lines Patch % Lines
.../scheduler/SchedulerTests/SponsoredTransactions.hs 91.95% 29 Missing and 26 partials ⚠️
...diumTests/KonsensusV1/TransactionProcessingTest.hs 92.40% 34 Missing and 3 partials ⚠️
concordium-consensus/src/Concordium/Scheduler.hs 77.39% 20 Missing and 13 partials ⚠️
...rc/Concordium/GlobalState/Persistent/BlockState.hs 26.47% 24 Missing and 1 partial ⚠️
...sus/src/Concordium/GlobalState/TransactionTable.hs 5.26% 18 Missing ⚠️
...rdium/GlobalState/Persistent/BlockState/Updates.hs 0.00% 17 Missing ⚠️
...us/src/Concordium/ProtocolUpdate/P9/ProtocolP10.hs 0.00% 17 Missing ⚠️
...sensus/src/Concordium/ProtocolUpdate/P10/Reboot.hs 0.00% 16 Missing ⚠️
...src/Concordium/GlobalState/Persistent/TreeState.hs 0.00% 10 Missing ⚠️
...ium-consensus/src/Concordium/ProtocolUpdate/P10.hs 0.00% 9 Missing ⚠️
... and 31 more
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1490       +/-   ##
===========================================
+ Coverage   24.98%   60.45%   +35.47%     
===========================================
  Files          34      314      +280     
  Lines       10203    65858    +55655     
  Branches        0     2918     +2918     
===========================================
+ Hits         2549    39815    +37266     
- Misses       7654    23125    +15471     
- Partials        0     2918     +2918     
Files with missing lines Coverage Δ
concordium-consensus/src/Concordium/Birk/Bake.hs 46.15% <ø> (ø)
...us/src/Concordium/GlobalState/PurgeTransactions.hs 41.17% <ø> (ø)
...-consensus/src/Concordium/GlobalState/TreeState.hs 22.05% <ø> (ø)
...-consensus/src/Concordium/KonsensusV1/Scheduler.hs 51.00% <ø> (ø)
...nsensus/src/Concordium/ProtocolUpdate/P9/Reboot.hs 0.00% <ø> (ø)
...ordium-consensus/src/Concordium/Scheduler/Types.hs 53.84% <100.00%> (ø)
...cordiumTests/EndToEnd/CredentialDeploymentTests.hs 79.75% <100.00%> (ø)
...mTests/EndToEnd/TransactionTableIntegrationTest.hs 90.22% <100.00%> (ø)
...ts/consensus/ConcordiumTests/KonsensusV1/Common.hs 84.05% <ø> (ø)
...ests/consensus/ConcordiumTests/KonsensusV1/LMDB.hs 81.32% <100.00%> (ø)
... and 64 more

... and 208 files with indirect coverage changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants