Greg Pfeil
c9ffa6e8ae
Eliminate LegacyCompat–ZTXOSelector cycle
...
This now determines the meaning of “LegacyCompat” in advance, then always has a
known `TransactionStrategy` when we create the `ZTXOSelector`. With the addition
of `TransparentCoinbasePolicy`, there were two different ways that the selector
depended on the strategy, so it became more complicated to manage the cycle. And
the coinbase policy was overly conservative when there were no transparent
recipients or UAs in the tx. So this resolves that as well.
Fixes #6541 .
2023-04-12 10:01:39 -06:00
Greg Pfeil
f7a27e8089
Revert "Add `AllowRevealedSenders` to fix `mempool_nu_activation.py`"
...
This reverts commit 6f5360fbd8
.
2023-04-12 09:22:19 -06:00
str4d
035e21a610
Merge pull request #6536 from str4d/6397-cxx-orchard-bundle
...
Use `cxx` bridge for all Orchard bundle inspection and validation
2023-04-11 17:33:23 +01:00
str4d
6ca34c2f0c
Merge pull request #6538 from Anish-M-code/master
...
use SOURCES_PATH instead of local git DEPENDS_SOURCES_DIR
2023-04-10 15:51:52 +01:00
Kris Nuttycombe
df77acb218
Merge pull request #6535 from str4d/6534-tolerate-split-llvm-versions
...
build: Tolerate split LLVM versions
2023-04-10 07:24:58 -06:00
Kris Nuttycombe
881ab6b46a
Merge pull request #6540 from daira/rpconnect-doc
...
Correct the documentation of `-rpcconnect` in the example `zcash.conf`
2023-04-09 22:38:15 -06:00
Kris Nuttycombe
6d06ddd84d
Merge pull request #6409 from sellout/wallet_tx_builder/restrict-transparent-change
...
Require `AllowRevealedRecipients` for transparent change
2023-04-09 22:35:11 -06:00
Kris Nuttycombe
6f5360fbd8
Add `AllowRevealedSenders` to fix `mempool_nu_activation.py`
2023-04-09 20:58:01 -06:00
Daira Emma Hopwood
2620e6e08c
Correct the documentation of `-rpcconnect` in the example `zcash.conf`.
...
`-rpcconnect` is only used by `zcash-cli`.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-04-09 15:21:33 +01:00
Kris Nuttycombe
b3b616fbe5
Merge pull request #6539 from Anish-M-code/AN_git_metric_screen
...
report the git-derived version in metrics screen
2023-04-07 16:10:07 -06:00
ANISH M
777d346e19
Update src/metrics.cpp by removing v prefix.
...
Co-authored-by: str4d <thestr4d@gmail.com>
2023-04-07 20:59:16 +05:30
ANISH M
835c6a2745
report the git-derived version in metrics screen
...
An attempt to fix issue #5639 by using version derived from git "build" field of getinfo.
2023-04-07 20:07:25 +05:30
ANISH M
9dfef39e18
use SOURCES_PATH instead of local git DEPENDS_SOURCES_DIR
2023-04-07 19:26:33 +05:30
Jack Grigg
ccbda94b30
gtest: Minor improvements to `CoinsTests`
...
These were implemented while debugging the previous commit.
2023-04-07 12:17:00 +00:00
Jack Grigg
19fed267e3
Use `cxx` bridge for all Orchard bundle inspection and validation
...
zcash/zcash#5987 added a bridge to `orchard::Bundle<Authorized, Amount>`
for `getrawtransaction`. This commit expands it to also cover the
consensus rules, by migrating over missing functionality from the
hand-written FFI methods, and exposing the Orchard `BatchValidator` type
directly (as with Sapling) instead of via the C++ `AuthValidator`
intermediary.
Part of zcash/zcash#6397 .
2023-04-07 12:16:28 +00:00
Jack Grigg
bc2d144c68
build: Tolerate split LLVM versions
...
This makes it easier to use different LLVM point releases for different
hosts (as available), and ensures that `$(package)_major_version` is set
correctly when using a different major release on a Tier 3 platform.
Closes zcash/zcash#6534 .
2023-04-07 11:16:27 +00:00
str4d
3ef6e96fa6
Merge pull request #6533 from str4d/6397-cxx-rust-streams
...
Expand `CppStream` to cover all `Stream`-like C++ types
2023-04-07 09:42:08 +01:00
Jack Grigg
c301e321e4
Migrate `OrchardMerkleFrontier` to use new `CppStream` APIs
2023-04-06 21:30:38 +00:00
Jack Grigg
7b005aaa7a
Expand `CppStream` to cover all `Stream`-like C++ types
...
In its existing usage, `CppStream` was only used in a context where the
C++ `READWRITE` macro was being called with a `CDataStream`. However, in
other contexts the macro can be called with various other types with a
stream-like interface. Since we can't expose C++ templates across the
`cxx` bridge (or FFI generally), we instead turn `CppStream` into an
enum that covers all of the stream-like types we may want to use.
2023-04-06 21:30:38 +00:00
Kris Nuttycombe
83dc372394
Merge pull request #6531 from str4d/cxx-merge-bridges
...
Merge most `cxx::bridge` definitions into a single bridge
2023-04-05 09:12:57 -06:00
Jack Grigg
33367709f7
Merge most `cxx::bridge` definitions into a single bridge
...
This enables us to use Rust types across more bridged APIs, which we
can't do with multiple bridge definitions until `cxx` adds support.
2023-04-05 10:50:35 +00:00
Kris Nuttycombe
1feec6a3b4
Merge pull request #6494 from daira/examine
...
Improve code readability using `examine` macro
2023-04-04 16:32:04 -06:00
Kris Nuttycombe
b3dbfb1ddd
Merge pull request #6527 from daira/zip317-computations
...
ZIP 317 preparation: fix bitrotted miner tests and add conventional fee computations
2023-04-04 16:30:51 -06:00
Kris Nuttycombe
c3693a5f85
Merge pull request #6517 from miodragpop/fix-cross-win
...
Fix for broken cross-build to Windows target on Ubuntu 22.04 and Debian 11
2023-04-04 16:30:16 -06:00
Daira Emma Hopwood
3adf580dc0
Refactor that avoids using exceptions for local flow control and is simpler.
...
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-04-04 22:03:27 +01:00
Kris Nuttycombe
1afd532ba8
Merge pull request #6526 from sellout/split-cxxbridge
...
Split C++ generated from Rust into own lib
2023-04-04 14:58:48 -06:00
Kris Nuttycombe
945e4b47ff
Merge pull request #6523 from DeckerSU/patch-insertblockindex-args
...
InsertBlockIndex: pass const reference on hash, instead of hash
2023-04-04 14:53:18 -06:00
Daira Emma Hopwood
ac3e345689
Refactoring to avoid an unnecessary temporary.
...
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-04-04 21:26:52 +01:00
Daira Emma Hopwood
32e1d2eeeb
Refactoring to avoid duplicated code.
...
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-04-04 21:26:52 +01:00
Daira Emma Hopwood
6bb8c60f41
Use the new `examine` macro to replace all instances of
...
`std::visit(match {...}, specimen)`, improving code readability.
For ease of review, this commit includes only obviously correct
transformations that all follow the same pattern.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-04-04 21:26:39 +01:00
Daira Emma Hopwood
60755efaf1
Add `examine`, a wrapper around `std::visit` that reverses the arguments.
...
Co-authored-by: Greg Pfeil <greg@electriccoin.co>
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-04-04 21:20:10 +01:00
Kris Nuttycombe
3c4dbf86b3
Merge pull request #6500 from nuttycom/upgrade/ff_0.13
...
Update to use the `ff 0.13` dependency stack.
2023-04-03 21:15:48 -06:00
Daira Emma Hopwood
d55d12d6e2
Add audits for updates to futures-* 0.3.28 and redjubjub 0.7.0.
...
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-04-04 02:06:48 +01:00
Daira Emma Hopwood
ff49b812da
`cargo update`
...
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-04-04 02:06:48 +01:00
Kris Nuttycombe
3b0f6ad3ab
Merge pull request #6525 from sellout/makefile-editorconfig
...
Correct EditorConfig for Makefiles
2023-04-03 18:55:59 -06:00
Greg Pfeil
1aac7c0c32
Split C++ generated from Rust into own lib
...
This allows us to compile it with different flags. In particular, there are
warnings we can’t easily fix in the generated code.
2023-04-03 18:09:30 -06:00
Sean Bowe
fccdb03c53
Add additional audits.
2023-04-03 16:41:07 -06:00
Kris Nuttycombe
43a0fe237e
Update to use the `ff 0.13` dependency stack.
2023-04-03 16:33:06 -06:00
Daira Emma Hopwood
4fd3493291
Implement ZIP 317 computations.
...
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-04-03 23:05:50 +01:00
Greg Pfeil
8de607322e
Correct EditorConfig for Makefiles
...
It was deciding to convert tabs to spaces on save, which isn’t great.
2023-04-03 13:30:59 -06:00
DeckerSU
78804dd438
InsertBlockIndex: pass const reference on hash, instead of hash
...
InsertBlockIndex should take a const reference to a uint256 instead of
just a uint256.
LoadBlockIndexGuts also assume std::function<CBlockIndex*(const uint256&)> insertBlockIndex
as an argument:
2d456afebe/src/txdb.h (L150)
2023-04-02 23:00:08 +02:00
Greg Pfeil
6e42aaeed6
Update release-notes for transparent change restriction
...
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2023-04-01 22:59:33 -06:00
Greg Pfeil
1786c60677
Require `AllowRevealedRecipients` for t-change
2023-04-01 22:58:52 -06:00
Miodrag Popović
e276f07349
Update depends/hosts/mingw32.mk to use posix variant library path
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-04-01 11:51:36 +02:00
Kris Nuttycombe
2d456afebe
Merge pull request #6408 from sellout/wallet_tx_builder/lock-notes
...
Lock notes (except Orchard) in wallet_tx_builder
2023-03-31 18:05:06 -06:00
Greg Pfeil
342563eb48
Merge pull request #6352 from sellout/deterministic-rpc-tests
...
Make RPC test output more deterministic
2023-03-30 14:33:03 -06:00
Greg Pfeil
69ab52cb3e
Improve Doxygen for note locking
2023-03-30 14:22:34 -06:00
Miodrag Popović
e6372f4f1f
Fix for broken cross-build to Windows target on Ubuntu 22.04 and Debian 11
2023-03-30 11:02:24 +02:00
Kris Nuttycombe
564ef2a3ac
Merge pull request #6502 from rex4539/typos
...
Fix typos
2023-03-29 22:23:33 -06:00
Kris Nuttycombe
06f4525bc1
Merge pull request #6410 from sellout/wallet_tx_builder/refactor-privacy-policy
...
Refactor RPC privacyPolicy handling
2023-03-29 18:39:11 -06:00