33 Commits
Author SHA1 Message Date
pablomartin4btc d3c5e47391 wallet, refactor: Remove Legacy check and error
Remove dead code due to legacy wallet removal.
2025-08-22 16:49:14 -03:00
2b00030af8 interfaces, chain, refactor: Remove inaccurate getActiveChainLocator
The getActiveChainLocator method name was misleading, and its functionality
duplicated `Chain::findBlock`. This commit removes the method and replaces
all its usages with direct `Chain::findBlock` calls.

Additionally, the comment of getActiveChainLocator has been outdated since
commit ed47094 from #25717.

Finally, in CWallet::ScanForWalletTransactions, the findBlock calls are now
unified into a single call at the start of the function.

Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
Co-authored-by: Matias Furszyfer <mfurszy@protonmail.com>
2025-08-13 00:21:17 -03:00
110a0f405c interfaces, chain, refactor: Remove unused getTipLocator
Also removed CChain::GetLocator() and replaced its call
with GetLocator() which uses LocatorEntries instead.

Co-authored-by: ryanofsky <ryan@ofsky.org>
Co-authored-by: l0rinc <l0rinc@users.noreply.github.com>
2025-08-13 00:08:37 -03:00
pablomartin4btc 30c6f64eed test: Remove unnecessary LoadWallet() calls 2025-07-31 21:17:08 -03:00
pablomartin4btc c5c1960f93 doc: Add release notes for changes in RPCs
Adding notes for both `unloadwallet` and `getdescriptoractivity`.
2025-07-22 23:25:14 -03:00
pablomartin4btcandstickies-v 90fd5acbe5 rpc, test: Fix error message in getdescriptoractivity
Mark blockhashes and scanobjects arguments as required, so the user receives
a clear help message when either is missing.

Added a new functional test for this use case.

Co-authored-by: stickies-v <stickies-v@users.noreply.github.com>
2025-07-22 23:23:23 -03:00
pablomartin4btc 39fef1d203 test: Add missing logging info for each test
Add self.log.info(...) calls at the beginning of each test
in GetBlocksActivityTest.

This improves readability and provides debugging information
by logging the purpose of each test upon its correct
execution.

This is in preparation for the next commit, which adds a new test
with log info, and it would look inconsistent without this commit.
2025-07-22 23:12:10 -03:00
pablomartin4btcandmaflcko 53ac704efd rpc, test: Fix error message in unloadwallet
The unloadwallet RPC previously failed with a low-level JSON parsing error
when called without any arguments (wallet_name).

Although this issue was first identified during review of the original unloadwallet
implementation in #13111, it was never addressed.

Raise RPC_INVALID_PARAMETER instead describing that either the RPC endpoint or wallet
name must be provided.

Adding a new functional test for this use case.

Refactor migratewallet to use the same logic as the wallet_name argument handling
is identical.

Co-authored-by:  maflcko <maflcko@users.noreply.github.com>
2025-07-22 23:12:09 -03:00
pablomartin4btcandstickies-v 1fc3a8e8e7 rpc, test: Add EnsureUniqueWalletName tests
Co-authored-by: stickies-v <stickies-v@users.noreply.github.com>
2025-07-22 23:12:04 -03:00
pablomartin4btc b635bc0896 rpc, util: Add EnsureUniqueWalletName
Add a new function called EnsureUniqueWalletNamet that returns the
selected wallet name across the RPC request endpoint and wallet_name.

Supports the case where the wallet_name argument may be omitted—either
when using a wallet endpoint, or when not provided at all. In the latter
case, if no wallet endpoint is used, an error is raised.

Internally reuses the existing implementation to avoid redundant URL
decoding and logic duplication.

This is a preparatory change for upcoming refactoring of unloadwallet
and migratewallet, which will adopt EnsureUniqueWalletName for improved
clarity and consistency.
2025-07-22 12:28:10 -03:00
pablomartin4btc ec004cdb86 test: Use rehash() in outbound eviction block-relay
Ensure that tip_header.rehash() is used instead of tip_header.hash, which is None when the header is deserialized from hex.

This avoids depending on wait_for_getheaders() falling back to any received message, making the test more explicit and robust.
2025-06-27 13:54:01 -03:00
pablomartin4btc 26598ed21e test: Clarify roles in outbound eviction comments
Some ambiguous uses of "we" referring to either the node or the peer are replaced with clearer phrasing.

Also rephrase some comments for consistency and readability.

Applies to all relevant outbound eviction tests in p2p_eviction_logic.py.
2025-06-27 13:41:06 -03:00
pablomartin4btc ce90f0c99f rpc, wallet, refactor: Remove non-descriptor errors
It is not possible to load a legacy/ non-descriptor wallet anymore
so no need to check for WALLET_FLAG_DESCRIPTORS in RPC calls, even when
passing -rpcwallet/ JSON `/wallet/<walletname>/` endpoint, that searches
for the wallets loaded already in the context.
2025-06-10 16:34:17 -03:00
pablomartin4btc 573bcd75d7 wallet, refactor: Remove unused SetupGeneration
SetupGeneration was supposed to be the function that all SPKMs used
to setup automatic generation, but it didn't work out that way and
ended up being legacy only. It should be deleted at this point.
2025-06-10 16:34:17 -03:00
pablomartin4btc 5431f2dc21 wallet, refactor: Remove Legacy warnings and errors
Remove dead code due to legacy wallet removal.
2025-06-10 16:27:42 -03:00
pablomartin4btc 7912cd4125 bench: Fix WalletMigration benchmark
The keys and scripts created for the Legacy Wallet
needed to be persisted in order for the migration to work
properly.
2025-04-16 12:33:46 -03:00
pablomartin4btc 0f602c5693 wallet, migration: Fix crash on empty wallet
Same as with a blank wallet, wallets with no legacy
records (i.e. empty, non-blank, watch-only wallet)
do not require to be migrated.
2025-04-04 17:38:41 -03:00
pablomartin4btcandMatias Furszyfer 42c13141b5 wallet, refactor: Decouple into HasLegacyRecords()
The new helper will be used to fix a crash in the
wallet migration process (watch-only, non-blank,
private keys disabled, empty wallet - no scripts
or addresses imported).

