-
Notifications
You must be signed in to change notification settings - Fork 969
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add EIP-1344 chainid opcode to signed messages composition #170
Comments
EIP-712 does not require to have chain id in the domain object and we left it out because when the contracts were deployed there was no reliable way to retrieve the chain id. EIP-1344 was started by me exactly because of that issue and this should be adjusted in the future. I would recommend to either change this issue to "Add chain id to domain object" or close this issue and create a new one for this. |
@rmeissner EIP-1344 is the only way to solve this issue of reply signatures after a chain split, and now that EIP-1344 got Final we should implement it in the contracts ASAP. |
Gnosis Wallet is using EIP-712 to sign messages. This standard uses a
chainID
hardcoded in thedomainSeparator
, causing that:chainid
, signed messages only work for wallet in chain that dont changed the chainID;domainSeparator
is hardcoded.To fix this issue, one of the following solutions could be taken:
domainSeparator
could be recalculated at every signature check using the new EIP-1344 EVM opcode.The less impacting change, except in gas costs, would be 2. The best would be
1.
.Or
3.
Gnosis Safe don't needs 712 because user trusts its own contract and wallet, and don't have to validate the structured parameters. This is very useful for DEX and other stuff because its a foreign contract.For case
2.
it seems that gnosis wallet is not even usingchainID
, which breaks from EIP-712 standard.See https://eips.ethereum.org/EIPS/eip-712 https://eips.ethereum.org/EIPS/eip-1344
The text was updated successfully, but these errors were encountered: