Implement efficient merkle tree base from solo GBT information.
Abstract out the merkle bin calculation for gbt solo
Make pooled GBT mining use merkle bin optimisations slated for solo mining.
When setting up solo mining, check validity of bitcoin address against bitcoind
Store all the transaction data in binary form when using GBT
Add more gbt variable decoding from gbt solo information.
Do gbt solo decoding under gbt lock.
Add helper functions for creating script signature templates and beging building template.
Create our own custom scriptsig base.
Move scriptsig header bin conversion to setup gbt solo
Generate a valid coinbase and set nonce2offset for gbt solo
Share coinbase_len variable b/w stratum and gbt and setup more gbt solo parameters.
Share more fields between stratum and gbt
Remove unnecessary header length calculation for stratum header binary and only binary convert the correct length of the header.
Run parser through detect_stratum after stratum+tcp:// is force added
Avoid allocing and freeing stratum strings that should be fixed length.
Store strings similar to stratum's when decoding gbt solo
Generate a header bin from gbt solo as per the cached stratum one.
Move swork.diff out of the stratum work section to be shared as sdiff.
Set the diff as a double sdiff from gbt solo data.