Markdown files up to 96 KiB show whether their ENS signature holds #7

Merged
temeddix merged 1 commits from larger-signed-files into main 2026-09-25 21:26:09 +00:00
Owner

A signed Markdown file up to 96 KiB now gets its verdict when read, where anything over 40 KiB said "Not checked: file too large". The library now hashes a body without copying it (https://github.com/capsulizers/md-ens-signature/pull/32), recovers a signer with one multi-scalar multiplication instead of two (https://github.com/capsulizers/md-ens-signature/pull/33), and takes a digest already computed (https://github.com/capsulizers/md-ens-signature/pull/34), so a first check hashes once. A check costs about 4.9 million instructions plus 86 a byte, down from 8.7 million plus 188; a save 5.6 million plus 85, down from 98. The save limit stays 96 KiB.

Measured through Memona's plugin host with fuel metering, against a local WebDAV server and Sepolia: at 96 KiB a check takes 13.3 million (14.4 with CRLF) and a save 13.9 million (15.1 with CRLF) of the 20 million. The app itself was not captured; the images show the plugin's output through the host.

Before After
Signed 64 and 96 KiB files: not checked The same files: verified
Evidence Screenshot
Fuel per call with the limits lifted
Unit tests

🤖 Generated with Claude Code

A signed Markdown file up to 96 KiB now gets its verdict when read, where anything over 40 KiB said "Not checked: file too large". The library now hashes a body without copying it (https://github.com/capsulizers/md-ens-signature/pull/32), recovers a signer with one multi-scalar multiplication instead of two (https://github.com/capsulizers/md-ens-signature/pull/33), and takes a digest already computed (https://github.com/capsulizers/md-ens-signature/pull/34), so a first check hashes once. A check costs about 4.9 million instructions plus 86 a byte, down from 8.7 million plus 188; a save 5.6 million plus 85, down from 98. The save limit stays 96 KiB. Measured through Memona's plugin host with fuel metering, against a local WebDAV server and Sepolia: at 96 KiB a check takes 13.3 million (14.4 with CRLF) and a save 13.9 million (15.1 with CRLF) of the 20 million. The app itself was not captured; the images show the plugin's output through the host. | Before | After | | --- | --- | | ![](https://git.capsulizers.com/attachments/0ea642fe-5e77-4b34-8e38-acce11ec5636) | ![](https://git.capsulizers.com/attachments/455044e2-8bdc-42e1-b98c-9ec0a95fc2c3) | | Signed 64 and 96 KiB files: not checked | The same files: verified | | Evidence | Screenshot | | --- | --- | | Fuel per call with the limits lifted | ![](https://git.capsulizers.com/attachments/1b58f903-4b6c-467b-ba78-2a449d3d70c7) | | Unit tests | ![](https://git.capsulizers.com/attachments/a9209875-1511-4371-928e-97ae7e7d99db) | 🤖 Generated with [Claude Code](https://claude.com/claude-code)
temeddix added 1 commit 2026-09-25 21:15:42 +00:00
Author
Owner

@bot please review the head; it bumps md-ens-signature to a build that hashes a body once without copying it and recovers a signer with one multi-scalar multiplication, then raises the checked size from 40 KiB to 96 KiB on measured fuel. Check that the verdict cache still keys on digest, signer and signature, and that the new limits keep a margin under the 20 million per call.

@bot please review the head; it bumps md-ens-signature to a build that hashes a body once without copying it and recovers a signer with one multi-scalar multiplication, then raises the checked size from 40 KiB to 96 KiB on measured fuel. Check that the verdict cache still keys on digest, signer and signature, and that the new limits keep a margin under the 20 million per call.
bot approved these changes 2026-09-25 21:25:35 +00:00
bot left a comment
Owner

✅ Approved
Cache identity and 96 KiB bounds meet the requested contract.

Strengths

Verification and limit
  • The cached claim is (body digest, signer, signature).
  • Verification consumes the already-cached digest, avoiding the second body hash.
  • At 96 KiB, the documented CRLF estimate is about 14.5 million of the 20 million instruction budget.

Issues

None
  • No Critical, Important, or Minor findings.

Recommendations

None
  • None.

Assessment

Ready to merge
  • The exact PR head satisfies the requested cache and instruction-budget conditions.

Checks

Passed
  • cargo test --locked --all-targets — 24 passed.
  • cargo clippy --locked --all-targets -- -D warnings
  • cargo fmt --all -- --check

Declined to judge

None
  • None.

Profile: codex · gpt-5.6-terra

✅ Approved Cache identity and 96 KiB bounds meet the requested contract. ## Strengths <details> <summary>Verification and limit</summary> - The cached claim is `(body digest, signer, signature)`. - Verification consumes the already-cached digest, avoiding the second body hash. - At 96 KiB, the documented CRLF estimate is about 14.5 million of the 20 million instruction budget. </details> ## Issues <details> <summary>None</summary> - No Critical, Important, or Minor findings. </details> ## Recommendations <details> <summary>None</summary> - None. </details> ## Assessment <details> <summary>Ready to merge</summary> - The exact PR head satisfies the requested cache and instruction-budget conditions. </details> ## Checks <details> <summary>Passed</summary> - `cargo test --locked --all-targets` — 24 passed. - `cargo clippy --locked --all-targets -- -D warnings` - `cargo fmt --all -- --check` </details> ## Declined to judge <details> <summary>None</summary> - None. </details> > Profile: `codex` · `gpt-5.6-terra`
temeddix merged commit 6677e8ad72 into main 2026-09-25 21:26:09 +00:00
temeddix deleted branch larger-signed-files 2026-09-25 21:26:09 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: commons/memona-plugin-signature#7