* validate zebrad cache dir
* update scanner documentation
* clippy
* Apply suggestions from code review
Co-authored-by: Arya <aryasolhi@gmail.com>
* add info level by default to scanner application
* remove `RUST_LOG=info` from some of the test examples on how to run
* remove `RUST_LOG=info` from the book sample
---------
Co-authored-by: Arya <aryasolhi@gmail.com>
* adds a tonic server
* Adds a test stub, moves method impls to their own modules, minor fixes.
* Moves indexer rpc mod behind a feature, adds a config field for its listen address, and initializes the indexer RPC when zebrad starts
* Skips tonic_build() in zebra-rpc build script unless indexer-rpcs feature is selected, simplifies indexer.proto file, makes tonic deps optional
* formats zebra-rpc Cargo.toml
* Adds tokio_stream dependency, adds chain_tip_change field to IndexerRPC, and implements a simple version of the chain_tip_change RPC method
* passes latest chain tip to indexer::server::init from start cmd and updates vectors test
* Update zebra-rpc/src/config.rs
* fixes a race condition in trusted_chain_sync_handles_forks_correctly
* readd the scanner tests in the new binary context
* remove commented out tests from zebrad
* add Cargo.lock
* add local copy of `ZECPAGES_SAPLING_VIEWING_KEY` to binary scanning tests
* moves scanner-results-reader to zebra-scan, adds zebrad bin to zebra-scan, adds a short sleep before trying to connect to gRPC server in test
* always include zebrad dependency in zebra-scan
* renames zebrad bin in zebra-scan to zebrad-for-scanner
* skip test when a cached state is missing
* remove scanning config from zebrad
* move `scan_task_commands` out of zebrad acceptance tests
* remove scanner config from zebrad
* do not panic if env var is not there
* re enable start_scan_where left, remove shielded-scan feature foir scanning tests in CI
* change app names
* uncomment test
* fix the scanner tests in CI by changing the test command
* add log needed by CI?
* move test
* rename trait, docs fix
---------
Co-authored-by: Arya <aryasolhi@gmail.com>
* Adds an init_read_only() fn in zebra-state
* moves elasticsearch initialization to `FinalizedState::new_with_debug()`
* Updates callers of `FinalizedState::{new, new_with_debug}` to pass a bool to try enabling elasticsearch
* Adds a non-finalized read state syncer to zebra-rpc
* moves, removes, updates, or addresses TODOs
* reduces disk IO while waiting for the a new chain tip & updates the chain tip sender when the finalized tip has changed.
* Returns boxed errors from RpcRequestClient methods instead of color_eyre type
* Avoids resetting the non-finalized state when there's an error getting a block unless it has the missing block error code.
* Adds stub for acceptance test(s) and removes outdated TODO
* adds TODOs for testing
* Tests that `ChainTipChange` is updated when the non-finalized best chain grows
* adds a last_chain_tip_hash and uses a FuturesOrdered for getblock requests
* Fixes a pre-flush sync issue by using a secondary db instead of a read-only db
* Moves disk IO to blocking tasks
* Updates acceptance test to how forks are handled
* Checks synced read state for all of the expected blocks
* checks that there isn't a tip change until the best chain changes
* checks for chain tip changes in test
* run test without feature
* fixes lint
* Fixes compilation/test issues
* Adds docs / comments, moves HexData out from behind the getblocktemplate-rpcs feature flag, moves test behind the mining feature flag.
* Fixes lints
* removes syncer and rpc-syncer features
* Fixes test on Windows, applies suggestions from code review
* Updates `POLL_DELAY` documentation
* Updates method docs
* Fixes a test bug
* use rpc-client feature in zebrad production code
* use rpc-client feature in zebra-node-services for building zebra-rpc crate
---------
Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* Update `CHANGELOG.md`
* chore: Release
* Update versions in the release dry-run workflow
* Update EOS
* Estimate release height to ~ upcoming Tuesday
* Apply suggestions from code review
Co-authored-by: Arya <aryasolhi@gmail.com>
* Add a "Summary" title to the changelog
* Remove the summary title
---------
Co-authored-by: Arya <aryasolhi@gmail.com>
* Move "Known Issues" from README to the book
* Remove an old note from the book
* Move optional configs & features to the book
* Fix TOC in `README.md`
* Refactor the section on installing Zebra
* Fix badges in `README.md`
* Mention optional features and troubleshooting
* Adds documention to the Zebra book about custom Testnets, allows for configuring custom Testnet genesis hashes, refactors check for compatible custom Testnets, adds a TODO, and uses the default testnet when there's an empty or default `testnet_parameters` field in Zebra's network config.
* Adds example configs to custom Testnet docs, moves note about inbound connections on Regtest to a footnote.
* Adds a changelog entry
* Apply suggestions from code review
Co-authored-by: Marek <mail@marek.onl>
* Addresses suggestions from code review.
* Apply suggestions from code review
Co-authored-by: Arya <aryasolhi@gmail.com>
* Update book/src/user/custom-testnets.md
---------
Co-authored-by: Marek <mail@marek.onl>
* Lowers the mandatory checkpoint height to the block before Canopy activation
* Apply suggestions from code review
Co-authored-by: Marek <mail@marek.onl>
---------
Co-authored-by: Marek <mail@marek.onl>
* Uses an OS-assigned port when testing rpc_server_spawn
* reads port from logs and enables 2 acceptance tests on Windows
* generalizes read listen addr from logs fn and re-enables another test
* updates zebra-grpc snapshot tests to use OS-assigned port
* Re-enable grpc vectors tests on Windows while avoiding port conflicts
---------
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* add defaults for `getpeerinfo` and `getblocksubsidy`
* add default for `getmininginfo`
* add default to `getblockcount`
* add defaults to `getaddressbalance`, `getaddressutxos` and `getaddresstxids`
* add defaults to `validateaddress` and `z_validateaddress`
* add defaults to `getrawmempool` and `getdifficulty`
* add defaults to `sendrawtransaction` and `getrawtransaction`
* add defaults for `getnetworksolps` and `getnetworkhashps`
* add defaults for `submitblock` and `z_listunifiedreceivers`
* refactor and cleanup
* update spec
* add random request id
* add min transaction size to `GetRawTransaction` default
* improve `GetSubtrees` default
* change type to request id
* get new spec
* add a TODO
* add changelog entry
* zebra_script: change to use new zcash_script callback API
* add precomputation
* cleanups
* use released zcash_script
* fix clippy error
* Apply suggestions from code review
Co-authored-by: Marek <mail@marek.onl>
* improve docs
* use tuple instead of two Option params
---------
Co-authored-by: Marek <mail@marek.onl>
* Stop using `displaydoc`
* Fix comment alignment
This commit is unrelated to the solution in this branch. There's a new
lint that produces a warning when lists in comments are not aligned well.
* Remove code that starts the scanner
* Update CHANGELOG
* Disable tests of the scanner
* Disable scanning tests in CI
---------
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* Adds an init_read_only() fn in zebra-state
* moves elasticsearch initialization to `FinalizedState::new_with_debug()`
* Updates callers of `FinalizedState::{new, new_with_debug}` to pass a bool to try enabling elasticsearch
---------
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* feat(build): use Docker Build Cloud for image build
* fix(build): secrets, runner and conditional login
* ref(build): avoid using an external cache with Docker Build Cloud
* fix(build): `buildx` setup must be after registry login
* fix: merge
* fix(login): always login to Docker
* fix(build): remove extra build steps
* Remove general conditional compilation flags
See https://blog.rust-lang.org/2024/05/06/check-cfg.html
The conditional compilation flags for tor were superfluous as we can
make do fine with using only features.
* Update changelog
* Add `tokio_unstable` to to `unexpected_cfgs`
* Update changelog
* Fix `tokio_unstable` in `zebrad`
* ref(ci): Use a single CI workflow for tests
This is an initial implementation to solve the re-building of our Docker image, which is being built multiple times by our Github Actions.
This is meant to fix -> devops: Build CI Docker runs twice for every PR #7816
* fix(patch): use correct name reference
* chore: reduce diff with correct sentence
* Apply suggestions from code review
Co-authored-by: Marek <mail@marek.onl>
* Apply suggestions from code review
Co-authored-by: Marek <mail@marek.onl>
* fix(rules): revert job names, to avoid creating an extra rule
* Update .github/workflows/ci-tests.patch.yml
Co-authored-by: Marek <mail@marek.onl>
---------
Co-authored-by: Marek <mail@marek.onl>
* upgrade zcash_client_backend for zebra-scan
* leave zebra-utils untouched
* remove unused
* upgrade zcash_primitives and orchard only for zebra-chain crate
* update and use TryFrom for amounts
* fix imports in serialize
* leave doc as it was
* leave doc as it was 2
* use `try_into` for amount
* use `zip_212_enforcement`
* updgrades primitives in zebra-rpc
* upgrade ecc dependencies for cargo-utils
* fix threading issue
* remove non needed Arc
* update deny.toml
* update primitives for zebra-grpc
* fix doc
* remove non needed single thread code in test
* cleanup some tests
* improve a bit the `ready_scan_block_keys` function
* clippy
* add spawn back in `scan_height_and_store_results`
* remove todo
* add note comment
* use a more explicit import of sapling stuff in serialize
* change(scan): Refactor scanning keys (#8577)
* Refactor converting dfvks to scanning keys
* Simplify handling of scanning keys
* Remove `test-dependencies` from the scanner reader
* Add comments
---------
Co-authored-by: Marek <mail@marek.onl>
* Always set mempool.debug_enable_at_height to 0 on Regtest
* Adds a Regtest with Zebra page to the book
* Deduplicates calls to is_regtest() in start fn
* upgrade min rust version in zebrad
* Display full network name in logs except for Mainnet and default Testnet
* Add example logs/code to regtest section of the book
* apply some extra information
Co-authored-by: Arya <aryasolhi@gmail.com>
* Apply suggestions from code review
Co-authored-by: Marek <mail@marek.onl>
---------
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Marek <mail@marek.onl>
Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>
* update zcash_proofs to 0.14 using custom sapling
* remove OnceLock
* Copies `parse_parameters()` function and other private functions it depends on from `zcash_proofs` (#8548)
* add links to copied code
* use upstream proofs and sapling
---------
Co-authored-by: Arya <aryasolhi@gmail.com>