safe-global / safe-transaction-service

Keeps track of transactions sent via Safe contacts and confirmed transactions. It also keeps track of Ether and ERC20 token transfers to Safe contracts.
MIT License
182 stars 246 forks source link

Use address type for EIP712 payload #2089

Closed fmrsabino closed 2 weeks ago

fmrsabino commented 2 weeks ago

What was wrong? 👾

Closes #2084

How was it fixed? 🎯

The Delegate EIP712 payload was using bytes32 as the type for the delegate address (which is an Ethereum Address).

While this works, it represents the wrong input type and size constraints that we should accept for that field (an address is 20 bytes so any input bigger than that should not be valid).

Considerations

Signatures made before this change will not be considered valid as the resulting has would be different. The new payload would need to be signed again by the required signers again in those scenarios.