Skip to content

Conversation

meshcollider
Copy link
Contributor

@meshcollider meshcollider commented Dec 3, 2021

This is the rest of #23622, to split up rpcwallet into smaller, more logical parts.

This will have a lot of conflicts but let's just get it over and done with.

@DrahtBot
Copy link
Contributor

DrahtBot commented Dec 4, 2021

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #23676 (rpc: correct getnewaddress/getrawchangeaddress address_type helptext by brianddk)
  • #23662 (rpc: improve getreceivedby{address,label} performance by theStack)
  • #23644 (wallet: Replace confusing getAdjustedTime() with GetTime() by MarcoFalke)
  • #23599 (Tidy up RPCTxSerializationFlags by MarcoFalke)
  • #23545 (scripted-diff: Use clang-tidy syntax for C++ named arguments [WIP; TOO MANY CONFLICTS] by MarcoFalke)
  • #23497 (Add src/node/ and src/wallet/ code to node:: and wallet:: namespaces by ryanofsky)
  • #23417 (wallet, spkm: Move key management from DescriptorScriptPubKeyMan to wallet level KeyManager by achow101)
  • #23367 (Optimize coin selection by dropping BnB upper limit by S3RK)
  • #23341 (RPC: Better safety with newkeypool command and wallet backups by meshcollider)
  • #23202 (wallet: allow psbtbumpfee to work with txs with external inputs by achow101)
  • #23201 (wallet: Allow users to specify input weights when funding a transaction by achow101)
  • #23113 (Add warnings to createmultisig and addmultisig if using uncompressed keys by meshcollider)
  • #23083 (rpc: Fail to return undocumented or misdocumented JSON by MarcoFalke)
  • #22838 (descriptors: Be able to specify change and receiving in a single descriptor string by achow101)
  • #22807 (RPC: Add universal options argument to listtransactions by kristapsk)
  • #22776 (rpc/wallet: add optional transaction(s) to getbalances by kallewoof)
  • #22775 (rpc: Add option to list transactions from oldest to newest in listtransactions RPC command by ben-kaufman)
  • #22751 (rpc/wallet: add simulaterawtransaction RPC by kallewoof)
  • #22558 (psbt: Taproot fields for PSBT by achow101)
  • #22514 (psbt: Actually use SIGHASH_DEFAULT for PSBT signing by achow101)
  • #22341 (rpc: add getxpub by Sjors)
  • #21928 (wallet: allow toggling external_signer flag by Sjors)
  • #21576 (rpc, gui: bumpfee signer support by Sjors)
  • #21283 (Implement BIP 370 PSBTv2 by achow101)
  • #20640 (wallet, refactor: return out-params of CreateTransaction() as optional struct by theStack)
  • #20583 (rpc: Add missing BlockUntilSyncedToCurrentChain to wallet RPCs by MarcoFalke)
  • #19602 (wallet: Migrate legacy wallets to descriptor wallets by achow101)
  • #14707 ([RPC] Include coinbase transactions in receivedby RPCs by andrewtoth)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

Copy link
Contributor

@shaavan shaavan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

crACK 889d32f

I have reviewed each commit on this PR, and I agree with the changes.
Though I have not thoroughly tested, I was able to run bitcoind and bitcoin-cli on this PR successfully.

However, merging this PR now would not be effective as there are still too many conflicts with this PR. Though I understand that this would be an ineffective way, I would suggest you further split this PR.

Copy link
Contributor

@ryanofsky ryanofsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review ACK 889d32f. Easy review. Just function moves then file move.

This will have a lot of conflicts but let's just get it over and done with.

Thank you! It's less annoying to deal with conflicts in one PR than multiple PRs, IMO.

However, merging this PR now would not be effective as there are still too many conflicts with this PR. Though I understand that this would be an ineffective way, I would suggest you further split this PR.

I do think fact that these are clean moves with no changes should makes conflicts easier to resolve. And overall conflicts should be less of a burden if they only have to resolved once, instead of multiple times after different PRs.

@achow101
Copy link
Member

achow101 commented Dec 7, 2021

ACK 889d32f

Nice straightforward moveonly commits. Although this has a lot of conflicts, rebasing shouldn't be that difficult. Git should be able to identify the moves and apply the changes accordingly, so it won't be that bad.

One thought on the RPC grouping: abortrescan should be in rpc/transactions.cpp to be with rescanblockchain.

@meshcollider
Copy link
Contributor Author

Thanks for the review!

Rebased and moved abortrescan as suggested by @achow101

@achow101
Copy link
Member

achow101 commented Dec 8, 2021

ACK b36e738

@meshcollider meshcollider requested a review from maflcko December 8, 2021 01:42
Copy link
Contributor

@ryanofsky ryanofsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review ACK b36e738, verified move-only again

@fanquake
Copy link
Member

fanquake commented Dec 8, 2021

However, merging this PR now would not be effective as there are still too many conflicts with this PR. Though I understand that this would be an ineffective way, I would suggest you further split this PR.

I agree with the other comments in regards to just "doing this now". A PR like this is always going to have a large number of conflicts, and splitting it up into many more PRs is just going draw out the rebasing, and create a lot more (repo) noise.

Note that nearly half of the conflicting PRs actually belong to the PR author and the two reviewers who have already ACK'd this change. If you include Marco (who was also planning on making these changes) then it's more than half, so the "rebasing burden" isn't actually as bad as it may look.

I'm going to merge this now.

@fanquake fanquake merged commit fa3fb46 into bitcoin:master Dec 8, 2021
@meshcollider meshcollider deleted the 202111_split_walletrpc_total branch December 8, 2021 03:48
@meshcollider meshcollider mentioned this pull request Dec 8, 2021
8 tasks
@Sjors
Copy link
Member

Sjors commented Dec 8, 2021

Oh hi... (but yeah, it's worth it)

utACK b36e738

sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Dec 8, 2021
also deal with deprecated "addresses" field from upstream
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Dec 8, 2021
also deal with deprecated "addresses" field from upstream
RandyMcMillan pushed a commit to RandyMcMillan/mempool-tab that referenced this pull request Dec 23, 2021
288f99a MOVEONLY: Move abortrescan from backup.cpp to transactions.cpp (Samuel Dobson)
7a47e08 Remove unused imports from rpc/wallet and reorder RPCs (Samuel Dobson)
4fceeb3 MOVEONLY: Move rpcwallet to rpc/wallet (Samuel Dobson)
de401aa MOVEONLY: Move spending RPCs to spend.cpp (Samuel Dobson)
5dbd8fe MOVEONLY: Move balance and utxo RPCs to coins.cpp (Samuel Dobson)
c0f59cc MOVEONLY: Move address related functions from rpcwallet to addresses.cpp (Samuel Dobson)
5c38fef MOVEONLY: Move transaction related wallet RPCs to transactions.cpp (Samuel Dobson)

Pull request description:

  This is the rest of #23622, to split up rpcwallet into smaller, more logical parts.

  This will have a lot of conflicts but let's just get it over and done with.

ACKs for top commit:
  achow101:
    ACK 288f99a
  ryanofsky:
    Code review ACK 288f99a, verified move-only again

Tree-SHA512: 6695fa23bbe9822c7497db7660f44c3dcb01dfa7276f5830a6b7c73c6b5fa04e04fcd4821bf0e6392e7659ed91a277ced85bd8f77477d785bca4e84a93fe791e
@bitcoin bitcoin locked and limited conversation to collaborators Dec 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants