Commit Graph

5604 Commits

Author SHA1 Message Date
Gustavo Valverde 7fc37651d3
refactor!: remove experimental features from release builds (#9222)
* refactor!: remove experimental features from release builds

BREAKING CHANGE: Experimental features are no longer built into release images.
Users must now build custom images with specific features if needed.

- Remove experimental build job from release workflow
- Remove experimental features from CI matrix
- Update documentation to reflect new feature strategy
- Simplify Dockerfile by removing experimental feature args
- Keep RUN_ALL_EXPERIMENTAL_TESTS for testing purposes only

Migration: Users who need specific features should:
1. Build custom images using --build-arg FEATURES="feature1 feature2"
2. Use the documented feature flags in their builds
3. Refer to the new documentation for building with custom features

Closes  #9210
Closes #9204
Partially #7415

* revert(ci): Add support for experimental features in test runs

Enable passing experimental features to Docker test runs by:
- Updating workflow configuration to pass EXPERIMENTAL_FEATURES
- Modifying entrypoint script to include experimental features during test execution
- Documenting new experimental test category in workflow README

* refactor(docs): streamline Docker documentation and feature testing strategy

- Reorganized and clarified advanced usage instructions for building Docker images with custom features, including metrics support.
- Enhanced the presentation of alternatives and configuration details for Docker usage.

* Apply suggestions from code review

Co-authored-by: Marek <mail@marek.onl>

* chore: revert deleted sentence

* Update book/src/user/docker.md

Co-authored-by: Marek <mail@marek.onl>

---------

Co-authored-by: Marek <mail@marek.onl>
2025-04-09 15:43:07 +00:00
Alfredo Garcia 4956c22cdf
exit early in `try_reusing_previous_db_after_major_upgrade` if `!exist(old_path)` (#9397) 2025-04-09 10:11:09 +00:00
Kris Nuttycombe a9166b6736
Update to `zcash_keys 0.8`, `zcash_client_backend 0.18` (#9395) 2025-04-08 21:31:28 +00:00
dependabot[bot] c9a4ae41f9
build(deps): bump tokio from 1.44.1 to 1.44.2 in the cargo group (#9391)
Bumps the cargo group with 1 update: [tokio](https://github.com/tokio-rs/tokio).


Updates `tokio` from 1.44.1 to 1.44.2
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2)

---
updated-dependencies:
- dependency-name: tokio
  dependency-version: 1.44.2
  dependency-type: direct:production
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-08 15:39:30 +00:00
Alfredo Garcia 6febe41f01
rpc(getpeerinfo): Add inbound peers to method response (#9214)
* extend getpeerinfo

* add and use `currently_live_peers()`

* remove `currently_live_peers` and just use filtered `recently_live_peers` instead

* fix codespell

* simplify

Co-authored-by: Arya <aryasolhi@gmail.com>

* remove non needed filter

Co-authored-by: Arya <aryasolhi@gmail.com>

* fix mock

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2025-04-08 13:14:10 +00:00
VolodymyrBg b1f4cd3533
docs: complete the Treestate RFC documentation (#9340)
* docs: complete the Treestate RFC documentation

* small changes

* line wrapping

* move from draft

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2025-04-07 17:59:19 +00:00
Kris Nuttycombe 65df200309
Update `zcash_transparent` to version 0.2.3 (#9387)
This also updates to the latest `zcash_client_backend` dependency, and
fixes a few imports to use base types instead of reexported versions
that may be deprecated in the future.
2025-04-07 09:25:30 +00:00
dependabot[bot] 0d201a59f8
build(deps): bump the prod group across 1 directory with 32 updates (#9385)
* build(deps): bump the prod group across 1 directory with 32 updates

Bumps the prod group with 32 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [bitflags](https://github.com/bitflags/bitflags) | `2.8.0` | `2.9.0` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.9.0` | `1.10.1` |
| [chrono](https://github.com/chronotope/chrono) | `0.4.39` | `0.4.40` |
| [clap](https://github.com/clap-rs/clap) | `4.5.27` | `4.5.35` |
| [ff](https://github.com/zkcrypto/ff) | `0.13.0` | `0.13.1` |
| [http-body-util](https://github.com/hyperium/http-body) | `0.1.2` | `0.1.3` |
| [humantime](https://github.com/chronotope/humantime) | `2.1.0` | `2.2.0` |
| [hyper-util](https://github.com/hyperium/hyper-util) | `0.1.10` | `0.1.11` |
| [indexmap](https://github.com/indexmap-rs/indexmap) | `2.7.1` | `2.8.0` |
| [inferno](https://github.com/jonhoo/inferno) | `0.12.1` | `0.12.2` |
| [insta](https://github.com/mitsuhiko/insta) | `1.42.1` | `1.42.2` |
| [jsonrpsee-proc-macros](https://github.com/paritytech/jsonrpsee) | `0.24.8` | `0.24.9` |
| [jsonrpsee-types](https://github.com/paritytech/jsonrpsee) | `0.24.8` | `0.24.9` |
| [log](https://github.com/rust-lang/log) | `0.4.25` | `0.4.27` |
| [metrics-exporter-prometheus](https://github.com/metrics-rs/metrics) | `0.16.1` | `0.16.2` |
| [once_cell](https://github.com/matklad/once_cell) | `1.20.2` | `1.21.3` |
| [owo-colors](https://github.com/owo-colors/owo-colors) | `4.1.0` | `4.2.0` |
| [pin-project](https://github.com/taiki-e/pin-project) | `1.1.8` | `1.1.10` |
| [prost](https://github.com/tokio-rs/prost) | `0.13.4` | `0.13.5` |
| [quote](https://github.com/dtolnay/quote) | `1.0.38` | `1.0.40` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.12.12` | `0.12.15` |
| [semver](https://github.com/dtolnay/semver) | `1.0.25` | `1.0.26` |
| [serde](https://github.com/serde-rs/serde) | `1.0.217` | `1.0.219` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.138` | `1.0.140` |
| [syn](https://github.com/dtolnay/syn) | `2.0.96` | `2.0.100` |
| [tempfile](https://github.com/Stebalien/tempfile) | `3.16.0` | `3.19.1` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.11` | `2.0.12` |
| [tinyvec](https://github.com/Lokathor/tinyvec) | `1.8.1` | `1.9.0` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.43.0` | `1.44.1` |
| [tokio-util](https://github.com/tokio-rs/tokio) | `0.7.13` | `0.7.14` |
| [toml](https://github.com/toml-rs/toml) | `0.8.19` | `0.8.20` |
| [tower](https://github.com/tower-rs/tower) | `0.4.13` | `0.5.2` |



Updates `bitflags` from 2.8.0 to 2.9.0
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.8.0...2.9.0)

Updates `bytes` from 1.9.0 to 1.10.1
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.9.0...v1.10.1)

Updates `chrono` from 0.4.39 to 0.4.40
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.39...v0.4.40)

Updates `clap` from 4.5.27 to 4.5.35
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.27...clap_complete-v4.5.35)

Updates `ff` from 0.13.0 to 0.13.1
- [Changelog](https://github.com/zkcrypto/ff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zkcrypto/ff/commits)

Updates `http-body-util` from 0.1.2 to 0.1.3
- [Release notes](https://github.com/hyperium/http-body/releases)
- [Commits](https://github.com/hyperium/http-body/compare/http-body-util-v0.1.2...http-body-util-v0.1.3)

Updates `humantime` from 2.1.0 to 2.2.0
- [Commits](https://github.com/chronotope/humantime/commits)

Updates `hyper-util` from 0.1.10 to 0.1.11
- [Release notes](https://github.com/hyperium/hyper-util/releases)
- [Changelog](https://github.com/hyperium/hyper-util/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper-util/compare/v0.1.10...v0.1.11)

Updates `indexmap` from 2.7.1 to 2.8.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.7.1...2.8.0)

Updates `inferno` from 0.12.1 to 0.12.2
- [Changelog](https://github.com/jonhoo/inferno/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jonhoo/inferno/compare/v0.12.1...v0.12.2)

Updates `insta` from 1.42.1 to 1.42.2
- [Release notes](https://github.com/mitsuhiko/insta/releases)
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/insta/compare/1.42.1...1.42.2)

Updates `jsonrpsee-proc-macros` from 0.24.8 to 0.24.9
- [Release notes](https://github.com/paritytech/jsonrpsee/releases)
- [Changelog](https://github.com/paritytech/jsonrpsee/blob/v0.24.9/CHANGELOG.md)
- [Commits](https://github.com/paritytech/jsonrpsee/compare/v0.24.8...v0.24.9)

Updates `jsonrpsee-types` from 0.24.8 to 0.24.9
- [Release notes](https://github.com/paritytech/jsonrpsee/releases)
- [Changelog](https://github.com/paritytech/jsonrpsee/blob/v0.24.9/CHANGELOG.md)
- [Commits](https://github.com/paritytech/jsonrpsee/compare/v0.24.8...v0.24.9)

Updates `log` from 0.4.25 to 0.4.27
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.25...0.4.27)

Updates `metrics-exporter-prometheus` from 0.16.1 to 0.16.2
- [Changelog](https://github.com/metrics-rs/metrics/blob/main/release.toml)
- [Commits](https://github.com/metrics-rs/metrics/compare/metrics-exporter-prometheus-v0.16.1...metrics-exporter-prometheus-v0.16.2)

Updates `once_cell` from 1.20.2 to 1.21.3
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.20.2...v1.21.3)

Updates `owo-colors` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/owo-colors/owo-colors/releases)
- [Changelog](https://github.com/owo-colors/owo-colors/blob/main/CHANGELOG.md)
- [Commits](https://github.com/owo-colors/owo-colors/compare/v4.1.0...v4.2.0)

Updates `pin-project` from 1.1.8 to 1.1.10
- [Release notes](https://github.com/taiki-e/pin-project/releases)
- [Changelog](https://github.com/taiki-e/pin-project/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/pin-project/compare/v1.1.8...v1.1.10)

Updates `prost` from 0.13.4 to 0.13.5
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Changelog](https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/prost/compare/v0.13.4...v0.13.5)

Updates `quote` from 1.0.38 to 1.0.40
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.38...1.0.40)

Updates `reqwest` from 0.12.12 to 0.12.15
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.12...v0.12.15)

Updates `semver` from 1.0.25 to 1.0.26
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.25...1.0.26)

Updates `serde` from 1.0.217 to 1.0.219
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.217...v1.0.219)

Updates `serde_json` from 1.0.138 to 1.0.140
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.138...v1.0.140)

Updates `syn` from 2.0.96 to 2.0.100
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.96...2.0.100)

Updates `tempfile` from 3.16.0 to 3.19.1
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.16.0...v3.19.1)

Updates `thiserror` from 2.0.11 to 2.0.12
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.11...2.0.12)

Updates `tinyvec` from 1.8.1 to 1.9.0
- [Changelog](https://github.com/Lokathor/tinyvec/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Lokathor/tinyvec/compare/v1.8.1...v1.9.0)

Updates `tokio` from 1.43.0 to 1.44.1
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.44.1)

Updates `tokio-util` from 0.7.13 to 0.7.14
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.13...tokio-util-0.7.14)

Updates `toml` from 0.8.19 to 0.8.20
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.19...toml-v0.8.20)

Updates `tower` from 0.4.13 to 0.5.2
- [Release notes](https://github.com/tower-rs/tower/releases)
- [Commits](https://github.com/tower-rs/tower/compare/tower-0.4.13...tower-0.5.2)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-version: 2.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: bytes
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: chrono
  dependency-version: 0.4.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: clap
  dependency-version: 4.5.35
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: ff
  dependency-version: 0.13.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: http-body-util
  dependency-version: 0.1.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: humantime
  dependency-version: 2.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: hyper-util
  dependency-version: 0.1.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: indexmap
  dependency-version: 2.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: inferno
  dependency-version: 0.12.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: insta
  dependency-version: 1.42.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: jsonrpsee-proc-macros
  dependency-version: 0.24.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: jsonrpsee-types
  dependency-version: 0.24.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: log
  dependency-version: 0.4.27
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: metrics-exporter-prometheus
  dependency-version: 0.16.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: once_cell
  dependency-version: 1.21.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: owo-colors
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: pin-project
  dependency-version: 1.1.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: prost
  dependency-version: 0.13.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: quote
  dependency-version: 1.0.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: reqwest
  dependency-version: 0.12.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: semver
  dependency-version: 1.0.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: serde
  dependency-version: 1.0.219
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: serde_json
  dependency-version: 1.0.140
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: syn
  dependency-version: 2.0.100
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tempfile
  dependency-version: 3.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: thiserror
  dependency-version: 2.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tinyvec
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: tokio
  dependency-version: 1.44.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: tokio-util
  dependency-version: 0.7.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: toml
  dependency-version: 0.8.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tower
  dependency-version: 0.5.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
...

Signed-off-by: dependabot[bot] <support@github.com>

* downgrade tower

* update denies

* add comment

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2025-04-05 11:07:45 +00:00
Jack Grigg 6f7a3b9284
Deduplicate dependencies (#9382)
* Fix duplicate `secp256k1` dependency

* Fix duplicate `redjubjub` dependency
2025-04-04 15:33:20 +00:00
dependabot[bot] ae37e77958
build(deps): bump the ecc group across 1 directory with 2 updates (#9372)
Bumps the ecc group with 2 updates in the / directory: [zcash_protocol](https://github.com/zcash/librustzcash) and [equihash](https://github.com/zcash/librustzcash).


Updates `zcash_protocol` from 0.5.0 to 0.5.1
- [Release notes](https://github.com/zcash/librustzcash/releases)
- [Commits](https://github.com/zcash/librustzcash/compare/zcash_protocol-0.5.0...zcash_protocol-0.5.1)

Updates `equihash` from 0.2.0 to 0.2.2
- [Release notes](https://github.com/zcash/librustzcash/releases)
- [Commits](https://github.com/zcash/librustzcash/compare/0.2.0...zcash_encoding-0.2.2)

---
updated-dependencies:
- dependency-name: zcash_protocol
  dependency-version: 0.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ecc
- dependency-name: equihash
  dependency-version: 0.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ecc
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2025-04-04 13:35:16 +00:00
Marek 8e04edb24f
feat(rpc): Support negative heights in `HashOrHeight` (#9316)
* Support negative heights in `HashOrHeight`

* Change ownership of cached state

* Revert "Change ownership of cached state"

This reverts commit 1fe9ae393f.

* add solution to other methods, add tests

* cargo clippy fix

* fmt

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2025-04-04 12:13:11 +00:00
dependabot[bot] ddcfeacddf
build(deps): bump the devops group across 1 directory with 4 updates (#9368)
Bumps the devops group with 4 updates in the / directory: [tj-actions/changed-files](https://github.com/tj-actions/changed-files), [peter-evans/dockerhub-description](https://github.com/peter-evans/dockerhub-description), [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `tj-actions/changed-files` from 46.0.1 to 46.0.3
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v46.0.1...v46.0.3)

Updates `peter-evans/dockerhub-description` from 4.0.0 to 4.0.1
- [Release notes](https://github.com/peter-evans/dockerhub-description/releases)
- [Commits](https://github.com/peter-evans/dockerhub-description/compare/v4.0.0...v4.0.1)

Updates `astral-sh/setup-uv` from 5.1.0 to 5.4.1
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](887a942a15...0c5e2b8115)

Updates `github/codeql-action` from 3.28.0 to 3.28.13
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](48ab28a6f5...1b549b9259)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: devops
- dependency-name: peter-evans/dockerhub-description
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: devops
- dependency-name: astral-sh/setup-uv
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: devops
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: devops
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 09:37:29 +00:00
Alfredo Garcia de51063957
fix(clippy): last lints (#9371)
* fix clippy lints

* another lint missing
2025-04-03 17:13:29 +00:00
Arya 3b2af49dc7
chore(deps): Updates ECC dependencies (#9300)
* Bumps ECC dep versions (using git sources) and updates their usage in Zebra

* removes dependency on bridgetree and imports types from incrementalmerkletree directly instead

* Removes unused patches

* bumps ECC dep versions and replaces Zebra's usage of the now-deprecated API.

* Adds conversion impl from `HashType` for `SighashType`

* fixes lints

* updates deny.toml

* updates edition, adds redjubjub to cargo deny exceptions

* reverts Rust edition bump

* fixes new usage of `add_output()`

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2025-04-03 12:57:15 +00:00
dependabot[bot] af689ac2f7
build(deps): bump ring from 0.17.8 to 0.17.13 in the cargo group (#9317)
Bumps the cargo group with 1 update: [ring](https://github.com/briansmith/ring).


Updates `ring` from 0.17.8 to 0.17.13
- [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md)
- [Commits](https://github.com/briansmith/ring/commits)

---
updated-dependencies:
- dependency-name: ring
  dependency-type: indirect
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2025-04-02 12:50:26 +00:00
crStiv b0bbca65e9
feat: Add Mempool Specification to Zebra Book (#9336)
* Create mempool-specification.md

* Create mempool-architecture.md

* Update SUMMARY.md

* Update book/src/dev/mempool-specification.md

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>

* Update mempool-architecture.md

* Update mempool-architecture.md

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2025-04-01 19:32:42 +00:00
Gustavo Valverde db48daea05
fix(docker): add default CMD to test stage in Dockerfile (#9334)
* fix(docker): set `HOME` environment variable explicitly in Dockerfile

The HOME environment variable was defaulting to /root when the container started, causing cache directories to be incorrectly set up under /root/.cache/zebra instead of /home/zebra/.cache/zebra. This explicit setting ensures the HOME environment variable is correctly set to the zebra user's home directory.

* fix(docker): add default `CMD` to test stage in Dockerfile

When running the container using docker-compose without explicitly
providing a command, the entrypoint.sh script was attempting to execute
`exec_as_user` with no arguments, resulting in a gosu error:

```
exec_as_user
exec gosu 10001:10001
Usage: gosu user-spec command [args]
```

By adding `CMD ["cargo", "test"]` to the test stage in the Dockerfile,
we ensure a default command is available for the entrypoint script to
execute, preventing the gosu error when no command is explicitly provided.

This fix allows `docker-compose.test.yml` to run successfully without
needing to specify a command in the service definition.
2025-03-31 21:28:25 +00:00
Jack Grigg 81c2cc4fbc
fix(ci): Add workflow that runs `zizmor` for GHA static analysis (#9110 )
Source: woodruffw/zizmor@c6fef48587
2025-03-31 14:04:54 +01:00
Alfredo Garcia da6c218afb
ensure secondary rocksdb instance has caught up to the primary instance (#9346)
Co-authored-by: Arya <aryasolhi@gmail.com>
2025-03-30 16:53:30 +00:00
Conrado Gouvea 949326258a
feat(rpc): fill size field in getblock with verbosity=2 (#9327)
* feat(rpc): fill size field in getblock with verbosity=2

* replace unwrap with expect
2025-03-28 13:45:06 +00:00
Arya 49011f8460
change(state): Refactor format upgrades into trait (#9263)
* Adds a new trait for disk format upgrades, implements in on a new struct, `PruneTrees`, and moves the logic for tree deduplication to the trait impl

* refactors add subtrees format upgrade to use new trait

* refactors fix tree keys, cache genesis roots, and value balance upgrades to use new trait

* Applies suggestions from code review:
- Avoids duplicate validation of format upgrades at startup when db is already upgraded,
- Minor refactors
- Doc fixes and cleanups

* Applies suggestions from code review

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2025-03-28 10:52:05 +00:00
Jack Grigg 26c569e29f
rpc: Permit JSON-RPC IDs to be non-strings (#9341)
Fixes ZcashFoundation/zebra#9314.
2025-03-28 07:41:01 +00:00
Arya ffb37bf362
Comments out `disconnects_from_misbehaving_peers` tess (#9306)
Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>
2025-03-26 15:41:19 +00:00
Alfredo Garcia 9dfdddeb88
fix(rpc): getblocktemplate coinbase outputs order (#9272)
* change the output order in getblocktemplate zcashd mode

* add a test for coinbase output order

* update snapshots
2025-03-25 19:10:38 +00:00
Elijah Hampton 979cdaf963
feat(state): Implements reconsider_block method (#9260)
* Adds reconsider_block method and appropriate test cases

* Refactors invalidated_blocks state to use IndexMap. Returns error from validate_and_commit if a candidate block's hash is in the map of invalidated blocks. Stores invalidated_blocks by height and clears when finalizing. Checks against non finalized tip hash to create a new chain if parnt_chain doesn't exist. Renames ReconsiderError variant NonPreviouslyInvalidatedBlock to MissingInvalidatedBlock.

* Moves MAX_INVALIDATED_BLOCKS constant to constants.rs

* Maintains invalidate_blocks cleanup in reconsider_block and finalize(). Removes unused ReconsiderError variant. Opts to refuse block consideration if parent_chain does not exist. Adds db handle to reconsider_block function. Edits max blocks constant documentation

* Checks the finalized state first to create a new chain from non finalized blocks only before checking parent_chain.
2025-03-25 19:10:33 +00:00
dependabot[bot] 431a76c04a
build(deps): bump the devops group across 1 directory with 8 updates (#9335)
Bumps the devops group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [docker/login-action](https://github.com/docker/login-action) | `3.3.0` | `3.4.0` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.3.1` | `5.4.0` |
| [tj-actions/changed-files](https://github.com/tj-actions/changed-files) | `45.0.7` | `46.0.1` |
| [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) | `2.7.7` | `2.7.8` |
| [docker/metadata-action](https://github.com/docker/metadata-action) | `5.6.1` | `5.7.0` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `3.9.0` | `3.10.0` |
| [docker/build-push-action](https://github.com/docker/build-push-action) | `6.14.0` | `6.15.0` |
| [docker/scout-action](https://github.com/docker/scout-action) | `1.16.3` | `1.17.0` |



Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.3.0...v3.4.0)

Updates `codecov/codecov-action` from 5.3.1 to 5.4.0
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v5.3.1...v5.4.0)

Updates `tj-actions/changed-files` from 45.0.7 to 46.0.1
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v45.0.7...v46.0.1)

Updates `Swatinem/rust-cache` from 2.7.7 to 2.7.8
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v2.7.7...v2.7.8)

Updates `docker/metadata-action` from 5.6.1 to 5.7.0
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/v5.6.1...v5.7.0)

Updates `docker/setup-buildx-action` from 3.9.0 to 3.10.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.9.0...v3.10.0)

Updates `docker/build-push-action` from 6.14.0 to 6.15.0
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.14.0...v6.15.0)

Updates `docker/scout-action` from 1.16.3 to 1.17.0
- [Release notes](https://github.com/docker/scout-action/releases)
- [Commits](https://github.com/docker/scout-action/compare/v1.16.3...v1.17.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: devops
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: devops
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: devops
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: devops
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: devops
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: devops
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: devops
- dependency-name: docker/scout-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: devops
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 12:14:34 +00:00
Gustavo Valverde 32de8ef5fd
fix(docker): set `HOME` environment variable explicitly in Dockerfile (#9333)
The HOME environment variable was defaulting to /root when the container started, causing cache directories to be incorrectly set up under /root/.cache/zebra instead of /home/zebra/.cache/zebra. This explicit setting ensures the HOME environment variable is correctly set to the zebra user's home directory.
2025-03-22 15:25:30 +00:00
Marek f0140a4cd8
fix(ci): Better permission and cache dirs handling in Docker (#9323)
* Use gosu only once

* Remove `COLORBT_SHOW_HIDDEN`

* Simplify Dockerfile

* Remove `check_directory_files` from entrypoint

* Remove check for `ZEBRA_CONF_PATH` in entrypoint

* Simplify ownership setting for `ZEBRA_CACHE_DIR`

* Simplify ownership setting for `LOG_FILE`

* Refactor Dockerfile & entrypoint

* Refactor vars in Dockerfile

* fmt

* Use `chown` for `ZEBRA_CONF_PATH`

* `run_cargo_test` -> `run_test`

* Make `run_test` runnable with gosu

* Cosmetics

* Don't pre-compile Zebra

* Revert: "Don't pre-compile Zebra"

* Fix the custom conf test

* Reintroduce `CARGO_HOME` in Dockerfile

* Pass `FEATURES` as env var to entrypoint

* Fix ARGs in Dockerfile

* Revert "Remove `COLORBT_SHOW_HIDDEN`"

This reverts commit 960d5ca308.

* Specify cache state dir in CI

* Specify lwd cache dir in CI

* refactor: reorganize variables and avoid running entrypoint commands in subshell (#9326)

* refactor(docker): improve container configuration and security

- Optimize Dockerfile build stages and environment variables
- Improve file operations with proper ownership
- Streamline entrypoint script privilege management

* refactor(docker): enhance user management and directory ownership

- Add HOME argument back to ensure proper user home directory setup
- Implement ownership change for the user's home directory

* refactor(docker): remove redundant cache directory setup

- Eliminate explicit creation and ownership setting for LWD and Zebra cache directories in Dockerfile.
- Introduce default values for cache directories in entrypoint script, allowing for environment variable overrides.

* fix: run all cargo commands as user

* chore: reduce diff

* fix: revert to more robust command array

---------

Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com>
2025-03-18 08:58:19 +00:00
Gustavo Valverde 49741e8b47
fix(ci): Add Rust environment variables to Docker test workflows (#9318)
* feat(ci): Add Rust environment variables to Docker test workflows

Enhance test workflows by adding Rust-specific environment variables:
- Include RUST_LOG for logging configuration
- Add RUST_BACKTRACE and RUST_LIB_BACKTRACE for improved error tracing
- Include COLORBT_SHOW_HIDDEN for detailed backtraces
- Add CARGO_INCREMENTAL for build performance optimization

These changes improve debugging capabilities and provide more flexibility in test environments across dockerized CI jobs.

* feat(ci): Add CARGO_INCREMENTAL build argument to Docker workflow

Enable configurable Rust incremental compilation in Docker builds by:
- Adding CARGO_INCREMENTAL as a build argument in GitHub Actions workflow
- Setting a default value of 0 in Dockerfile to control build performance
- Integrating with existing Rust environment variable configuration

This change provides more granular control over Rust compilation strategies in containerized builds.

* fix(docker): resolve user creation issues in Dockerfile

- Move WORKDIR after user creation to prevent home directory ownership issues
- Properly set environment variables for UID, GID, HOME, and USER in each stage
- Reorganize Dockerfile to ensure home directory is created after user setup
- Fix interactive prompts during adduser by ensuring proper directory ownership

* fix(docs): Apply suggestions from code review

Co-authored-by: Marek <mail@marek.onl>

---------

Co-authored-by: Marek <mail@marek.onl>
2025-03-12 10:43:31 +00:00
Gustavo Valverde f873aa12a6
docs(decisions): add architectural decision records structure (#9310)
* docs(decisions): add architectural decision records structure

Create a structured decision records system to document important technical choices across multiple domains (DevOps, Network, Consensus, etc.).

This implements a modified MADR template approach for preserving context, trade-offs, and reasoning behind significant architectural decisions.

* fix(docs): suggestions from code review

Co-authored-by: Marek <mail@marek.onl>

---------

Co-authored-by: Marek <mail@marek.onl>
2025-03-10 14:17:26 +00:00
Marek de7e5b547f
refactor(docker): allow r/w access in mounted volumes (#9281)
* Switch to a non-privileged user in tests

* Change test env setup

* Remove unneeded ARGs

* Simplify UID & GID handling in `runtime` target

* Simplify docs

* refactor(docker): Improve user and permission handling in Dockerfiles

- Add gosu for flexible non-root user execution
- Enhance user and group creation with configurable UID/GID
- Modify entrypoint script to support dynamic user switching
- Improve cache and log directory permission management
- Update comments to clarify user and permission strategies

* refactor(docker): Improve Zebra config file handling in entrypoint script

- Enhance error handling for missing config file (now exits with error)
- Simplify config preparation logic by removing redundant file copying
- Update comments to reflect new config file handling approach
- Ensure consistent use of ZEBRA_CONF_PATH throughout the script

* refactor(docker): Enhance container user security and configuration

- Increase UID/GID to 10001 to minimize host system user conflicts
- Remove `--system` flag from user and group creation to prevent potential issues
- Add detailed comments explaining UID/GID selection rationale
- Improve security by using high UID/GID values to reduce namespace collision risks
- Remove redundant `chmod` for entrypoint script

Co-authored-by: Marek <mail@marek.onl>

---------

Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com>
Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>
2025-03-03 19:21:03 +01:00
Dmitry 797ba62977
fix: fix redundant #[non_exhaustive] attributes on enum variants (#9309) 2025-02-28 16:03:37 +00:00
Hazel OHearn 29ed501f11
allow deserialization of Balance with skipped ID field (#9299) 2025-02-26 12:08:38 +00:00
Marek 79e18e045c
chore(CI): Update codespell's config (#9288) 2025-02-24 14:35:59 +00:00
Marek 38b7313ea1
chore: bump Rust from 1.84.0 to 1.85.0 in Docker (#9290) 2025-02-24 14:35:39 +00:00
Marek 80a25c1c4c
Fix Clippy lints for Rust 1.85 (#9289) 2025-02-24 14:34:19 +00:00
Marek 2a184e74b1
change(ci): Remove check for custom configs from GCP deployments (#9280) 2025-02-24 09:17:34 +00:00
Marek 361fa65039
chore: Update the PR template (#9277)
* Update PR template

* Don't automatically assign the `C-trivial` label

* Use `C-exclude-from-changelog` label

* Simplify the PR template

* Simplify the PR template

* Simplify the PR template

* Update .github/pull_request_template.md

Co-authored-by: Pili Guerra <1311133+mpguerra@users.noreply.github.com>

* grammar

---------

Co-authored-by: Pili Guerra <1311133+mpguerra@users.noreply.github.com>
2025-02-21 15:03:51 +00:00
Gustavo Valverde c4e8e60c21
fix(ci): temporarily disable `test-zebra-conf-path` (#9279) 2025-02-20 09:00:03 +00:00
dependabot[bot] 0b8bef37ac
build(deps): bump the devops group across 1 directory with 3 updates (#9275)
Bumps the devops group with 3 updates in the / directory: [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [docker/build-push-action](https://github.com/docker/build-push-action) and [docker/scout-action](https://github.com/docker/scout-action).


Updates `docker/setup-buildx-action` from 3.8.0 to 3.9.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.8.0...v3.9.0)

Updates `docker/build-push-action` from 6.13.0 to 6.14.0
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.13.0...v6.14.0)

Updates `docker/scout-action` from 1.16.1 to 1.16.3
- [Release notes](https://github.com/docker/scout-action/releases)
- [Commits](https://github.com/docker/scout-action/compare/v1.16.1...v1.16.3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: devops
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: devops
- dependency-name: docker/scout-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: devops
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 19:53:46 +00:00
Gustavo Valverde 14459e7cee
fix(ci): improve workflow conditions for cached disk jobs (#9274)
* fix(ci): Improve workflow conditions for cached disk jobs

Refactor GitHub workflow conditions to:
- Handle workflow dispatch events more precisely
- Prevent running cached disk jobs on forked PRs
- Ensure consistent behavior across different deployment workflows
- Avoid skipping main branch deployments
- Updated the if condition for the deploy-nodes job to ensure it only runs when the build job runs successfully and is not skipped.

* fix(ci): disable custom Zebra config test and fix registry condition

- Comment out the `test-zebra-conf-path` job in the deployment workflow
- Fix a syntax error in the GCP resource deletion workflow's condition
- Remove an extra single quote in the `if` condition for the `clean-registries` job
2025-02-19 19:31:20 +00:00
Marek ac25192afc
docs(docker): update examples for running Zebra in Docker (#9269)
* Rm `.env` files

* Update `mining-docker.md`

* Revert "Rm `.env` files"

This reverts commit caaa4559c3.

* Add `enable_cookie_auth` to default Zebra conf

* Rename `default_zebra_config.toml`

* fmt `prometheus.yaml`

* Update `docker/test.env`

* Update `docker/.env`

* Refactor `docker compose` for lwd

* Enable disabling cookie authentication

* Update `docker compose` for tests

* Update general `docker compose`

* Update docs for running Zebra in Docker

* Add example `docker compose` file for Grafana

* Fix a bug in an example command

* Refactor test execution logic in entrypoint

* Rename `v2.1.0.toml` conf to `custom-conf.toml`

* Fix CI tests for loading of custom conf files

* Use the new conf file name in CI checks

* Use an extended regexp for custom conf CI check
2025-02-19 17:44:06 +00:00
Hazel OHearn 1e9f021784
make chain_tip_difficultu pub to reuse in zaino (#9271) 2025-02-18 19:49:45 +00:00
Greg Pfeil 5953f8a2c7
refactor(ci): do not run workflows tied to `ZcashFoundation` infra in forks (#9257)
* Fix GitHub workflows

There are two workflows that have bugs in them:
- cd-deploy-nodes-gcp is missing a job name, which is then depended-on
  later
- sub-ci-integration-tests-gcp changed the name of a job without
  changing its dependents

* Stop certain CI jobs from running on forks

There are various GitHub CI jobs that won’t work on forks. E.g., some
need credentials for ZF’s DockerHub or GCP accounts.

Unfortunately, you can’t prevent entire workflows from running this way,
but this disables a minimal number of jobs to keep forks from failing
whenever `main` is pushed to.
2025-02-18 11:21:49 +00:00
Arya 9591c003ee
Replaces mutex with watch channel (#9262) 2025-02-18 11:03:38 +00:00
Alfredo Garcia 5cf5178d50
feature(rpc): Extend `getinfo` (#9261)
* introduce new fields to `GetInfo`

* add address book to methods for getinfo connections field

* add the version field to getinfo

* track last node error or warning and display it in getinfo rpc method

* add the rest of the fields, minor cleanup

* fix the tests

* clippy
2025-02-18 03:23:55 +00:00
Arya b4211aa1cf
feat(network): Track misbehaving peer connections and ban them past a threshold (#9201)
* feat(network): Add misbehavior tracking for peers in the address book

* - Add a `misbehavior_score` field to `MetaAddr`
- Add a `bans_by_ip` field to `AddressBook`
- Update the `AddressBook::update()` method to:
    - increment misbehavior scores in its entries,
    - add addr ips to bans_by_ip if the score is excessive,
    - remove any addrs at the banned ip
- Avoid responding to `GetAddr` requests with addresses of misbehaving peers (return None from `sanitized()`),
- Avoid new inbound or outbound connections to banned ips

* Drops banned peer connections in peer set's `poll_ready()` method

* Adds rudimentary misbehavior score tracking

* fixes some proptests, moves and removes some TODOs

* fixes lint

* Removes outdated TODO

* Adds stub for acceptance test

* updates call to updated fn

* Stores likely inbound peer connection addresses in address book and return their IPs with the default port instead of the transient port when responding to GetAddr requests

* Avoids gossiping peer addrs from inbound connections

* updates test to check that sanitize won't return inbound peer addrs or addrs with non-zero misbehaviour scores.

updated misbehaviour score for potentially unavoidable errors.

* Updates `generate` RPC to support any network where PoW is disabled.

Updates acceptance test to check that zebrad instances disconnect once one of them advertises a block with an invalid PoW

* minor tangential cleanup

* Finishes acceptance test, sends misbehavior updates from syncer, and always updates address book entries if the update is to their misbehaviour score

* skip test on windows (to minimize risk of port conflict)

* Applies suggestions from code review
2025-02-15 22:02:17 +00:00
Conrado Gouvea 4613dcd259
feat(rpc): add verbose support to getrawmempool (#9249)
* feat(rpc): add verbose support to getrawmempool

* make 'if verbose' clearer

* cargo fmt

* fix unused warnings

* Update zebra-rpc/src/methods/types/get_raw_mempool.rs

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2025-02-15 12:45:33 +00:00
Marek b2fb1a7d56
fix(tests): Check if a cached state is present in scanner tests (#9251)
* Fix `scan_task_commands` test

* Fix `scan_start_where_left` test

* fmt

* fmt

* Fix var for scanning tests
2025-02-13 18:15:32 +00:00
Gustavo Valverde 39017c06d2
feat(ci): add static IPs and improve node deployment workflows (#8891)
This change enhances the GCP deployment workflows with several improvements:

- Add static IP address support for long-running nodes
- Implement dynamic network selection matrix
- Add manual deployment trigger support
- Update GCP configuration syntax for better compatibility
- Remove redundant deploy-instance job
- Improve environment labeling and log file handling

The static IP addresses will help maintain stable network connectivity
for long-running nodes, particularly important for testnet peer discovery.

Fixes #8763
2025-02-13 15:51:04 +00:00