Commit Graph

16750 Commits

Author SHA1 Message Date
Kris Nuttycombe 825ca45341 Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-07-01 13:51:22 +01:00
Kris Nuttycombe 88401bc25e Add a clock for testing with an offset from the system clock.
This change improves clock management for zcashd by ensuring
that all clock methods (obtaining seconds, milliseconds, and
microseconds since the epoch) agree under testing conditions
using `-mocktime`, and also adds a feature that allows tests
to specify an offset to the system clock; this is useful to
allow comprehensive testing of the "timejacking attack mitigation"
consensus rules.
2022-07-01 13:51:22 +01:00
therealyingtong da15ada52e Test getrawtransaction in wallet_orchard.py 2022-07-01 08:50:34 -04:00
therealyingtong acd45224bf Use orchard_bundle ffi in getrawtransaction.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2022-07-01 08:50:34 -04:00
therealyingtong d18fcc7092 Add orchard_bundle FFI.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2022-07-01 08:50:34 -04:00
str4d bb64e895c2
Merge pull request #6014 from daira/upgrade-metrics
Upgrade to metrics 0.19.x and metrics-exporter-prometheus 0.10.x
2022-07-01 13:41:05 +01:00
Daira Hopwood e584b1b43f Upgrade to metrics 0.19.x and metrics-exporter-prometheus 0.10.x.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-07-01 09:12:34 +01:00
Daira Hopwood a119564abf
Merge pull request #6023 from str4d/orchard-batch-validation
Batch-verify Orchard proofs
2022-07-01 08:04:03 +01:00
Jack Grigg eb9dd95f69 test: Load the proof verification keys in Boost tests
The change to use Orchard batch validation now requires the Orchard
verifying key to be available even if there are no items in the batch.
For simplicity, we now load all verifying keys in the Boost tests.
2022-07-01 01:24:15 +00:00
Jack Grigg d46e18f955 Batch-validate Orchard proofs as well as Orchard signatures 2022-07-01 01:24:15 +00:00
Jack Grigg 0430fdf20d Upgrade to `orchard 0.2.0` 2022-07-01 01:24:15 +00:00
Jack Grigg 107cb9636c cargo vet fmt 2022-07-01 01:24:15 +00:00
Jack Grigg 079ff9721f bench: Add `ConnectBlock` benchmark using block 1708048
This block has 88 Orchard transactions, containing a total of 552
actions, making for a nice benchmark of verification performance.
2022-07-01 01:24:15 +00:00
Jack Grigg d3f249e0ce bench: Support multiple trees in FakeCoinsViewDB
Blocks from mainnet aren't guaranteed to only contain transactions using
the same anchor, so we need to support sideloading multiple trees.
2022-07-01 01:24:15 +00:00
Jack Grigg e6d81e0fc1 qa: Generalise `extract_benchmark_data` in `performance-measurements.sh` 2022-07-01 01:24:15 +00:00
Jack Grigg eadfc028d6 qa: Fix `qa/zcash/create_benchmark_archive.py` script 2022-07-01 01:24:15 +00:00
Marshall Gaucher 2df8933c9d
Merge pull request #6034 from daira/bosl-notice
COPYING: Address feedback about the use of "permissive"
2022-06-30 15:47:14 -07:00
Daira Hopwood 747326b3dd COPYING: Address feedback about the use of "permissive". Also refer to zcashd instead of "Zcash".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-06-29 13:39:44 -06:00
Marshall Gaucher f5da28d227
Merge pull request #6028 from zcash/update_walletbackup_patch
Update walletbackup.py
2022-06-28 19:10:23 -07:00
mdr0id 9a867e2958 Update walletbackup.py 2022-06-28 17:10:53 -07:00
Marshall Gaucher 83265428ed
Merge pull request #6027 from zcash/ci_rpc_update_parallelv1
Update test scripts to support initial parallel RPCs
2022-06-28 16:17:13 -07:00
mdr0id c2d8153173 add rpc parallel test group logic 2022-06-28 13:51:21 -07:00
nathannaveen a5b468a6ec chore: Set permissions for GitHub actions
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: nathannaveen <42319948+nathannaveen@users.noreply.github.com>
2022-06-27 00:59:00 +00:00
Charlie O'Keefe 1e6f4608b4
Merge pull request #6003 from str4d/cargo-vet
Integrate cargo-vet into CI system
2022-06-09 11:09:03 -06:00
Jack Grigg ee256e2350 book: Add section about auditing Rust dependencies 2022-06-09 17:00:15 +00:00
Jack Grigg ad369ca29f qa: Add audits for the crates directly maintained by the ECC core team 2022-06-09 17:00:15 +00:00
Jack Grigg dbcd7b396e CI: Add workflow that runs `cargo vet --locked` 2022-06-09 17:00:15 +00:00
Jack Grigg 4b7445145d qa: Add `crypto-reviewed` and `license-reviewed` criteria for `cargo vet` 2022-06-09 15:53:57 +00:00
Jack Grigg 19c7742318 qa: `cargo vet init` 2022-06-09 14:50:23 +00:00
sasha 0964fd77f1
Merge pull request #5997 from daira/update-copyrights
halo2 is now under MIT/Apache-2.0, so does not need a declaration in contrib/debian/copyright

