Skip to content

Fix [L-03] Domain separator prevents cross-chain SuperTransaction signatures#47

Merged
filmakarov merged 2 commits intodevfrom
fix/L-03-multichain-domain-separator
Nov 19, 2025
Merged

Fix [L-03] Domain separator prevents cross-chain SuperTransaction signatures#47
filmakarov merged 2 commits intodevfrom
fix/L-03-multichain-domain-separator

Conversation

@filmakarov
Copy link
Contributor

@filmakarov filmakarov commented Nov 12, 2025

Fixes this https://github.com/PashovAuditGroup/Biconomy_October25_MERGED/issues/4

  • I also removed version, since it may prevent cross-chain stx sigs as well because versions on different chains may not be consistent
  • Instead of using 0 as chainId and address(0) as verifyingContract and probably 0 as version, I completely removed those fields from the separator, as perEIP-712

type of eip712Domain is a struct named EIP712Domain with one or more of the below fields. Protocol designers only need to include the fields that make sense for their signing domain. Unused fields are left out of the struct type.
https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator


PR-Codex overview

This PR focuses on updating the GitHub Actions workflow for testing and modifying the HashLib Solidity library by adjusting the EIP712 domain typehash and related parameters.

Detailed summary

  • Updated the workflow in .github/workflows/foundry-test.yml to run tests with --threads 1.
  • Modified the HashLib.sol file:
    • Changed the _DOMAIN_TYPEHASH to a new value.
    • Removed comments and parameters related to version, chainId, and verifyingContract in the eip712Domain() function.
    • Adjusted the keccak256 calculation for the domain separator to accommodate the changes.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@filmakarov filmakarov merged commit 4154828 into dev Nov 19, 2025
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant