Zebra/zebrad
Arya eb0a2ef581
change(mempool): Contextually validates mempool transactions in best chain (#5716)
* updates comments

* adds check nullifier no dup fns for transactions

* Adds:
- check::anchors fn for tx iter
- TODO comments for unifying nullifiers and anchors checks
- new state request

Updates unknown anchor errors to accomodate tx-only check

Calls new state fn from transaction verifier

* updates check::anchors fns to use transactions

updates TransactionContextualValidity request to check sprout anchors

adds comment mentioning TransactionContextualValidity ignores UTXOs

* conditions new state req call on is_mempool

updates tests

* fix doc link / lint error

* checks for duplicate nullifiers with closures

* Update zebra-state/src/service/check/nullifier.rs

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

* documents find_duplicate_nullifier params

moves if let statement into for loop

* renames new state req/res

* asserts correct response variant in tx verifier

* adds CheckBestChainTipShieldedSpends call in tx verifier to async checks

* re-adds tracing instrumentation to check::anchors fn

renames transaction_in_state to transaction_in_chain

* adds block/tx wrapper fns for anchors checks

* uses UnminedTx instead of transaction.hash()

deletes broken test

* updates new state req/res name

* updates tests and uses par_iter for anchors checks

* Updates check::anchors pub fn docs.

* Adds:
- comments / docs
- a TransactionError variant for ValidateContextError

* Apply suggestions from code review

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

* moves downcast to From impl

rustfmt

* moves the ValidateContextError into an Arc

updates comments and naming

* leaves par_iter for another PR

* puts io::Error in an Arc

* updates anchors tests to call tx_anchors check

* updates tests to call tx_no_duplicates_in_chain

slightly improves formatting

* Update zebra-consensus/src/error.rs

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

* moves Arc from HistoryError to ValidateContextError

Co-authored-by: teor <teor@riseup.net>
2022-11-30 04:40:15 +00:00
..
proptest-regressions/components/mempool/storage/tests Limit the size and age of the ZIP-401 rejected transaction ID list (#2932) 2021-10-27 20:27:00 +00:00
src change(mempool): Contextually validates mempool transactions in best chain (#5716) 2022-11-30 04:40:15 +00:00
systemd add systemd service file 2020-10-14 15:33:00 -04:00
tests Fix typos (#5728) 2022-11-27 22:37:55 +00:00
Cargo.toml build(deps): bump prost from 0.11.2 to 0.11.3 (#5740) 2022-11-30 00:56:16 +00:00
README.md Create workspace skeleton based on design.md 2019-08-29 14:46:54 -07:00
build.rs Fix clippy::derive_partial_eq_without_eq in generated prost test code (#4927) 2022-08-23 09:31:04 +10:00

README.md

Zebrad

Zebrad is an application.

Getting Started

This application is authored using Abscissa, a Rust application framework.

For more information, see:

Documentation