CarmineOptions / konoha

A toolkit for DAO-like governance on Starknet
Apache License 2.0
29 stars 43 forks source link

ODHack: Integrate Ekubo TWAMM to Treasury #84

Open tensojka opened 4 months ago

tensojka commented 4 months ago

Extend treasury.cairo to support setting up TWAMM orders on Ekubo. This is a complex task.

Definition of Done

The Cairo code works as expected, has nearly full test coverage, is reasonably documented (docstrings or similar suffice) and readable.

od-hunter commented 4 months ago

@tensojka can you assign this project to me please?

princeibs commented 4 months ago

Can I hop on this task?

ghost commented 4 months ago

@tensojka im ready to start work, can I hop on this?

tensojka commented 4 months ago

@od-hunter @princeibs

Please read CONTRIBUTING.md and outline how you would approach the task and provide an estimated delivery timeline, as it's a complex task

od-hunter commented 4 months ago

My estimated delivery timeline is 3 days, starting from when I’m assigned the project. I’m a full stack developer with very wide knowledge on this and to tackle this complex task, I will take the following approach:

  1. Understand the Existing Codebase. That is I’ll review and study(how it handled TWAMM), I’ll also check existing documentation.
  2. I’ll Research TWAMM Orders, to make sure I have a solid understanding of what TWAMM orders are. I’ll then determine the essential components and processes required to set up TWAMM orders.
  3. Plan the Extension, break Down the Task (divide the task into smaller, manageable sub-tasks).
  4. I’ll implement the Code, testing each part thoroughly. I’ll follow best practices for readability, including proper naming conventions, modular functions, and in-code comments where necessary. I’ll also add docstrings or similar documentation to explain the purpose and functionality of your code.
  5. I’ll ensure almost full test coverage by writing unit tests for all new and modified functions.
  6. Provide clear instructions on how to use the new TWAMM order functionality in treasury.cairo.

Please I’d love to be given this opportunity.

tensojka commented 4 months ago

@od-hunter Can you open a draft PR so I can see the status and progress?

od-hunter commented 4 months ago

Hello @tensojka I am still making some more research as this task is complex and I wouldn’t want to make mistakes. I will send the PR today, but if I’m not able to, I’ll send it tomorrow unfailingly please. But I promise you I'm on it, Thank you sir.🙏🏾

od-hunter commented 4 months ago

@tensojka while making my research, I found this interface for Ekubo TWAMM: https://github.com/EkuboProtocol/abis/blob/main/src/extensions/interfaces/twamm.cairo, which I believe is what I am supposed to integrate with Treasury contract.

But I couldn't find the implementation of the interface (I guess it's not opensource). In this case, do you mind adding more details about what part of the interface I'm supposed to extend?

tensojka commented 4 months ago

@od-hunter You're not supposed to extend the interface, you should add an ability for the treasury to start DCA orders on the TWAMM. Yes, it's not opensource, if you have questions, I would suggest you ask in the Ekubo Discord