diff --git a/pages/entropy/best-practices.mdx b/pages/entropy/best-practices.mdx index afced270..16fb54eb 100644 --- a/pages/entropy/best-practices.mdx +++ b/pages/entropy/best-practices.mdx @@ -15,6 +15,21 @@ to submit the necessary transactions. The gas limit for each chain is listed on the [contract addresses](./contract-addresses) page. +## Handling callback failures + +While the default entropy provider is highly reliable, in rare cases a callback might not be received. This typically happens when there's an issue with your contract's callback implementation rather than with the provider itself. The most common causes are: + +1. The callback function is using more gas than the allowed limit +2. The callback function contains logic that throws an error + +If you're not receiving a callback, you can manually invoke it to identify the specific issue. This allows you to: + +- See if the transaction fails and why +- Check the gas usage against the chain's callback gas limit +- Debug your callback implementation + +For detailed instructions on how to manually invoke and debug callbacks, refer to the [Debug Callback Failures](./debug-callback-failures) guide. + ## Generating random values within a specific range You can map the random number provided by Entropy into a smaller range using the solidity [modulo operator](https://docs.soliditylang.org/en/latest/types.html#modulo).