Co-authored-by: Matias Furszyfer <mfurszy@protonmail.com>
2025-04-03 07:55:51 -03:00
pablomartin4btc 75d5d235a6 doc: Update translation generation instructions
This is a follow-up of #31731.

Technically this change fixes the preset configuration
execution failure as it needs multiprocess to be enabled,
so we disable it using -DWITH_MULTIPROCESS=OFF.

This code will need to be updated in PRs #31741 and #31802.
2025-02-26 14:24:10 -03:00
pablomartin4btc fee4cba484 gui: Fix proxy details display in Options Dialog
- Ensured that the proxy IP is displayed correctly in the UI when using an IPv6 address.

No functionality impact; changes only affect UI display.
2024-09-19 06:52:44 -03:00
pablomartin4btc 54227e681a rpc, cli: improve error message on multiwallet mode
The primary objective is to provide users with clearer
and more informative error messages when encountering
the RPC_WALLET_NOT_SPECIFIED error, which occurs when
multiple wallets are loadad.

This commit also rectifies the error message consistency
by bringing the error message in line with the definition
established in protocol.h ("error when there are multiple
wallets loaded").
2024-09-17 16:22:12 -03:00
pablomartin4btc 5b4f34006d devtools, utxo-snapshot: Fix block height out of range
Handle the Block height out of range error gracefully by checking if
the node has synchronized to or beyond the required block height,
otherwise without this validation the node would keep the network
disabled if the user selected that option.

Provide a user-friendly message if the block height is out of range
and exit the script cleanly.
2024-08-21 12:52:52 -03:00
pablomartin4btc 15aa7d0236 gui, qt: brintToFront workaround for Wayland 2024-08-02 13:56:38 -03:00
pablomartin4btc 3b0ec06d62 doc: Update translation_process.md
Updating Transifex broken link and remove Transifex config file
section as it has been outdated.
2024-02-14 21:39:39 -03:00
pablomartin4btc b2e531e70a qt: update widgets availability on wallet selection
The Transaction View should be only enabled when a wallet is selected.
Therefore it has been added a condition for a selected wallet on
enableHistoryAction() since its availability also depends on the mask
value checkbox.
2023-12-07 12:49:23 -03:00
11b7269d83 script: Enhance validations in utxo_snapshot.sh
- Ensure that the snapshot height is higher than the pruned block height when the node is pruned.
- Validate the correctness of the file path and check if the file already exists.
- Make network activity disablement optional for the user.
- Ensure the reconsiderblock command is triggered on exit, even in the case of user interruption (Ctrl-C).

Co-authored-by: Chris Heyes <22148308+hazeycode@users.noreply.github.com>
Co-authored-by: Sjors Provoost <sjors@sprovoost.nl>
2023-11-13 19:01:07 -03:00
pablomartin4btc 7de7685372 test, assumeutxo: Use assert_debug_log for error details
This is a follow-up on the invalid hash dump fix PR #28698.

https://github.com/bitcoin/bitcoin/pull/28698#pullrequestreview-1698178157
2023-11-09 18:54:27 -03:00
811067ca1c test: add coverage for snapshot chainstate not matching AssumeUTXO parameters
Co-authored-by: Russell Yanofsky <russ@yanofsky.org>
Co-authored-by: Sebastian Falbesoner <sebastian.falbesoner@gmail.com>
2023-10-25 11:14:43 -03:00
pablomartin4btc 4a5be10b92 assumeutxo, blockstorage: prevent core dump on invalid hash 2023-10-24 23:39:10 -03:00
pablomartin4btc 58c9b50a95 gui: Add wallet name to address book page
Extend addresstablemodel to return the display name from the wallet and
set it to the addressbookpage window title when its  model is set.
2023-10-04 17:01:49 -03:00
pablomartin4btc 9d37886a3b gui: Update Node window title with chain type
Update Node window with the chain type except for mainnet.
This replicates the behaviour of the main window.
2023-09-18 00:46:09 -03:00
pablomartin4btc 11422cc572 bugfix: rest: avoid segfault for invalid URI
`evhttp_uri_parse` can return a nullptr, for example when the URI
contains invalid characters (e.g. "%").
`GetQueryParameterFromUri` passes the output of `evhttp_uri_parse`
straight into `evhttp_uri_get_query`, which means that anyone calling
a REST endpoint in which query parameters are used (e.g. `rest_headers`)
can cause a segfault.

This bugfix is designed to be minimal and without additional behaviour change.
Follow-up work should be done to resolve this in a more general and robust way,
so not every endpoint has to handle it individually.
2023-04-17 10:13:34 -03:00
pablomartin4btc 4492de1be1 qt: mask values on transactions view 2023-03-10 14:52:01 -03:00