Commit graph

127 commits

Author SHA1 Message Date
Byron Hambly
6c55760a2d Merge 7ef2d4ee4d into merged_master (Bitcoin PR bitcoin/bitcoin#28244) 2025-07-04 17:24:18 +02:00
Byron Hambly
db3df5936f Merge 5325a61167 into merged_master (Bitcoin PR bitcoin/bitcoin#27224) 2025-05-14 14:30:41 +02:00
Byron Hambly
5ac82e15a9 Merge 669af32632 into merged_master (Bitcoin PR bitcoin/bitcoin#27419) 2025-05-09 11:47:45 +02:00
Byron Hambly
0d6796ec53 Merge cae0608ad4 into merged_master (Bitcoin PR bitcoin/bitcoin#27217) 2025-04-12 17:04:51 +02:00
Byron Hambly
d5c13168a6 Merge 27dcc07c08 into merged_master (Bitcoin PR bitcoin/bitcoin#26699) 2025-04-12 15:13:11 +02:00
Byron Hambly
54d0589bdc Merge 73966f75f6 into merged_master (Bitcoin PR bitcoin/bitcoin#25344) 2025-04-06 21:33:46 +02:00
Byron Hambly
b4405ba453 Merge e9262ea32a into merged_master (Bitcoin PR bitcoin/bitcoin#26750) 2025-03-31 16:37:52 +02:00
Tom Trevethan
3f43afa4b9 Merge 7d51560003 into merged_master (Bitcoin PR bitcoin/bitcoin#26298) 2025-03-25 12:09:21 +00:00
Tom Trevethan
bf45fb4395 Merge 8ccab65f28 into merged_master (Bitcoin PR bitcoin/bitcoin#26238) 2025-03-18 11:09:37 +00:00
Byron Hambly
8499b13762
lint: fix lint issues 2024-12-03 14:02:33 +02:00
Byron Hambly
fb832dd2ca Merge 9f650062fc into merged_master (Bitcoin PR bitcoin/bitcoin#26005) 2024-11-27 11:36:17 +02:00
Byron Hambly
b07694187c Merge 607d5a46aa into merged_master (Bitcoin PR bitcoin/bitcoin#23202)
added a FIXME for the new bumpfee tests on non-owned inputs
2024-11-04 15:03:28 +02:00
Byron Hambly
09c66ca532 Merge f5e96ecef5 into merged_master (Bitcoin PR bitcoin/bitcoin#25616) 2024-11-01 13:00:25 +02:00
Byron Hambly
a4fa9c6ada
Merge 59bd6b6d37 into merged_master (Bitcoin PR bitcoin/bitcoin#24699) 2024-10-29 14:19:22 +02:00
Byron Hambly
49d368ea6b Merge 006740b6f6 into merged_master (Bitcoin PR bitcoin/bitcoin#25721) 2024-10-25 13:33:19 +02:00
Byron Hambly
f88268fb7c Merge da23320998 into merged_master (Bitcoin PR bitcoin/bitcoin#25651) 2024-10-24 14:21:48 +02:00
James Dorfman
66071a5dbb Merge 062b9db0cc into merged_master (Bitcoin PR bitcoin/bitcoin#25594) 2024-10-16 06:40:24 +00:00
James Dorfman
e22bfb3011 Merge 316afb1eca into merged_master (Bitcoin PR bitcoin/bitcoin#25218) 2024-10-16 04:56:53 +00:00
James Dorfman
d72be3f6b9 Merge b9f9ed4640 into merged_master (Bitcoin PR bitcoin/bitcoin#25337) 2024-10-13 18:07:54 +00:00
James Dorfman
8ebf20fe8e Merge 8be652e439 into merged_master (Bitcoin PR bitcoin/bitcoin#25005)
These changes affect the wallet. Please double check them, since I'm not
confident that I merged them correctly.
2024-09-15 22:01:42 +00:00
James Dorfman
e060074c3f Merge 629e250cbd into merged_master (Bitcoin PR bitcoin/bitcoin#25148) 2024-08-13 03:59:44 +00:00
James Dorfman
16f007177a Merge 1ab389b1ba into merged_master (Bitcoin PR bitcoin/bitcoin#20640)
This was a tricky merge (wallet refactor). Please double check my
changes to CreateTransactionInternal(...) in src/wallet/spend.cpp, and to
SendGenerationTransaction(...) in src/wallet/rpc/elements.cpp.

Lastly, I got all the tests passing, but I'm not certain that the changes
with fixed_change_pos in CreateTransactionInternal were correct.
2024-08-13 03:26:28 +00:00
James Dorfman
17d45cdb7d Merge 3740cdd125 into merged_master (Bitcoin PR bitcoin/bitcoin#24091) 2024-03-19 06:35:30 +00:00
James Dorfman
5082ed04fd Merge 98e9d8e8e2 into merged_master (Bitcoin PR bitcoin/bitcoin#23732) 2024-01-11 18:05:49 +00:00
Andrew Chow
f3c9078b4c Clean up things that include script/standard.h
Remove standard.h from files that don't use anything in it, and include
it in files that do.
2023-08-14 17:38:27 -04:00
Byron Hambly
ccd7b72d79 Merge e30b6ea194 into merged_master (Bitcoin PR bitcoin/bitcoin#24067) 2023-06-28 14:48:32 +00:00
Byron Hambly
7878ba47b9 Merge c561f2f06e into merged_master (Bitcoin PR bitcoin/bitcoin#23497) 2023-06-19 09:28:31 +00:00
James Dorfman
81119e6161 Merge fa74718414 into merged_master (Bitcoin PR bitcoin/bitcoin#24026) 2023-06-15 20:36:05 +00:00
Byron Hambly
47626b5a64 Merge 623745ca74 into merged_master (Bitcoin PR bitcoin/bitcoin#23912) 2023-06-14 15:44:11 +00:00
Byron Hambly
01c3d7fbec Merge f7367b88e1 into merged_master (Bitcoin PR bitcoin/bitcoin#23842) 2023-06-14 06:43:35 +00:00
Byron Hambly
8886ceae12 Merge 63b5dfac21 into merged_master (Bitcoin PR bitcoin-core/gui#459) 2023-06-14 05:54:10 +00:00
Byron Hambly
8bff356855 Merge a30642926a into merged_master (Bitcoin PR bitcoin/bitcoin#23721) 2023-06-13 13:41:22 +00:00
Byron Hambly
eed72186c7 Merge fa3fb46b81 into merged_master (Bitcoin PR bitcoin/bitcoin#23667)
This merge from upstream split the rpcwallet file out into separate
files. Leftover Elements specific funtions were moved into
wallet/rpc/elements.cpp

Co-authored-by: James Dorfman <dorfmanjames@gmail.com>
2023-06-06 08:32:04 +00:00
Byron Hambly
e6cdd99eec Merge cf24152596 into merged_master (Bitcoin PR bitcoin/bitcoin#21206) 2023-05-31 09:12:07 +00:00
Byron Hambly
2b8eef42dd Merge 1884ce2f4c into merged_master (Bitcoin PR bitcoin/bitcoin#22937) 2023-05-11 12:38:50 +00:00
Byron Hambly
498907a233 Merge 816e15ee81 into merged_master (Bitcoin PR bitcoin/bitcoin#22951) 2023-05-09 11:50:39 +00:00
Andrew Chow
5325a61167
Merge bitcoin/bitcoin#27224: refactor: Remove CAddressBookData::destdata
a5986e82dd refactor: Remove CAddressBookData::destdata (Ryan Ofsky)
5938ad0bdb wallet: Add DatabaseBatch::ErasePrefix method (Ryan Ofsky)

Pull request description:

  This is cleanup that doesn't change external behavior. Benefits of the cleanup are:

  - Removes awkward `StringMap` intermediate representation for wallet address metadata.
  - Simplifies `CWallet`, deals with used address and received request serialization in `walletdb.cpp` instead of higher level wallet code
  - Adds test coverage and documentation

  This PR doesn't change externally observable behavior. Internally, the only change in behavior is that `EraseDestData` deletes rows directly from the database because they are no longer stored in memory. This is more direct and efficient because it uses a single lookup and scan instead of multiple lookups.

  Motivation for this cleanup is making changes like #18550, #18192, #13756 easier to reason about and less likely to result in unintended behavior and bugs

  ---

  This PR is a rebased copy of #18608. For some reason that PR is locked and couldn't be reopened or commented on.

  This PR is an alternative to #27215 with differences described in https://github.com/bitcoin/bitcoin/pull/27215#pullrequestreview-1329028143

ACKs for top commit:
  achow101:
    ACK a5986e82dd
  furszy:
    Code ACK a5986e82

Tree-SHA512: 6bd3e402f1f60263fbd433760bdc29d04175ddaf8307207c4a67d59f6cffa732e176ba57886e02926f7a1615dce0ed9cda36c8cbc6430aa8e5b56934c23f3fe7
2023-05-01 08:16:54 -04:00
Byron Hambly
c96554c071 Merge 09cb5ec6c8 into merged_master (Bitcoin PR bitcoin/bitcoin#23065) 2023-04-24 10:05:11 +00:00
fanquake
669af32632
Merge bitcoin/bitcoin#27419: move-only: Extract common/args from util/system
be55f545d5 move-only: Extract common/args and common/config.cpp from util/system (TheCharlatan)

Pull request description:

  This pull request is part of the `libbitcoinkernel` project https://github.com/bitcoin/bitcoin/issues/24303 https://github.com/bitcoin/bitcoin/projects/18 and more specifically its "Step 2: Decouple most non-consensus code from libbitcoinkernel". It is part of a series of patches splitting up the `util/system` files. Its preceding pull request is https://github.com/bitcoin/bitcoin/pull/27254.

  The pull request contains an extraction of ArgsManager related functions from util/system into their own common/ file.

  The background of this commit is an ongoing effort to decouple the libbitcoinkernel library from the ArgsManager. The ArgsManager belongs into the common library, since the kernel library should not depend on it. See [doc/design/libraries.md](https://github.com/bitcoin/bitcoin/blob/master/doc/design/libraries.md) for more information on this rationale.

ACKs for top commit:
  MarcoFalke:
    re-ACK be55f545d5  🚲
  ryanofsky:
    Code review ACK be55f545d5. Just small cleanups since the last review.
  hebasto:
    ACK be55f545d5, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 90eb03334af0155b823030b4f2ecf286d35058d700ee2ddbbaa445be19e31eb0fe982656f35bd14ecee3ad2c3d0db3746855cb8f3777eff7253713e42873e111
2023-04-21 11:19:08 +01:00
James Dorfman
103069c46c fixes for Bitcoin PR bitcoin/bitcoin#22100
comments out one failing assertion in wallet_tests unit test
and one failing assertion in rpc_fundrawtransaction.py
2023-04-20 12:27:33 +00:00
TheCharlatan
be55f545d5
move-only: Extract common/args and common/config.cpp from util/system
This is an extraction of ArgsManager related functions from util/system
into their own common file.

Config file related functions are moved to common/config.cpp.

The background of this commit is an ongoing effort to decouple the
libbitcoinkernel library from the ArgsManager. The ArgsManager belongs
into the common library, since the kernel library should not depend on
it. See doc/design/libraries.md for more information on this rationale.
2023-04-19 10:48:30 +02:00
James Dorfman
3e939cca81 Merge 629c4ab2e3 into merged_master (Bitcoin PR bitcoin/bitcoin#22100) 2023-04-14 06:13:01 +00:00
Ryan Ofsky
a5986e82dd refactor: Remove CAddressBookData::destdata
This is cleanup that doesn't change external behavior.

- Removes awkward `StringMap` intermediate representation
- Simplifies CWallet code, deals with used address and received request
  serialization in walletdb.cpp
- Adds test coverage and documentation
- Reduces memory usage

This PR doesn't change externally observable behavior. Internally, only change
in behavior is that EraseDestData deletes directly from database because the
`StringMap` is gone. This is more direct and efficient because it uses a single
btree lookup and scan instead of multiple lookups

Motivation for this cleanup is making changes like #18550, #18192, #13756
easier to reason about and less likely to result in unintended behavior and
bugs

Co-authored-by: furszy <matiasfurszyfer@protonmail.com>
2023-04-12 05:30:43 -04:00
Andrew Chow
e83babe3b8 wallet: Replace use of purpose strings with an enum
Instead of storing and passing around fixed strings for the purpose of
an address, use an enum.

This also rationalizes the CAddressBookData struct, documenting all fields and
making them public, and simplifying the representation to avoid bugs like
https://github.com/bitcoin/bitcoin/pull/26761#discussion_r1134615114 and make
it not possible to invalid address data like change addresses with labels.

Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2023-04-11 15:55:31 -04:00
Ryan Ofsky
8741522e6c wallet: Add wallet/types.h for simple public enum and struct types
Move isminetype and isminefilter there this commit, add WalletPurpose type next
commit.
2023-04-11 15:52:25 -04:00
Byron Hambly
3e078a0566 Merge 638855af63 into merged_master (Bitcoin PR bitcoin/bitcoin#19101) 2023-04-10 10:37:34 +00:00
Byron Hambly
a20c67310c Merge b1a672d158 into merged_master (Bitcoin PR bitcoin/bitcoin#22337) 2023-04-07 11:57:51 +00:00
furszy
dc1cc1c359
gui: bugfix, getAvailableBalance skips selected coins
The previous behavior for getAvailableBalance when coin control
has selected coins was to return the sum of them. Instead, we
are currently returning the wallet's available total balance minus
the selected coins total amount.

This turns into a GUI-only issue for the "use available balance"
button when the user manually select coins in the send screen.

Reason:
We missed to update the GetAvailableBalance function to include
the coin control selected coins on #25685.

Context:
Since #25685 we skip the selected coins inside `AvailableCoins`,
the reason is that there is no need to traverse the wallet's
txes map just to get coins that can directly be fetched by
their id.
2023-04-03 17:23:42 -03:00
Seibart Nedor
c0ebb98382 wallet: add outputs arguments to bumpfee and psbtbumpfee 2023-01-17 13:28:53 +02:00
Hennadii Stepanov
306ccd4927
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
- 2021: f47dda2c58
- 2020: fa0074e2d8
- 2019: aaaaad6ac9
2022-12-24 23:49:50 +00:00