Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(tree): minor Chain modifications #5487

Merged
merged 3 commits into from
Nov 18, 2023
Merged

Conversation

rkrasiuk
Copy link
Member

Description

  • Hide Chain's fields
  • Remove redundant fork block related methods

@rkrasiuk rkrasiuk added C-debt Refactor of code section that is hard to understand or maintain A-blockchain-tree Related to sidechains, reorgs and pending blocks labels Nov 18, 2023
Comment on lines -950 to +959
let mut block_fork_number = canonical.fork_block_number();
let mut fork_block = canonical.fork_block();
let mut chains_to_promote = vec![canonical];

// loop while fork blocks are found in Tree.
while let Some(chain_id) = self.block_indices().get_blocks_chain_id(&block_fork.hash) {
let chain = self.state.chains.remove(&chain_id).expect("To fork to be present");
block_fork = chain.fork_block();
while let Some(chain_id) = self.block_indices().get_blocks_chain_id(&fork_block.hash) {
let chain = self.state.chains.remove(&chain_id).expect("fork is present");
// canonical chain is lower part of the chain.
let canonical =
self.split_chain(chain_id, chain, ChainSplitTarget::Number(block_fork_number));
block_fork_number = canonical.fork_block_number();
self.split_chain(chain_id, chain, ChainSplitTarget::Number(fork_block.number));
fork_block = canonical.fork_block();
Copy link
Member Author

Choose a reason for hiding this comment

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

this change preserves old behavior because chain.fork_block() equals to canonical.fork_block() as canonical is just a lower part of the chain

@rkrasiuk rkrasiuk added this pull request to the merge queue Nov 18, 2023
Merged via the queue into main with commit 49d69c6 Nov 18, 2023
25 checks passed
@rkrasiuk rkrasiuk deleted the rkrasiuk/tree-chain-internals branch November 18, 2023 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-blockchain-tree Related to sidechains, reorgs and pending blocks C-debt Refactor of code section that is hard to understand or maintain
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants