Commit Graph

25869 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
3f69606827
merge bitcoin#22848: Expose BanMapToJson / BanMapFromJson 2024-06-04 13:31:31 +00:00
Kittywhiskers Van Gogh
9065eed969
merge bitcoin#22791: Fix asmap/addrman initialization order bug 2024-06-04 13:31:31 +00:00
Kittywhiskers Van Gogh
99b7812271
merge bitcoin#22849: Remove unused SERIALIZE_METHODS for CBanEntry 2024-06-04 13:31:30 +00:00
Kittywhiskers Van Gogh
a30379c557
merge bitcoin#22740: Move serialization code to cpp 2024-06-04 13:31:30 +00:00
Kittywhiskers Van Gogh
d4e79aa377
merge bitcoin#22697: Remove CAddrMan::Clear() function 2024-06-04 08:58:08 +00:00
Kittywhiskers Van Gogh
77d8f6c918
merge bitcoin#22725: Move addrman ser/deser tests to addrman_tests.cpp 2024-06-04 08:56:12 +00:00
Kittywhiskers Van Gogh
4ba3f49afc
merge bitcoin#22627: De-duplicate Add() function 2024-06-04 08:56:11 +00:00
Kittywhiskers Van Gogh
49af8185e0
merge bitcoin#20233: Make consistency checks a runtime option 2024-06-04 08:56:11 +00:00
pasta
44f237a50f
Merge #6030: refactor: remove llmq::CQuorum{BlockProcessor, Manager} globals, move to LLMQContext
d7c35d0538 refactor: remove `llmq::CQuorumManager` global, move to `LLMQContext` (Kittywhiskers Van Gogh)
5b86df6ca3 refactor: reduce `llmq::CQuorumManager` globals use, use args (Kittywhiskers Van Gogh)
1efd219173 refactor: remove `llmq::CQuorumBlockProcessor` global, move to `LLMQContext` (Kittywhiskers Van Gogh)
1d3afe742b evo: use `gsl::not_null` in `CTxMemPool::ConnectManagers` (Kittywhiskers Van Gogh)
805537e695 evo: add `CMNHFManager::`(`Dis`)`connectManagers` to remove global use (Kittywhiskers Van Gogh)
cbb6828ec7 refactor: access `llmq::CQuorumManager` through arg in `MNHFTx`, functions (Kittywhiskers Van Gogh)

Pull request description:

  ## Breaking Changes

  None expected.

  ## Checklist
  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests **(note: N/A)**
  - [x] I have made corresponding changes to the documentation **(note: N/A)**
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  knst:
    utACK d7c35d0538
  knst:
    re-utACK d7c35d0538
  PastaPastaPasta:
    utACK d7c35d0538

Tree-SHA512: 07e7494bc061f85259a3a6cfb13d052403419cdc94fc51904ac03468bbdbd1ed74429546309d2bfc6a31ba184b93dc32842e49d2960819d19313bcb7e403008e
2024-06-03 20:55:11 -05:00
pasta
3612b8a399
Merge #6024: backport: Merge bitcoin#22496, 21985
c3f8acf96d Merge bitcoin/bitcoin#21985: net: Return IPv6 scope id in `CNetAddr::ToStringIP()` (W. J. van der Laan)
28daf0d1c4 Merge bitcoin/bitcoin#22496: addrman: Remove addrman hotfixes (fanquake)

Pull request description:

  bitcoin backports

Top commit has no ACKs.

Tree-SHA512: e208aee446ce5d4b29b43b9f86236b6f8ac1805572edcdf6355246c186947a5e783ecf77869525249436aa7fa2e10ae00e6b13aba7f6f04c8543e8fd382b9c8d
2024-06-03 12:09:59 -05:00
W. J. van der Laan
c3f8acf96d
Merge bitcoin/bitcoin#21985: net: Return IPv6 scope id in CNetAddr::ToStringIP()
6c280adcd865ae3da4df53d630c9bf737283a56f net: Return IPv6 scope id in `CNetAddr::ToStringIP()` (W. J. van der Laan)

