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
Split up script into a core and utility part. #4344
Comments
I spent some time on this last week. I managed to sever a few dependencies, but I was afraid that it would be hard to convince the others that this was worth doing. Good to see that it's on your radar as well. I'll publish my work in a branch next week. Problem is, there will likely need to be a good bit of intermediary reorg with seemingly no benefit before the real splits can happen. |
I tend to lump things into three buckets: CScript class, script eval, everything else. Seems like it would not require lots of reorg to attain something like that as a first step. |
@jgarzik SGTM |
@sipa I think this can be closed now, no? |
Currently script.{h,cpp} defines both a core data structure (CScript, and its associated opcodes) with serializations, and several sets of utlity code related to it (signing, verification, identification).
I believe these should be separated, so with all the modularlization efforts, the core data structures can go in a common library that does not pull in keystore, for example (which pulls in key, crypto code, ...).
Related, the abstract CKeyStore class should probably move to the new place where signing ends up, while the implementations can stay in keystore. This breaks the cyclic dependency between keystore and script.
The text was updated successfully, but these errors were encountered: