Dev Log no.7
Welcome to our 7th bi-weekly dev log! We have kicked off work in extending the Mosaic relayer to be Substrate compatible after completing the build and testing it for EVM chains. We have also commenced the development of the staking pallet for Picasso, and our various other features are undergoing further testing and integrations. Our cutting-edge XCVM team is working on a demo to be showcased for the first time in next month’s Polkadot Decoded and Unchained event in Berlin. Keep reading for in-depth updates.
As we pointed out in our previous dev log, we have embarked on the Mosaic relayer refactoring to enhance Mosaic’s security after observing various hacks on DeFi bridges. We completed about three-quarters of the relayer build and are now close to deploying them in the pre-production environment for further testing and QA:
- Job producer
- Executor (these two are covered in the previous dev log)
- Mosaic’s rebalancing algorithm: monitors the TVL of each vault and uses external bridges to restore liquidity to meet transfer and withdrawal demands
Simultaneously, we are extending each relayer component to enable transfers between EVM chains and the Mosaic Pallet. The extension of the job producer means that the relayer can listen to events coming from Mosaic Pallet (and not just events coming from Mosaic Smart Contracts deployed on EVM chains). The extension of actor extension will enable Pallet -> EVM transfers; meanwhile, the extension of actor 2 will enable EVM -> Pallet transfers. Work here is still ongoing; once completed, Mosaic will be the first bridge that will be able to handle transfers between two different chain types (Substrate to EVM and vice versa). This marks a significant point in our roadmap as it expands our Kusama parachain, Picasso, to access the significant liquidity from the ETH ecosystem.
As previously mentioned, we are developing the staking rewards pallet to be used for staking on Picasso and the Pablo DEX. Other interfaces, including the landing overview page on Picasso, pages for bonding LP pairs for PICA and PBLO, Pablo swaps and more, have been developed, currently undergoing testing and integration. Given Pablo’s various functions like the various different AMMs, it remains our priority to ensure safety and stability across all features. Hence, our current focus is on QA and audits. At Composable, we ensure we carry out several types of testing to ensure the proper functioning and security of the chain covering:
- Automated testing on Github
- Unit test, looking at the smallest unit of code
- Front-end testing
- Integration tests are done when the developers have integrated the pallet and before connections to the frontend are established
- Quality assurance
- Final product validation
In the past two weeks, we have tested and validated
- The Apollo pallet
- Pablo LBP auction, testing for swaps in progress
- Mosaic phase 2, and the pallet support for Substrate
- Cubic vault pallet
For a more detailed analysis of our testing approach and the integration tests, check here.
Bearing the rigorous tests and process in mind, our core features, such as the LBP and AMMs, undergo QA after the integration and testing have been completed. This is the final stage before validation from the product team and shipping. Simultaneously, we are doing Picasso QA with QA on Mosaic’s support for Substrate.
The XCVM is an application-level messaging protocol for smart contracts, allowing for more sophisticated mechanisms in cross-chain communications than message passing. Developers can send instructions to transfer to or call contracts on another chain on the XCVM, which then creates an interpreter on that chain, without having the developer to interact with the chain directly. Our XCVM team is busy working on the technical specifications and will unveil the XCVM in Polkadot Decoded and Unchained events in Berlin. Not to leak too much alpha, below is a rough idea of what the demo will look like:
- A CosmWasm smart contract creates a set of XCVM instructions
- Instructions are relayed over a bridge to an instance of the XCVM on the designated EVM testnet
- In the instance of the XCVM, we spawn (set up) a new identity, execute a swap, and transfer the remaining funds to another instance of the XCVM on the second designated EVM testnet
- We conduct another swap on the second EVM chain
- We send back the remainder of the funds to the CosmWasm contract
From the idea above, it is clear that the swaps on the two chains are done by just interacting with the XCVM. This then creates instances on the designated chains for the developers to conduct swaps without having to configure to different standards manually. Imagine the possibilities of expanding on the simple swaps instructions to interactions with DeFi protocols on different chains!
Our XCVM team is currently headed by Composable heavyweights: Founder and CEO Brainjar, CTO Karel, and Lead Rust Developer Hussein. In addition to the demo, they will also explain the actors and workflow of the XCVM at the event. Hope to see many of you there! Meanwhile, If you have any questions or comments, please reach out to us on Discord where our team is on hand to answer your queries, comments and suggestions.
For more information about Composable and how it is architecting the unified DeFi landscape of the future, check out our socials: