Charli3’s On Demand Validation (ODV) project has begun. By winning the votes of Catalyst users in Fund 11, ODV research, architecture, and implementation is already underway. This article serves to show the planning and timeline of the project for the Catalyst reporting team.
Project team
We have assembled a team of talented smart contract and software developers to work on the Charli3 ODV project:
- George Flerovsky (Technical advisor)
- Jose Seraquive (Charli3 staff dev)
- Stanislav Zhdanovich (external dev from Metalamp)
- Kirill Elizarov (external dev from Metalamp)
Review of current architecture and limitations
(Link to or summary of the limitations report)
Research feasible options for on-demand value triggering
During the research phase of the project in Milestone 1, we have discovered the following feasible options to provide on-demand value oracle feeds with Charli3, in order of increasing complexity:
- Repurpose existing smart contract redeemers for the purpose of triggering on-demand oracle feed updates, adapting the oracle node and off-chain code to properly monitor and react to such triggers.
- Move part of the oracle data aggregation logic to an offchain protocol whereby clientside code collects data from individual oracle nodes and submits the responses as a redeemer to the oracle node aggregation smart contract.
- Adopt a peer-to-peer architecture for offchain oracle node messaging to gather the necessary information for the oracle data aggregation onchain transaction.
We have decided to start by implement the first option, fully testing and benchmarking it as a baseline to inform our further development and optimizations. The second and third options will be prototyped and pursued to the extent that they can demonstrably improve the performance and costs of the on-demand oracle feeds.
Implementation plan and timeline
The implementation plan and timeline for the project is as follows:
- (2.0 weeks) Implement and unit test the changes to the smart contract redeemers for the ODV oracle feeds.
- (3.0 weeks) Implement and unit test the changes to the oracle node backend and offchain codebase for the ODV feeds.
- (1.5 week) Assorted minor code refactoring to simplify and optimize the code.
- (1.0 weeks) Integration testing of all ODV architecture components. Test full workflow on preprod testnet.
- (0.5 week) Prepare and evaluate the first internal team demo.
- (1.0 week) Update the documentation and SDK for the ODV oracle feeds.
- (1.0 week) Build a functioning usecase prototype for an example solution on pre-production.
- Milestone 2 ready for submission!
- (1.0 week) Expand test cases and conduct an internal end-to-end code audit.
10. (1.0 week) Remedy any issues discovered in the internal audit.
11. Milestone 3 ready for submission!
12. (1.5 weeks) Prepare to deploy the ODV architecture on mainnet.
13. (1.0 week) Prepare partner (TBD) or dummy example oracle feed for deployment on mainnet.
14. Milestone 4 ready for submission!
15. (1.0 week) Prepare Catalyst project close-out materials.
16. Final milestone ready for submission!
Note that the above per-item time estimates are on the basis of one software developer implementing the items sequentially. Given that the team has multiple developers and to the extent that items can be pursued in parallel, some items may be completed sooner.
Since the project kicked-off in mid-April, we have made it to the fourth item in the implementation plan. At this point, we feel confident about achieving the second milestone according to the Catalyst project schedule.