safe-global / safe-wallet-web

Safe{Wallet} – multisig EVM wallet
https://app.safe.global
GNU General Public License v3.0
354 stars 425 forks source link

422 error during tx creation via Transaction builder on Sepolia #3009

Closed liliya-soroka closed 8 months ago

liliya-soroka commented 10 months ago

Issue Category Transaction execution issue

What happened? User was trying to confirm a transaction (using transaction builder) but getting 422 error instead. Already tried basic troubleshooting steps but issue still persists. Safe address: https://app.safe.global/transactions/queue?safe=sep:0x4F97461eAc313CF7dE1d89128061dEfA39a01532

This is the screenshot of the console logs: image

Date and time this happened or you first noticed this issue 13-12-2023

Network Sepolia

support ticket - https://github.com/5afe/safe-support/issues/351 Safe Address No response

Token Address No response

Token Type None

Transactions Note: Chose Goerli for now since Sepolia is not on the choices

usame-algan commented 10 months ago

This is most likely related to https://github.com/safe-global/safe-wallet-web/issues/2977 and will be handled by the same fix.

usame-algan commented 10 months ago

This can be re-tested with staging CGW now

liliya-soroka commented 9 months ago

@usame-algan , I think that the error appears because of interaction with 0x0000000000000000000000000000000000000000. I am trying the same on Goerli and also getting 422. Do you know if there are any limitations?

usame-algan commented 9 months ago

Ah true I didn't see it. Just tested as well and can confirm it fails with a 422 both with relaying and executing via EOA so it is unrelated to #2977. I am not sure yet why it fails for the zero address. Will have to investigate it further.

usame-algan commented 9 months ago

@liliya-soroka you are correct the zero address is not allowed as a recipient on our transaction service.

Screenshot 2024-01-12 at 14 13 51

Although the Tenderly simulation runs fine so it might confuse users. @moisses89 do you know why it is not allowed?

moisses89 commented 9 months ago

@liliya-soroka you are correct the zero address is not allowed as a recipient on our transaction service. Screenshot 2024-01-12 at 14 13 51

Although the Tenderly simulation runs fine so it might confuse users. @moisses89 do you know why it is not allowed?

We are using the following serializer in the to field, with default allow_zero_address=False https://github.com/safe-global/safe-eth-py/blob/master/gnosis/eth/django/serializers.py#L34 I don´t know the reason for that, should we accept Zero addresses in to field? Maybe to burn tokens?

Uxio0 commented 9 months ago

This was a protection in the first versions of the Safe, but I agree users should be able to call 0x0 address if they want: https://github.com/safe-global/safe-transaction-service/issues/1830

liliya-soroka commented 9 months ago

Verified