nethermind icon indicating copy to clipboard operation
nethermind copied to clipboard

Unable to deploy contracts on Gnosis

Open rickcain opened this issue 3 years ago • 9 comments

Describe the bug We are unable to deploy the curve pool contract on Gnosis chain, always got the error message PermissionDenied, permission denied for tx type: Create, actual permissions: None no matter using any deployer addresses.

To Reproduce Steps to reproduce the behavior:

  1. Download and unzip the attached zip file: permissionDeniedContract.zip.
  2. Run yarn to fetch the openzeppelin dependency.
  3. Paste the private key in .private_key file.
  4. truffle-config.js and 2_deploy_contracts.js are already properly configured. Run truffle migrate --network gnosis to deploy the contract.
  5. The error message PermissionDenied, permission denied for tx type: Create, actual permissions: None shows up.

Expected behavior The contract can be deployed.

rickcain avatar Jul 13 '22 03:07 rickcain

Tagging @alebanzas @Georgi87 @koeppelmann (and cc @igorbarinov) into this issue

plato-gno avatar Jul 14 '22 00:07 plato-gno

Can you share more details about the deployment transaction, mainly: Sender address, Value, MaxFeePerGas, MaxPriorityFeePerGas, GasLimit, Data ?

Does the node you are using have any custom local permissions set up? Or are you using standard gateway?

Similar issue: https://github.com/NethermindEth/nethermind/issues/3925

LukaszRozmej avatar Jul 14 '22 09:07 LukaszRozmej

@LukaszRozmej Hi, just like the configurations in truffle-config.js: Transaction Type: legacy Sender: doesn't matter, the issue is 100% reproducable Value: unset GasPrice: 2 Gwei GasLimit: 7,000,000 Data: byte code of the contract RPC: https://rpc.gnosischain.com

We also tried EIP-1559 transaction: Transaction Type: EIP-1559 Sender: doesn't matter, the issue is 100% reproducable Value: unset GasPrice: 2 Gwei MaxFeePerGas: 2.1 Gwei MaxPriorityFeePerGas: 2.1 Gwei GasLimit: 7,000,000 Data: byte code of the contract RPC: https://rpc.gnosischain.com

PS:

  • Same contract had been deployed multiple times before on Gnosis and they all cost ~5,000,000 so 7,000,000 is quite enough.
  • All constructed transactions were successfully being confirmed and packed on many other chains except Gnosis (though same transactions can send months ago), so we think the transaction itself is not the cause.

rickcain avatar Jul 14 '22 10:07 rickcain

Same contract had been deployed multiple times before on Gnosis and they all cost ~5,000,000 so 7,000,000 is quite enough.

can you please give a link to deployment on another chain?

igorbarinov avatar Jul 25 '22 12:07 igorbarinov

@igorbarinov https://etherscan.io/address/0x5dbdd037e6f10fef42cac6d9129588fd49e2c0d9 https://bscscan.com/address/0x426223eef2e4f577767533aa1854E8b980b1Df5F

rickcain avatar Jul 25 '22 12:07 rickcain

Any updates? @LukaszRozmej @igorbarinov

rickcain avatar Aug 29 '22 07:08 rickcain

I get exactly the same response trying to deploy a contract today, using Hardhat.

jsonRpcResponse: {"jsonrpc":"2.0","error":{"code":-32010,"message":"PermissionDenied, permission denied for tx type: Create, actual permissions: None"},"id":10}

0xbeedao avatar Sep 23 '22 19:09 0xbeedao

Same result with the same contract, trying to deploy via Remix

0xbeedao avatar Sep 23 '22 19:09 0xbeedao

@rickcain @0xbeedao It looks weird but try do decrease runs of optimizer. I used to get this error with 5000, but after changing to 1000 it deployed successfully

pumpurum2 avatar Sep 27 '22 05:09 pumpurum2

Hi @rickcain @0xbeedao. See issue in gnosis pm repo explaining this. This error is something that the TxPermissionContract is not liking about the transaction. Basically, there is a contract that determines whether a transaction has permission to execute or not. See the relevant code here.

jmederosalvarado avatar Nov 10 '22 21:11 jmederosalvarado