Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test transaction verification on block test vectors #1378

Closed
Tracked by #2266
teor2345 opened this issue Nov 24, 2020 · 1 comment
Closed
Tracked by #2266

Test transaction verification on block test vectors #1378

teor2345 opened this issue Nov 24, 2020 · 1 comment
Labels
A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement

Comments

@teor2345
Copy link
Contributor

Motivation

We want to test the transaction verifier code on post-Sapling and post-Blossom blocks.

Suggested Solution

There are two types of checks in the transaction verifier:

  • semantic checks, which should be run on all the post-Sapling blocks in the mainnet and testnet zebra_test vectors
  • contextual checks, which require previous UTXOs as inputs to the test

Contextual Testing Hint:

Some testnet blocks might only spend UTXOs from a single previous block - look for a testnet block with only 2 transactions, and only 1 transaction input. Then test with that block and its dependent block.

Some blocks might only spend UTXOs generated within that block.

Related Issues

#1376 and #1367 - previous bug fixes for the transaction verifier.

@teor2345 teor2345 added A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement labels Nov 24, 2020
@teor2345 teor2345 added this to the Transaction Validation milestone Nov 24, 2020
@teor2345 teor2345 changed the title Write tests for transaction verification Test transaction verification on block test vectors Nov 24, 2020
@mpguerra mpguerra removed this from the Transaction Validation milestone Jan 5, 2021
@teor2345
Copy link
Contributor Author

I think we've mostly done these tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement
Projects
None yet
Development

No branches or pull requests

2 participants