Skip to content

Add p26 module and update cost types #5104

Merged
sisuresh merged 5 commits intostellar:masterfrom
sisuresh:p26
Jan 26, 2026
Merged

Add p26 module and update cost types #5104
sisuresh merged 5 commits intostellar:masterfrom
sisuresh:p26

Conversation

@sisuresh
Copy link
Copy Markdown
Contributor

@sisuresh sisuresh commented Jan 16, 2026

Description

  1. Adds a p26 module for vnext.
  2. Reduce costs due to arkworks library upgrade.

Checklist

  • Reviewed the contributing document
  • Rebased on top of master (no merge commits)
  • Ran clang-format v8.0.0 (via make format or the Visual Studio extension)
  • Compiles
  • Ran all tests
  • If change impacts performance, include supporting evidence per the performance document

@sisuresh sisuresh marked this pull request as ready for review January 20, 2026 19:18
Copilot AI review requested due to automatic review settings January 20, 2026 19:18
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces support for protocol version 26 (P26) and updates cryptographic cost parameters due to improvements in the underlying arkworks library.

Changes:

  • Added P26 module infrastructure with corresponding Rust dependencies and build configurations
  • Updated CPU and memory cost parameters for BLS12-381 and BN254 cryptographic operations to reflect reduced costs from arkworks library optimizations
  • Regenerated test data files for protocol 26 to reflect the cost changes

Reviewed changes

Copilot reviewed 16 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/util/ProtocolVersion.h Adds V_26 enum value to the ProtocolVersion enumeration
src/testdata/ledger-close-meta-v2-protocol-26.json Updates test data with new hash values and fee amounts reflecting reduced costs
src/testdata/ledger-close-meta-v2-protocol-26-soroban.json Updates Soroban test data with revised transaction costs and account balances
src/testdata/ledger-close-meta-enable-classic-events-v2-protocol-26.json Updates classic events test data with new costs and hash values
src/testdata/ledger-close-meta-enable-classic-events-v2-protocol-26-soroban.json Updates Soroban classic events test data with revised fees and addresses
src/rust/src/soroban_proto_all.rs Adds P26 module with feature gating and protocol dispatch logic
src/rust/src/soroban_module_cache.rs Adds P26 cache handling to module cache operations
src/rust/src/dep-trees/p26-expect.txt Adds dependency tree for P26 soroban-env-host
src/rust/soroban/p26 Adds submodule reference for P26 soroban environment
src/rust/Cargo.toml Adds P26 dependencies and updates quorum analyzer revision
src/ledger/NetworkConfig.h Declares updateCostTypesForV26 function
src/ledger/NetworkConfig.cpp Implements V26 cost parameter updates for CPU and memory
src/herder/test/UpgradesTests.cpp Adds test case verifying V26 upgrade and cost parameter updates
src/herder/Upgrades.cpp Adds V26 upgrade logic to apply cost parameter updates
src/Makefile.am Adds P26 to WIP_SOROBAN_PROTOCOL
.gitmodules Adds P26 submodule configuration

Comment thread src/ledger/NetworkConfig.cpp Outdated
@sisuresh sisuresh added this pull request to the merge queue Jan 26, 2026
Merged via the queue into stellar:master with commit 0d51136 Jan 26, 2026
30 of 44 checks passed
@sisuresh sisuresh deleted the p26 branch January 26, 2026 21:13
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.

3 participants