Update clear signing Rust test lib - #2888
Merged
kuzdogan merged 1 commit intoAug 14, 2026
Merged
Conversation
kuzdogan
approved these changes
Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the Rust clear-signing test runner to its current
main.7aea31da(2026-06-22)10605ba7(2026-08-13)feat(encryption): support ERC-7730 encryption scheme(#10),fix(cs-test): make owner rendered value optional(#11), and a clippy choreThe encryption work is the substance of the bump. Fields carrying an ERC-7730
encryptionannotation are now decrypted through a wallet-provided callback and rendered with the field's normal format; when no decryptor is available — which is how the runner executes — the field renders itsfallbackLabelinstead of the raw handle, the handle is reported separately, and a malformed annotation is treated as a descriptor error.#11makes the runner'sownercomparison optional so a descriptor that omitsmetadata.ownerno longer fails.Effect on the registry
Both pins were run over all 270
testsv2/files (507 cases) at this PR's base. No result changes: the per-file diff is empty, no cases are added or removed, and theownerchange produces no difference anywhere.The two pre-existing failures are unchanged before and after:
registry/flyingtulip/testsv2/calldata-PftNft.tests.json(1/2) —Access rightsrenderstruewhere the descriptor'senum+metadata.enums.rightsasks forGrant all. This is the same bool-in-enum gap the Sourcify runner fixed in v0.2.1; the Rust runner does not implement it yet.registry/rarible/testsv2/eip712-rarible-exchange-v2-meta-tx.tests.json(0/1) —ownernot surfaced, intent renders asMetaTransaction, and the typed-data fields resolve to the raw message keys.What it unblocks
Descriptors with
encryptionannotations cannot pass at the old pin, because it interprets the ciphertext handle as a value. Measured against the pending Zama ConfidentialWrapper descriptor and its fixtures:registry/zama/testsv2/calldata-ConfidentialWrapper.tests.json→ 4/16 → 16/16, e.g. "Confidential transfer with a known encrypted amount handle", fieldAmount:with the same correction in the interpolated intent. The other Zama fixtures pass at both pins (
calldata-ACL6/6, the threeUserDecryptRequestVerificationfiles 5/5) since they carry no encrypted fields.Note for reviewers: the clear-signing checks will not exercise this change
Two reasons, both by design:
registry/**/*.jsonandercs/**/*.json, so a pin-only PR does not start the clear-signing jobs at all.uses: ./base-scripts/.github/actions/run-rust-tests), so any PR still resolves the pin frommaster.The new pin therefore takes effect for the next descriptor PR after this merges. Verified locally at both pins, per the numbers above.