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

feat!: integration of new transaction and output validation #3352

Conversation

philipr-za
Copy link
Contributor

Description

This PR cleans up and updates the new Output and Transaction validation strategies.

@mikethetike provided the first draft of this new validation approach for both Outputs and Transactions but the work needed some love to fully integrate into the wallet code. Many edge cases were caught and some bigger changes are made in this PR.

Some major changes are:

  • Output validation now supports checking and reporting on number of confirmations
  • The Pending Transaction database table is fully removed and this process is now handled fully within the Outputs table
  • Validations are now triggered on receiving a new block from the base node rather than at an interval
  • Base node query_deleted call is updated to return the block data of where a deletion occured

How Has This Been Tested?

Tests provided/updated and manually

@philipr-za philipr-za force-pushed the philip-tx-validation-alternative branch 2 times, most recently from ff0d275 to 0d8ee78 Compare September 16, 2021 15:49
@philipr-za philipr-za changed the title WIP feat!: integration of new transaction and output validation feat!: integration of new transaction and output validation Sep 16, 2021
@philipr-za philipr-za force-pushed the philip-tx-validation-alternative branch 4 times, most recently from 1c5ae02 to 66fb85c Compare September 17, 2021 09:18
This PR cleans up and updates the new Output and Transaction validation strategies.

@mikethetike provided the first draft of this new validation approach for both Outputs and Transactions but the work needed some love to fully integrate into the wallet code. Many edge cases were caught and some bigger changes are made in this PR to make the process reliable.

Some major changes are:
- Output validation now supports checking and reporting on number of confirmations
- The Pending Transaction database table is fully removed and this process is now handled fully within the Outputs table
- Validations are now triggered on receiving a new block from the base node rather than at an interval
- Base node `query_deleted` call is updated to return the block data of where a deletion occured
@philipr-za philipr-za force-pushed the philip-tx-validation-alternative branch from 66fb85c to 3bbb0a2 Compare September 17, 2021 09:22
Copy link
Collaborator

@stringhandler stringhandler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Difficult to review everything in this pr, but I think I managed to go over the important pieces. Happy to merge and give it a try

@stringhandler stringhandler merged commit 8023479 into tari-project:tx-validation2 Sep 20, 2021
stringhandler added a commit that referenced this pull request Oct 6, 2021
alternate approach to transaction validation (#3191)
feat!: integration of new transaction and output validation (#3352)
feat: update coinbase handling for new tx and output validation (#3383)
refactor: use wallet connectivity in wallet services (#3391)
refactor: mapping for deleted mmr position to height/hash for perf (#3394)
feat: Fix reinstating CancelledInbound outputs and fix tests (#3400)
chore: merge development into tx-validation2 and fix issues (#3417)
Uncomment cucumber tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants