Dev Log no.5
In the past two-week sprint, we ticked off tasks across the board, in Mosaic, Picasso, and the cross-chain virtual machine (XCVM). As previously discussed, the Mosaic relayer has been the primary focus of our build effort and we are happy to report that the dev team is half way through the relayer executor refactoring. For the Pablo DEX, we have completed the integration with Subsquid, an indexing solution for on-chain data, and have set up the environment for further QA. On the XCVM front, after successfully compiling CosmWasm contracts on Picasso testnet, we have started working on pallet XCVM to enable other teams to build on Picasso/Composable and propagate instructions to other chains.
The Mosaic refactoring is progressing as planned and we are halfway through setting up staging infrastructure and relayer refactoring. For the infrastructure stream, we have completed setting up the Key Management Service (KMS), which uses hardware security modules to protect and validate our keys. This is a best-in-class solution to control cryptographic keys and will make Mosaic more resilient to attacks.
Mosaic’s relayer receives messages from the vaults on the source chain and transmits messages to vaults on the destination chain. The executor on the Mosaic relayer handles the second part of the transfer and enables users to withdraw from vaults on the destination chain. After receiving transfer events, the executor performs validation/ checks, then broadcasts events on the destination chain. We have completed the first half of the executor part, including:
- Receipt collection
- Liquidity withdrawal/ revert transactions build
- Workflow for job retry
- KMS signing
- Integrating the KMS signer with executor
We have completed the integration with Subsquid’s processing solution for on-chain data and are ready for further testing and QA. The Pablo DEX will use Subsquid’ developer-friendly API framework to fetch several data fields to enable LBPs, swaps, and asset pools, for example initial balance before the LBP/ swaps, tokens sold and raised, etc. We have deployed it on our Dali testnet to enable quality assurance on the LBP and Swaps functionalities. You can follow the process here.
We have completed the integration and QA for the XCMP pallet, which allows for secure communication between parachains. XCMP is in Dali runtime and ready for testing with Karura. We have submitted a proposal to open HRMP channel between Picasso and Karura, the initial use case will be transfers of KAR, PICA and others between the two parachains. Proposals to open the HRMP channel need to be approved by both Karura and Picasso governance and enacted, after which XCM transfers will be enabled.
For the implementation of our financial NFTs (fNFT), we have added new features through further development of our custom pallets such splitting fNFTs or extending lock durations. Users will be able to lock their tokens for various periods of time, thereby enabling them to earn yield in the form of PICA and other tokens. With the latest features, users will be able to merge and split fNFTs, as well as depositing to an existing position to increase the stake and renew the lock. These features will create additional customizability for users, and will allow us to build further utility for the fNFT within our applications too. As well as this, we have continued to finalize details on our fee and rewards distributions for Pablo, where all platform trading fees are allocated back to LPs and locked token holders. This allows us to create the most optimal distribution when handling multiple streams of rewards, as highlighted in our previous fNFT and Pablo articles. You can follow these developments here.
The cross-chain virtual machine is designed to enable natively cross-chain Dapps through handling the routing and bridging for developers. The virtual machine compiles CosmWasm smart contracts and orchestrates satellite contracts deployed on various chains through IBC or other bridging solutions. In the previous sprint, we have successfully compiled CosmWasm contracts on the Dali testnet. Currently we are working on the XCVM pallet, which receives input from the routing layer on which satellite contract to interact with and which function to execute; once the XCVM pallet receives the input, it then instructs the satellite contracts accordingly, through bridging solutions such as Centauri or Mosaic Phase 3. We are a few weeks away from providing developers with all the tooling needed to deploy on XCVM.
We understand that this can be a difficult time for Terra and the CosmWasm community. To show our support, we have launched a grants program of up to $100k for any CosmWasm project or developer to build within the Composable ecosystem. In addition to the grants, we are always looking to collaborate with other CosmWasm projects, please reach out to us on Discord to further discuss.
For more information about Composable and how it is architecting the unified DeFi landscape of the future, check out our socials: