feat(attest+pqc-wallet): add EIP-712 attest helpers with golden vectors and PQC wallet transfer test#9
Merged
Conversation
…rs and golden tests - Implemented deterministic EIP-712 Attest model with fixed domain/type strings and full hashing helpers (type hash, domain separator, struct hash, final digest) mirroring locked Solidity layout. - Guarded aggregator submission with config check, logging computed digest and skipping network calls when disabled. - Added file-based fallback for token registry loading to ensure tests run without bundled assets. - Introduced golden-vector tests pinning intermediate/final Attest digests and verifying chainId variance for cross-platform compatibility.
- Added new EIP-712 Attest helper with required fields, locked domain
metadata, and hashing utilities for future aggregator support.
- Guarded aggregator path behind feature flag; app now logs
“Aggregator path disabled” and skips network calls when disabled.
- Introduced golden vector tests verifying attest type hash, domain
separator, and final digest for stability across chain IDs.
- Documented mobile Attest struct and domain
{name: "EqualFiPQCProver", version: "1"}, noting Phase-0 ignores
aggregator path.
- Expanded .gitignore to exclude Flutter build artifacts across repo
to prevent future bloat.
- Deployed dummy `EntryPoint`, PQC wallet, and mock ERC20 in test. - Minted 1,000 tokens to PQC wallet and executed transfer to first default Anvil account. - Logged balances before and after transaction to confirm flow.
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.
Summary
This PR introduces a deterministic EIP-712 Attest model with golden vector tests, an aggregator flag for future network submission, and a Forge-based integration test for the PQC wallet. Together these changes harden the attestation layer and demonstrate ERC20 transfers routed through the PQC wallet and dummy EntryPoint.
Changes
{name:"EqualFiPQCProver", version:"1"}..gitignoreto exclude Flutter build artifacts.EntryPoint, PQC wallet, and mock ERC20.Motivation
These updates lock in canonical EIP-712 attestation semantics with reproducible vectors, ensuring cross-platform parity, while also demonstrating PQC wallet usability with ERC20 flows through EntryPoint. Both are critical building blocks for EqualFi’s Phase-0 rollout.
Testing
Checklist