[New chain]: Recall testnet
Chain Name
Recall testnet
RPC URL
https://evm.node-0.testnet.recall.network
The RPC endpoint must allow batch requests for the bot script.
- [x] I confirm that the RPC allows batch requests
The chain must be added to https://chainlist.org/
- [x] I confirm that the chain is added to chainlist
After creating the issue, a bot will estimate the required pre-fund and post it in the comments. Please check this checkbox after you send the pre-fund.
- [ ] I sent the pre-fund in accordance with Github Action's comment
Relevant information
Block explorer: https://explorer.testnet.recall.network
⛔️ Error:
Factory deployment simulation returned different bytecode.
The RPC url works locally without any issues:
$ curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' https://evm.node-0.testnet.recall.network
{"jsonrpc":"2.0","result":"0x3c0bf","id":1}
$ curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' https://evm.node-0.testnet.recall.network
{"jsonrpc":"2.0","result":"0x25dde0","id":1}
Looking at the action output it seems like there's an issue estimating gas. Not sure how to debug this though.
There are 2 issues here:
- In
./validate_new_chain_request.shthe results ofeth_gasPrice,eth_estimateGas, andeth_callmay come out of order and may give the wrong error message - Recall blockchain don't allow simulating contract creation, so
failsif [[ "$deployed_bytecode" != "$FACTORY_DEPLOYED_BYTECODE" ]]; then report_error "$ERROR_MSG_DEPLOYMENT_SIMULATION" fi
@rmeissner can you help on this? Is there a way of manually deploying the contract?
cc @nlordell
results of
eth_gasPrice,eth_estimateGas, andeth_callmay come out of order
This should be fixed as of #1005
Recall blockchain don't allow simulating contract creation
This is a requirement we have right now for our singleton factory deployment process.
Recall blockchain don't allow simulating contract creation
This is a requirement we have right now for our singleton factory deployment process.
@nlordell Thanks for the reply! A couple of more questions:
- Is there a workaround to avoid that? Looks like our contract creation simulation issue comes from Filecoin (our base chain), I see that Filecoin managed to get the single factory deployment to work. Maybe there's a way of making this happen?
- If not, could we make it work by deploying the contract ourselves (with a wallet we control)?
Is there a workaround to avoid that?
Some other chains had this issue as well and were able to get upstream changes to allow smart contract simulation. It is possible to work around it, it mostly comes from us trying to be extra careful to not do a transaction that reverts and burns the deployer nonce (thus making it impossible for the singleton factory to land on the canonical address). Do you know if your base chain would be willing to add support for contract deployment simulation in RPC?
If not, could we make it work by deploying the contract ourselves (with a wallet we control)?
We don't have a process for this at the moment.
Do you know if your base chain would be willing to add support for contract deployment simulation in RPC?
Yeah, it turns out that it's actually a bug in Filecoin (https://github.com/filecoin-project/lotus/issues/13022)
Thanks for the info @nlordell