Commit Graph

17586 Commits

Author SHA1 Message Date
Kris Nuttycombe 78e76f1332
Add a wallet-aware transaction builder.
This factors several pieces out from asyncrpcoperation_sendmany
to form the foundation of a new two-stage transaction construction
process.
2023-03-09 13:03:48 -07:00
Kris Nuttycombe 90e347905e
Merge pull request #6425 from nuttycom/feature/deprecation_info
Add information about deprecated features to `deprecationinfo` results.
2023-03-09 12:56:00 -07:00
Kris Nuttycombe 9b17b45da5 Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2023-03-09 10:39:13 -07:00
Kris Nuttycombe 0d8118b1ed Add information about deprecated features to `deprecationinfo` results.
Fixes #6422
2023-03-09 10:33:29 -07:00
Greg Pfeil ad42a6e7aa
Merge pull request #6463 from sellout/ufvk-simplification
Simplify diversifier_index_t handling
2023-03-09 10:08:50 -07:00
Jack Grigg 56ee27ed7b depends: Update Rust to 1.68.0 2023-03-09 16:31:21 +00:00
Kris Nuttycombe 411bab3c8f
Merge pull request #6464 from str4d/6232-book-supported-releases
book: Add page with release support details and EoS halt heights
2023-03-09 08:04:11 -07:00
Jack Grigg 681e1a4d64 Update release support book page in release process 2023-03-09 03:17:56 +00:00
Jack Grigg 23d73df62b book: Add page with release support details and EoS halt heights 2023-03-09 03:03:44 +00:00
Greg Pfeil 45c4568a7e
Simplify diversifier_index_t handling
- Remove `std::optional` from a number of uses,
- simplify `GetUFVKMetadataForAddress` to `GetUFVKIdForAddress`, and
- add a new `GetUFVKMetadataForAddress` as a wrapper around
  `GetUFVKMetadataForReceiver`.
2023-03-08 18:14:08 -07:00
Kris Nuttycombe 62a0e78e4a
Merge pull request #6458 from sellout/safer-note-selection
Make pool selection order more flexible
2023-03-08 13:53:11 -07:00
Daira Hopwood 16099d66b6 Refactoring to split the weighted tx tree out of mempool_limit.{cpp,h}
and make it more reusable.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-03-08 16:03:34 +00:00
Daira Hopwood fcdfb5e780
Merge pull request #6456 from softminus/sasha-authors-alias
Add author alias "Sasha"->"sasha" in `release-notes.py` to avoid authors.md split
2023-03-08 15:44:52 +00:00
Greg Pfeil 8c41fbcc85
Make pool selection order more flexible
Previously, all pools had to be listed in the selection order. This had a few problems
- if a pool was missing from selection, we’d `assert`
- a logic error could result in note selection from pools that we thought were not needed for
  selection (and thus might subvert our strategy re: hiding sender, fewer pools, opportunistic
  shielding, etc.)

Now, we only include pools that are intended to be part of the selection order, and all notes from
other pools are cleared before we do any selection.
2023-03-07 18:31:59 -07:00
sasha d944302c65 Alias Sasha->sasha in release-notes.py to avoid authors.md split 2023-03-07 13:00:40 -08:00
str4d 16a6717fe2
Merge pull request #6452 from sandakersmann/patch-1
New checkpoint at block 2000000 for mainnet
2023-03-07 20:38:54 +00:00
Greg Pfeil d2b9bb3d5e
Merge pull request #6442 from softminus/fetch-params-fix
In `fetch-params.sh`, re-download parameter files if they already exist but don't have correct sums
2023-03-07 13:25:40 -07:00
Greg Pfeil 713fc761dd
Apply suggestions from code review 2023-03-07 12:39:06 -07:00
Marius Kjærstad cdfa020658
Update estimated number of transactions due to Blossom NU
Update estimated number of transactions due to Blossom NU

