Grant Title: Rust SDK for CoW Protocol
Author: pstylez78
GitHub: PatStiles (PatStiles)
About You:
Experienced Developer in Defi, and Web3
Contributor to the Jolt ZKVM (A16z), and Arkworks-rs.
Grant Category: Protocol Order Flow / Developer tools
Grant Description:
Problem:*
Builders / developers come from many different technical backgrounds. Due to the nature of web applications predominantly being written in JavaScript, CoW Protocol naturally developed a JavaScript SDK cow-sdk. After interest from the CoW Dao community a later grant was given to build a python SDK cow-py.
Rust has become a popular backend language for many developers in crypto with various L1 ecosystems committing to its usage. Creating a Rust SDK for developers to interact with CoW protocol will aid developers using Rust as there main development language that seek to integrate CoW protocol.
Solution: This grant seeks to set aside funding within Grants DAO to fund contributors to a CoW Protocol Rust SDK.
Grant Goals and impact:
Increase CoW protocol utility by extending the current cow protocol tooling to the widely used rust programming language.
Increase CoWmunity engagement, fostering a strong developer community.
Milestones:
Phase one (feature parity):
The first phase will involve developing the CoW Rust SDK to that allows for the following:
- Querying the CoW Protocol subgraph.
- Managing orders on the CoW Protocol.
- Interacting with CoW Protocol smart contracts.
- Encoding orders metadata and pinning to CID.
- Fetching and decoding blockchain data.
- Generated SDK documentation using OpenAPI Codegen.
Specifically the Cow Rust SDK will achieve feature parity with:
a. @cowprotocol/cow-sdkb. @cowprotocol/contracts (hashing utilities)c. @cowprotocol/app-data
To ensure soundness, correctness, and support ease of use, the Cow Rust SDK will include unit tests, integration tests and examples as outlined within the CoW Python SDK ( cow-py/tests at main · cowdao-grants/cow-py · GitHub ).
The project will be hosted within the @cowdao-grants organization on github within a repository titled cow-rs
Phase two (maintenance):
This phase will consist of being on call and active post development to proactively triage and address bugs and feature request reported by the community.
Contributors will maintain the CoW Protocol Rust SDK over the course of a year.
Grant Timeline:
Phase one: 8 weeks
Phase two: From 1 year after Phase 1 complete.
Funding Request:
$8,500 for the first phase. Based on the Grants Committee assessment (and whose decision is final), the funding will be divided amongst the developers of the Rust SDK with funds set aside for later review and auditing.
Once the Rust SDK reaches feature parity, the orders routed by the Rust SDK will become eligible for the Volume Grants Program. Funds from the Volume Grants Program (if any), will be distributed to original developers, and maintainers, on a ratio basis to be solely determined by the Grants Committee.
Budget Breakdown:
$8.5k: development / labor cost.
Volume Grants Program
Gnosis Chain Address (to receive the grant):
Referral: N/A
Terms and conditions:
By applying for this grant, I agree to be bound by the CowDAO Participation Agreement and the COWDAO Grant Terms and Conditions