eval: call WellFormed from eval.transaction#6450
eval: call WellFormed from eval.transaction#6450algorandskiy merged 3 commits intoalgorand:masterfrom
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6450 +/- ##
==========================================
- Coverage 50.89% 50.72% -0.18%
==========================================
Files 665 658 -7
Lines 111544 111459 -85
==========================================
- Hits 56767 56532 -235
- Misses 51904 52045 +141
- Partials 2873 2882 +9 ☔ View full report in Codecov by Sentry. |
|
I just have the one thing I didn't follow immediately so I added a comment. |
Co-authored-by: John Jannotti <jannotti@gmail.com>
| // We're going to test some payout effects here too, so that we have an inner transaction example. | ||
| proposer := basics.Address{0x01, 0x02, 0x03} | ||
| stateProofPK := merklesignature.Commitment{0x03} | ||
| if ver < 31 { // no state proof support |
There was a problem hiding this comment.
these consensus version numbers getting spread across the codebase so I wonder if we need to name them
There was a problem hiding this comment.
Pull Request Overview
This PR adds an extra call to WellFormed validation during transaction evaluation, beyond the existing validation that occurs during transaction signature checking. The main code change ensures that transactions must pass WellFormed checks to be included in blocks.
- Adds WellFormed validation call in the transaction evaluation pipeline
- Fixes test transactions that were not properly formed according to WellFormed validation rules
- Adds configuration options for controlling fee sink balance in test genesis
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| ledger/eval/eval.go | Adds WellFormed validation call during transaction evaluation |
| ledger/testing/testGenesis.go | Adds InitialFeeSinkBalance option for test genesis configuration |
| ledger/simple_test.go | Fixes key registration transaction defaults to handle offline transactions |
| ledger/eval_simple_test.go | Updates test transactions to include required fields like VoteKeyDilution and StateProofPK |
| ledger/eval/eval_test.go | Adds FirstValid field to prevent transaction validation errors |
| ledger/double_test.go | Adds documentation comment for txn method |
| ledger/boxtxn_test.go | Refactors box reference tests and adds TEAL version parameterization |
| ledger/apptxn_test.go | Fixes key registration transactions and application call tests |
| ledger/acctonline_expired_test.go | Adds missing StateProofPK field to key registration transactions |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Summary
This adds an extra call to WellFormed to transaction evaluation (already run as part of txn validation & signature checking).
Test Plan
Fixed broken tests that were making transactions that failed the WellFormed check.