Closed Uxio0 closed 3 months ago
Tested and verified with the help of señor @falvaradorodriguez many thanks!
To add some clarification to this ticket: the implementation does not validate against chain id 0 since this is not according to the EIP-712 specification. More specifically on the Domain Separator ^1:
where the 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.
where
uint256 chainId the EIP-155 chain id. The user-agent should refuse signing if it does not match the currently active chain.
Given the above, we have decided to support an optional chain id for cross-chain EIP712 payloads instead of chain id 0 for cross-chain compatibility.
What is needed?
Currently, for adding delegates a
EIP712
structure with thechainId
must be signed. But if thechainId: 0
, that signature should be valid for every network (currently0
is taken as a validchainId
).Background
Instead of the need to sign X signatures for X transaction services, only 1 signature would be valid for every tx service.
This was requested by @DmitryBespalov , and I think it makes a lot of sense so we can deprecate the old
delegate
endpoints