Commit Graph

17619 Commits

Author SHA1 Message Date
Jack Grigg ce73341951 `s/string/std::string` in `init.cpp`
This was breaking with `--disable-wallet`, likely due to some PR
removing a `using namespace std;` line from a header file that this code
was implicitly depending on.
2023-03-13 15:47:55 +00:00
Jack Grigg f8b3e9489a Move `fEnableAddrTypeField` outside `ENABLE_WALLET`
The deprecated feature was originally only applied to wallet code, but
in zcash/zcash#6282 it was extended to a missing case in non-wallet
code.
2023-03-13 15:46:05 +00:00
Kris Nuttycombe 67b9da19b0
Merge pull request #6477 from nuttycom/hotfix-v5.4.2
Back-merge hotfixes v5.3.3 and v5.4.2 to master
2023-03-13 07:20:44 -06:00
Kris Nuttycombe ec88817b72 zcashd release 5.4.2
Notable changes
 ===============
 
 This hotfix remediates memory exhaustion vulnerabilities that zcashd inherited
 as a fork of bitcoind. These bugs could allow an attacker to use peer-to-peer
 messages to fill the memory of a node, resulting in a crash.
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEEX8Nd8pnYcf0pobEL9FXpuSAjoYsFAmP1DKQACgkQ9FXpuSAj
 oYt2jQv+IurleLqEbtBW2ajDYDIkcMu+asEtHCk3B6GELykKaFMgHYTffFBmuyJ+
 5GdoX685Rn6r8BxK6K1u129A9ztY7K0JpVeDA75tN5WLBj9twLdNaODfCLg5EjlZ
 UtxTNnynQ0MX5Uv7pt1DAM+++OKYujUHypaajgZ9ttqpSHZl3Z2ye0/HFEc4023p
 VH13CvU/3R4JLkFENi49rbS49LFfVuQrhAQoOPlCf3xoWbUYIdmWWZa/HOJV3g0e
 3mqC+rhz97GVylLI4LJrm3v0tLeEUIuu+fdAziWfuWrBlB4jQ5p4L5trDHiQoqWB
 5Qt5tjJKHHLnHHSyLcFFaes12tjPfrn9PBxYDPyfFAHIGf0WEiy36+6G5P7jpjYj
 OXLAmBPBIRBgZf9LJIHrgvqQynfGe9vaWgCArWWgSC8wZ2hWlM7pZRhCe+uw35R1
 e5AfZjvbXj6gR+1631Mhl84e6xkGXe24szzuZDrUCqLBJpTb1JNLRh1OtT8zDN0t
 MfKtnE3W
 =AXAQ
 -----END PGP SIGNATURE-----

Merge tag 'v5.4.2' into hotfix-v5.4.2

zcashd release 5.4.2

Notable changes
===============

This hotfix remediates memory exhaustion vulnerabilities that zcashd inherited
as a fork of bitcoind. These bugs could allow an attacker to use peer-to-peer
messages to fill the memory of a node, resulting in a crash.
2023-03-13 06:19:46 -06:00
Kris Nuttycombe 1b2d994a39 zcashd release v5.3.3
Notable changes
 ===============
 
 This hotfix remediates memory exhaustion vulnerabilities that zcashd inherited
 as a fork of bitcoind. These bugs could allow an attacker to use peer-to-peer
 messages to fill the memory of a node, resulting in a crash.
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEEX8Nd8pnYcf0pobEL9FXpuSAjoYsFAmP1CD8ACgkQ9FXpuSAj
 oYvGXQwAqaa1l5qC3VY/60jkH4xmWoSUEzeCOPUG7lYJrIEyzgXj8Ko0Cjr308jm
 ISXDDTOxKb2hfnCbeqbZqRyFbzGzG5L6AkjHAvmQMiZwx2JlbH2k+jd5fggOZSMv
 shL5KbxWN2YRftc8r+fDraJMbGULbKBWQooKaFyQmupT+bVsRf1Nh+lFIVG4FUwA
 oWZot36wB6Y99Y57wlyN2m22+j1glyk5mKv2ttXYbdwSRTFB5W5L1US6Z8uxXQPb
 Qa7sVO90QtzkHr+GPtMiTn513VuLFr+KArGn+qidU/PvblJI/vXuBf54g7JZw4Ot
 gkKziatgaN3pO30I4rTij78LCgKJZ/WImLE7nwTl/bG2Ki1WfyolNLjS+1pXpcPL
 xlXso5ioKlSIGhnlPouXwoxlaqTpDwRKLp0azNJl5hG/tXEHupToK2M61woi9LlP
 4RB+a75OptFi9NMp/Sx0T8zNRn7OB8iP+3BgRP0+mzcLC1AHfjJk/IRo9CQh5jRZ
 MMe98OrC
 =6QYn
 -----END PGP SIGNATURE-----

Merge tag 'v5.3.3' into hotfix-v5.4.2

