Commit Graph

5457 Commits

Author SHA1 Message Date
dependabot[bot] 8ffbdab3ab
build(deps): bump the ecc group across 1 directory with 3 updates
Bumps the ecc group with 3 updates in the / directory: [incrementalmerkletree](https://github.com/zcash/incrementalmerkletree), [zcash_encoding](https://github.com/zcash/librustzcash) and [zcash_note_encryption](https://github.com/zcash/librustzcash).


Updates `incrementalmerkletree` from 0.7.0 to 0.7.1
- [Commits](https://github.com/zcash/incrementalmerkletree/compare/incrementalmerkletree-v0.7.0...incrementalmerkletree-v0.7.1)

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

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

---
updated-dependencies:
- dependency-name: incrementalmerkletree
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ecc
- dependency-name: zcash_encoding
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ecc
- dependency-name: zcash_note_encryption
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ecc
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-26 14:23:25 +00:00
Alfredo Garcia 0fe47bbbbb
feature(rpc): Migrate from deprecated `jsonrpc_*` crates to `jsonrpsee` (#9059)
* update methods

* update get block template rpc methods

* update other getblocktemplate files

* upgrade server and middlewares

* upgrade zebrad start command

* remove unused imports

* add a todo for unauthenticated rpc error

* upgrade tests, temporally comment out some of them

* fix the rpc tx queue

* update denies

* fix  links

* clippy

* fir more doc links

* fix queue tests

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

* add suggestions from code review

* fix snapshots

* try `block_on` instead of `now_or_never` in the http middleware

* move import

* Apply suggestions from code review

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

* fix bounds

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
2024-12-21 02:29:16 +00:00
dependabot[bot] 1ecf6551bc
build(deps): bump the devops group across 1 directory with 4 updates (#9091)
Bumps the devops group with 4 updates in the / directory: [codecov/codecov-action](https://github.com/codecov/codecov-action), [tj-actions/changed-files](https://github.com/tj-actions/changed-files), [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) and [docker/scout-action](https://github.com/docker/scout-action).


Updates `codecov/codecov-action` from 5.0.7 to 5.1.1
- [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.0.7...v5.1.1)

Updates `tj-actions/changed-files` from 45.0.4 to 45.0.5
- [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.4...v45.0.5)

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

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

---
updated-dependencies:
- 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-patch
  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/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>
2024-12-20 03:55:11 +00:00
Arya 7597cf1cae
change(consensus): Allow transactions spending coinbase outputs to have transparent outputs on Regtest (#9085)
* Updates `coinbase_spend_restriction()` method to always return `OnlyShieldedOutputs` on Regtest.

* Adds a `should_allow_unshielded_coinbase_spends` field to testnet::Parameters

* Adds a test

* Apply suggestions from code review

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

* Renames CoinbaseSpendRestriction variants and updates their documentation.

Updates a comment.

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Marek <mail@marek.onl>
2024-12-20 01:29:42 +00:00
Arya 1974fea885
change(rpc): Avoid re-verifying transactions in blocks if those transactions are in the mempool (#8951)
* skips re-verifying transactions in blocks that are present in the mempool.

* clippy fix

* adds a test

* fixes clippy lint

* Use NU6 & V5 tx in new test

* Uses correct consensus branch id in test
2024-12-19 18:46:27 +00:00
Conrado Gouvea 543f0669e1
add(rpc): getblock: return transaction details with verbosity=2 (#9083)
* getblock: return tx objects with verbosity=2

* fix test

* use FuturesOrdered

* Suggestion for "add(rpc): getblock: return transaction details with verbosity=2" (#9084)

* Replaces multiple service calls (per transaction) with a single call to the state service for all of a block's transactions.

* adjustments to reuse code from getrawtransaction

---------

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

* update snapshot

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
2024-12-14 12:28:57 +00:00
Marek b0c4d19a7c
fix(rpc): Refactor `getrawtransaction` & RPC error handling (#9049)
* clean-up: simplify the def of `MapServerError`

* Use `HexData` instead of `String` for TXIDs

* Remove a redundant test

We don't need such a test anymore because the deserialization is handled
by Serde now.

* Adjust tests for using `HexData`

* Make `height` and `confirmations` optional

* Use legacy error codes

* fmt

* Remove unneeded error codes

* Remove `zebra-rpc/src/constants.rs`

* Rename `MapServerError` to `MapError`

* Rename `OkOrServerError` to `OkOrError`

* Allow specifying error codes when mapping errors

* Allow setting error codes when mapping options

* Use the right error code for `getrawtransaction`

* fmt

* Add docs for the error conversion traits

* Refactor the error handling for `getblock`

* Refactor error handling in `sendrawtransaction`

* Refactor the error handling for `getblock`

* Update the error handling for `getrawtransaction`

* Refactor error handling for `z_gettreestate`

* Refactor the error handling for address parsing

* Refactor the error handling for getrawtransaction

* Update `z_gettreestate` snapshots

* Cosmetics

* Refactor error handling in `getblock`

* Refactor error handling in `getblockheader`

* Simplify `getrawtransaction`

* Check errors for `getrawtransaction`

* fmt

* Simplify proptests

* Fix unit tests for `getaddresstxids`

* Fix unit tests for `getaddressutxos`

* fix docs

* Update snapshots for `getrawtransaction`

* Update zebra-rpc/src/server/error.rs

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

* Use `transaction::Hash` instead of `HexData`

* Simplify error handling

* Update zebra-rpc/src/server/error.rs

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

* Move a note on performance

* Fix a typo

* Use `String` instead of `transaction::Hash`

* Adjust and add proptests

* Reintroduce snapshots for invalid TXIDs

* Don't derive `Serialize` & `Deserialize` for txids

Deriving `serde::Serialize` & `serde::Deserialize` for
`transaction::Hash` was superfluous, and we didn't need it anywhere in
the code.

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-12-13 14:01:53 +00:00
dependabot[bot] 568b25e590
build(deps): bump the prod group with 10 updates (#9077)
* build(deps): bump the prod group with 10 updates

Bumps the prod group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.21` | `4.5.23` |
| [chrono](https://github.com/chronotope/chrono) | `0.4.38` | `0.4.39` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.41.1` | `1.42.0` |
| [tokio-stream](https://github.com/tokio-rs/tokio) | `0.1.16` | `0.1.17` |
| [tower](https://github.com/tower-rs/tower) | `0.4.13` | `0.5.1` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.3` | `2.0.6` |
| [tracing-subscriber](https://github.com/tokio-rs/tracing) | `0.3.18` | `0.3.19` |
| [prost](https://github.com/tokio-rs/prost) | `0.13.3` | `0.13.4` |
| [primitive-types](https://github.com/paritytech/parity-common) | `0.12.2` | `0.13.1` |
| [tokio-util](https://github.com/tokio-rs/tokio) | `0.7.12` | `0.7.13` |


Updates `clap` from 4.5.21 to 4.5.23
- [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.21...clap_complete-v4.5.23)

Updates `chrono` from 0.4.38 to 0.4.39
- [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.38...v0.4.39)

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

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

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

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

Updates `tracing-subscriber` from 0.3.18 to 0.3.19
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.18...tracing-subscriber-0.3.19)

Updates `prost` from 0.13.3 to 0.13.4
- [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.3...v0.13.4)

Updates `primitive-types` from 0.12.2 to 0.13.1
- [Commits](https://github.com/paritytech/parity-common/commits/primitive-types-v0.13.1)

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

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: tokio-stream
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tower
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tracing-subscriber
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: prost
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: primitive-types
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
...

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

* downgrade tower and primitive-types

---------

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>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-12-11 16:29:44 +00:00
Arya eb1d129fea
fix(test): Fixes bugs in the lightwalletd integration tests (#9052)
* Fixes bug in send transaction test

* fixes new bug in send_transaction_test

* Removes unused `load_transactions_from_future_blocks` and factors out code for sending transactions to its own fn

* corrects tx count updates to exclude coinbase txs

* fixes formatting

* Calls zebra's sendrawtransaction method if lwd's send_transaction() return an error for more detailed error info

* removes instrument

* avoids panic when a future block has only a coinbase transaction

* fixes check for gossip log (only happens when 10 txs have been added

* fixes a concurrency bug, adds more detailed errors.

* removes unnecessary wait_for_stdout calls and fixes condition for early return

* Fixes issue around missing stdout line

* Fixes bug around expected tx ids and removes outdated TODO

* Fixes issue with expected ZF funding stream address balance in post-NU6 chains

* fixes the rest of wallet_grpc_test

* Update zebrad/src/components/mempool/downloads.rs

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
2024-12-11 14:52:59 +00:00
dependabot[bot] be50f7ce83
build(deps): bump the prod group across 1 directory with 22 updates (#9065)
* build(deps): bump the prod group across 1 directory with 22 updates

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

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.20` | `4.5.21` |
| [indexmap](https://github.com/indexmap-rs/indexmap) | `2.6.0` | `2.7.0` |
| [serde](https://github.com/serde-rs/serde) | `1.0.214` | `1.0.215` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.41.0` | `1.41.1` |
| [tower](https://github.com/tower-rs/tower) | `0.4.13` | `0.5.1` |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.65` | `2.0.3` |
| [tracing-error](https://github.com/tokio-rs/tracing) | `0.2.0` | `0.2.1` |
| [tracing](https://github.com/tokio-rs/tracing) | `0.1.40` | `0.1.41` |
| [metrics](https://github.com/metrics-rs/metrics) | `0.24.0` | `0.24.1` |
| [thread-priority](https://github.com/iddm/thread-priority) | `1.1.0` | `1.2.0` |
| [sentry](https://github.com/getsentry/sentry-rust) | `0.32.3` | `0.35.0` |
| [inferno](https://github.com/jonhoo/inferno) | `0.11.21` | `0.12.0` |
| [hyper](https://github.com/hyperium/hyper) | `1.5.0` | `1.5.1` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.8.0` | `1.9.0` |
| [indicatif](https://github.com/console-rs/indicatif) | `0.17.8` | `0.17.9` |
| [insta](https://github.com/mitsuhiko/insta) | `1.41.0` | `1.41.1` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.132` | `1.0.133` |
| [tempfile](https://github.com/Stebalien/tempfile) | `3.13.0` | `3.14.0` |
| [primitive-types](https://github.com/paritytech/parity-common) | `0.12.2` | `0.13.1` |
| [elasticsearch](https://github.com/elastic/elasticsearch-rs) | `8.5.0-alpha.1` | `8.16.0-alpha.1` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.11.27` | `0.12.9` |



Updates `clap` from 4.5.20 to 4.5.21
- [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.20...clap_complete-v4.5.21)

Updates `indexmap` from 2.6.0 to 2.7.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.6.0...2.7.0)

Updates `serde` from 1.0.214 to 1.0.215
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.214...v1.0.215)

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

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

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

Updates `tracing-error` from 0.2.0 to 0.2.1
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-error-0.2.0...tracing-error-0.2.1)

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

Updates `metrics` from 0.24.0 to 0.24.1
- [Changelog](https://github.com/metrics-rs/metrics/blob/main/release.toml)
- [Commits](https://github.com/metrics-rs/metrics/compare/metrics-v0.24.0...metrics-v0.24.1)

Updates `thread-priority` from 1.1.0 to 1.2.0
- [Commits](https://github.com/iddm/thread-priority/commits)

Updates `sentry` from 0.32.3 to 0.35.0
- [Release notes](https://github.com/getsentry/sentry-rust/releases)
- [Changelog](https://github.com/getsentry/sentry-rust/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-rust/compare/0.32.3...0.35.0)

Updates `inferno` from 0.11.21 to 0.12.0
- [Changelog](https://github.com/jonhoo/inferno/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jonhoo/inferno/compare/v0.11.21...v0.12.0)

Updates `hyper` from 1.5.0 to 1.5.1
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v1.5.0...v1.5.1)

Updates `bytes` from 1.8.0 to 1.9.0
- [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.8.0...v1.9.0)

Updates `indicatif` from 0.17.8 to 0.17.9
- [Release notes](https://github.com/console-rs/indicatif/releases)
- [Commits](https://github.com/console-rs/indicatif/compare/0.17.8...0.17.9)

Updates `insta` from 1.41.0 to 1.41.1
- [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.41.0...1.41.1)

Updates `serde_json` from 1.0.132 to 1.0.133
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.132...v1.0.133)

Updates `tempfile` from 3.13.0 to 3.14.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.13.0...v3.14.0)

Updates `primitive-types` from 0.12.2 to 0.13.1
- [Commits](https://github.com/paritytech/parity-common/commits/primitive-types-v0.13.1)

Updates `elasticsearch` from 8.5.0-alpha.1 to 8.16.0-alpha.1
- [Release notes](https://github.com/elastic/elasticsearch-rs/releases)
- [Commits](https://github.com/elastic/elasticsearch-rs/commits)

Updates `reqwest` from 0.11.27 to 0.12.9
- [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.11.27...v0.12.9)

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

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: indexmap
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tower
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: prod
- dependency-name: tracing-error
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: metrics
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: thread-priority
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: sentry
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: inferno
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: bytes
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: indicatif
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: insta
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: primitive-types
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: elasticsearch
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
...

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

* downgrade tower, add denies

---------

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>
2024-12-07 04:27:09 +00:00
Arya 179aaa4c4f
Release v2.1.0 (#9072)
* Updates changelog, crate versions, end of support height, and docs.

* Update CHANGELOG.md

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

---------

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
2024-12-06 18:28:56 +00:00
Arya 1cf249c665
Updates checkpoints (#9071) 2024-12-05 23:10:20 +00:00
Marek bd122b6f7c
add(consensus): Check consensus branch ids in tx verifier (#9063)
* Add a consensus branch id check to tx verifier

* Allow updating tx network upgrades

* Fix unit tests for txs

* Remove `println`

* Move test-only tx methods out of the default impl

* Add a test for checking consensus branch ids

* Simplify some tests

* Docs formatting

* Update zebra-consensus/src/transaction/check.rs

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

* Add `effectiveVersion` to txs

* Refactor the consensus branch ID check

* Update zebra-consensus/src/error.rs

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

* Refactor the consensus branch ID check

* Remove `effective_version`

* Refactor tests for consensus branch ID check

---------

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2024-12-05 15:06:17 +00:00
Conrado Gouvea a3bb1e2e05
change(diagnostics): Updates error messages to include inner error types (#9066)
* add: add consensus validation reason to error messages

* add additional instances
2024-12-04 18:45:10 +00:00
dependabot[bot] eb9e1f150a
build(deps): bump the devops group across 1 directory with 5 updates (#9061)
Bumps the devops group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `4.6.0` | `5.0.7` |
| [tj-actions/changed-files](https://github.com/tj-actions/changed-files) | `45.0.3` | `45.0.4` |
| [docker/metadata-action](https://github.com/docker/metadata-action) | `5.5.1` | `5.6.1` |
| [docker/build-push-action](https://github.com/docker/build-push-action) | `6.9.0` | `6.10.0` |
| [docker/scout-action](https://github.com/docker/scout-action) | `1.15.0` | `1.15.1` |



Updates `codecov/codecov-action` from 4.6.0 to 5.0.7
- [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/v4.6.0...v5.0.7)

Updates `tj-actions/changed-files` from 45.0.3 to 45.0.4
- [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.3...v45.0.4)

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

Updates `docker/build-push-action` from 6.9.0 to 6.10.0
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.9.0...v6.10.0)

Updates `docker/scout-action` from 1.15.0 to 1.15.1
- [Release notes](https://github.com/docker/scout-action/releases)
- [Commits](https://github.com/docker/scout-action/compare/v1.15.0...v1.15.1)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: devops
- dependency-name: tj-actions/changed-files
  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/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>
2024-12-04 15:17:33 +00:00
Gustavo Valverde e72c0fe6f2
refactor(mergify): streamline queue and priority rules (#9068)
- Removed deprecated actions and simplified default queue rules.
- Adjusted batch sizes for urgent and batched queues.
- Consolidated priority rules to enhance clarity and efficiency.
- Updated conditions for moving pull requests to different queues based on labels and reviews.
2024-12-04 14:52:28 +00:00
Arya 7561e1ef26
change(mempool): Return verification result after attempting to insert transactions in the mempool (#9067)
* change(mempool): Return verification result after attempting to insert transactions in the mempool (#8901)

* respond with mempool verification result after a transaction has been inserted or has failed to be inserted into the mempool

* returns mempool verification errors early, and fixes handling for cancellations or timeouts.

* Adds a comment in test warning against code reuse with buffered services.

* De-duplicates handling for timeout errors
2024-12-04 13:53:06 +00:00
Conrado Gouvea d1ae441ab9
change(rpc): Update `getblock` RPC to more closely match zcashd (#9006)
* rpc: align getblock with zcashd behaviour

* Removes handling for verbosity = 3 in getblock method, adds finalorchardroot field, removes unnecessary state request. (#9008)

* align final(sapling|orchard)root with zcashd behaviour

* fix test

* Apply suggestions from code review

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

* restore getblock docs; remove unneeded TODOs

* Update zebra-rpc/src/methods.rs

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

* get rif of cloning self (#9044)

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-12-02 14:58:34 +00:00
Arya e15184d39b
chore: Fix clippy lints (#9062)
* Allows non-local impls for abscissa derive macros and fixes other clippy lints.

* Fixes formatting
2024-11-29 23:15:20 +00:00
Arya 8cfb61f52c
add(ci): Check that dependencies have all been published to crates.io on release PRs (#8992)
* Adds a test to check for crates in the Cargo.lock file that are being pulled in from a git source.

* add `check_no_git_refs_in_cargo_lock` to CI

* try skip instead of exclude

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2024-11-27 15:49:12 +00:00
Alfredo Garcia 0af0742613
upgrade min protocol versions for all network kinds (#9058) 2024-11-27 15:49:07 +00:00
Gustavo Valverde 802a243385
fix(mergify): align `build` job name across workflows (#9055) 2024-11-27 15:49:02 +00:00
Alfredo Garcia 4f0746a613
fix links in release templates (#9050) 2024-11-22 12:15:06 +00:00
Marek 5f2f97209e
fix(test): Update the reference Sapling treestate (#9051)
* Update the reference Sapling treestate

Zebra's treestate serialization differs from `zcashd` in the following
way:

`zcashd` omits the serialization of empty trailing ommers, while Zebra
doesn't. This means that `zcashd` serializes the Sapling treestate for
height 419_201 as

019eb30778ddeea84c72e69e07a1689f3c8def3dc0a1939f0edcbe47279069d9310002000150715810d52caf35471d10feb487213fbd95ff209122225b7b65d27a7fb1a44d

Whereas Zebra serializes it as

019eb30778ddeea84c72e69e07a1689f3c8def3dc0a1939f0edcbe47279069d931001f000150715810d52caf35471d10feb487213fbd95ff209122225b7b65d27a7fb1a44d0000000000000000000000000000000000000000000000000000000000

Serialization Format
====================

The serialized treestate consists of optional, hex-encoded, 32-byte
hashes. If the hash is not present, it is serialized as byte 0, i.e.,
`0x00`. If the hash is present, it is prefixed by byte 1, i.e. `0x01`.
The first two hashes in the serialized treestate are the treestate's
left and right leaves. These are followed by the serialized length of
the vector of ommers. This length is serialized as 1, 3, 5, or 9 bytes.
If the length is less than 253, it is serialized as a single byte. The
length is then followed by the serialized ommers.

We can now parse the first string, produced by `zcashd`:

- `0119eb30778ddeea84c72e69e07a1689f3c8def3dc0a1939f0edcbe47279069d931`
  is the serialized left leaf,
- `00` is the serialized right leaf,
- `02` is the serialized length of the vector of ommers,
- `00` is the serialized first ommer,
- `0150715810d52caf35471d10feb487213fbd95ff209122225b7b65d27a7fb1a44d`
  is the serialized second ommer.

And the second one, produced by Zebra:

- `0119eb30778ddeea84c72e69e07a1689f3c8def3dc0a1939f0edcbe47279069d931`
  is the serialized left leaf,
- `00` is the serialized right leaf,
- `1f` is the serialized length of the vector of ommers,
- `00` is the serialized first ommer,
- `0150715810d52caf35471d10feb487213fbd95ff209122225b7b65d27a7fb1a44d`
  is the serialized second ommer
- `0000000000000000000000000000000000000000000000000000000000` are the
  remaining 29 serialized ommers.

Note that both serializations represent the same treestate.

* Remove a new line char
2024-11-22 12:15:01 +00:00
Gustavo Valverde 3983428ac4
fix(ci): run most lighwalletd tests correctly (#9038)
A LWD test was expecting the `ZEBRA_TEST_LIGHTWALLETD` to be set, but this variable is needed for all LWD tests and not specifically for `lightwalletd_integration`.

We had to rename this variable on a buggy `elif` statement in our Docker entrypoint.

This was avoiding most LWD tests to run correctly.
2024-11-19 11:41:57 +00:00
Alfredo Garcia 17648cc6e1
remove `scan-start-where-left-test` from CI (#9026) 2024-11-19 10:25:37 +01:00
Arya 1e46914131
add(rpc): Adds `getblockheader` RPC method (#8967)
* Adds getblockheader RPC method

* Updates snapshots, adds hash/height/next_block_hash fields to verbose response

* updates getblock snapshot

* updates getblockheader response type to hex-encode fields, adds ToHex impl for sapling::tree::Root, adds snapshot and vector tests for new RPC method, adds snapshots.

* rustfmt

* fixes snapshots, matches zcashd more closely

* fixes vectors test

* updates lwd failure messages (probably doesn't matter, but seems better to handle it now than risk debugging it later)

* fixes getblock_rpc test, fixes/reverses finalsaplingroot field byte-order.

* fixes vector test, addresses remaining differences with zcashd (except the `chainwork` field), updates snapshots, and avoids a possible panic when there's a chain reorg between state queries.

* Adds a comment noting that the `relative_to_network()` method was copied from zcashd

* Apply suggestions from code review

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

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-11-18 12:16:27 +00:00
Arya 1dfac40751
add(mempool): Verify transactions with unmined inputs in the mempool (#8857)
* Adds a parameter to `zebra_consensus::router::init()` for accepting a mempool setup argument, adds and uses an `init_test()` fn for passing a closed channel receiver in tests where no mempool service is needed in the transaction verifier.

* Adds a `mempool` argument to the transaction::Verifier constructor (and a `new_for_tests()` constructor for convenience)

* Removes `Clone` impl on `transaction::Verifier` to add mempool oneshot receiver, updates tests.

* Adds TODOs

* updates transaction verifier's poll_ready() method to setup the mempool service handle.

* Updates VerifiedSet struct used in mempool storage

* Updates mempool service and its `Storage` to use the updated `VerifiedSet` `transactions()` return type.

* updates `created_outputs` when inserting or removing a transaction from the mempool's verified set

* Adds a TODO, updates field docs

* Updates `spent_utxos()` to query the mempool for unspent outputs

* Adds `spent_mempool_outpoints` as a field on tx verifier mempool response

* Updates mempool `Downloads` to return the spent_mempool_outpoints from the tx verifier response

* Updates `Storage.insert()` to accept a list of spent mempool transaction outputs

* Adds transaction dependencies when inserting a tx in `VerifiedSet`

* polls mempool svc from tx verifier when a mempool tx that creates transparent outputs has been verified.

adds a TODO for adding a `pending_outputs` field to the mempool Storage

* Adds `pending_outputs` field on mempool Storage and responds to pending outputs requests when inserting new transactions into the mempool's verified set

* replaces `UnminedTxId` type with `transaction::Hash` in mempool's verified set

* prune pending outputs when rejecting and removing same effects.

* Remove dependent transactions from verified set when removing a tx

* updates tests

* appeases clippy.

* removes unused `len()` method

* fixes doc links

* Adds transaction dependencies to the `FullTransactions` response, let the caller handle it (required to avoid moving zip317 tx selection code to mempool)

* updates block template construction to avoid including transactions unless their dependencies have already been added.

* updates tests

* Replaces placeholder setup channel with one that sends the mempool svc to the tx verifier, adds a timeout layer, adds a TODO about a concurrency bug

* Use a single query to check for unspent outputs in the mempool

* Updates `getblocktemplate` method to consider dependencies when sorting transactions for the final template

* fixes clippy lints, removes unnecessary Option in UnspentOutput response variant

* renames type alias and method, adds a TODO to use iteration instead of recursion

* Adds mempool_removes_dependent_transactions() test

* Updates Storage and VerifiedSet clear() methods to clear pending_outputs, created_outputs, and transaction_dependencies, adds TODO to use iteration instead of recursion.

* removes outdated TODO

* Adds a TODO for reporting queued transaction verification results from the mempool from the poll_ready() method

* Adds `mempool_responds_to_await_output` test

* updates mempool_responds_to_await_output test

* Uses iteration instead of recursion in verified set's remove() method and zip317 mod's dependencies_depth() method

* Adds a mempool_request_with_mempool_output_is_accepted test for the transaction verifier

* Moves delay duration before polling the mempool to a constant, uses a shorter timeout for mempool output lookups, adds a `poll_count` to MockService, and updates `mempool_request_with_unmined_output_spends_is_accepted` to check that the transaction verifier polls the mempool after verifying a mempool transaction with transparent outputs

* adds long_poll_input_mempool_tx_ids_are_sorted test

* Adds a `excludes_tx_with_unselected_dependencies` test

* Updates a TODO

* moves `TransactionDependencies` struct to `zebra-node-services`

* Updates `FullTransactions` response variant's `transaction_dependencies` type

* updates zip317 transaction selection for block templates to include dependent transactions

* Moves and refactors zip317 tx selection test to its own module, adds an `unmined_transactions_in_blocks()` method on network

* Removes `unmined_transactions_in_blocks()`  test utility fn from mempool Storage test module and replaces calls to it with calls to the new test method on Network

* Fixes spelling mistake

* Adds `includes_tx_with_selected_dependencies` test

* fixes zip317 block construction issue

* Fixes vectors test

* Update zebra-node-services/src/mempool.rs

* restores `tip_rejected_exact` type

* updates affected tests

* Documents the new argument in `Storage::insert()`, updates outdated comment

* Update zebrad/src/components/mempool/storage/verified_set.rs

* fixes potential issue with calling buffered mempool's poll_ready() method without calling it.

* Avoids removing dependent transactions of transactions that have been mined onto the best chain.

* Updates `spent_utxos()` method documentation

* Avoids sorting getblocktemplate transactions in non-test compilations

* documents PendingOutputs struct

* Apply suggestions from code review

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

* cargo fmt

* Applies suggestions from code review

Avoids unnecessarily rejecting dependent transactions of randomly evicted mempool transactions.

Updates `TransactionDependencies::remove_all()` to omit provided transaction id from the list of removed transaction ids.

* Applies suggestions from code review.

* Adds minor comments

* Update zebrad/src/components/mempool/storage/verified_set.rs

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

* Remove an outdated comment (#9013)

---------

Co-authored-by: Marek <mail@marek.onl>
2024-11-18 12:16:21 +00:00
Conrado Gouvea 77f14601c1
chore: update CHANGELOG to better convey the 2.0.0 issue (#9007)
* chore: update CHANGELOG to better convey the 2.0.0 issue

* Apply suggestions from code review

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

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Arya <aryasolhi@gmail.com>
2024-11-18 11:36:35 +00:00
Gustavo Valverde 2a6e184086
fix(mergify): remove deprecated `speculative_checks` option (#9033)
While using Mergify's configuration checker, this issue was not raised, but it's now showing in some PR's summaries, as in https://github.com/ZcashFoundation/zebra/pull/9026/checks?check_run_id=33066692861
2024-11-18 11:08:58 +00:00
Cypher Pepe 7d37f77059
fix: typos correction docs (#9014)
* typo 0005-treestate.md

* typo xxxx-block-subsidy.md

* typo continuous-delivery.md

* typo docker.md

* typo shielded-scan.md
2024-11-14 13:15:26 +00:00
pinglanlu 987a34a6e0
chore: remove redundant words in comment (#9015)
Signed-off-by: pinglanlu <pinglanlu@outlook.com>
2024-11-14 13:15:21 +00:00
Gustavo Valverde ac90773331
ref(mergify): use the the configuration format and keys (#9018) 2024-11-14 12:03:51 +00:00
dependabot[bot] 4eb285de50
build(deps): bump rlespinasse/github-slug-action in the devops group (#9002)
Bumps the devops group with 1 update: [rlespinasse/github-slug-action](https://github.com/rlespinasse/github-slug-action).


Updates `rlespinasse/github-slug-action` from 4 to 5
- [Release notes](https://github.com/rlespinasse/github-slug-action/releases)
- [Commits](https://github.com/rlespinasse/github-slug-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: rlespinasse/github-slug-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: devops
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 12:51:57 +00:00
Gustavo Valverde edff643c08
feat(actions): migrate Mergify to GitHub's Merge Queue (#9005)
This is an initial step before completely removing Mergify, to keep the duality betwen the two to avoid downtime with queue management
2024-11-11 12:51:51 +00:00
Gustavo Valverde f919da3aca
chore(ci): do not default to `tracing` mode in jobs execution (#9004) 2024-11-09 00:03:39 +00:00
idky137 c26c3f2be1
add pub functionality for zaino (#8964)
* add pub functionality for zaino

* updated doc comment with review suggestion
2024-11-05 19:15:27 +00:00
Gustavo Valverde d7fbde3176
fix(actions): do not require the `get-disk-name` job for forks (#8988) 2024-11-05 12:30:00 +00:00
dependabot[bot] 6a82531585
build(deps): bump the devops group across 1 directory with 5 updates (#8993)
Bumps the devops group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4.2.1` | `4.2.2` |
| [google-github-actions/auth](https://github.com/google-github-actions/auth) | `2.1.6` | `2.1.7` |
| [google-github-actions/setup-gcloud](https://github.com/google-github-actions/setup-gcloud) | `2.1.1` | `2.1.2` |
| [jontze/action-mdbook](https://github.com/jontze/action-mdbook) | `3.0.0` | `3.0.1` |
| [docker/scout-action](https://github.com/docker/scout-action) | `1.14.0` | `1.15.0` |



Updates `actions/checkout` from 4.2.1 to 4.2.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.1...v4.2.2)

Updates `google-github-actions/auth` from 2.1.6 to 2.1.7
- [Release notes](https://github.com/google-github-actions/auth/releases)
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google-github-actions/auth/compare/v2.1.6...v2.1.7)

Updates `google-github-actions/setup-gcloud` from 2.1.1 to 2.1.2
- [Release notes](https://github.com/google-github-actions/setup-gcloud/releases)
- [Changelog](https://github.com/google-github-actions/setup-gcloud/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google-github-actions/setup-gcloud/compare/v2.1.1...v2.1.2)

Updates `jontze/action-mdbook` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/jontze/action-mdbook/releases)
- [Changelog](https://github.com/jontze/action-mdbook/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jontze/action-mdbook/compare/v3.0.0...v3.0.1)

Updates `docker/scout-action` from 1.14.0 to 1.15.0
- [Release notes](https://github.com/docker/scout-action/releases)
- [Commits](https://github.com/docker/scout-action/compare/v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: devops
- dependency-name: google-github-actions/auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: devops
- dependency-name: google-github-actions/setup-gcloud
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: devops
- dependency-name: jontze/action-mdbook
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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>
2024-11-05 11:47:35 +00:00
Gustavo Valverde 75fae66dc6
fix(ci): fail cache disk creation if no db version is found (#8987)
In some cases Zebra logs might not output the database version, and thus we should avoid creating a disk without a version.

Before this change, a disk was created without a db version number, just indicating a `-v-`, that caused other tests to fail as an actual version was not found in their regexes.
2024-11-04 18:42:51 +00:00
Gustavo Valverde 7b31711306
ref: adjust GCP instances resources to better fit requirements (#8986)
Previously, most of our deployed instances needed to sync the whole blockchain from genesis, but after implementing the mounting of cached states for the release instances, this is no longer required.

Main changes:
- Reduce the boot disk size for CD images to 10GB (in CI Zebra might need to rebuild based on test flags, requiring more disk space)
- Use `pd-standard` instead of `pd-ssd` for the boot disk
- Use `pd-balanced` instead of `pd-ssd` for the mounted disk (where most of the reads and writes happens)
- Change our `GCP_SMALL_MACHINE` from `c2-standard-4` (vCPUs: 4, RAM: 16 GiB) to `c2d-standard-2` (vCPUs: 2, RAM: 8 GiB)
- Keep long running tests `is_long_test` with `GCP_LARGE_MACHINE` (`c2d-standard-16`) and other with the new `GCP_SMALL_MACHINE`  configuration (`c2d-standard-2`)
2024-11-04 10:44:58 +00:00
Arya 83921bc01a
Adds rust-toolchain.toml (#8985) 2024-11-01 09:23:42 +00:00
Conrado Gouvea 54fe39a91b
book: add section about private testnet testing (#8937)
* book: add section about private testnet testing

* Apply suggestions from code review

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

* Apply suggestions from code review

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

---------

Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>
Co-authored-by: Arya <aryasolhi@gmail.com>
2024-10-30 19:14:44 +00:00
Marek fef500a728
chore: Release v2.0.1 (#8979)
* Run `cargo update`

* chore: Release

* Update `release-crates-dry-run.sh`

* Update `ESTIMATED_RELEASE_HEIGHT`

* Update `CHANGELOG.md`

* Update `ESTIMATED_RELEASE_HEIGHT`
2024-10-30 11:41:41 -03:00
Marek d930030087
change(deps): Use ECC deps with activation height for NU6 (#8978)
* Remove temporary dependency patches

We need to enable the `legacy-api` feature of `incrementalmerkletree` to
be able to serialize note commitment trees using an old serialization
format for the `z_gettreestate` RPC.

* Use spaces instead of a tab

* Bump ECC deps to match `zcashd`
2024-10-29 20:33:44 -03:00
Marek f45f6f282c
chore: Release v2.0.0 (#8974)
* Update `CHANGELOG.md`

* Update EOS

* Update CHANGELOG.md

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

* Update `release crates` script

* chore: Release

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
2024-10-25 22:52:19 +00:00
Marek 8b4ecc69d7
chore: Update `Cargo.lock` (#8969)
* Update `Cargo.lock`

* Update `deny.toml`
2024-10-25 19:36:17 +00:00
dependabot[bot] a941b67a57
build(deps): bump the prod group across 1 directory with 18 updates (#8958)
* build(deps): bump the prod group across 1 directory with 18 updates

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

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.18` | `4.5.20` |
| [indexmap](https://github.com/indexmap-rs/indexmap) | `2.5.0` | `2.6.0` |
| [serde](https://github.com/serde-rs/serde) | `1.0.210` | `1.0.211` |
| [futures](https://github.com/rust-lang/futures-rs) | `0.3.30` | `0.3.31` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.40.0` | `1.41.0` |
| [tower](https://github.com/tower-rs/tower) | `0.4.13` | `0.5.1` |
| [pin-project](https://github.com/taiki-e/pin-project) | `1.1.5` | `1.1.6` |
| [metrics](https://github.com/metrics-rs/metrics) | `0.23.0` | `0.24.0` |
| [hyper](https://github.com/hyperium/hyper) | `1.4.1` | `1.5.0` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.7.2` | `1.8.0` |
| [metrics-exporter-prometheus](https://github.com/metrics-rs/metrics) | `0.15.3` | `0.16.0` |
| [once_cell](https://github.com/matklad/once_cell) | `1.19.0` | `1.20.2` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.128` | `1.0.132` |
| [primitive-types](https://github.com/paritytech/parity-common) | `0.12.2` | `0.13.1` |
| [serde_with](https://github.com/jonasbb/serde_with) | `3.9.0` | `3.11.0` |



Updates `clap` from 4.5.18 to 4.5.20
- [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.18...clap_complete-v4.5.20)

Updates `indexmap` from 2.5.0 to 2.6.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.5.0...2.6.0)

Updates `serde` from 1.0.210 to 1.0.211
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.210...v1.0.211)

Updates `futures` from 0.3.30 to 0.3.31
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31)

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

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

Updates `pin-project` from 1.1.5 to 1.1.6
- [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.5...v1.1.6)

Updates `metrics` from 0.23.0 to 0.24.0
- [Changelog](https://github.com/metrics-rs/metrics/blob/main/release.toml)
- [Commits](https://github.com/metrics-rs/metrics/compare/metrics-v0.23.0...metrics-v0.24.0)

Updates `hyper` from 1.4.1 to 1.5.0
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v1.4.1...v1.5.0)

Updates `bytes` from 1.7.2 to 1.8.0
- [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.7.2...v1.8.0)

Updates `metrics-exporter-prometheus` from 0.15.3 to 0.16.0
- [Changelog](https://github.com/metrics-rs/metrics/blob/main/release.toml)
- [Commits](https://github.com/metrics-rs/metrics/compare/metrics-exporter-prometheus-v0.15.3...metrics-exporter-prometheus-v0.16.0)

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

Updates `serde_json` from 1.0.128 to 1.0.132
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/1.0.128...1.0.132)

Updates `primitive-types` from 0.12.2 to 0.13.1
- [Commits](https://github.com/paritytech/parity-common/commits/primitive-types-v0.13.1)

Updates `serde_with` from 3.9.0 to 3.11.0
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.9.0...v3.11.0)

Updates `futures-util` from 0.3.30 to 0.3.31
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31)

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

Updates `futures-core` from 0.3.30 to 0.3.31
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: indexmap
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: tower
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: pin-project
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: metrics
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: bytes
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: metrics-exporter-prometheus
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: primitive-types
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod
- dependency-name: futures-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
- dependency-name: futures-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod
...

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

* downgrade `primitive-types` and `tower`

* cargo vet

* update deny.toml

---------

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>
Co-authored-by: Marek <mail@marek.onl>
2024-10-25 17:33:11 +00:00
Alfredo Garcia 8f887f2ed4
fix(docs): Update documents for cookie auth where needed (#8965)
* update documentation related auth cookie method for rpcs in the zebra book

* Update book/src/user/lightwalletd.md

* update rpc auth statement

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
2024-10-25 16:13:01 +00:00
Marek 4097bdb364
chore: Update docs (#8970)
* Update badges

* Simplify Zebra's description

* Change "Building Zebra" to "Manual Build"

* Update "Known Issues"

* Fix a typo
2024-10-25 14:56:12 +00:00