Inspiration
We want to build asset management infrastructure that is chain and protocol agnostic. Investing in DeFi and beyond on chain should abstract away all of the messy interactions with bridges that people have to put up with today.
What it does
The project is an ERC4626 Vault that can accept a user deposit on Fuji and bridge it to Sepolia where it is invested. Every 24 hours a chainlink automation calls a bridging transaction on the SourceVault contract. When the funds arrive, this triggers another series of transactions where the CCIP-BnM token is swapped for another asset on the DestinationVault, and execution data is sent back via CCIP to update the accounting on the SourceVault interface.
this is PoC, the goal is to create a protocol that can use vault infra and bridging enable customers to access diversified investments across a number of chains.
How we built it
We used the Solmate implementation of ERC4626 for accounting and user interface. All bridging was done with CCIP and the BnM token. Swaps were executed on a Uniswap fork on Sepolia for a custom ERC20 we created. A total of 4 keepers were used for automation.
Challenges we ran into
Testing and deploying with CCIP and keepers was much more difficult than we expected, as we were not able to simply rely on our local environment. Ultimately the final project does not work. We needed more time to troubleshoot. It's also the first hack for both of us, and I have only been coding since the summer.
Accomplishments that we're proud of
Most individual components worked on their own - the CCIP transfers and accounting all work. We both learned a ton, and got to the finish line.
What we learned
We need a better process for testing CCIP and keepers more efficiently
What's next for Cross-Chain Vault
We will continue to work on this and will follow the progress of CCIP as more tokens and options are added. We intend to keep working on cross-chain diversification and asset management, and have a product by next summer.
Built With
- ccip
- chainlink
- foundry
- solidity
Log in or sign up for Devpost to join the conversation.