-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
blockchain, fullblocktests, workmath, testhelper: add InvalidateBlock() method to BlockChain #2155
blockchain, fullblocktests, workmath, testhelper: add InvalidateBlock() method to BlockChain #2155
Commits on Apr 22, 2024
-
blockchain, workmath: refactor functions to workmath package
Some of the functions in difficulty.go are not dependent on any external functions and they are needed to introduce testing code for the invalidateblock and reconsiderblock methods that are to be added on in later commits. Having the workmath package let's us reuse the code and avoid dependency cycles. The existing functions that were exported already (HashToBig, CompactToBig, BigToCompact, CalcWork) are still kept in difficulty.go to avoid breaking external code that depends on those exported functions.
Configuration menu - View commit details
-
Copy full SHA for 597b68c - Browse repository at this point
Copy the full SHA 597b68cView commit details -
fullblocktests, testhelper: refactor out spendableOut
spendableOut and the functions related to it are is moved to package testhelper and are exported. This is done to make the code reusable without introducing an import cycle when the testing code for invalidateblock and reconsiderblock are added in follow up commits.
Configuration menu - View commit details
-
Copy full SHA for 337d7f6 - Browse repository at this point
Copy the full SHA 337d7f6View commit details -
fullblocktests, testhelper: move solveBlock to testhelper
solveBlock is moved to testhelper and is exported. This is done so that the code can be reused without introducing import cycles. The testing code to be added in alter commits for invalidateblock and reconsider block will use SolveBlock.
Configuration menu - View commit details
-
Copy full SHA for d4644df - Browse repository at this point
Copy the full SHA d4644dfView commit details -
fullblocktests, testhelper: move opTrueScript and lowFee to testhelper
The variables are moved to testhelper so that they can be reused in the blockchain package without introducing an import cycle. The testing code for invalidateblock and reconsiderblock that will be added in later commits will be using these variables.
Configuration menu - View commit details
-
Copy full SHA for 62790ac - Browse repository at this point
Copy the full SHA 62790acView commit details -
fullblocktests, testhelper: move uniqueOpReturnScript to testhelper
uniqueOpReturnScript is moved to testhelper and is exported so that the code and be reused in package blockchain without introducing import cycles. The test code for invalidateblock and reconsiderblock that are gonna be added in later commits uses the functions.
Configuration menu - View commit details
-
Copy full SHA for 9093243 - Browse repository at this point
Copy the full SHA 9093243View commit details -
fullblocktests, testhelper: move standardCoinbaseScript to testhelper
standardCoinbaseScript is moved to testhelper and is exported. This allows test code in package blockchain to reuse the code without introducing an import cycle. This code is used in the testing code for invalidateblock and reconsiderblock that's added in the later commits.
Configuration menu - View commit details
-
Copy full SHA for 59c7d10 - Browse repository at this point
Copy the full SHA 59c7d10View commit details -
fullblocktests, testhelper: move createCoinbaseTx to testhelper
createCoinbaseTx's code is refactored out and placed in testhelper package and is exported so that callers in package blockchain can reuse the code without introducing import cycles. The test code for invalidateblock and reconsiderblock that'll be added in later commits make use of this code.
Configuration menu - View commit details
-
Copy full SHA for 8ab27b9 - Browse repository at this point
Copy the full SHA 8ab27b9View commit details -
fullblocktests, testhelper: move createSpendTx to testhelper
createSpendTx is moved to testhelper so that the function can be used for callers in package blockchain without introducing import cycles. The test code for invalidateblock and reconsiderblock that are going to be added in later commits make use of this code.
Configuration menu - View commit details
-
Copy full SHA for 5df1437 - Browse repository at this point
Copy the full SHA 5df1437View commit details -
blockchain: add block generating functions in test code
The block generating functions here allow for a test to create mock blocks. This is useful for testing invalidateblock and reconsiderblock methods on blockchain that will be added in later commits.
Configuration menu - View commit details
-
Copy full SHA for ea39fe0 - Browse repository at this point
Copy the full SHA ea39fe0View commit details
Commits on Apr 30, 2024
-
blockchain: Add InvalidateBlock() method to BlockChain
InvalidateBlock() invalidates a given block and marks all its descendents as invalid as well. The active chain tip changes if the invalidated block is part of the best chain.
Configuration menu - View commit details
-
Copy full SHA for 635ae68 - Browse repository at this point
Copy the full SHA 635ae68View commit details