Search code examples
chainlink

Chainlink Functions fulfillRequest failing due to callback gas limitation


I'm facing a problem with the fulfillRequest from Chainlink Functions beta. My callback function (fulfillRequest) is consistently failing and I don't get the successfull OCRResponse event.

I was initially unsure about what was going on but I could confirm that the problem was related to gasLimit when I inspected the transaction using Tenderly transaction debugger. In the tenderly panel, the transaction seems to be requiring ~460_000 gas. And the Chainlink Functions callback gas limit is strictly limited to 300_000 as stated here.

My callback is expensive because I'm using an insurance framework called GIF (Generic Insurance Framework) from Etherisc and it triggers a whole lot of other callbacks when the fulfillRequest arrives.

This is the (partially) failed fulfillRequest transaction: https://mumbai.polygonscan.com/tx/0x3f92816559ab76cf1969ee394a727e0ecb6159dca0ac4c98944ca91b2c48db74

This is the consumer/client contract: https://mumbai.polygonscan.com/address/0xB59EF5D36eC439fF9e98746Fe7944275e81B0e45#readContract

Any chance this service limit can be removed, or raised, for my wallet for the sake of testing?

I'm confident that my custom function works fine since I tested it extensively using the starter kit provided by Chainlink.

Finally, before giving Chainlink Functions a try I was using ChainLink AnyAPI and everything was working just fine, thus I believe there is no issue on my contracts.


Solution

  • Currently, there is no way to increase it past the 300_000 max. It's in the engineering backlog to create a method for increasing it more.