Pull request description:

  If a scope id is provided, return it back in the string representation. Also bring back the test (now in platform independent fashion). Closes #21982. Includes #21961 (apart from the MacOS remark).

ACKs for top commit:
  practicalswift:
    cr ACK 6c280adcd865ae3da4df53d630c9bf737283a56f

Tree-SHA512: 77792c35679b6c3545fd3a8d3d74c4f515ac2ee9f02d983251aeaaac715d55c122bbb0141abbeac272011f15520b439bd2db4ec8541a58df9b366921d212ca5f
2024-06-03 12:09:47 -05:00
fanquake
28daf0d1c4
Merge bitcoin/bitcoin#22496: addrman: Remove addrman hotfixes
65332b1178c75e1f83415bad24918996a1524866 [addrman] Remove RemoveInvalid() (John Newbery)

Pull request description:

  PRs #22179 and #22112 (EDIT: later reverted in #22497) added hotfix code to addrman to remove invalid addresses and mutate the ports of I2P entries after entering into addrman. Those hotfixes included at least two addrman data corruption bugs:

  - #22467 (Assertion `nRndPos1 < vRandom.size() && nRndPos2 < vRandom.size()' failed)
  - #22470 (Changing I2P ports in addrman may wronly skip some entries from "new" buckets)

  Hotfixing addrman is inherently dangerous. There are many members that have implicit assumptions on each others' state, and mutating those directly can lead to violating addrman's internal invariants.

  Instead of trying to hotfix addrman, just don't insert any invalid addresses. For now, those are addresses which fail `CNetAddr::IsValid()`.

ACKs for top commit:
  sipa:
    utACK 65332b1178c75e1f83415bad24918996a1524866. I tried to reason through scenarios that could introduce inconsistencies with this code, but can't find any.
  fanquake:
    ACK 65332b1178c75e1f83415bad24918996a1524866 - Skipping the addition of invalid addresses (this code was initially added for Tor addrs) rather than adding all the invalids then removing them all when finishing unserializing seems like an improvement. Especially if it can be achieved with less code.

