A Safe{Core} Protocol Plugin that can requestion funds across different EVM chains.
Fillable is a Safe{Core} Protocol Plug-in facilitating cross-chain communication and handling of a user collateral. The contract can be called by a network of permission-less bots when certain criteria are met. In this example we are using Aave Health Factor which must be bellow 1.1 but it could be adapted to other protocols where there is liquidation risk. Bots can call the contract and have it requests more funds from a pool plug-in on another chain. I didn't implement it but the idea is that funds should automatically posted to Aave as collateral to bring the Health Factor back into a safe range.
#Overview This project Uses [Safe{Core} Plugin (https://github.com/WillSchiller/safe-plugin-foundry-template) for boiler plate code to setup tests & deploy the plugin. The Plugin metadata code is Safe's own example demo plugin. All of the plug-in implementation is written during the hackathon. It uses chainlink CCIP for the cross chain messaging (https://docs.chain.link/ccip).
#Node Architecture The Plug-in has a flexible design, intended to operate universally. Acting as a node, it can interfaces with numerous other nodes or safes. Its bidirectional communication allows each instance to both request and supply capital. The isPool boolean determines its behaviour: when set to false, the node operates as a 'child', limiting its actions to only requesting funds and rejecting incoming requests. Once deployed on a network, the plug-in is open for multiple users without redeployment allowing the use of safe registries.
#Security To safeguard assets a whitelisting mechanism (whitelistedRecipient) is used , ensuring a secure path between sender and receiver for each funding route. Additionally, each funding route adopts a 'thread-locking' mechanism during transfers, mitigating any risk of duplicate transactions.
#Aave Integration
Currently it only uses Aave to get the HealthFactor which must be below 1.1 to request funds. In the future we hope to pass some data to handle the action tat should be taken with the funds. For example automatically post collateral to Aave.
#Future We hope this tech could be used in many ways in the future. For example syncing a registry across multiple chain or allowing funds to be moved around to maximise yield or monitor for hacks and prevent losses.