Recent EvalScript() changes mean CHECKLOCKTIMEVERIFY can't be merged



Summary:

Recently, BtcDrak found a significant design change that makes merging the CHECKLOCKTIMEVERIFY patch to master impossible. The EvalScript() function has been changed to take an abstract SignatureChecker object, removing the txTo and nIn arguments. The CHECKLOCKTIMEVERIFY needs txTo to obtain the nLockTime field of the transaction, and it needs nIn to obtain the nSequence of the txin. This change is indicative of a development process that has been taking significant risks with regard to refactoring the consensus critical codebase. There have been no ACKs for pull-req #4890, and only two untested utACKS, which is worrying for something that made significant consensus critical code changes. Peter suggests not upgrading to v0.10 due to these issues as it would come at the cost of safety. A much safer approach would be to keep the code changes required for a consensus library to only simple movements of code for this release.


Updated on: 2023-06-09T14:50:22.429984+00:00