refactor: pull libbitcoin_server code out of wallet code 5/5#5767
Conversation
9309fd7 to
6444c8c
Compare
ae246f9 to
12636a3
Compare
|
This pull request has conflicts, please rebase. |
12636a3 to
82a953b
Compare
82a953b to
d8f4e72
Compare
|
This pull request has conflicts, please rebase. |
d8f4e72 to
0a5912c
Compare
0a5912c to
fce73c9
Compare
|
Guix Automation has failed due to the HEAD commit not being signed by an authorized core-team member. Please rebase and sign or push a new empty signed commit to allow Guix build to happen. |
9b67633 to
29809a1
Compare
|
Guix Automation has failed due to the HEAD commit not being signed by an authorized core-team member. Please rebase and sign or push a new empty signed commit to allow Guix build to happen. |
29809a1 to
ab5a01a
Compare
|
Guix Automation has failed due to the HEAD commit not being signed by an authorized core-team member. Please rebase and sign or push a new empty signed commit to allow Guix build to happen. |
ab5a01a to
c86999d
Compare
|
Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v20.1.0-devpr5767.8698bae1. The image should be on dockerhub soon. |
PastaPastaPasta
left a comment
There was a problem hiding this comment.
utACK; please state preference for squash / merge commit
I really don't like "Loader" but 🤷 all other comments were addressed or not relevant
There are 2 backports, should be Merge commit, not squash |
This code can be used in both server side code and in wallet code
Its class CDSTXManager has a lot of ex-static functions and data that are actually meant to be an object
…nterface method for flush
…ace and WalletContext
faca730 ci: Install fixed version of clang-format for linters (MarcoFalke) fa4695d build: Sort Makefile.am after renaming file (MarcoFalke) cccc278 scripted-diff: Move ui_interface to the node lib (MarcoFalke) fa72ca6 qt: Remove unused includes (MarcoFalke) fac96e6 wallet: Do not include server symbols (MarcoFalke) fa0f6c5 Revert "Fix link error with --enable-debug" (MarcoFalke) Pull request description: This reverts a hacky workaround from commit b83cc0f, which only happens to work due to compiler optimizations. Then, it actually fixes the linker error. The underlying problem is that the wallet includes symbols from the server (ui_interface), which usually results in linker failures. Though, in this specific case the linker failures have not been observed (unless `-O0`) because our compilers were smart enough to strip unused symbols. Fix the underlying problem by creating a new header-only with the needed symbol and move ui_interface to node to clarify that this is part of libbitcoin_server. ACKs for top commit: Sjors: ACK faca730 laanwj: ACK faca730 hebasto: re-ACK faca730, since the [previous](bitcoin#19331 (review)) review: Tree-SHA512: e9731f249425aaea50b6db5fc7622e10078cf006721bb87989cac190a2ff224412f6f8a7dd83efd018835302337611f5839e29e15bef366047ed591cef58dfb4
8698bae to
13188e1
Compare
Issue being fixed or feature implemented
Wallet library should not depends on server code (libbitcoin_server).
This is final PR that includes relevant backport bitcoin#15639 and will unblock multiprocess: bitcoin#18677
With changes in this PR wallet would not use any server (node) code anymore; which includes llmq implementation, mempool, server-side CoinJoin and many other heavy things.
Eventually it may help to integrate dash wallet easier to 3rd party applications as a standalone library, for example in mobile wallet, hardware devices, etc.
Prior work:
What was done?
Refactored Coin Join related code:
coinjoin/common.interfaces/nodeCDSTXManager::coinJoinClientManagersin favor tocj_ctx->clientmanBackported related PRs from bitcoin:
After adding missing changes from bitcoin#15638 and some extra improvements it was possible to finally backport bitcoin#15639
As a side effect one more circular dependency disappeared:
coinjoin/client -> coinjoin/util -> wallet/wallet -> coinjoin/clientHow Has This Been Tested?
Built 2 version: with and without these PRs: #5743, #5762 + this PR
and:
The binary
dash-walletlost ~40% of weight on this diet.Breaking Changes
N/A
Checklist: