The current callback_gas_limit value is set to 150000. The limit is too low to allow any interesting contract interactions to happen.
Hence, this is a proposal to update the callback_gas_limit param of the callback module from 150000 to 3000000. With the current gas price, this should allow the callback to consume gas up to 0.42 CONST. By doing so, we will be able to implement interesting features using the callback module.
Thanks for bringing this proposal to the community’s attention. It’s great that the protocol team designed these modules to be easily adjustable via governance to ensure the protocol remains flexible and adaptable. The initial values for most parameters are set on the conservative side to allow developers and users to evaluate the system and propose adjustments based on real-world use cases.
Could you provide more context on why you chose to increase the callback_gas_limit to 3,000,000, a significant jump from the initial 150,000? What specific use cases do you have in mind for the callback module, and what gas limits are you encountering with the transactions you aim to execute? It would be helpful if you could share some test transactions to illustrate the need for this increase as well.
I am trying to implement an auto-renewal mechanism for archid domain. For this mechanism, the callback module should be able to execute several messages, such as NFT transfers and cross-contract interaction. I have implemented this function and when I execute this function directly on Testnet, it consumed around 1_000_000 gas.
Here is the transaction where the “renew domain” function is called directly.
By taking into consideration the possibility of more advance use cases in the future, I propose to double the minimum amount of callback gas limit from my use case for extra buffers. That’s how I come up with the 3_000_000 gas in my proposal.
I can understand that it can be too high and I am okay to lower the number, but I think for my use case, the minimum callback gas limit should be around 1_500_000.
I want to support @xenosgeck proposal.
In my case there is IBC and ICA (cross chain) interaction that will need minimum 500000 gas limit I think, and I agree with @xenosgeck that the current gas limit I think is too small for meaningful transaction.
My estimation we should increase gas limit to 0.75-1 million as minimum to accommodate variation of possible meaningful chain interaction.
I see that the deposit is in CONST so I am assuming Testnet. One concern raised by the protocol team is that it might be reasonable to start at 1_000_000 first before making a big jump to 3_000_000.
We however could use 3_000_000 on our DEVNET (Titus) where devs can also test out their contracts. So we can set TESTNET (Constantine) to 1_000_000 and DEVNET (Titus) to 3_000_000.
We have submitted proposals to update the max gas limit for the Callback module on Devnet and Testnet based on the following proposal discussion: Proposal: Increase the callback_gas_limit. This update increases the max gas limit from 150,000 to 3,000,000 on Devnet and to 1,000,000 on Testnet. We are asking developers to test this updated configuration on both networks and provide feedback so that we can make a decision on the update to be made on Mainnet.