Co-authored-by: str4d <thestr4d@gmail.com>
2023-03-07 19:47:17 +01:00
Marius Kjærstad 9419a9bde8
New checkpoint at block 2000000 for mainnet
New checkpoint at block 2000000 for mainnet
2023-02-28 17:57:35 +01:00
Kris Nuttycombe dae937b5cd
Merge pull request #6405 from daira/patch-copyright
Clarify that patches to a dependency are under the same license as that dependency
2023-02-24 17:39:17 -07:00
str4d 8495b945ef
Merge pull request #6449 from rex4539/update-link
Update documentation link
2023-02-22 17:14:02 +00:00
str4d 5829feed10
Merge pull request #6434 from softminus/better-errors
Give better error messages if proof parameters aren't loaded
2023-02-22 15:36:39 +00:00
Kris Nuttycombe dbb15bea88 Set urgency to `high` in Debian changelog. 2023-02-21 07:27:58 -07:00
Kris Nuttycombe b1fd336f8f Set urgency to `high` in Debian changelog. 2023-02-21 07:27:07 -07:00
Dimitris Apostolou ca11365da5
Update documentation link 2023-02-21 07:07:17 +01:00
Kris Nuttycombe 824b090bd0 make-release.py: Updated release notes and changelog for 5.4.2. 2023-02-20 20:04:31 -07:00
Kris Nuttycombe 0fd0233f3b make-release.py: Updated manpages for 5.4.2. 2023-02-20 20:04:31 -07:00
Kris Nuttycombe cf33607665 make-release.py: Versioning changes for 5.4.2. 2023-02-20 19:55:37 -07:00
Kris Nuttycombe 71e80c8656 Postpone dependency updates for v5.4.2 hotfix. 2023-02-20 19:54:51 -07:00
Kris Nuttycombe 10ba5f12ff Merge commit '1478dc1e7f1ccd89bac76fc738650877fbfd1422' into hotfix-5.4.2 2023-02-20 19:52:21 -07:00
Kris Nuttycombe a16b39470f make-release.py: Updated release notes and changelog for 5.3.3. 2023-02-20 19:47:26 -07:00
Kris Nuttycombe a5be52a675 make-release.py: Updated manpages for 5.3.3. 2023-02-20 19:47:26 -07:00
Kris Nuttycombe 6fe1b5e595 make-release.py: Versioning changes for 5.3.3. 2023-02-20 19:43:45 -07:00
Kris Nuttycombe 700d785046 Postpone dependency updates. 2023-02-20 19:43:03 -07:00
Kris Nuttycombe 1478dc1e7f Update release notes for v5.3.3 hotfix 2023-02-20 19:37:38 -07:00
Kris Nuttycombe 2c85dd9598 Merge remote-tracking branch '22387-backport' into hotfix-5.3.3 2023-02-20 19:33:18 -07:00
Kris Nuttycombe 169e890f1e Merge remote-tracking branch 'trim-cnode' into hotfix-5.3.3 2023-02-20 19:30:48 -07:00
Kris Nuttycombe f30c3c97b7 Merge remote-tracking branch 'remove-mapRequest' into hotfix-5.3.3 2023-02-20 19:30:25 -07:00
Daira Hopwood 074e633798 Improve the encapsulation of `CNode::filterInventoryKnown`.
Co-authored-by: Jack Grigg <jack@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-02-20 23:39:20 +00:00
Daira Hopwood c5b8807ce7 Ensure that CNode::{addrKnown, filterInventoryKnown} immediately take
little memory when we disconnect the node.

Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Co-authored-by: Jack Grigg <str4d@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-02-20 20:14:55 +00:00
Daira Hopwood 0a39cc6727 Enable a CRollingBloomFilter to be reset to a state where it takes little memory.
Co-authored-by: Jack Grigg <jack@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-02-20 18:32:46 +00:00
str4d 6c0f4a7e60
Merge pull request #6445 from cronicc/update_horizen_security_mail
Fix Horizen Security contact email
2023-02-19 00:11:21 +00:00
str4d 34487b7e8b
Merge pull request #6443 from str4d/update-deps-5.5.0
Update dependencies for 5.5.0
2023-02-18 15:53:03 +00:00
Jon Atack 9555b5e8a4 p2p, rpc, test: address rate-limiting follow-ups
(cherry picked from commit bitcoin/bitcoin@d930c7f5b0)
2023-02-17 17:54:39 -07:00
Pieter Wuille 1dddc1337c Add logging and addr rate limiting statistics
Includes logging improvements by Vasil Dimov and John Newbery.

(cherry picked from commit bitcoin/bitcoin@f424d601e1)
2023-02-17 16:47:47 -07:00
Pieter Wuille c8cdfcffd0 Randomize the order of addr processing
(cherry picked from commit bitcoin/bitcoin@5648138f59)
2023-02-17 16:47:37 -07:00
Greg Pfeil 2c48eddfa5
Remove `ResetRequestCount`
There is no longer any `mapRequestCount` to reset.

This also removes the `BlockFound` signal, as its only purpose was to call
`ResetRequestCount`.
2023-02-17 15:45:29 -07:00
cronicc 821d1afb75
Fix Horizen Security contact email 2023-02-17 22:16:38 +00:00
Pieter Wuille 7c739e2b20 Rate limit the processing of incoming addr messages
While limitations on the influence of attackers on addrman already
exist (affected buckets are restricted to a subset based on incoming
IP / network group), there is no reason to permit them to let them
feed us addresses at more than a multiple of the normal network
rate.

This commit introduces a "token bucket" rate limiter for the
processing of addresses in incoming ADDR and ADDRV2 messages.
Every connection gets an associated token bucket. Processing an
address in an ADDR or ADDRV2 message from non-whitelisted peers
consumes a token from the bucket. If the bucket is empty, the
address is ignored (it is not forwarded or processed). The token
counter increases at a rate of 0.1 tokens per second, and will
accrue up to a maximum of 1000 tokens (the maximum we accept in a
single ADDR or ADDRV2). When a GETADDR is sent to a peer, it
immediately gets 1000 additional tokens, as we actively desire many
addresses from such peers (this may temporarily cause the token
count to exceed 1000).

The rate limit of 0.1 addr/s was chosen based on observation of
honest nodes on the network. Activity in general from most nodes
is either 0, or up to a maximum around 0.025 addr/s for recent
Bitcoin Core nodes. A few (self-identified, through subver) crawler
nodes occasionally exceed 0.1 addr/s.

(cherry-picked from commit bitcoin/bitcoin@0d64b8f709)
2023-02-17 14:36:25 -07:00