zcashd release v5.3.3

Notable changes
===============

This hotfix remediates memory exhaustion vulnerabilities that zcashd inherited
as a fork of bitcoind. These bugs could allow an attacker to use peer-to-peer
messages to fill the memory of a node, resulting in a crash.
2023-03-13 06:18:00 -06:00
Daira Emma Hopwood 9d368ba29b Remove unnecessary #include.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-03-11 00:34:41 +00:00
Daira Hopwood efda29a05d
Another minor optimization
Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>
2023-03-10 23:46:43 +00:00
Daira Hopwood 99d5cdd3fc
This PR doesn't bring in any ZIP 317 changes yet
The new comment text matches the wording in https://zips.z.cash/zip-0401#specification .
2023-03-10 21:47:07 +00:00
Daira Hopwood 7b52813c61
Minor optimization to weighted_map::remove
Co-authored-by: str4d <thestr4d@gmail.com>
2023-03-10 21:45:46 +00:00
str4d 2b5b5363c9
Merge pull request #6469 from str4d/rust-audit-import-updates
qa: Update imported `cargo-vet` audit registries
2023-03-10 01:44:22 +00:00
str4d 96b886fc75
Merge pull request #6465 from str4d/rust-1.68
depends: Update Rust to 1.68.0
2023-03-10 00:54:44 +00:00
Jack Grigg a62fcddba2 qa: Import Rust crate audits from ChromeOS 2023-03-10 00:30:13 +00:00
Jack Grigg bf37cd6317 qa: Replace Firefox audits with aggregated Mozilla audits in registry 2023-03-10 00:29:44 +00:00
Greg Pfeil 37ca96e747
Address comments on WalletTxBuilder introduction 2023-03-09 16:29:15 -07:00
Greg Pfeil 4bf618937e
Don’t pass PrivacyPolicy to selector constructor
This reverts to the `bool` that was used previously. The independent change to use
`TransparentCoinbasePolicy as a parameter type eliminates some of the motivation for this, and there
is a better approach to solving the remaining issues in #6457.
2023-03-09 16:29:15 -07:00
Greg Pfeil fd07935259
Assert that we get a change addr for any selector 2023-03-09 16:29:05 -07:00
Greg Pfeil 76bfbd8b9c
Add release notes for (a)sync z_sendmany changes 2023-03-09 13:06:20 -07:00
Greg Pfeil d44facfa41
Improve GetRequiredPrivacyPolicy
- invert the order of the checks, fold them into a single conditional
- add documentation
- improve an error message
2023-03-09 13:04:17 -07:00
Greg Pfeil a420dd20f9
Remove changes that aren’t needed by z_sendmany
These changes will be applied in later PRs.
2023-03-09 13:04:17 -07:00
Greg Pfeil 96ac6e763e
Rename `Get*Balance` to `Get*Total` 2023-03-09 13:04:17 -07:00
Greg Pfeil 820af47019
Unify requireTransparentCoinbase handling
Eliminates SelectsTransparentCoinbase in favor of a Disallow/Allow/Require ternary. Also asserts if
a selector requires transparent coinbase but doesn’t select transparent.
2023-03-09 13:04:17 -07:00
Greg Pfeil d2d0378943
Apply suggestions from code review
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Co-authored-by: str4d <thestr4d@gmail.com>
2023-03-09 13:04:17 -07:00
Greg Pfeil 71c0dad1a1
Fix some overly-strict privacy policies in btest
These were introduced earlier in this PR, but they were incorrect.
2023-03-09 13:04:17 -07:00
Greg Pfeil 47f15811d8
Fix weakened privacy policy for transparent change 2023-03-09 13:04:17 -07:00
Greg Pfeil a520c1d4a6
Test updates for z_sendmany WalletTxBuilder changes 2023-03-09 13:04:17 -07:00
Greg Pfeil 11721906fd
Ensure we don’t make Orchard change pre-NU5
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2023-03-09 13:04:17 -07:00
Greg Pfeil c8fed15f19
Refactoring InsufficientFundsError 2023-03-09 13:04:17 -07:00
Greg Pfeil fd6194abe6
Return anchorHeight from ResolveInputsAndPayments 2023-03-09 13:04:17 -07:00
Greg Pfeil c2281f5425
Some orchard fixes for wallet_tx_builder 2023-03-09 13:04:17 -07:00
Greg Pfeil 708c5354b2
Limit UTXOs
Also, don’t get a change addr if there’s no change.
2023-03-09 13:04:17 -07:00
Greg Pfeil c1dbe12d77
Update tests for async z_sendmany
Need to check the opid status now instead of catching an exception.
2023-03-09 13:04:17 -07:00
Kris Nuttycombe 010141426d
Allow selectors to require transparent coinbase 2023-03-09 13:04:17 -07:00
Kris Nuttycombe 2bc8713925
Use WalletTxBuilder for z_sendmany 2023-03-09 13:04:16 -07:00
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