Doc-only admin merge requested by @daira
2022-06-07 13:11:17 -07:00
Daira Hopwood 5b85d9df20 halo2 is now under MIT/Apache-2.0, so does not need a declaration in `contrib/debian/copyright`.
fixes #5203

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-06-07 18:59:28 +01:00
Aditya Kulkarni e8ccc78132 Add tx version 2022-06-07 10:03:05 -05:00
str4d 3d8cfa3a38
Merge pull request #5971 from str4d/rust-cxx
Integrate `cxx` crate for safe interop between Rust and C++
2022-06-02 16:11:22 +01:00
str4d 03d4cb82e4
Merge pull request #5986 from str4d/5931-bosl-exception
Note dependence on BOSL in COPYING
2022-06-02 12:08:29 +01:00
Jack Grigg 3753b1c4bb Note dependence on BOSL in COPYING
Closes zcash/zcash#5931.
2022-06-01 20:23:28 +00:00
Jack Grigg 340b2c3a84 Update orchard license with current exception text
Source: 21ad1ea5cb
which was committed directly on top of the orchard 0.1.0 release commit,
and therefore can be applied to it.
2022-06-01 20:23:28 +00:00
sasha db3ace3a25
Merge pull request #5969 from buck54321/valuebalanceorchard-getrawtx
Add valueBalanceOrchard to getrawtransaction verbose output

Admin merge requested by @str4d
2022-06-01 12:54:09 -07:00
str4d e66f768e5d
Merge pull request #5976 from nuttycom/bug/block_wallet_init_on_reindex
Scan wallet from genesis when reindexing
2022-06-01 18:21:10 +01:00
Jack Grigg d8a8b30b61 Document that `-reindex` and `-salvagewallet` both imply `-rescan`
The latter soft-sets `-rescan` if corruption is detected, while the
former implicitly rescans as a side-effect of replaying the chain
history to the wallet.
2022-06-01 14:37:03 +00:00
Jack Grigg 22a284ceeb wallet: Clear witness caches on load if reindexing
The reindexing process will replay the chain history against the wallet
starting from genesis, so we can just rebuild the witness caches from
scratch to ensure consistency.
2022-06-01 14:30:28 +00:00
Jack Grigg c1343d1807 qa: Fix sprout_sapling_migration RPC test to handle wallet RPC change
Co-authored-by: ying tong <yingtong@z.cash>
2022-06-01 13:51:26 +00:00
Brian Stafford b2a12cc0e8 rpc: add valueBalanceOrchard to getrawtransaction output 2022-06-01 12:38:53 +00:00
Brian Stafford cafcc52695 rpc: Add missing fields to getrawtransaction help text
Co-authored-by: Jack Grigg <jack@z.cash>
2022-06-01 12:38:53 +00:00
str4d 9ba8a96a28
Merge pull request #5982 from str4d/5980-revert-csemaphore-boost-removal
Revert "Switched sync.{cpp,h} to std threading primitives."
2022-06-01 04:21:11 +01:00
Jack Grigg eb18044f02 Revert "Switched sync.{cpp,h} to std threading primitives."
This partially reverts commit 4ad38a45e5
to fix a deadlock introduced by that commit.

Part of zcash/zcash#5980.
2022-05-31 22:08:35 +00:00
Jack Grigg c85c5b5c12 depends: Vendor dependencies of native_cxxbuild 2022-05-27 23:16:17 +00:00
Jack Grigg df08281f25 Migrate BLAKE2b Rust FFI to `cxx` 2022-05-27 20:15:05 +00:00
Jack Grigg 54aeb2c408 Migrate Equihash Rust FFI to `cxx`
This integrates `cxxbridge` into the build system, adding its generated
source files to `libzcash`. We currently need to manually specify each
Rust file containing a bridge description.
2022-05-27 20:15:05 +00:00
Jack Grigg 21f1bbf4aa depends: Add `rust/cxx.h` header as a dependency
We could also generate this in the main build with `cxxbridge --header`,
but we have the source from vendoring `cxxbridge`, and this simplifies
the automake integration slightly.
2022-05-27 20:15:05 +00:00
Jack Grigg 7a46e8365f build: Add non-verbose output for `cargo build`
Now that we're passing a bunch of extra environment variables, it makes
more sense to have the same verbosity level as for C++ compilation.
2022-05-27 20:15:05 +00:00