diff --git a/.github/workflows/cd-deploy-nodes-gcp.yml b/.github/workflows/cd-deploy-nodes-gcp.yml index 81adcc4f0b1..70caeb13ac0 100644 --- a/.github/workflows/cd-deploy-nodes-gcp.yml +++ b/.github/workflows/cd-deploy-nodes-gcp.yml @@ -226,7 +226,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' @@ -328,7 +328,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' diff --git a/.github/workflows/chore-delete-gcp-resources.yml b/.github/workflows/chore-delete-gcp-resources.yml index 0ac10b4ab0b..a623037059b 100644 --- a/.github/workflows/chore-delete-gcp-resources.yml +++ b/.github/workflows/chore-delete-gcp-resources.yml @@ -46,7 +46,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' @@ -114,7 +114,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' diff --git a/.github/workflows/ci-coverage.yml b/.github/workflows/ci-coverage.yml index 52645a16e23..b1bea8bfc69 100644 --- a/.github/workflows/ci-coverage.yml +++ b/.github/workflows/ci-coverage.yml @@ -103,4 +103,4 @@ jobs: run: cargo llvm-cov --lcov --no-run --output-path lcov.info - name: Upload coverage report to Codecov - uses: codecov/codecov-action@v3.1.6 + uses: codecov/codecov-action@v4.0.1 diff --git a/.github/workflows/ci-unit-tests-os.yml b/.github/workflows/ci-unit-tests-os.yml index 2021c713229..1862e4b041a 100644 --- a/.github/workflows/ci-unit-tests-os.yml +++ b/.github/workflows/ci-unit-tests-os.yml @@ -281,7 +281,7 @@ jobs: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=stable --profile=minimal - name: Install cargo-machete - uses: baptiste0928/cargo-install@v2.2.0 + uses: baptiste0928/cargo-install@v3.0.0 with: crate: cargo-machete diff --git a/.github/workflows/docs-deploy-firebase.yml b/.github/workflows/docs-deploy-firebase.yml index ae54cf557a2..71cdd2927e2 100644 --- a/.github/workflows/docs-deploy-firebase.yml +++ b/.github/workflows/docs-deploy-firebase.yml @@ -106,7 +106,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' @@ -165,7 +165,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' diff --git a/.github/workflows/manual-zcashd-deploy.yml b/.github/workflows/manual-zcashd-deploy.yml index d265b372af9..9b84c5f5360 100644 --- a/.github/workflows/manual-zcashd-deploy.yml +++ b/.github/workflows/manual-zcashd-deploy.yml @@ -52,7 +52,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' diff --git a/.github/workflows/release-crates-io.yml b/.github/workflows/release-crates-io.yml index 304f8a15226..471ed9e3fc3 100644 --- a/.github/workflows/release-crates-io.yml +++ b/.github/workflows/release-crates-io.yml @@ -85,7 +85,7 @@ jobs: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=stable --profile=minimal - name: Install cargo-release - uses: baptiste0928/cargo-install@v2.2.0 + uses: baptiste0928/cargo-install@v3.0.0 with: crate: cargo-release diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index c2d2d811982..fd4c39a728c 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -38,7 +38,7 @@ jobs: runs-on: ubuntu-latest steps: # Drafts your next Release notes - - uses: release-drafter/release-drafter@v5 + - uses: release-drafter/release-drafter@v6 with: config-name: release-drafter.yml commitish: main diff --git a/.github/workflows/sub-build-docker-image.yml b/.github/workflows/sub-build-docker-image.yml index 82b0338060f..3a202991ed5 100644 --- a/.github/workflows/sub-build-docker-image.yml +++ b/.github/workflows/sub-build-docker-image.yml @@ -134,7 +134,7 @@ jobs: - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' diff --git a/.github/workflows/sub-build-lightwalletd.yml b/.github/workflows/sub-build-lightwalletd.yml index 8c5cdef5cb0..258a2f0052f 100644 --- a/.github/workflows/sub-build-lightwalletd.yml +++ b/.github/workflows/sub-build-lightwalletd.yml @@ -111,7 +111,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' diff --git a/.github/workflows/sub-deploy-integration-tests-gcp.yml b/.github/workflows/sub-deploy-integration-tests-gcp.yml index 42030f09b80..bd531fb1b87 100644 --- a/.github/workflows/sub-deploy-integration-tests-gcp.yml +++ b/.github/workflows/sub-deploy-integration-tests-gcp.yml @@ -150,7 +150,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' @@ -447,7 +447,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: workload_identity_provider: '${{ vars.GCP_WIF }}' service_account: '${{ vars.GCP_DEPLOYMENTS_SA }}' @@ -724,7 +724,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: workload_identity_provider: '${{ vars.GCP_WIF }}' service_account: '${{ vars.GCP_DEPLOYMENTS_SA }}' diff --git a/.github/workflows/sub-find-cached-disks.yml b/.github/workflows/sub-find-cached-disks.yml index bd07846ff78..35a48194097 100644 --- a/.github/workflows/sub-find-cached-disks.yml +++ b/.github/workflows/sub-find-cached-disks.yml @@ -45,7 +45,7 @@ jobs: # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth - uses: google-github-actions/auth@v2.1.0 + uses: google-github-actions/auth@v2.1.1 with: retries: '3' workload_identity_provider: '${{ vars.GCP_WIF }}' diff --git a/release.toml b/release.toml index 0cbcdd51772..bc47505b8f1 100644 --- a/release.toml +++ b/release.toml @@ -17,4 +17,4 @@ push = false tag = false # Owners for new crates -owners = [ 'dconnolly', 'teor2345', 'zcashfoundation/owners' ] +owners = [ 'oxarbitrage', 'teor2345', 'zcashfoundation/owners' ] diff --git a/zebra-chain/src/work/tests/prop.rs b/zebra-chain/src/work/tests/prop.rs index 6c3b4ae8ae8..f5bdf010950 100644 --- a/zebra-chain/src/work/tests/prop.rs +++ b/zebra-chain/src/work/tests/prop.rs @@ -18,15 +18,15 @@ fn equihash_solution_roundtrip() { let _init_guard = zebra_test::init(); proptest!(|(solution in any::())| { - let data = solution - .zcash_serialize_to_vec() - .expect("randomized EquihashSolution should serialize"); - let solution2 = data - .zcash_deserialize_into() - .expect("randomized EquihashSolution should deserialize"); - - prop_assert_eq![solution, solution2]; - }); + let data = solution + .zcash_serialize_to_vec() + .expect("randomized EquihashSolution should serialize"); + let solution2 = data + .zcash_deserialize_into() + .expect("randomized EquihashSolution should deserialize"); + + prop_assert_eq![solution, solution2]; + }); } prop_compose! { @@ -94,10 +94,10 @@ fn equihash_prop_test_nonce() -> color_eyre::eyre::Result<()> { block.header.solution.check(&block.header)?; proptest!(|(fake_header in randomized_nonce(*block.header.as_ref()))| { - fake_header.solution - .check(&fake_header) - .expect_err("block header should not validate on randomized nonce"); - }); + fake_header.solution + .check(&fake_header) + .expect_err("block header should not validate on randomized nonce"); + }); } Ok(()) diff --git a/zebra-state/src/service/non_finalized_state/tests/prop.rs b/zebra-state/src/service/non_finalized_state/tests/prop.rs index b7a3e5b00d4..d40b83137f2 100644 --- a/zebra-state/src/service/non_finalized_state/tests/prop.rs +++ b/zebra-state/src/service/non_finalized_state/tests/prop.rs @@ -40,40 +40,40 @@ fn push_genesis_chain() -> Result<()> { let _init_guard = zebra_test::init(); proptest!( - ProptestConfig::with_cases(env::var("PROPTEST_CASES") - .ok() - .and_then(|v| v.parse().ok()) - .unwrap_or(DEFAULT_PARTIAL_CHAIN_PROPTEST_CASES)), - |((chain, count, network, empty_tree) in PreparedChain::default())| { - prop_assert!(empty_tree.is_none()); - - let mut only_chain = Chain::new(network, Height(0), Default::default(), Default::default(), Default::default(), empty_tree, ValueBalance::zero()); - // contains the block value pool changes and chain value pool balances for each height - let mut chain_values = BTreeMap::new(); - - chain_values.insert(None, (None, only_chain.chain_value_pools.into())); - - for block in chain.iter().take(count).skip(1).cloned() { - let block = - ContextuallyVerifiedBlock::with_block_and_spent_utxos( - block, - only_chain.unspent_utxos(), - ) - .map_err(|e| (e, chain_values.clone())) - .expect("invalid block value pool change"); - - chain_values.insert(block.height.into(), (block.chain_value_pool_change.into(), None)); - - only_chain = only_chain - .push(block.clone()) - .map_err(|e| (e, chain_values.clone())) - .expect("invalid chain value pools"); - - chain_values.insert(block.height.into(), (block.chain_value_pool_change.into(), only_chain.chain_value_pools.into())); - } + ProptestConfig::with_cases(env::var("PROPTEST_CASES") + .ok() + .and_then(|v| v.parse().ok()) + .unwrap_or(DEFAULT_PARTIAL_CHAIN_PROPTEST_CASES)), + |((chain, count, network, empty_tree) in PreparedChain::default())| { + prop_assert!(empty_tree.is_none()); + + let mut only_chain = Chain::new(network, Height(0), Default::default(), Default::default(), Default::default(), empty_tree, ValueBalance::zero()); + // contains the block value pool changes and chain value pool balances for each height + let mut chain_values = BTreeMap::new(); + + chain_values.insert(None, (None, only_chain.chain_value_pools.into())); - prop_assert_eq!(only_chain.blocks.len(), count - 1); - }); + for block in chain.iter().take(count).skip(1).cloned() { + let block = + ContextuallyVerifiedBlock::with_block_and_spent_utxos( + block, + only_chain.unspent_utxos(), + ) + .map_err(|e| (e, chain_values.clone())) + .expect("invalid block value pool change"); + + chain_values.insert(block.height.into(), (block.chain_value_pool_change.into(), None)); + + only_chain = only_chain + .push(block.clone()) + .map_err(|e| (e, chain_values.clone())) + .expect("invalid chain value pools"); + + chain_values.insert(block.height.into(), (block.chain_value_pool_change.into(), only_chain.chain_value_pools.into())); + } + + prop_assert_eq!(only_chain.blocks.len(), count - 1); + }); Ok(()) }