-
Notifications
You must be signed in to change notification settings - Fork 854
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
MultiSend and SimulateTxAcessor verification fails #313
Comments
Yes this is currently expected. The reason is that these contracts use immutables, which are not fully supported by the used script. Sourcify actually faces a similar issue, therefore I don't think there is an easy solution. |
To make sure that everything went as expected to can check that the address that the contract was deployed to corresponds to the address in the safe-deployments repo: https://github.com/gnosis/safe-deployments/tree/main/src/assets/v1.3.0 Edit: As we use counterfactual deployment via create2 the generated address depends on the bytecode. If the bytecode is different you would get a different address, therefore checking the address is a guarantee that the bytecode is the same. |
What I want to achieve is to deploy the gnosis safe contracts to Polygon network. I am not sure how to achieve that with these many hurdles though. Any ideas on this? |
According to your log they are deployed. This is just an additional step, it doesn't have an impact on the deployment itself. Edit: the chain id error just says that etherscan doesn't support that chain and therefore you cannot verify the contracts there. As mentioned in the readme, the |
I just deployed the smart contracts to Nothing to compile
reusing "SimulateTxAccessor" at 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
deploying "GnosisSafeProxyFactory" (tx: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)...: deployed at 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA with 867582 gas
reusing "DefaultCallbackHandler" at 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
deploying "CompatibilityFallbackHandler" (tx: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)...: deployed at 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA with 1238095 gas
reusing "CreateCall" at 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
reusing "MultiSend" at 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
reusing "MultiSendCallOnly" at 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
deploying "GnosisSafeL2" (tx: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)...: deployed at 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA with 5279377 gas
deploying "GnosisSafe" (tx: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)...: deployed at 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA with 5096984 gas
Verification status for SimulateTxAccessor: FAILURE
Verification status for GnosisSafeProxyFactory: SUCCESS
Verification status for DefaultCallbackHandler: SUCCESS
Verification status for CompatibilityFallbackHandler: SUCCESS
Verification status for CreateCall: SUCCESS
Verification status for MultiSend: FAILURE
Verification status for MultiSendCallOnly: SUCCESS
Verification status for GnosisSafeL2: SUCCESS
Verification status for GnosisSafe: SUCCESS
Network with chainId: 137 not supported Which are the next steps, should I follow to include this deployment to Safe-Deployments? I didnt't see yet instructions on how to prepare the PR for adding a new network to Safe-Deployments. |
These are not the addresses we would expect. Which commitndidnyou deploy? It is important to use the version tagged with |
I deployed the latest commit: ce5cbd2 |
As mentioned in the readme it is important to use a tagged commit else you will get different addresses and small unaudited changed. The tag would be https://github.com/gnosis/safe-contracts/tree/v1.3.0 |
Taged version 1.3.0 deploy: ❯ yarn deploy-all polygon
yarn run v1.22.10
$ hardhat deploy-contracts --network polygon
Compiling 12 files with 0.7.6
contracts/GnosisSafe.sol:340:5: Warning: Function state mutability can be restricted to pure
function getChainId() public view returns (uint256) {
^ (Relevant source part starts here and spans across multiple lines).
Compilation finished successfully
reusing "SimulateTxAccessor" at 0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da
reusing "GnosisSafeProxyFactory" at 0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2
reusing "DefaultCallbackHandler" at 0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd
reusing "CompatibilityFallbackHandler" at 0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4
reusing "CreateCall" at 0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4
reusing "MultiSend" at 0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761
reusing "MultiSendCallOnly" at 0x40A2aCCbd92BCA938b02010E17A5b8929b49130D
reusing "GnosisSafeL2" at 0x3E5c63644E683549055b9Be8653de26E0B4CD36E
reusing "GnosisSafe" at 0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552
Verification status for CompatibilityFallbackHandler: SUCCESS
Verification status for CreateCall: SUCCESS
Verification status for DefaultCallbackHandler: SUCCESS
Verification status for GnosisSafe: SUCCESS
Verification status for GnosisSafeL2: SUCCESS
Verification status for GnosisSafeProxyFactory: SUCCESS
Verification status for MultiSend: FAILURE
Verification status for MultiSendCallOnly: SUCCESS
Verification status for SimulateTxAccessor: FAILURE
Network with chainId: 137 not supported
Done in 31.25s. |
Cool this looks good :) next step would be a pr to https://github.com/gnosis/safe-deployments, or I can add it to safe-global/safe-deployments#3 |
I can create the PR, I just need to know the structure of the folder how it should actually be. Right now I get all the files in version 1.3.0 are at |
It would be an entry in the networkAddress object (see https://github.com/gnosis/safe-deployments/pull/3/files#diff-38e12284165b2c1a170347d1a57375feac2e84d9d60d7e015f918563de406751R11) Normally all networks with full evm support should have the same address as the default address, but there are some expections (e.g. optimism) |
I will try to improve the documentation to make this more clear. (See safe-global/safe-deployments#4) thanks for walking through this. |
Here is the PR: safe-global/safe-deployments#5 |
Prerequisites
Description
The command
yarn deploy-all rinkeby
results in two verification failures:Additionally the command
yarn deploy-all custom
not only fails to verify MultiSend and SimulateTxAcessor but also shows achainId
error as follows:Environment
Steps to reproduce
.env
file with:NODE_URL="http://127.0.0.1:8545"
ETHERSCAN_API_KEY
MNEMONIC
INFURA_KEY
yarn deploy-all rinkeby
yarn deploy-all custom
Additional context
hardhat.config.ts.zip
The text was updated successfully, but these errors were encountered: