Skip to content

Standardizing terminology to distinguish between confirmed vs cemented#5032

Merged
pwojcikdev merged 6 commits intonanocurrency:developfrom
pwojcikdev:rename-confirm-to-cement
Feb 14, 2026
Merged

Standardizing terminology to distinguish between confirmed vs cemented#5032
pwojcikdev merged 6 commits intonanocurrency:developfrom
pwojcikdev:rename-confirm-to-cement

Conversation

@pwojcikdev
Copy link
Copy Markdown
Contributor

Terminology standardization to distinguish between:

  • Election confirmation: consensus achieved through voting
  • Ledger cementing: blocks permanently written to disk

Changes:

  • Rename ledger members: confirmed_impl/confirmed → cemented_impl/cemented
  • Rename method: dependencies_confirmed() → dependencies_cemented()
  • Rename scheduler tag: tag_unconfirmed_height → tag_uncemented_height
  • Update all usage sites: ledger.confirmed.* → ledger.cemented.*
  • Remove unused: process_cemented_interval, process_cemented stat type

@pwojcikdev pwojcikdev force-pushed the rename-confirm-to-cement branch from dc7ace4 to 821506c Compare February 13, 2026 21:07
@gr0vity-dev-bot
Copy link
Copy Markdown

gr0vity-dev-bot commented Feb 13, 2026

Test Results for Commit 7e31e4a

Pull Request 5032: Results
Overall Status:

Test Case Results

  • 5n4pr_conf_10k_bintree: PASS (Duration: 121s)
  • 5n4pr_conf_10k_change: PASS (Duration: 155s)
  • 5n4pr_conf_change_dependant: PASS (Duration: 152s)
  • 5n4pr_conf_change_independant: PASS (Duration: 144s)
  • 5n4pr_conf_send_dependant: PASS (Duration: 142s)
  • 5n4pr_conf_send_independant: PASS (Duration: 143s)
  • 5n4pr_rocks_10k_bintree: PASS (Duration: 125s)
  • 5n4pr_rocks_10k_change: PASS (Duration: 166s)

Last updated: 2026-02-14 12:57:31 UTC

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 standardizes terminology throughout the codebase to distinguish between:

  • Election confirmation: Consensus achieved through voting (user-facing: "confirmed")
  • Ledger cementing: Blocks permanently written to disk (internal: "cemented")

The refactoring renames internal ledger components and methods from "confirmed" to "cemented" while maintaining user-facing messages that use "confirmed" terminology.

Changes:

  • Renamed ledger class ledger_set_confirmed to ledger_set_cemented including header, implementation, and all references
  • Renamed ledger members confirmed_impl/confirmed to cemented_impl/cemented
  • Renamed method dependencies_confirmed() to dependencies_cemented()
  • Renamed method confirm() to cement() and confirm_one() to cement_one()
  • Renamed method unconfirmed_exists() to block_uncemented()
  • Updated statistics enum values: blocks_confirmed*blocks_cemented*
  • Removed unused process_confirmed_interval constant and related logging/stats types
  • Updated all test files to use new naming conventions

Reviewed changes

Copilot reviewed 42 out of 42 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
nano/secure/ledger_set_confirmed.hpp Removed old header file
nano/secure/ledger_set_cemented.hpp New header with renamed class and methods
nano/secure/ledger_set_cemented.cpp Implementation file with all class/method renames
nano/secure/ledger.hpp Updated to use cemented terminology in members and methods
nano/secure/ledger.cpp Renamed cement() method and updated all internal usage
nano/secure/ledger_set_any.hpp Updated forward declarations and formatting
nano/secure/receivable_iterator.cpp Updated template instantiation
nano/secure/common.hpp/cpp Removed unused process_confirmed_interval constant
nano/secure/CMakeLists.txt Updated build files with new filenames
nano/lib/stats_enums.hpp Renamed stats details to use cemented terminology
nano/lib/logging_enums.hpp Removed unused process_confirmed logging detail
nano/node/*.cpp Updated all node components to use ledger.cemented API
nano/node/scheduler/*.cpp Updated schedulers to use dependencies_cemented()
nano/node/nodeconfig.cpp Removed validation for deleted process_confirmed_interval
nano/core_test/ledger_cement.cpp Renamed test file and updated all test names
nano/core_test/*.cpp Updated all test code to use new API
nano/core_test/CMakeLists.txt Updated build configuration
nano/slow_test/*.cpp Updated slow tests to use new API
nano/rpc_test/rpc.cpp Updated RPC tests
nano/qt_test/qt.cpp Updated Qt tests
nano/test_common/*.cpp Updated test utilities
nano/nano_node/benchmarks/*.cpp Updated benchmarks
Comments suppressed due to low confidence (2)

nano/core_test/ledger_cement.cpp:835

  • The comment still refers to a block being "marked to be confirmed" but should use "cemented" terminology to match the function name and overall terminology standardization.
    nano/core_test/ledger_cement.cpp:216
  • The comment uses "confirmed" terminology, which should be updated to "cemented" for consistency: "The accounts for key1 and key2 have 1 more block in the chain than is cemented."

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@pwojcikdev pwojcikdev force-pushed the rename-confirm-to-cement branch from f2cca4a to 7e31e4a Compare February 14, 2026 11:58
@pwojcikdev pwojcikdev merged commit d911037 into nanocurrency:develop Feb 14, 2026
28 checks passed
@pwojcikdev pwojcikdev deleted the rename-confirm-to-cement branch February 14, 2026 14:15
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