Tree-SHA512: 023113764cb475572f15da7bf9824b62b79e10a7e359af2eee59017df354348d2aeed88de0fd4ad7a9f89a0dad10827f99d70af6f1cb20abb0eca2714689c8d7
2024-06-03 12:09:47 -05:00
pasta
5945c373ac
Merge #6041: fix: adjust signrawtransactionwithkey help text
238978e25b fix: adjust `signrawtransactionwithkey` help text (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  `amount` was introduced in https://github.com/dashpay/dash/pull/3101. Double checked the code and yes, we do pass it around (for compatibility reasons) but it doesn’t affect the sig right now, you can set it to 0 or just skip it completely so it should be `optional`, not `required`. We even have a test that uses `signrawtransactionwithkey ` and ignores `amount` https://github.com/dashpay/dash/blob/master/test/functional/rpc_signrawtransaction.py#L19-L46.

  NOTE: It might become required for `sighashtype` with `SIGHASH_DIP0143` flag after https://github.com/dashpay/dash/pull/5860 activation.

  kudos to @pshenmic for noticing

  ## What was done?
  Adjust help text

  ## How Has This Been Tested?
  Run tests

  ## Breaking Changes
  n/a

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

Top commit has no ACKs.

Tree-SHA512: e028c46b8b9c1663d9940642b08d56444ab4e5ab33015af1cb99265338b75f9e1c156cbbdd8e00f313bce87117019c769241cc4d83ccd6693ec0ffbaa8940e89
2024-06-03 12:09:18 -05:00
UdjinM6
238978e25b
fix: adjust signrawtransactionwithkey help text
`amount` should not be required
2024-05-31 11:23:17 +03:00
Kittywhiskers Van Gogh
32f8fda7d6
merge bitcoin#24991: allow startup with -onlynet=onion -listenonion=1 2024-05-29 18:07:46 +00:00
Kittywhiskers Van Gogh
e67ed92d3d
merge bitcoin#25173: add coverage for unknown network in -onlynet 2024-05-29 18:07:45 +00:00
Kittywhiskers Van Gogh
77efd36112
merge bitcoin#24687: Check an invalid -i2psam will raise an init error 2024-05-29 18:07:45 +00:00
Kittywhiskers Van Gogh
fb1416f7cb
merge bitcoin#24205: improve network reachability test coverage and safety 2024-05-29 18:07:45 +00:00
Kittywhiskers Van Gogh
7cb7479829
merge bitcoin#24663: add links to doc/cjdns.md 2024-05-29 18:07:45 +00:00
Kittywhiskers Van Gogh
c736ebf566
merge bitcoin#24555: create initial doc/cjdns.md for CJDNS how-to documentation 2024-05-29 18:07:45 +00:00
Kittywhiskers Van Gogh
554bd24186
partial bitcoin#24468: improve -onlynet help and related tor/i2p documentation
includes:
- a1db99adea36dbee1ec97ca1851edad12137feea (excl. changes to doc/
  p2p-bad-ports.md)
2024-05-29 18:07:45 +00:00
Kittywhiskers Van Gogh
5436b6a82d
merge bitcoin#24165: extend inbound eviction protection by network to CJDNS peers 2024-05-29 18:07:45 +00:00
Kittywhiskers Van Gogh
d52724d039
merge bitcoin#22834: respect -onlynet= when making outbound connections 2024-05-29 18:07:45 +00:00
Kittywhiskers Van Gogh
f9d1a9a00d
merge bitcoin#23077: Full CJDNS support 2024-05-29 18:07:44 +00:00
pasta
7596a7320a
Merge #6033: backport: bitcoin#18202, #19202, #19501, #19725, #19770, #19877, #20043, partial #18878
34c80473a8 Merge #19877: [test] clarify rpc_net & p2p_disconnect_ban functional tests (Wladimir J. van der Laan)
e42412924f Merge #19770: RPC: getpeerinfo: Deprecate "whitelisted" field (replaced by "permissions") (MarcoFalke)
f96966b7ea Merge #20043: doc: Add 19501 release notes (fanquake)
6a164eaea9 Merge #19501: send* RPCs in the wallet returns the "fee reason" (MarcoFalke)
b6c8d852e3 Merge #19725: [RPC] Add connection type to getpeerinfo, improve logs (MarcoFalke)
f86263b180 Merge #18202: refactor: consolidate sendmany and sendtoaddress code (Samuel Dobson)
fab41fd3c5 partial Merge #18878: test: Add test for conflicted wallet tx notifications (Wladimir J. van der Laan)
db5bd34ee8 Merge #19202: log: remove deprecated `db` log category (MarcoFalke)

Pull request description:

  ## Issue being fixed or feature implemented
  Regular backports from bitcoin v21

  ## What was done?
   - bitcoin/bitcoin#19202
   - partial bitcoin/bitcoin#18878
   - bitcoin/bitcoin#18202
   - bitcoin/bitcoin#19725
   - bitcoin/bitcoin#19501
   - bitcoin/bitcoin#20043
   - bitcoin/bitcoin#19770
   - bitcoin/bitcoin#19877

  ## How Has This Been Tested?
  Run unit/functional tests

  ## Breaking Changes
  - (RPC) The `getpeerinfo` RPC no longer returns the `addnode` field by default. This
    field will be fully removed in the next major release.  It can be accessed
    with the configuration option `-deprecatedrpc=getpeerinfo_addnode`. However,
    it is recommended to instead use the `connection_type` field (it will return
    `manual` when addnode is true)
  - (Settings) The `sendtoaddress` and `sendmany` RPCs accept an optional `verbose=True`
    argument to also return the fee reason about the sent tx.
  - (Settings) The `-debug=db` logging category, which was deprecated in v0.18 and replaced by
    `-debug=walletdb` to distinguish it from `coindb`, has been removed.
  - (RPC)  To make RPC `sendtoaddress` more consistent with `sendmany` the following error
      `sendtoaddress` codes were changed from `-4` to `-6`:
    - Insufficient funds
    - Fee estimation failed
    - Transaction has too long of a mempool chain

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  PastaPastaPasta:
    utACK 34c80473a8

Tree-SHA512: 725a103e04c9c7d44a79da6f3f54e7745c7fb98ec906e7228ae16f7662d568e48c015c855902ff8485f2908f0f71815e769ca394cf6c3ca2e5fd920dd39cca74
2024-05-29 12:04:08 -05:00
pasta
76b8ffdf12
Merge #6035: backport: merge bitcoin#22648, #22497, #25355, #26065, #26837, #25993, #26838, #27937, partial bitcoin#22589, #22229 (i2p support: part 2)
0a23820923 merge bitcoin#27937: i2p documentation updates (Kittywhiskers Van Gogh)
1dc50d05cb merge bitcoin#26838: I2P documentation updates (Kittywhiskers Van Gogh)
5058519bbb merge bitcoin#25993: Add I2P guidance related to bandwidth and i2pd software version (Kittywhiskers Van Gogh)
859f59b423 merge bitcoin#26837: I2P network optimizations (Kittywhiskers Van Gogh)
9f8073419d merge bitcoin#26065: use the same destination type for transient and persistent addresses (Kittywhiskers Van Gogh)
9bf3829558 merge bitcoin#25355: add support for transient addresses for outbound connections (Kittywhiskers Van Gogh)
4977073b32 merge bitcoin#22497: remove ResetI2PPorts() (Kittywhiskers Van Gogh)
63d58534b6 merge bitcoin#22648: improve i2p/tor docs and i2p reachable unit tests (Kittywhiskers Van Gogh)
f04ce8bcda partial bitcoin#22229: consolidate to f-strings (part 1) (Kittywhiskers Van Gogh)
68ea6cc5c5 merge bitcoin#22589: update I2P hardcoded seeds and docs for 22.0 (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * Dependent on https://github.com/dashpay/dash/pull/6034

  ## Breaking Changes

  * With I2P connections, a new, transient address is used for each outbound connection if `-i2pacceptincoming=0`.

  ## Checklist:

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  PastaPastaPasta:
    re-utACK [0a23820](0a23820923); only changed commit title / text

Tree-SHA512: ef426263d7e81a5eec8555db21dcd24f5dbb65f5faa7013c7e0601a4c60ae675813aadf68ebc19936aa15bdbd8f6db88b4bd55dfaf4ac412abbda86fb1ac9c83
2024-05-29 11:52:43 -05:00
Kittywhiskers Van Gogh
0a23820923
merge bitcoin#27937: i2p documentation updates 2024-05-29 11:48:38 -05:00
Kittywhiskers Van Gogh
1dc50d05cb
merge bitcoin#26838: I2P documentation updates 2024-05-29 11:48:38 -05:00
Kittywhiskers Van Gogh
5058519bbb
merge bitcoin#25993: Add I2P guidance related to bandwidth and i2pd software version 2024-05-29 11:48:38 -05:00
Kittywhiskers Van Gogh
859f59b423
merge bitcoin#26837: I2P network optimizations 2024-05-29 11:48:38 -05:00
Kittywhiskers Van Gogh
9f8073419d
merge bitcoin#26065: use the same destination type for transient and persistent addresses 2024-05-29 11:48:37 -05:00
Kittywhiskers Van Gogh
9bf3829558
merge bitcoin#25355: add support for transient addresses for outbound connections 2024-05-29 11:48:37 -05:00
Kittywhiskers Van Gogh
4977073b32
merge bitcoin#22497: remove ResetI2PPorts() 2024-05-29 11:48:37 -05:00
Kittywhiskers Van Gogh
63d58534b6
merge bitcoin#22648: improve i2p/tor docs and i2p reachable unit tests 2024-05-29 11:48:36 -05:00
Kittywhiskers Van Gogh
f04ce8bcda
partial bitcoin#22229: consolidate to f-strings (part 1)
includes:
- 86d958262dff43002820d58ccb8958e2dbfb9d5b
2024-05-29 11:48:36 -05:00
Kittywhiskers Van Gogh
68ea6cc5c5
merge bitcoin#22589: update I2P hardcoded seeds and docs for 22.0
Arguably partial; however the commit it excludes is not relevant

includes:
- d2dffd5be4c8f6a1942dd971d09707c3620a1689
2024-05-29 11:48:35 -05:00
pasta
74a10a87ea
Merge #6037: fix: bump version of libbacktrace library
0e82bf46d2 fix: bump version of libbacktrace library (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Old version of `libbacktrace` library doesn't support debug information for ELF produced by modern compilers

  It appears like an error:
   > unrecognized DWARF version in .debug_info at 6
   > no debug info in ELF executable

  ## What was done?
  Bump version of `libbacktraces` to the current master. It doesn't seems as it has any releases anymore, so, I chose the latest revision.

  ## How Has This Been Tested?
  With old version:
  ```
  No debug information available for stacktrace. You should add debug information and then run
  dashd -printcrashinfo=bvcgc43iinzgc43ijfxgm3ybaacwiyltnbsfw43umq5du5dfojwws3tborssqkjamnqwy3dfmqqgi5lfeb2g6idvnzugc3tenrswiidfpbrwk4dunfxw4csfpbrwk4dunfxw4oraor4xazj5mnugc4ramnxw443ufiwca53imf2d2isiiveekiqed56acaaaaaaaaucrlszzcfaaaaevexftsekaaafvmqbaaaaaaaaaa===
  ```

  With this fixes output as expected:
  ```
  std::terminate() called due to unhandled exception
  Exception: type=char const*, what="HEHE"
     0#: (0x5D7C19364C3F) bitcoind.cpp:114          - AppInit
     1#: (0x5D7C19364C3F) bitcoind.cpp:273          - main
     2#: (0x7B0B19C28150) libc_start_call_main.h:74 - __libc_start_call_main
     3#: (0x7B0B19C28209) libc-start.c:128          - call_init
     4#: (0x7B0B19C28209) libc-start.c:347          - __libc_start_main_impl
     5#: (0x5D7C193734D5) <unknown-file>            - ???
  ```

  ## Breaking Changes
  n/a

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  PastaPastaPasta:
    utACK 0e82bf46d2

Tree-SHA512: d133d166251bb12b4dbba8e7f0802943cc7ce98f8d6b322fc547a4da37d51ee8599ef3714c6e07aab35e04416b2b492816bd4b505a52137f432c0a935ac40196
2024-05-29 11:23:52 -05:00
Kittywhiskers Van Gogh
d7c35d0538
refactor: remove llmq::CQuorumManager global, move to LLMQContext 2024-05-29 08:21:53 +00:00
Kittywhiskers Van Gogh
5b86df6ca3
refactor: reduce llmq::CQuorumManager globals use, use args 2024-05-29 08:20:57 +00:00
Kittywhiskers Van Gogh
1efd219173
refactor: remove llmq::CQuorumBlockProcessor global, move to LLMQContext
We used to store an alias to the `CQuorumBlockProcessor` instance present
in the global state in `LLMQContext` but handled construction and
destruction of the instance in `LLMQContext`. As direct global usage no
longer exists, we can fully subsume it into `LLMQContext`.
2024-05-29 08:17:46 +00:00
Wladimir J. van der Laan
34c80473a8
Merge #19877: [test] clarify rpc_net & p2p_disconnect_ban functional tests
47ff5098ad5ea2c20ea387f99940a7cde6c80789 [test] Clarify setup of node topology. (Amiti Uttarwar)
0672522aedd3760c30b8740c7e9487f00bf9dfeb [move-only, test]: Match test order with run order (Amiti Uttarwar)

Pull request description:

  small improvements to clarify logic in the functional tests
  1. have test logic in `rpc_net.py` match run order of the test
  2. remove `connect_nodes` calls that are redundant with the automatic test setup executed by the test framework

  Noticed when I was trying to debug a test for #19725. Small changes but imo very helpful, because they initially confused me.

ACKs for top commit:
  laanwj:
    ACK 47ff5098ad5ea2c20ea387f99940a7cde6c80789

Tree-SHA512: 2843da2c0b4f06b2600b3adb97900a62be7bb2228770abd67d86f2a65c58079af22c7c20957474a98c17da85f40a958a6f05cb8198aa0c56a58adc1c31100492
2024-05-29 14:03:57 +07:00
MarcoFalke
e42412924f
Merge #19770: RPC: getpeerinfo: Deprecate "whitelisted" field (replaced by "permissions")
5b57dc5458800e56b4dddfeb32a1813804a62b0f RPC: getpeerinfo: Wrap long help line for bytesrecv_per_msg (Luke Dashjr)
d681a28219d3876a2b6e3cd2fb0d92963674903e RPC: getpeerinfo: Deprecate "whitelisted" field (replaced by "permissions") (Luke Dashjr)

Pull request description:

  If we were going to continue support for "whitelisted", we should have probably made it true if any permission flag was set, rather than only if "default permissions" were used.

  This corrects the description, and deprecates it.

ACKs for top commit:
  laanwj:
    ACK 5b57dc5458800e56b4dddfeb32a1813804a62b0f

Tree-SHA512: a2e2137f8be8110357c1b2fef2c923fa8c7c4a49b0b2b3a2d78aedf12f8ed5cc7e140018a21b37e6ec7770ed4007542aeef7ad4558973901b107e8e0f81d6003
2024-05-29 14:03:56 +07:00
fanquake
f96966b7ea
Merge #20043: doc: Add 19501 release notes
fa710a6d67b2de64bde90def77c70d0a052f9030 doc: Add 19501 release notes (MarcoFalke)
faf60dee34ae3dbe8e103a2c1b0679f13df6a921 doc: Remove double-whitespace from help string, other whitespace fixups (MarcoFalke)

Pull request description:

  Adds release notes and fixes up some whitespace nits for the touched RPCs

ACKs for top commit:
  fanquake:
    ACK fa710a6d67b2de64bde90def77c70d0a052f9030
  laanwj:
    Code review ACK fa710a6d67b2de64bde90def77c70d0a052f9030

Tree-SHA512: b84a96386a9a8ed69f464c7dffdd600cf9a8b33a06120798b141b300991baed369ab91ae48df6446e89e1d62534ccd8ae721454e7a19b48900b317e9192afc47
2024-05-29 14:03:56 +07:00
MarcoFalke
6a164eaea9
Merge #19501: send* RPCs in the wallet returns the "fee reason"
69cf5d4eeb73f7d685e915fc17af64634d88a4a2 [test] Make sure send rpc returns fee reason (Sishir Giri)
d5863c0b3e20d56acf7246008b7832efde68ab21 [send] Make send RPCs return fee reason (Sishir Giri)

Pull request description:

  Whenever a wallet funds a transaction, the fee reason is reported to the user only if the verbose is set to true. I added an extra parameter to `CreateTransaction` function in wallet.cpp. Then I implemented the fee reason return logic in `SendMoney`  in rpcwallet.cpp, followed by verbose parameter in `sendtoaddress` and `sendmany` functions. I also added a fee reason test case in walletbasic.py.

  link to the issue: https://github.com/MarcoFalke/bitcoin-core/issues/22#issue-616251578

ACKs for top commit:
  instagibbs:
    ACK 69cf5d4eeb
  meshcollider:
    utACK 69cf5d4eeb73f7d685e915fc17af64634d88a4a2

Tree-SHA512: 2e3af32dcfbd5511ba95f8bc8edca7acfe709a8430ff03e43172e5d0af3dfa4b2f57906978e7f272d878043b9ed8c6004674cf47d7496b005d5f612e9a58aa0e
2024-05-29 14:03:56 +07:00
MarcoFalke
b6c8d852e3
Merge #19725: [RPC] Add connection type to getpeerinfo, improve logs
a512925e19a70d7f6b80ac530a169f45ffaafa1c [doc] Release notes (Amiti Uttarwar)
50f94b34a33c954f6e207f509c93d33267a5c3e2 [rpc] Deprecate getpeerinfo addnode field (Amiti Uttarwar)
df091b9b509f0b10e4315c0bfa2da0cc0c31c22f [refactor] Rename test file to allow any getpeerinfo deprecations. (Amiti Uttarwar)
395acfa83a5436790c1a722a5609ac9d48df235f [rpc] Add connection type to getpeerinfo RPC, update tests (Amiti Uttarwar)
49c10a9ca40967d28ae16dfea9cccc6f3a6624a1 [log] Add connection type to log statement (Amiti Uttarwar)

Pull request description:

  After #19316, we can more directly expose information about the connection type on the `getpeerinfo` RPC. Doing so also makes the existing addnode field redundant, so this PR begins the process of deprecating this field.

  This PR also includes one commit that improves a log message, as both use a shared function to return the connection type as a string.

  Suggested by sdaftuar- https://github.com/bitcoin/bitcoin/pull/19316#discussion_r468001604 & https://github.com/bitcoin/bitcoin/pull/19316#discussion_r468018093

ACKs for top commit:
  jnewbery:
    Code review ACK a512925e19a70d7f6b80ac530a169f45ffaafa1c.
  sipa:
    utACK a512925e19a70d7f6b80ac530a169f45ffaafa1c
  guggero:
    Tested and code review ACK a512925e.
  MarcoFalke:
    cr ACK a512925e19a70d7f6b80ac530a169f45ffaafa1c 🌇
  promag:
    Code review ACK a512925e19a70d7f6b80ac530a169f45ffaafa1c.

Tree-SHA512: 601a7a38aee235ee59aca690784f886dc2ae4e418b2e6422c4b58cd597376c00f74910f66920b08a08a0bec28bf8022e71a1435785ff6ba8a188954261aba78e
2024-05-29 14:03:55 +07:00
Samuel Dobson
f86263b180
Merge #18202: refactor: consolidate sendmany and sendtoaddress code
08fc6f6cfc3b06fd170452a766696d7b833113fa [rpc] refactor: consolidate sendmany and sendtoaddress code (Sjors Provoost)

Pull request description:

  I consolidated code between these two RPC calls, since `sendtoaddress` is essentially `sendmany` with 1 destination.

  Unless I overlooked something, the only behaviour change is that some `sendtoaddress` error codes changed from `-4` to `-6`. The release note mentions this.

  Salvaged from #18201.

ACKs for top commit:
  fjahr:
    Code review ACK 08fc6f6cfc3b06fd170452a766696d7b833113fa
  jonatack:
    ACK 08fc6f6cfc3b06fd170452a766696d7b833113fa
  meshcollider:
    Code review & functional test run ACK 08fc6f6cfc3b06fd170452a766696d7b833113fa

Tree-SHA512: 7b66c52fa0444a4d02fc3f81d9c2a386794d447616026a30111eda35fb46510475eea6506a9ceda00bb4e0230ebb758da5d236b3ac05c954c044fa68a1e3e909
2024-05-29 13:57:02 +07:00
Konstantin Akimov
0e82bf46d2
fix: bump version of libbacktrace library
Old version doesn't support debug information for ELF produced by modern compilers

It appears like an error:
 > unrecognized DWARF version in .debug_info at 6
 > no debug info in ELF executable

which causes:
 > No debug information available for stacktrace. You should add debug information and then run

And backtraces are not shown on linux even if debug infos here.

With this fixes output as expected:
```
std::terminate() called due to unhandled exception
Exception: type=char const*, what="HEHE"
   0#: (0x5D7C19364C3F) bitcoind.cpp:114          - AppInit
   1#: (0x5D7C19364C3F) bitcoind.cpp:273          - main
   2#: (0x7B0B19C28150) libc_start_call_main.h:74 - __libc_start_call_main
   3#: (0x7B0B19C28209) libc-start.c:128          - call_init
   4#: (0x7B0B19C28209) libc-start.c:347          - __libc_start_main_impl
   5#: (0x5D7C193734D5) <unknown-file>            - ???
```
2024-05-29 12:26:11 +07:00
pasta
3b3b1b8e00
Merge #6034: backport: merge bitcoin#21261, #20877, #21832, #22547, #22544, #22959, #23324, partial bitcoin#20764 (cli backports: part 2)
bde72a41fe merge bitcoin#23324: print peer counts for all reachable networks in -netinfo (Kittywhiskers Van Gogh)
4b245441a0 merge bitcoin#22959: Display all proxies in -getinfo (Kittywhiskers Van Gogh)
30b0fcf4a6 merge bitcoin#22544: drop torv2; torv3 becomes onion per GetNetworkName() (Kittywhiskers Van Gogh)
b6ca36edda merge bitcoin#22547: Add progress bar for -getinfo (Kittywhiskers Van Gogh)
1f89bfd176 merge bitcoin#21832: Implement human readable -getinfo (Kittywhiskers Van Gogh)
2200b78a15 merge bitcoin#20877: user help and argument parsing improvements (Kittywhiskers Van Gogh)
bd934c71eb partial bitcoin#20764: cli -netinfo peer connections dashboard updates (Kittywhiskers Van Gogh)
b2d865633f merge bitcoin#21261: update inbound eviction protection for multiple networks, add I2P peers (Kittywhiskers Van Gogh)
0b16b50fcb cli: fix loop counter comparison in `ProcessReply` (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * Dependency for https://github.com/dashpay/dash/pull/6035

  * Dependency for https://github.com/dashpay/dash/pull/6031

  * In [dash#5904](https://github.com/dashpay/dash/pull/5904) ([bitcoin#21595](https://github.com/bitcoin/bitcoin/pull/21595)), one of the loops in `ProcessReply` is supposed to iterate `rows.size()` times (which at the time was hardcoded to `3`), the backport erroneously set the value to `m_networks.size()` (which also evaluated to `3`) as part of increasing `m_networks.size()` usage.

    As this pull request includes [bitcoin#23324](https://github.com/bitcoin/bitcoin/pull/23324), which changes it over to  `rows.size()`, the above has been corrected in a separate commit for documentation purposes.

  * `-addrinfo` output

    ![dash-cli addrinfo output](https://github.com/dashpay/dash/assets/63189531/24db46be-729e-4fa8-a268-87f2497cff9a)

  * `-getinfo` output (diamonds are due to rendering limitations of my terminal and are not indicative of the symbols used)

    ![dash-cli getinfo output](https://github.com/dashpay/dash/assets/63189531/626fe67f-f505-4a04-931a-76e75146e5a0)

  * `-netinfo` output

    ![dash-cli netinfo output](https://github.com/dashpay/dash/assets/63189531/afbff3d0-7127-44e2-bfe7-81b08c0e214e)

  ## Breaking Changes

  * CLI `-addrinfo` now returns a single field for the number of `onion` addresses known to the node instead of separate `torv2` and `torv3` fields, as support for TorV2 addresses was removed from Dash Core in 18.0.

  * `-getinfo` has been updated to return data in a user-friendly format that also reduces vertical space.

  ## Checklist

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation **(note: N/A)**
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  PastaPastaPasta:
    utACK bde72a41fe

Tree-SHA512: 921cb45b7e243a321a32c835eb23d5ba8df610ff234a548a9051436a2c21845ce70097fb9a9bb812b77b04373f9f0a9f90264168d97b08da1890be06bfd9f99c
2024-05-28 12:39:40 -05:00
Kittywhiskers Van Gogh
1d3afe742b
evo: use gsl::not_null in CTxMemPool::ConnectManagers 2024-05-28 15:24:36 +00:00
Kittywhiskers Van Gogh
805537e695
evo: add CMNHFManager::(Dis)connectManagers to remove global use 2024-05-28 15:20:13 +00:00