Commit Graph

55 Commits

Author SHA1 Message Date
Arya 59086c7d00
fix(zebrad): accept default subcommand arguments and print consistent usage information for top-level 'help' subcommand (#6801)
* updates Cargo.toml

* Migrate to abscissa 0.7.0

* Avoid panic from calling color_eyre::install twice

* Uses 'start' as the default subcommand

* updates default cmd logic

* Fixes minor cli issues

* removes outdated check in acceptance test

* Adds a test for process_cli_args, fixes version_args test.

Adds -V to process_cli_args match case

* Revert "fix(clippy): Silence future-incompat warnings until we upgrade Abscissa (#6024)"

This reverts commit dd90f79b48.

* Drops the worker guard to flush logs when zebra shuts down

* Adds cargo feature to clap

* restores process_cli_args

* updates deny.toml

* Updates EntryPoint help template

* Updates subcommand help msgs

* removes trailing whitespace, capitalizes sentences

* Apply suggestions from code review

Co-authored-by: teor <teor@riseup.net>

* revert parts of revert "Revert fix(clippy): Silence future-incompat warnings until we upgrade Abscissa"

* Applies suggestions from code review

* Moves EntryPoint to its own module

* fixes version_args test

* Updates changelog

* Prunes redundant test cases

* Apply suggestions from code review

Co-authored-by: teor <teor@riseup.net>

* Revert "Prunes redundant test cases"

This reverts commit 3f73979184.

* Update zebrad/src/commands/entry_point.rs

Co-authored-by: teor <teor@riseup.net>

* Add missing import

* Updates `process_cli_args` to return a result

---------

Co-authored-by: teor <teor@riseup.net>
2023-06-07 06:03:42 +00:00
dependabot[bot] 604a96e9ad
build(deps): bump bs58 from 0.4.0 to 0.5.0 (#6750)
* build(deps): bump bs58 from 0.4.0 to 0.5.0

Bumps [bs58](https://github.com/Nullus157/bs58-rs) from 0.4.0 to 0.5.0.
- [Changelog](https://github.com/Nullus157/bs58-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Nullus157/bs58-rs/compare/0.4.0...0.5.0)

---
updated-dependencies:
- dependency-name: bs58
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* add `b258` version `0.4.0` to `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>
2023-05-30 02:01:31 +00:00
teor 46b5375890
fix(ci): Give more time to the inbound service when queueing requests (#6691)
* Remove redundant deny.toml entry

* Make the connection yield time before and after queueing an inbound request
2023-05-16 23:55:17 +00:00
teor df949a2365
change(log): Report compiler version and Zebra features when starting Zebra (#6606)
* Add extra vergen metadata to startup and panic reports

* Upgrade to vergen 8.1.3

* Update build script docs

* Upgrade env var names for vergen 8.1.3

* Switch to `git2` dependency feature

* Use renamed environmental variable for `git describe`

* Ignore vergen errors if `.git` doesn't exist

* Update Cargo.lock

* Remove unused deny.toml exceptions with --all-features

Some of these might be from this PR, or the missed dependency updates.
2023-05-14 15:05:22 +00:00
Alfredo Garcia 01908822f1
v1.0.0-rc.8 release (#6632)
* change versions

* add mainnet and testnet checkpoints

* add changelog

* add estimated height

* Apply suggestions from code review

Co-authored-by: teor <teor@riseup.net>

* cargo update

* rername deprecated function

* fix rustfmt

* update bans

* remove digest as dup dependency

* add dup dependency for all features

---------

Co-authored-by: teor <teor@riseup.net>
2023-05-11 22:15:12 +00:00
teor d07dc7f9f1
change(deps): Upgrade zcash_script to 0.1.12 to match zcashd 5.5.0 (#6624)
* cargo upgrade --workspace zcash_script

* Update Cargo.lock

* Update deny.toml
2023-05-10 08:30:41 +00:00
dependabot[bot] ef556ea06b
build(deps): bump metrics from 0.20.1 to 0.21.0 and metrics-exporter-prometheus from 0.11.0 to 0.12.0 (#6531)
* build(deps): bump metrics from 0.20.1 to 0.21.0

Bumps [metrics](https://github.com/metrics-rs/metrics) from 0.20.1 to 0.21.0.
- [Release notes](https://github.com/metrics-rs/metrics/releases)
- [Changelog](https://github.com/metrics-rs/metrics/blob/main/release.toml)
- [Commits](https://github.com/metrics-rs/metrics/compare/metrics-v0.20.1...metrics-v0.21.0)

---
updated-dependencies:
- dependency-name: metrics
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* bumps metrics-exporter-prometheus version and adds portable-atomic 0.3.19 to deny.toml skip list

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: arya2 <aryasolhi@gmail.com>
2023-04-19 22:52:21 +00:00
teor 3ba334bf20
change(deps): Upgrade shared dependencies to match `zcashd` 5.5.0 (#6536)
* Cleanup module docs and imports for sapling::arbitrary

* Upgrade dependencies shared with zcashd 5.5.0

```sh
cargo upgrade --workspace << EOF
bellman
bls12_381
group
halo2
halo2_proofs
jubjub
orchard
redjubjub
zcash_address
zcash_note_encryption
zcash_primitives
zcash_proofs
EOF
```

* Replace orchard::from_bytes_wide() with ff::from_uniform_bytes()

* Revert "disable test (#6285)" to re-enable verify_generated_halo2_proofs

This reverts commit 4d4accc0b9.
2023-04-18 10:11:38 +00:00
teor cf6d0cc2d5
fix(ux): Disable issue URLs for a known shutdown panic in abscissa (#6486)
* Disable bug report URLs for a known abscissa panic

* Remove trailing whitespace in deny.toml

* upddate doc

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2023-04-14 04:36:38 +00:00
dependabot[bot] 4fcb5b9de9
build(deps): bump tonic from 0.8.3 to 0.9.1 (#6455)
* build(deps): bump tonic from 0.8.3 to 0.9.1

Bumps [tonic](https://github.com/hyperium/tonic) from 0.8.3 to 0.9.1.
- [Release notes](https://github.com/hyperium/tonic/releases)
- [Changelog](https://github.com/hyperium/tonic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/tonic/compare/v0.8.3...v0.9.1)

---
updated-dependencies:
- dependency-name: tonic
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Adds tonic 0.8.3 to 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: arya2 <aryasolhi@gmail.com>
2023-04-03 23:21:29 +00:00
dependabot[bot] 96e5b541a4
build(deps): bump proptest from 0.10.1 to 1.1.0 (#6415)
* build(deps): bump proptest from 0.10.1 to 1.1.0

Bumps [proptest](https://github.com/proptest-rs/proptest) from 0.10.1 to 1.1.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/v0.10.1...v1.1.0)

---
updated-dependencies:
- dependency-name: proptest
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

* Add a quick-error duplicate dependency exception

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: teor <teor@riseup.net>
2023-03-28 04:13:26 +00:00
teor 8cf62b4a17
change(deps): Update dependencies that only appear in the lock file (#6217)
* Manually update duplicate dependency exceptions

* Update the release checklist to check for missed dependency updates

* Fix a clippy "unused result" lint

* Run `cargo update`

Output:
```
$ cargo update
    Updating crates.io index
    Updating addr2line v0.17.0 -> v0.19.0
    Updating ahash v0.8.2 -> v0.8.3
    Updating aho-corasick v0.7.18 -> v0.7.20
    Updating anyhow v1.0.69 -> v1.0.70
    Updating arrayref v0.3.6 -> v0.3.7
    Updating async-stream v0.3.2 -> v0.3.4
    Updating async-stream-impl v0.3.2 -> v0.3.4
    Updating async-trait v0.1.52 -> v0.1.67
    Updating axum v0.5.17 -> v0.6.12
    Updating axum-core v0.2.9 -> v0.3.3
    Updating backtrace v0.3.64 -> v0.3.67
    Updating base64 v0.13.0 -> v0.13.1
    Updating bit-set v0.5.2 -> v0.5.3
    Removing block-buffer v0.7.3
    Removing block-buffer v0.10.2
      Adding block-buffer v0.10.4
    Removing block-padding v0.1.5
    Updating bls12_381 v0.7.0 -> v0.7.1
    Updating bstr v0.2.17 -> v1.4.0
    Updating byte-slice-cast v1.2.1 -> v1.2.2
    Removing byte-tools v0.3.1
    Updating bytemuck v1.8.0 -> v1.13.1
    Updating cc v1.0.73 -> v1.0.79
    Removing chunked_transfer v1.4.0
    Updating cipher v0.4.3 -> v0.4.4
    Updating clang-sys v1.3.1 -> v1.6.0
    Updating clap v3.2.20 -> v3.2.23
    Updating console v0.15.4 -> v0.15.5
    Updating constant_time_eq v0.2.4 -> v0.2.5
    Updating crossbeam-channel v0.5.4 -> v0.5.7
    Updating crossbeam-deque v0.8.1 -> v0.8.3
    Updating crossbeam-epoch v0.9.7 -> v0.9.14
    Updating crossbeam-utils v0.8.7 -> v0.8.15
      Adding cxx-build v1.0.93
    Updating cxx-gen v0.7.74 -> v0.7.93
    Updating darling v0.14.1 -> v0.14.4
    Updating darling_core v0.14.1 -> v0.14.4
    Updating darling_macro v0.14.1 -> v0.14.4
    Removing digest v0.8.1
    Removing digest v0.10.5
      Adding digest v0.10.6
    Updating dirs-sys v0.3.6 -> v0.3.7
    Updating either v1.6.1 -> v1.8.1
    Updating encoding_rs v0.8.30 -> v0.8.32
    Updating enum-iterator v1.2.0 -> v1.4.0
    Updating enum-iterator-derive v1.1.0 -> v1.2.0
    Updating eyre v0.6.7 -> v0.6.8
    Removing fake-simd v0.1.2
    Updating fastrand v1.7.0 -> v1.9.0
    Updating ff v0.12.0 -> v0.12.1
    Updating fixedbitset v0.4.1 -> v0.4.2
    Updating flate2 v1.0.22 -> v1.0.25
    Updating form_urlencoded v1.0.1 -> v1.1.0
    Removing generic-array v0.12.4
    Removing generic-array v0.14.5
      Adding generic-array v0.14.6
    Updating gimli v0.26.1 -> v0.27.2
    Updating glob v0.3.0 -> v0.3.1
    Updating globset v0.4.8 -> v0.4.10
    Updating h2 v0.3.11 -> v0.3.16
    Updating hashbrown v0.12.1 -> v0.12.3
    Updating hdrhistogram v7.5.0 -> v7.5.2
    Updating heck v0.4.0 -> v0.4.1
    Updating http v0.2.8 -> v0.2.9
    Removing http-range-header v0.3.0
    Updating hyper-rustls v0.23.0 -> v0.23.2
    Updating iana-time-zone v0.1.46 -> v0.1.54
      Adding iana-time-zone-haiku v0.1.1
    Updating idna v0.2.3 -> v0.3.0
    Updating io-lifetimes v1.0.4 -> v1.0.9
    Updating ipnet v2.4.0 -> v2.7.1
    Updating is-terminal v0.4.4 -> v0.4.5
    Updating itoa v1.0.4 -> v1.0.6
    Updating jobserver v0.1.24 -> v0.1.26
    Updating js-sys v0.3.59 -> v0.3.61
    Updating libc v0.2.139 -> v0.2.140
    Updating libloading v0.7.3 -> v0.7.4
    Updating libm v0.2.2 -> v0.2.6
    Updating libz-sys v1.1.4 -> v1.1.8
    Updating link-cplusplus v1.0.7 -> v1.0.8
    Updating lock_api v0.4.6 -> v0.4.9
    Removing maplit v1.0.2
    Removing matches v0.1.9
    Updating matchit v0.5.0 -> v0.7.0
    Updating memoffset v0.6.5 -> v0.8.0
    Updating mime v0.3.16 -> v0.3.17
    Updating miniz_oxide v0.4.4 -> v0.6.2
    Updating minreq v2.6.0 -> v2.7.0
    Updating mio v0.8.4 -> v0.8.6
    Updating net2 v0.2.37 -> v0.2.38
    Updating nom v7.1.0 -> v7.1.3
    Updating num-format v0.4.3 -> v0.4.4
    Updating num-traits v0.2.14 -> v0.2.15
    Updating object v0.27.1 -> v0.30.3
    Removing opaque-debug v0.2.3
    Updating openssl v0.10.38 -> v0.10.48
      Adding openssl-macros v0.1.0
    Updating openssl-sys v0.9.72 -> v0.9.83
    Updating os_info v3.5.1 -> v3.7.0
    Updating os_str_bytes v6.3.0 -> v6.5.0
    Updating parity-scale-codec v3.1.2 -> v3.4.0
    Updating parity-scale-codec-derive v3.1.2 -> v3.1.4
    Updating parking_lot v0.12.0 -> v0.12.1
    Removing parking_lot_core v0.8.5
    Removing parking_lot_core v0.9.1
      Adding parking_lot_core v0.8.6
      Adding parking_lot_core v0.9.7
    Updating pasta_curves v0.4.0 -> v0.4.1
    Updating percent-encoding v2.1.0 -> v2.2.0
    Updating pest v2.1.3 -> v2.5.6
    Updating pest_derive v2.1.0 -> v2.5.6
    Updating pest_generator v2.1.3 -> v2.5.6
    Updating pest_meta v2.1.3 -> v2.5.6
    Updating petgraph v0.6.0 -> v0.6.3
    Updating pkg-config v0.3.24 -> v0.3.26
    Updating plotters v0.3.1 -> v0.3.4
    Updating plotters-backend v0.3.2 -> v0.3.4
    Updating plotters-svg v0.3.1 -> v0.3.3
    Updating portable-atomic v0.3.15 -> v0.3.19
    Updating ppv-lite86 v0.2.16 -> v0.2.17
    Updating prettyplease v0.1.9 -> v0.1.25
    Updating proc-macro-crate v1.1.3 -> v1.3.1
    Updating proc-macro2 v1.0.52 -> v1.0.53
    Updating prost-build v0.11.1 -> v0.11.8
    Updating prost-types v0.11.1 -> v0.11.8
    Updating raw-cpuid v10.2.0 -> v10.7.0
    Updating redox_syscall v0.2.11 -> v0.2.16
    Updating redox_users v0.4.0 -> v0.4.3
    Updating rgb v0.8.32 -> v0.8.36
    Updating rustc-demangle v0.1.21 -> v0.1.22
    Updating rustix v0.36.7 -> v0.36.11
    Updating rustls v0.20.7 -> v0.20.8
    Updating rustls-pemfile v1.0.0 -> v1.0.2
    Updating rustversion v1.0.11 -> v1.0.12
    Updating ryu v1.0.9 -> v1.0.13
    Updating schannel v0.1.19 -> v0.1.21
      Adding scratch v1.0.5
    Updating security-framework v2.6.1 -> v2.8.2
    Updating security-framework-sys v2.6.1 -> v2.8.0
    Removing sha-1 v0.8.2
      Adding sha2 v0.10.6
    Updating signal-hook-registry v1.4.0 -> v1.4.1
    Updating similar v2.1.0 -> v2.2.1
    Updating slab v0.4.5 -> v0.4.8
    Updating socket2 v0.4.7 -> v0.4.9
    Removing syn v1.0.104
    Removing syn v2.0.3
      Adding syn v1.0.109
      Adding syn v2.0.8
    Updating sync_wrapper v0.1.1 -> v0.1.2
    Updating termcolor v1.1.3 -> v1.2.0
    Updating textwrap v0.15.0 -> v0.16.0
    Updating thread_local v1.1.4 -> v1.1.7
    Removing time v0.1.44
    Removing time v0.3.17
      Adding time v0.1.43
      Adding time v0.3.20
    Updating time-macros v0.2.6 -> v0.2.8
    Updating tinyvec_macros v0.1.0 -> v0.1.1
    Updating tokio-macros v1.7.0 -> v1.8.2
    Updating tokio-native-tls v0.3.0 -> v0.3.1
    Updating tokio-rustls v0.23.2 -> v0.23.4
    Updating tokio-util v0.6.9 -> v0.6.10
    Updating toml_edit v0.19.7 -> v0.19.8
    Updating tonic v0.8.2 -> v0.8.3
    Updating tonic-build v0.8.2 -> v0.8.4
    Removing tower-http v0.3.4
    Updating tower-layer v0.3.1 -> v0.3.2
    Updating tower-service v0.3.1 -> v0.3.2
    Updating try-lock v0.2.3 -> v0.2.4
    Updating typenum v1.15.0 -> v1.16.0
    Updating ucd-trie v0.1.3 -> v0.1.5
    Updating unicode-bidi v0.3.7 -> v0.3.13
    Updating unicode-ident v1.0.2 -> v1.0.8
    Updating unicode-normalization v0.1.19 -> v0.1.22
    Updating unicode-segmentation v1.9.0 -> v1.10.1
    Updating unicode-width v0.1.9 -> v0.1.10
    Updating unicode-xid v0.2.2 -> v0.2.4
    Updating ureq v2.5.0 -> v2.6.2
    Updating url v2.2.2 -> v2.3.1
    Updating uuid v1.1.0 -> v1.3.0
    Updating walkdir v2.3.2 -> v2.3.3
    Updating wasi v0.10.0+wasi-snapshot-preview1 -> v0.10.2+wasi-snapshot-preview1
    Updating wasm-bindgen v0.2.82 -> v0.2.84
    Updating wasm-bindgen-backend v0.2.82 -> v0.2.84
    Updating wasm-bindgen-futures v0.4.29 -> v0.4.34
    Updating wasm-bindgen-macro v0.2.82 -> v0.2.84
    Updating wasm-bindgen-macro-support v0.2.82 -> v0.2.84
    Updating wasm-bindgen-shared v0.2.82 -> v0.2.84
    Updating web-sys v0.3.56 -> v0.3.61
    Updating webpki-roots v0.22.5 -> v0.22.6
    Updating which v4.2.4 -> v4.4.0
      Adding windows v0.46.0
    Removing windows-sys v0.32.0
    Removing windows-sys v0.36.1
    Updating windows-targets v0.42.1 -> v0.42.2
    Updating windows_aarch64_gnullvm v0.42.1 -> v0.42.2
    Removing windows_aarch64_msvc v0.32.0
    Removing windows_aarch64_msvc v0.36.1
    Removing windows_aarch64_msvc v0.42.1
      Adding windows_aarch64_msvc v0.42.2
    Removing windows_i686_gnu v0.32.0
    Removing windows_i686_gnu v0.36.1
    Removing windows_i686_gnu v0.42.1
      Adding windows_i686_gnu v0.42.2
    Removing windows_i686_msvc v0.32.0
    Removing windows_i686_msvc v0.36.1
    Removing windows_i686_msvc v0.42.1
      Adding windows_i686_msvc v0.42.2
    Removing windows_x86_64_gnu v0.32.0
    Removing windows_x86_64_gnu v0.36.1
   Removing windows_x86_64_gnu v0.42.1
      Adding windows_x86_64_gnu v0.42.2
    Updating windows_x86_64_gnullvm v0.42.1 -> v0.42.2
    Removing windows_x86_64_msvc v0.32.0
    Removing windows_x86_64_msvc v0.36.1
    Removing windows_x86_64_msvc v0.42.1
      Adding windows_x86_64_msvc v0.42.2
    Updating winnow v0.3.6 -> v0.4.0
    Updating wyz v0.5.0 -> v0.5.1
    Updating zeroize_derive v1.3.2 -> v1.3.3
```

* Update deny.toml
2023-03-26 23:53:17 +00:00
dependabot[bot] 7eb08208ea
build(deps): bump dirs from 4.0.0 to 5.0.0 (#6360)
* build(deps): bump dirs from 4.0.0 to 5.0.0

Bumps [dirs](https://github.com/soc/dirs-rs) from 4.0.0 to 5.0.0.
- [Release notes](https://github.com/soc/dirs-rs/releases)
- [Commits](https://github.com/soc/dirs-rs/commits)

---
updated-dependencies:
- dependency-name: dirs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

* Allow a different dirs-sys version used for a different purpose

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: teor <teor@riseup.net>
2023-03-22 19:37:46 +00:00
teor 9609e625ea
Simplify elasticsearch duplicate dependency exceptions (#6369) 2023-03-21 12:50:47 +00:00
Alfredo Garcia 4dedffebbc
feat(elasticsearch): Export block data to elasticsearch database (#6274)
* add initial ES support

* hide elasticsearch behind feture, add config

* make the builds and clippy happy

* move ES code to a function

* change database name

* fix database name and panic

* increase close to tip interval

* update deny for elastic

* remove a block clone

* try to fix builds

* fix builds 2

* refactor some imports and unwraps

* typo

* change argument of elasticsearch function

* move elastic call to the end of `commit_finalized_direct`

* get height from block
2023-03-13 21:13:30 +00:00
dependabot[bot] 8f50716fe7
build(deps): bump pin-project from 0.4.30 to 1.0.12 (#6222)
* build(deps): bump pin-project from 0.4.30 to 1.0.12

Bumps [pin-project](https://github.com/taiki-e/pin-project) from 0.4.30 to 1.0.12.
- [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/v0.4.30...v1.0.12)

---
updated-dependencies:
- dependency-name: pin-project
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

* Change macro arguments as specified in pin_project's 1.0.0 changelog

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-03-01 14:24:11 +00:00
Arya 3ac019d817
build(deps): Bump zcash_script version and update deny.toml (#6214)
* Bump zcash_script version and updates deny.toml

* Uses zcash_script 0.1.10 and removes bindgen from deny.toml

* bumps zcash_script version

* Update Cargo.lock

---------

Co-authored-by: teor <teor@riseup.net>
2023-02-24 18:58:59 +00:00
dependabot[bot] 09faf48e1f
build(deps): bump rocksdb from 0.19.0 to 0.20.1 (#6144)
* build(deps): bump rocksdb from 0.19.0 to 0.20.1

Bumps [rocksdb](https://github.com/rust-rocksdb/rust-rocksdb) from 0.19.0 to 0.20.1.
- [Release notes](https://github.com/rust-rocksdb/rust-rocksdb/releases)
- [Changelog](https://github.com/rust-rocksdb/rust-rocksdb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-rocksdb/rust-rocksdb/compare/v0.19.0...v0.20.1)

---
updated-dependencies:
- dependency-name: rocksdb
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Ignore duplicate bindgen dependency until zcash_script updates

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: teor <teor@riseup.net>
2023-02-13 20:01:45 +00:00
dependabot[bot] 7c2264436c
build(deps): bump reqwest from 0.11.13 to 0.11.14 (#6010)
* build(deps): bump reqwest from 0.11.13 to 0.11.14

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.13 to 0.11.14.
- [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.13...v0.11.14)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* try to fix duplicates

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>
2023-01-23 04:49:13 +00:00
teor 5b054c968e
build(deps): bump inferno from 0.11.12 to 0.11.13, and allow a duplicate dependency (#5798)
* build(deps): bump inferno from 0.11.12 to 0.11.13

Bumps [inferno](https://github.com/jonhoo/inferno) from 0.11.12 to 0.11.13.
- [Release notes](https://github.com/jonhoo/inferno/releases)
- [Changelog](https://github.com/jonhoo/inferno/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jonhoo/inferno/compare/v0.11.12...v0.11.13)

---
updated-dependencies:
- dependency-name: inferno
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Allow duplicate ahash dependencies while the ecosystem upgrades

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-09 03:31:25 +00:00
Arya b722e223e3
build(deps): bump zcash_proofs from 0.8.0 to 0.9.0 and zcash_primitives from 0.8.1 to 0.9.0 (#5631)
* bump zcash_proofs from 0.8.0 to 0.9.0
bump zcash_primitives from 0.8.0 to 0.9.0

* update deny.toml to skip zcash_primitives 0.8.1

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-11-18 19:18:57 +00:00
Alfredo Garcia 8441801e42
deps(bump): zcash_primitives, zcash_note_encryption, zcash_encoding, orchard, and zcash_script (#5505)
* Bump zcash_primitives, zcash_note_encryption and oechard deps at once

* Bump dependencies, and update `deny.toml`

* Upgrade to zcash_script 0.1.8

* Update Cargo.lock

* Use 3-part version numbers consistently

* Get address by serializing the Output, then using zcash_primitives to parse it (#5507)

Co-authored-by: Marek <mail@marek.onl>
Co-authored-by: teor <teor@riseup.net>
2022-10-31 14:15:11 +00:00
Marek be84853872
build(deps): Bump `zcash_proofs` to 0.8.0 (#5481)
* Put `tor` behind its own `--cfg` flag

* Bump x25519-dalek from 1.2.0 to 2.0.0-pre.1

* Bump zcash_proofs to 0.8.0

* Update `deny.toml`

* Update `Cargo.lock`

* Fix missing doc link warning

* Mention a ticket that tracks the dep. conflict

* Update `.codespellrc`

* Disable the other tor dependency

* Clarify a comment

* Add Tor x25519-dalek issue to README

* Update Cargo.lock

Co-authored-by: teor <teor@riseup.net>
2022-10-28 06:58:02 +00:00
Marek 1f4bc0da0c
Remove `arrayvec` and `itoa` from `skip-tree` (#5410)
We recently updated `inferno`, and running
```bash
cargo deny --all-features check bans
```
started producing the following warnings:
```
   ┌─ .../zebra/deny.toml:89:5
   │
89 │     { name = "arrayvec", version = "=0.4.12" },
   │     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no crate matched these criteria

warning[B010]: skip tree root was not found in the dependency graph
   ┌─ .../zebra/deny.toml:90:5
   │
90 │     { name = "itoa", version = "=0.4.8" },
   │     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no crate matched these criteria

bans ok
```

The warning means we don't need to list the `arrayvec` and `itoa`
dependencies in the `skip-tree` section, so this commit removes them.
2022-10-18 22:15:20 +00:00
teor c2514ba64a
fix(doc): Update deny.toml developer docs and file comments (#5151)
* Make deny.toml instructions more specific

* Add documentation and depdendency comments to deny.toml
2022-09-14 19:52:32 +00:00
dependabot[bot] af3a6ec558
build(deps): bump criterion from 0.3.6 to 0.4.0 (#5136)
* build(deps): bump criterion from 0.3.6 to 0.4.0

Bumps [criterion](https://github.com/bheisler/criterion.rs) from 0.3.6 to 0.4.0.
- [Release notes](https://github.com/bheisler/criterion.rs/releases)
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.3.6...0.4.0)

---
updated-dependencies:
- dependency-name: criterion
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* removes criterion from skip-tree and adds hashbrown & itoa to skip in deny.toml

* 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: arya2 <aryasolhi@gmail.com>
2022-09-13 07:25:30 +00:00
teor 21b1a622e6
fix(deny.toml): Change an exception to the earlier pin-project version (#5070)
* Use the earlier pin-project version in deny.toml

* Change deny.toml instructions to check for updated versions

* Remove trailing whitespace
2022-09-05 20:12:52 +00:00
teor fc624d009d
change(deps): bump rocksdb from 0.18.0 to 0.19.0 (#5071)
* cargo upgrade --workspace rocksdb

* Add a deny.toml exception for bindgen 0.59

* Move `valid()` and `status()` methods to raw iterators

* Update some outdated comments

* Panic on iterator failures

We might want to change this if there are any common failure modes.

* allow(clippy::unwrap_in_result) in some methods
2022-09-05 18:58:45 +00:00
dependabot[bot] 0edb517c88
build(deps): bump pin-project from 1.0.11 to 1.0.12 (#4914)
* build(deps): bump pin-project from 1.0.11 to 1.0.12

Bumps [pin-project](https://github.com/taiki-e/pin-project) from 1.0.11 to 1.0.12.
- [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.0.11...v1.0.12)

---
updated-dependencies:
- dependency-name: pin-project
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Skip breaking dependency update in tower-fallback/Cargo.toml

* update Cargo.lock

* adds pin-project 1.0.12 to skip-tree in deny.toml to allow duplicate dependency until the version in tower-fallback is upgraded

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: arya2 <aryasolhi@gmail.com>
2022-09-04 01:15:49 +00:00
Conrado Gouvea a042d83c45
change(deps): upgrade zcash_script and zcash dependencies (#4926)
* change(deps): upgrade zcash_script and zcash dependencies

* use zcash_script 0.1.7

* Update Cargo.lock

Co-authored-by: teor <teor@riseup.net>
2022-09-02 07:24:29 +00:00
dependabot[bot] 360631ff4e
build(deps): bump criterion from 0.3.5 to 0.3.6 (#4761)
* build(deps): bump criterion from 0.3.5 to 0.3.6

Bumps [criterion](https://github.com/bheisler/criterion.rs) from 0.3.5 to 0.3.6.
- [Release notes](https://github.com/bheisler/criterion.rs/releases)
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.3.5...0.3.6)

---
updated-dependencies:
- dependency-name: criterion
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Add duplicate dependency exceptions to deny.toml

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: teor <teor@riseup.net>
2022-08-07 00:14:34 +00:00
Conrado Gouvea 0eb3abedfe
Bumps [vergen](https://github.com/rustyhorde/vergen) from 7.2.1 to 7.3.2. (#4890)
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](rustyhorde/vergen@7.2.1...7.3.2)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-minor
...
2022-08-05 15:01:22 +00:00
Conrado Gouvea 6b22794396
deps: upgrade ECC dependencies (#4699) 2022-06-27 23:12:56 +00:00
teor ca0520b2e8
change(deps): Upgrade tracing-subscriber and related dependencies (#4517)
* Upgrade tracing and related dependencies

```sh
cargo upgrade --workspace
tracing-error
tracing-subscrber

color-eyre

tracing-flame
tracing-journald

sentry
sentry-tracing

metrics
metrics-exporter-prometheus
reqwest
```

* Update duplicate dependency checks

* Enable the tracing/env-filter feature

* Fix type inference for metrics

Manual changes, plus:
```sh
fastmod "as _" "as f64"
```

* Tidy up some unrelated test code

* Update metrics-exporter-prometheus API

And make unused dependencies optional.

* Adjust test regexes to new tracing format

Also fix some regex bugs, and refactor to simplify.

* Disable color-eyre span traces and track caller in release builds

* Add a feature that enables extra debugging in release builds

* Clean up some redundant features

* Increase a test timeout
2022-06-01 13:53:51 +10:00
Conrado Gouvea 55822dda41
change: NU5 mainnet dependency upgrades (#4405)
* upgrade dependencies to NU5 mainnet versions

* migrate to bitvec 1.0

* update deny.toml

* point to published redjubjub 0.5

* Point at zcash-script@0.1.6 on crates.io

* update Cargo.lock

* specify patch versions of dependencies

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2022-05-19 01:03:55 +00:00
Alfredo Garcia 128c9cbfd8
tests(rpc): add snapshot tests for rpc methods responses (#4352)
* add snapshot tests for rpc methods responses

* change snapshots format to json

* change snapshot file name format

* fix(rpc): fixes for RPC snapshot tests (#4384)

* Create the snapshot settings once

* Snapshot testnet state, RPCs, and transparent addresses

* Tweak header comment

* Ignore some duplicated dependencies we don't control

* fix texts

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

* Redact 1.5 kB of block data in snapshots

* Fix docs

* Explain snapshot redaction better

* Make redaction substitution consistent

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

* Update redacted snapshots

* Make formatting consistent

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Marek <mail@marek.onl>
2022-05-16 02:33:46 +00:00
Janito Vaqueiro Ferreira Filho 5a94a09292
add(test): Integration test to send transactions using lightwalletd (#4068)
* Export the `zebra_state::Config::db_path` method

Make it easier for tests to discover the sub-directory used to store
the chain state data.

* Generate code for interfacing with lightwalletd

Use the `tonic-build` crate to generate Rust code for communicating with
lightwalletd using gRPC.

The `*.proto` files were obtained from the Zcash lightwalletd
repository.

* Use `block::Height` instead of `Height`

Import the `block` instead to make it slightly clearer.

* Add helper function to remove a file if it exists

Try to remove it and ignore an error if it says that the file doesn't
exist. This will be used later to remove the lock file from a copied
chain state directory.

* Add helper function to copy chain state dirs

Copy an existing chain state directory into a new temporary directory.

* Add a `BoxStateService` type alias

Make it easier to write and read a boxed version of a state service.

* Add a helper function to start the state service

Make it easier to specify the state service to use an existing state
cache directory.

* Import `eyre!` macro at the module level

Allow it to be used in different places without having to repeat the
imports.

* Add `load_tip_height_from_state_directory` helper

A function to discover the current chain tip height stored in a state
cache.

* Add helper function to prepare partial sync. state

Loads a partially synchronized cached state directory into a temporary
directory that can be used by a zebrad instance, and also returns the
chain tip block height of that state.

* Add `perform_full_sync_starting_from` helper

Runs a zebrad with an existing partially synchronized state, and
finishes synchronizing it to the network chain tip.

* Add function to load transactions from a block

Use a provided state service to load all transactions from a block at a
specified height.

The state service is a generic type parameter, because
`zebra_state::service::ReadStateService` is not exported publicly. Using
a generic type parameter also allows the service to be wrapped in layers
if needed in the future.

* Add `load_transactions_from_block_after` helper

A function to load transactions from a block stored in a cached state
directory. The cached state must be synchronized to a chain tip higher
than the requested height.

* Add helper function to load some test transactions

Given a partially synchronized chain state, it will extend that chain by
performing a full synchronization, and obtain some transactions from one
of the newly added blocks.

* Update `spawn_zebrad_for_rpc_without_initial_peers`

Wait until the mempool is activated.

* Add method to start lightwalletd with RPC server

Returns the lightwalletd instance and the port that it's listening for
RPC connections.

The instance can reuse an existing cached lightwalletd state if the
`LIGHTWALLETD_DATA_DIR` environment variable is set.

* Add a `LightwalletdRpcClient` type alias

To make it easier to identify the type generated from the Protobuf
files.

* Add helper function to connect to lightwalletd

Prepare an RPC client to send requests to a lightwalletd instance.

* Add a `prepare_send_transaction_request` helper

Creates a request message for lightwalletd to send a transaction.

* Add test to send transactions using lightwalletd

Obtain some valid transactions from future blocks and try to send them
to a lightwalletd instance connected to a zebrad instance that hasn't
seen those transactions yet. The transactions should be successfully
queued in Zebra's mempool.

* Make `zebra_directory` parameter generic

Allow using a `TempDir` or a `PathBuf`.

* Move lightwalletd protobuf files

Place them closer to the module directory, so that it's clearer that
they specify the RPC protocol for lightwalletd, and not Zebra itself.

* Don't use coinbase transactions in the test

Coinbase transactions are rejected by the mempool.

* Don't remove state lock file

It is removed automatically by Zebra when it shuts down, so if it exists
it should be reported as a bug.

* Force mempool to be enabled in Zebrad instance

Speed up the initialization of the Zebrad instance used for lightwalletd
to connect to.

* Refactor to create `LIGHTWALLETD_DATA_DIR_VAR`

Document how the environment variable can be used to speed up the test.

* Check for process errors in spawned Zebra instance

Enable checking for known process failure messages.

* Add `FINISH_PARTIAL_SYNC_TIMEOUT` constant

Document why it exists and how the choice of the value affects the test.

* Add `LIGHTWALLETD_TEST_TIMEOUT` constant

And use it for the Zebrad and the Lightwalletd instances used in the
send transaction integration test.

* Check `lightwalletd` process for errors

Enable checking the lightwalletd process for known failure messages.

* Update `tonic` and `prost` dependencies

Use the latest version and fix CI failures because `rustfmt` isn't
installed in the build environment.

* Create `send_transaction_test` module

Move the send transaction using lightwalletd test and its helper
functions into a new module.

* Move `LIGHTWALLETD_TEST_TIMEOUT` constant

Place it in the parent `lightwalletd` module.

* Move gRPC helper functions and types to `rpc` mod.

Make them more accessible so that they can be used by other tests.

* Create a `cached_state` module

Move the test utility functions related to using a cached Zebra state
into the module.

* Move `perform_full_sync_starting_from` to `sync`

Keep to closer to the synchronization utility functions.

* Move Zebra cached state path variable constant

Place it in the `cached_state` module.

* Skip test if `ZEBRA_TEST_LIGHTWALLETD` is not set

Make it part of the set of tests ignored as a whole if no lightwalletd
tests should be executed.

* Move `spawn_zebrad_for_rpc_without_initial_peers`

Place it in the `launch` sub-module.

* Rename `rpc` module into `wallet_grpc`

Avoid any potential misunderstandings when the name is seen out of
context.

* Allow duplicate `heck` dependency

At least until `structopt` is updated or `zebra-utils` is updated to use
`clap` 3.

* Fix a deny.toml typo

* fix(build): CMake is required by `prost` crate

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>
2022-04-27 23:06:11 +00:00
Conrado Gouvea d79e71e969
change(nu5): use new V5 transaction script verification API (#3799)
* update librustzcash; adapt to new API

* add ticket reference for removing zcash_proofs duplicated dependencies

* update to new zcash_script V5 API

* use zp_tx shorthand

* update to Zcash 4.7.0 dependencies

* update protocol versions

* feat(rpc): Implement `getblockchaininfo` RPC method (#3891)

* Implement `getblockchaininfo` RPC method

* add a test for `get_blockchain_info`

* fix tohex/fromhex

* move comment

* Update lightwalletd acceptance test for getblockchaininfo RPC (#3914)

* change(rpc): Return getblockchaininfo network upgrades in height order (#3915)

* Update lightwalletd acceptance test for getblockchaininfo RPC

* Update some doc comments for network upgrades

* List network upgrades in order in the getblockchaininfo RPC

Also:
- Use a constant for the "missing consensus branch ID" RPC value
- Simplify fetching consensus branch IDs
- Make RPC type derives consistent
- Update RPC type documentation

* Make RPC type derives consistent

* Fix a confusing test comment

* get hashand height at the same time

* fix estimated_height

* fix lint

* add extra check

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>

* fix typo

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>

* split test

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>

* fix(rpc): ignore an expected error in the RPC acceptance tests (#3961)

* Add ignored regexes to test command failure regex methods

* Ignore empty chain error in getblockchaininfo

We expect this error when zebrad starts up with an empty state.

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Make sync error logs more user-friendly (#3944)

- use info level, there is nothing the user needs to do,
  particularly for a single error
- explain that the errors are temporary
- hide backtraces, because they look like crashes

* Update test.patch.yml with lightwalletd job (#3970)

* Update test.patch.yml with lightwalletd job

* Remove a workflow condition that will always be false

In general, patch workflows need the
opposite conditions to the original workflow.

But in this case, we know the result of the
condition will always be true, so we can just delete it.

Co-authored-by: teor <teor@riseup.net>

* fix(doc): Fix bugs in the lightwalletd database design (#3964)

* Re-order column families in design in dependency order

* Minor RFC design tweaks and fixes

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Repoint zebra image links to our new zfnd.org site for now (#3949)

* Repoint zebra image links to our new zfnd.org site for now

* Remove images/

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix typos (#3956)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: teor <teor@riseup.net>

* bump database version to trigger testnet rollback

* reduce minimum protocol version for now (will be changed later)

* update dependencies

* Apply suggestions from code review

Co-authored-by: teor <teor@riseup.net>

* update versions to match zcash 4.7.0

* deny.toml: update 'darling'

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
Co-authored-by: Dimitris Apostolou <dimitris.apostolou@icloud.com>
2022-04-19 10:14:16 +10:00
teor 43e80fd61c
6. feat(db): Add a transparent address UTXO index (#3999)
* Add test-only serialization, and make existing serialization test-only

* Make AddressLocations clearer in the API

* Add UnspentOutputAddressLocation

* Add the AddressLocation to the UTXO database value

* Update the snapshot test code for UnspentOutputAddressLocation

* Update the raw data snapshots

* Update the high-level data snapshots

* Increment the database version

* Make serialization clearer

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>

* Fix code formatting

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>

* Add an empty utxo_by_transparent_addr_loc column family

* Update snapshot data for the new column family

* Add an AddressUnspentOutputs type

* Add round-trip tests for AddressUnspentOutputs

* Move address balances into their own method

* Simplify updating address balances

* Fix utxo_by_out_loc column family name

* Implement reads and writes of address UTXOs

* Update raw data snapshots

* Update the snapshot tests for high-level address UTXOs

* Assert rather than taking empty address snapshots for genesis

* Update high-level address UTXO snapshot data, and delete empty snapshots

* Increment the database version

* Use typed values for all ReadDisk methods

* Implement test-only serialization for transparent::Address

* Implement FromDisk for ()

* Store AddressUnspentOutput as the column family key

* Update round-trip serialization tests for AddressUnspentOutput

* Update snapshot test code, and add a UTXO data snapshot

* Update existing snapshot data

* Add new UTXO snapshot data

* Update column family name

```sh
fastmod utxo_by_transparent_addr_loc utxo_loc_by_transparent_addr_loc zebra*
```

* cargo fmt --all

* cargo insta test --review --delete-unreferenced-snapshots

* Explain why it is ok to use invalid database iterator indexes

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

* Add explanations of UTXO database updates

* Simplify an assertion

* Remove UnspentOutputAddressLocation and just store transparent::Output

* Update snapshot test data

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-04-13 04:06:52 +00:00
Marek 2cc7e158a2
Upgrade dependencies (#3625)
* Upgrade some dependencies

* Upgrade some dependencies

* Upgrade dependencies for zebrad

* Upgrade tracing dependencies

* Revert `tor` & `arti`

* Upgrade `criterion` & `pin-project` in `deny.toml`

* Remove some dependencies from `skip-tree` in `deny.toml`

* Revert some the versions of dependencies because of duplicates

* Revert proptest regressions

* Upgrade dependencies, then ignore some more duplicates (#3716)

* feat(actions)!: add full sync test (#3582)

* add(tests): full sync test

* fix(test): add build

* fix(deploy): escape double dashes '--' correctly

* fix(test): remove unexpected --no-capture arg

error: Found argument '--nocapture' which wasn't expected, or isn't valid in this context

* refactor(docker): use default executable as entrypoint

* refactor(startup): add a custom entrypoint

* fix(test): add missing TEST_FULL_SYNC variable

* test(timeout): use the biggest machine

* fix

* fix(deploy): use latest successful image

* typo

* refactor(docker): generate config file at startup

* revert(build): changes were made to docker

* fix(docker): send variables correctly to the entrypoint

* test different conf file approach

* fix(env): add RUN_TEST env variable

* ref: use previous approach

* fix(color): use environment variable

* fix(resources): use our normal machine size

* fix(ci): double CPU and RAM for full sync test

* fix(test): check for zebrad test output in the correct order

The mempool is only activated once, so we must check for that log first.
After mempool activation, the stop regex is logged at least once.
(It might be logged before as well, but we can't rely on that.)

When checking that the mempool didn't activate,
wait for the `zebrad` command to exit,
then check the entire log.

* fix(ci): run full sync test with full compiler optimisations

* fix(tests): reintroduce tests and run full sync on approval

* fix(tests): reduce the changelog

Co-authored-by: teor <teor@riseup.net>

* fix(ci): update CI job path triggers (#3692)

* ci(test): re-run tests when snapshot data changes

* fix(ci): rebuild state when disk format changes

* fix(ci): rebuild rust docs when code or dependencies change

* doc(ci): explain why we run jobs when files change

Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>

* fix(build): use the right multistage target (#3700)

* fix(review): only assign one reviewer to general Rust reviews (#3708)

If we assign two teams, GitHub assigns two reviewers.

* fix(ci): change the color-eyre ignore to a tracing-subscriber ignore

* fix(ci): ignore duplicate darling dependencies

* doc(ci): remove an alternative resolution doc

Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>
2022-03-07 12:07:25 +10:00
Conrado Gouvea f6edcc4c92
replace unmantained multiset with mset (#3595)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-02-22 01:17:21 +00:00
teor 1896943f62
fix(ci): also check for duplicate dependencies with optional features off (#3592)
* fix(dependencies): update an unused duplicate dependency exception

This duplicate was removed by PR #3572, but other duplicates still exist.

* feat(ci): check for duplicate dependencies with optional features off
2022-02-21 17:41:31 +00:00
teor 499ae89c80
T2. Add isolated Tor connection API, but don't enable it by default (#3303)
* Add arti as a zebra-network dependency

* Add a method for isolated anonymised Tor connections to a specific hostname

* Add tests for isolated tor connections

* Use a shared tor client instance for all isolated connections

* Silence a spurious tor warning in tests

* Make tor support optional, activate it via a new "tor" feature

* Extra Cargo.lock changes

* fastmod AsyncReadWrite PeerTransport zebra*

* Remove unnecessary PeerTransport generics

* Refactor common test code into a function

* Don't drop the stream until the end of the test

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-25 01:46:31 +00:00
Alfredo Garcia fb724d3b24
Update rocksdb (#3363)
* update rocksdb

* use merged commit as rev

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>

* retrigger gcp build

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-19 20:55:34 +00:00
teor 6c787dd188
T1. Fix isolated connection bugs, improve tests, upgrade dependencies (#3302)
* Make handshakes generic over AsyncRead + AsyncWrite

* Simplify connect_isolated using ServiceExt::map_err and BoxError

* Move isolated network tests to their own module

* Improve isolated TCP connection tests

* Add an in-memory connection test that uses AsyncReadWrite

* Support connect_isolated on testnet

* Add a wrapper function for isolated TCP connections to an IP address

* Run test tasks for a while, and clean up after them

* Upgrade Zebra dependencies to be compatible with arti, but don't add arti yet

* Fix deny.toml

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
2022-01-14 19:34:59 +00:00
Janito Vaqueiro Ferreira Filho 51c6550602
Replace `tempdir` dependency with `tempfile` (#3337)
* Use `testdir()` instead of `TempDir::new()`

Reduce repeated code and make it easier to change from using `tempdir`
to use `tempfile` instead.

* Replace `tempdir` with `tempfile` in `zebrad`

Use `tempfile`'s `TempDir` instead.

* Use `tempdir()` instead of `TempDir::new()`

Reduce repeated code and make it easier to upgrade to `tempfile`.

* Use `tempfile` instead of `tempdir`

Replace obsoleted `tempdir` dependency with `tempfile`.

* Use `tempfile` instead of `tempdir`

Replace obsoleted `tempdir` dependency with `tempfile`.

* Update `Cargo.lock`

Update it now that `tempdir` has been replaced with `tempfile`.

* Remove `tempdir` from `deny.toml` exceptions

Ban duplicate versions of the `tempdir` dependency.

* Remove `inferno` from `deny.toml` exceptions

It apparently isn't needed anymore.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2022-01-14 15:11:23 +00:00
teor 8887ed88aa
Update Zebra's allowed duplicate dependencies (#3316)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-13 17:43:42 -05:00
teor 4d608d3224
Stop doing thousands of time checks each time we connect to a peer (#3106)
* Stop checking the entire AddressBook for each connection attempt

* Stop redundant peer time checks within the address book

* Stop calling `Instant::now` 3 times for each address book update

* Only get the time once each time an address book method is called

* Update outdated comment

* Use an OrderedMap to efficiently store address book peers

* Add address book order tests
2021-12-03 15:09:43 -03:00
teor f7202bfbc0
Download Zcash Sapling parameters and load them from cached files (#3057)
* Replace Zcash parameters crates with pre-downloaded local parameter files

* Download Zcash parameters using the `zcashd` script in CI and Docker

* Add a zcash_proofs dependency to zebra-consensus

* Download Sapling parameters using zcash_proofs, rather than fetch-params.sh

* Add a new `zebrad download` subcommand

This command isn't required for nomrmal usage.
But it's useful when testing, or launching multiple Zebra instances.

* Use `zebrad download` in CI to pre-download parameters

* Log a helpful hint if downloading fails

* Allow some duplicate dependencies currently hidden by orchard

* Spawn a separate task to download Groth16 parameters

* Run the parameter download with code coverage

This avoids re-compining Zebra with and without coverage.

* Update Cargo.lock after rebase

* Try to pass `download` as an argument to `zebrad` in coverage CI

* Fix copy and paste comment typos

* Add path and download examples, like zcash_proofs

* Download params in CI just like zcash_proofs does

* Delete a redundant build step

* Implement graceful shutdown for zebrad start

* Send coverage summary to /dev/null when getting the params path

* Use the correct parameters path and download commands in CI

* Explain pre-downloads

* Avoid calling params_folder twice

* Rename parameter types and methods for consistency

```sh
fastmod SaplingParams SaplingParameters zebra*
fastmod Groth16Params Groth16Parameters zebra*
fastmod PARAMS GROTH16_PARAMETERS zebra*
fastmod params_folder directory zebra*
```

And a manual variable name tweak.

* rustfmt

* Remove a redundant coverage step

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>
2021-11-19 23:02:56 +00:00
Deirdre Connolly 90da94fff3
Upgrade crypto deps (#3059)
* Upgrade aes and fpe

* Upgrade bellman, bls12_381, jubjub to latest

* Upgrade x25519-dalek to 1.2.0 and curve25519-dalek to 3.2.0 in the Cargo.lock

* Skip outdated hdrhistogram rather than its dependencies

Co-authored-by: teor <teor@riseup.net>
2021-11-16 19:47:54 +00:00