Skip to content

Feature/archive block2 - #52

Closed
bladehan1 wants to merge 116 commits into
developfrom
feature/archive_block2
Closed

Feature/archive block2#52
bladehan1 wants to merge 116 commits into
developfrom
feature/archive_block2

Conversation

@bladehan1

@bladehan1 bladehan1 commented Sep 4, 2026

Copy link
Copy Markdown
Owner

What does this PR do?

Why are these changes required?

This PR has been tested by:

  • Unit Tests
  • Manual Testing

Follow up

Extra details


Summary by cubic

Adds an opt-in persistent state archive that records block-level state history, builds an exact-27 serving index incrementally from committed history, and enables historical constant calls against archived state.

The archive writes reverse diffs per canonical block to bounded append-only history partitioned into dedicated per-store file libraries, binds each checkpoint batch to a Chainbase WAL entry, and publishes serving generations with request-owned historical query sessions. A non-consensus path-state trie is maintained and its root attached to block headers as optional metadata. The VM supports a HISTORICAL_CONSTANT execution mode backed by archived state; the current-state path is unchanged.

Behavioral notes

  • Archive features are default-off; existing consensus and storage behavior is preserved unless enabled.
  • Historical execution fails closed on state-changing operations: CREATE/CREATE2, SELFDESTRUCT, and writes are rejected.
  • LevelDB and RocksDB data sources gain snapshot pinning and durable engine identity support.
  • The path-state root is non-consensus metadata only; it is rebuilt on startup via bounded, parallel store scans with progress reporting, migrated across P66 activation, and updated per block without affecting consensus.
  • ABI is excluded from the archived state set; startup admission, recovery, and WAL binding validate archive continuity before enabling the archive writer.

Written for commit 632c995. Summary will update on new commits.

Review in cubic

bladehan1 added 30 commits July 17, 2026 14:54
Capture canonical block metadata and materialize reverse diffs from completed block snapshots. Classify archive state stores explicitly and project account-asset companion mutations before root merge.
Add deterministic history body and index records, ordered durable commit markers, and bounded asynchronous persistence.

Gate checkpoint advancement on committed archive history and cover crash, corruption, backpressure, and reorg behavior.
Persist reverse state history with bounded append-only body, index, and commit structures. Wire an opt-in archive writer into snapshot flush and add restart-safe account change indexing. Expose an experimental historical account balance endpoint for trace comparison.
Persist bounded restart checkpoints, truncation recovery, H/C/D/R progress authorities, and immutable serving generations. Pin committed history resources and fail closed on identity or durability drift.
Add durable engine identities and native LevelDB/RocksDB snapshot leases. Assemble exact Store generations under the SnapshotManager barrier and release partial acquisitions on authority drift.
Apply business mutations with participant progress in native sync batches. Freshly validate H/C/D authorities under the archive barrier and advance reader visibility only after exact convergence.
Unify LevelDB and RocksDB participants behind one recovery contract. Persist canonical mutation plans and bind checkpoint, participant, and reader progress to the same digest.
Collect exact ordinary and AccountAsset post-state without Store scans. Enforce target identity, bounded ownership, one-shot sealing, abort, and terminal payload release.
Drive an exact-27 capture batch through mixed native participants, inject a partial apply failure, and verify durable-plan replay, digest propagation, ownership, and restart convergence.
Apply two capture-produced targets through exact-27 participants. Verify per-target plan digests, overwrite and delete semantics, partial replay boundaries, reader publication, and restart convergence.
Prepare one target-bound Account and AccountAsset projection before snapshot merge, retain its forward payload through the revoking lifecycle, and seal it only against durable history markers.

Keep the integration default-off and preserve the existing proposal 66 physical layout.
Classify ABI as mutable auxiliary metadata outside the versioned state participant set while retaining an explicit tombstone classification.
Exercise proposal-bound projection, layer-to-flush ownership, durable marker sealing, retry and reorg boundaries, exact participant coverage, and ABI exclusion.
Expose durable marker receipt creation through direct and asynchronous history sinks, then gate forward payload sealing on the exact committed flush range.

Retain submitted frozen ranges across durability or receipt failures so retries do not resubmit history.
Verify direct and asynchronous receipt authority, disabled behavior, and retry ordering across durable wait and receipt failures without duplicate history submission.
Connect the exact 27 participant plus super-store format to Manager startup, block-final updates, recovery, and bounded short reorg handling.

Add fresh-format admission, resumable physical ingestion, global publication intents, reverse journals, and integration/fault coverage.
Capture block-scoped archive and path-state changes in snapshots, then materialize Chainbase, trie, and archive stores through a shared redo checkpoint. Add overlay-based path-state preparation, serving-index recovery, configuration, and integration coverage.
@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 620d48f2-13c5-4bff-b647-f7d8e9df5639


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown

This PR is large and would use a significant portion of your monthly review quota. Comment @cubic-dev-ai review this to confirm that you want cubic to review it.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

Defer Account and AccountAsset node encoding until the final block-scoped graph is frozen, while retaining strict canonical RLP validation and resolved subtree reuse across snapshots. Avoid synchronous PathState owner reads when header diagnostics cannot observe an exact ready identity.
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown

This PR is large and would use a significant portion of your monthly review quota. Comment @cubic-dev-ai review this to confirm that you want cubic to review it.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 5, 2026

Copy link
Copy Markdown

This PR is large and would use a significant portion of your monthly review quota. Comment @cubic-dev-ai review this to confirm that you want cubic to review it.

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 5, 2026

Copy link
Copy Markdown

This PR is large and would use a significant portion of your monthly review quota. Comment @cubic-dev-ai review this to confirm that you want cubic to review it.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 5, 2026

Copy link
Copy Markdown

This PR is large and would use a significant portion of your monthly review quota. Comment @cubic-dev-ai review this to confirm that you want cubic to review it.

Use the configured storage engine for legacy and common-checkpoint Archive indexes while preserving fail-closed durable engine identity checks.\n\nAdd LevelDB generation extension, CRC32C engine manifests compatible with the legacy SHA format, and runtime-bound validation outside the point-query pin hot path.
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 5, 2026

Copy link
Copy Markdown

This PR is large and would use a significant portion of your monthly review quota. Comment @cubic-dev-ai review this to confirm that you want cubic to review it.

@bladehan1 bladehan1 closed this Sep 5, 2026
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.

1 participant