2

I'm looking to create a safe on each network for which I will delegate swap fee % control for a couple of liquidity pools. It would simplify things a lot to create a safe with the same contract address on all networks. I was informed a method to do this by deploying the safe using identical input data when using the safe factory across networks.

My question is, does this open up the possibility of replay attacks? My logic is that if the contracts are identical on each network then it should behave identically to the same data. Even if there's no value extractable through a replay attack, couldn't they still clog the tx queue with nonsense tx's, requiring gas to cancel each one?

Thanks,

Mike B

2 Answers 2

4

Important to consider here is also the version of the Safe contracts.

In the latest version (1.3.0) the Safe contracts make use of the chain id to validate the signatures (aka confirmations) of the owners, therefore it is not possible to replay signatures from another network.

In previous versions this was not the case, so if a Safe has the same owners and same threshold, it was possible to reuse the same signatures across networks.

0

It is not because the owners are encoded in the deployment data, anyone can replay the transaction on different networks, but it will keep the same owners. If they change the deployment data, the safe address will be different.

Check related GitHub issue in the contracts repository: https://github.com/gnosis/safe-contracts/issues/321

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.