Repository navigation
Conversation
|
cc @brunoerg |
|
Concept ACK I'm adding more mutation operators to my tool and nested early-return deletion is one of them, the following mutant isn't killed on master but killed with the test case added here (nice!): diff --git a/src/modules/silentpayments/main_impl.h b/src/modules/silentpayments/main_impl.h
index e42dc1a..8d7be21 100644
--- a/src/modules/silentpayments/main_impl.h
+++ b/src/modules/silentpayments/main_impl.h
@@ -249,7 +249,6 @@ int secp256k1_silentpayments_sender_create_outputs(
if (!ret) {
secp256k1_scalar_clear(&addend);
secp256k1_scalar_clear(&seckey_sum_scalar);
- return 0;
}
if (secp256k1_fe_is_odd(&addend_point.y)) {
secp256k1_scalar_negate(&addend, &addend); |
There was a problem hiding this comment.
🟢 Approval recommended
No blocking issues were identified.
Pull request overview
Adds silent-payments sender test coverage for rejecting invalid Taproot keypairs mixed with valid keypairs.
Changes:
- Tests both valid/invalid keypair orderings.
- Verifies invalid keypairs trigger rejection.
File summaries
| File | Description |
|---|---|
src/modules/silentpayments/tests_impl.h |
Adds mixed-validity Taproot keypair rejection tests. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Concept ACK @Yudis-bit: Could you squash the commits, please? |
ca6b4a2 to
e5b4d58
Compare
|
Squashed into e5b4d58. No changes to the final diff. |
|
Rechecked e5b4d58: all 225 local tests pass. Removing the early return in the keypair loop passes the parent tests but fails the new invalid-first assertion. Ready for another look. |
e5b4d58 to
d6ec1ab
Compare
|
@brunoerg want to re-review this? :) |
Add coverage for an invalid Taproot keypair passed alongside a valid one, following the plain secret key tests in #1931.
Both orderings are tested. The invalid-first case catches a missing early return in the keypair loop: the valid keypair leaves a nonzero sum, so the subsequent zero-sum check would not catch the failure.