Callhook is an extension for all EVMs addressing the current limitation in smart contracts whereby smart contracts can only be invoked by EOAs. Contracts are unable to initiate calls and this limitation hinders the adoption of flexibily and event-driven paradigms
CallHook presents an solution to the problem by introducing an incentivized mechanism that enables smart contracts to programatically register to continue their execution based on set preconditions. External participants are incentivised through a fee to execute actions that have satisified their preconditions.
By using this mechanism, developers can integrate event-driven architecture into their smart contract design, allowing contracts to initiate actions in response to specified events or conditions and be a lot ore flexible in their design.
The smart contracts were written in Solidity and tested with unit tests in Hardhat as well as tested and demonstrated using Scaffold Eth.
Whilst the tooling presented by the Inbox smart contracts could apply to any EVM chain, they functionality is specifically targetted at L2s that enable cheaper execution and operation. Celo, Neon, Linea and Gnosis were specifically targetted for their easy of use and low execution fees to make this approach viable. It is hoped with more time a deeper integration leveraging specific features from these and other L2s further enhances the utility of this project.