Skip to content

Removes accounts delta hash#7112

Merged
brooksprumo merged 1 commit intoanza-xyz:masterfrom
brooksprumo:lthash/accounts-delta-hash-serde-snapshot
Jul 23, 2025
Merged

Removes accounts delta hash#7112
brooksprumo merged 1 commit intoanza-xyz:masterfrom
brooksprumo:lthash/accounts-delta-hash-serde-snapshot

Conversation

@brooksprumo
Copy link
Copy Markdown

@brooksprumo brooksprumo commented Jul 23, 2025

Problem

The merkle-based accounts hashing is no longer used.

Summary of Changes

Removes accounts delta hash.

@brooksprumo brooksprumo self-assigned this Jul 23, 2025
@brooksprumo brooksprumo force-pushed the lthash/accounts-delta-hash-serde-snapshot branch from d9e16a1 to 8f5e6bf Compare July 23, 2025 17:22
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Jul 23, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 83.2%. Comparing base (1573bd3) to head (598dbfb).
Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #7112   +/-   ##
=======================================
  Coverage    83.2%    83.2%           
=======================================
  Files         853      853           
  Lines      374075   374048   -27     
=======================================
- Hits       311444   311436    -8     
+ Misses      62631    62612   -19     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@brooksprumo brooksprumo force-pushed the lthash/accounts-delta-hash-serde-snapshot branch from 8f5e6bf to 7c335e7 Compare July 23, 2025 19:31
@brooksprumo brooksprumo changed the title Removes AccountsDeltaHash from serde snapshot Removes accounts delta hash Jul 23, 2025
feature = "frozen-abi",
derive(AbiExample),
frozen_abi(digest = "7F6xtBno4tS6QaD3wP8kQxa9BiRtvmCu8TzFNprFjM7A")
frozen_abi(digest = "RHixw67oBUdJQn9TLES55Nb4Sr1wuAfo7NTJH56oRxb")
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

The frozen abi digest changed because of the accounts delta hash. I renamed it, and removed the newtype wrappers.

full diff

--- ./bank__serde_snapshot__tests__test_bank_serialize__BankAbiTestWrapper_frozen_abi__test_abi_digest_7F6xtBno4tS6QaD3wP8kQxa9BiRtvmCu8TzFNprFjM7A	2025-07-23 12:58:36
+++ ./bank__serde_snapshot__tests__test_bank_serialize__BankAbiTestWrapper_frozen_abi__test_abi_digest_RHixw67oBUdJQn9TLES55Nb4Sr1wuAfo7NTJH56oRxb	2025-07-23 15:26:08
@@ -1039,74 +1039,72 @@
                         primitive u64
                     element solana_runtime::serde_snapshot::BankHashInfo
                         struct BankHashInfo (fields = 3)
-                            field accounts_delta_hash: solana_accounts_db::accounts_hash::SerdeAccountsDeltaHash
-                                struct SerdeAccountsDeltaHash(solana_hash::Hash) (newtype)
-                                    struct Hash([u8; 32]) (newtype)
-                                        tuple (elements = 32)
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
-                                            element u8
-                                                primitive u8
+                            field obsolete_accounts_delta_hash: [u8; 32]
+                                tuple (elements = 32)
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
+                                    element u8
+                                        primitive u8
                             field accounts_hash: solana_accounts_db::accounts_hash::SerdeAccountsHash

@brooksprumo brooksprumo force-pushed the lthash/accounts-delta-hash-serde-snapshot branch from 7c335e7 to 598dbfb Compare July 23, 2025 20:19
@brooksprumo brooksprumo marked this pull request as ready for review July 23, 2025 20:20
@brooksprumo brooksprumo requested review from HaoranYi and roryharr July 23, 2025 20:21
bank_hash_stats: BankHashStats,
accounts_delta_hash: AccountsDeltaHash, // obsolete, will be removed next
accounts_hash: AccountsHash, // obsolete, will be removed next
accounts_hash: AccountsHash, // obsolete, will be removed next
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

👍

Copy link
Copy Markdown

@HaoranYi HaoranYi left a comment

Choose a reason for hiding this comment

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

lgtm.

@brooksprumo brooksprumo merged commit 6f4447f into anza-xyz:master Jul 23, 2025
41 checks passed
@brooksprumo brooksprumo deleted the lthash/accounts-delta-hash-serde-snapshot branch July 24, 2025 02:07
puhtaytow pushed a commit to puhtaytow/agave that referenced this pull request Jul 24, 2025
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.

4 participants