• © Goverland Inc. 2026
  • v1.0.8
  • Privacy Policy
  • Terms of Use
CoW DAO GrantsCoW DAO Grantsby0x0F641723997145715d23c0129b96041011d26666dao-signer.mfw78.eth

ComposableCoW SDK + Docs

Voting ended almost 3 years agoSucceeded

Author: @mfw78

  • GitHub: https://github.com/mfw78 and https://github.com/rndlabs
  • Gitcoin: https://gitcoin.co/mfw78
  • Mirror: https://mirror.xyz/mfw78.eth

About You:

  • Experience in technical systems analysis, design and implementation with a strong emphasis on risk management / gap analysis.
  • Experienced technical writer in mission-critical, highly regulated, and technical industries.
  • Actively independently developing with emerging decentralised technologies, including Swarm and Waku.
  • Previous CowDAO grants including ComposableCoW and TWAP Orders.

Additional Links:

  • ExtensibleFallbackHandler - An extensible fallback handler for Safe.
  • composable-cow - composable stateless conditional orders.
  • safe-cow - implementing EIP-1271 signature aggregation for Safe trading on CoW Protocol API.
  • cowswap-twap-orders - implementing TWAP orders for Safe trading via CoW Protocol API.

Grant category: Protocol Order Flow / Developer Tools

Grant Description:

Problem: Use of ComposableCoW requires heavy lifting for the developer, notably they must ensure that:

  1. The merkle root is calculated correctly prior to setting it in ComposableCoW.
  2. Proofs are calculated correctly for emission on-chain (or sending off-chain).

Developer experience further is hampered by a narrow scope of existing examples, requiring developers to have an extensive knowledge / understanding of ComposableCoW architecture and contracts to effectively create composable orders.

Solution:

In order to smooth the above developer experience, it’s proposed to build ComposableCoW support natively into cow-sdk.

  1. Defining an interface in TypeScript for generic IConditionalOrder contracts (allowing conditional order developers to extend this to enable support for their conditional order type in cow-sdk).
  2. Generation of merkle-roots using the OpenZeppelin merkle-tree library.
  3. Provide an example repository for developing conditional orders that utilises the ComposableCoW-enabled cow-sdk that developers may use as a template.
  4. Write a section of documentation for inclusion in Tutorials section on the CoW Protocol docs.

Grant Goals and impact

  • Significantly smooth the developer experience when building conditional orders for ComposableCoW.
  • Provide guidance and utilities for enabling a conditional order developer to build support for cow-sdk, allowing better integration into front-end / user-facing utilities.

Milestones:

  1. Define the interfaces to be used for the IConditionalOrder contracts in cow-sdk.
  2. Integrate ComposableCoW merkle-root calculation routines into cow-sdk.
  3. Build an example repository for a condtional order type utilising the new cow-sdk.
  4. Unit testing of the cow-sdk modifications.
  5. Write documentation / tutorial for inclusion in CoW Protocol docs, based on the repository from (4).

Grant Timeline:

  • 4 weeks FTE.

Note 1: Full-Time Equivalent (FTE) corresponds to 40 hrs / week Note 2: The above timelines does not make allowance for liaison with the CoW Protocol team when finalising the TypeScript API for conditional orders.

Funding Request:

Total: $10,000.

Payment terms: Half paid on a successful vote by the Grants Committee, with the remainder paid upon satisfactory completion of code audit by an auditor nominated by CoW Protocol team.

Budget Breakdown:

  • $10k: development / labor cost

Gnosis Chain Address (to receive the grant):

gno:0x070E0a700E36D303a0Ce3fe37976dD70974D7883

Other Information:

  • As an active member of the CowDAO Grants Committee, I hereby refrain from voting / signing on this proposal so as to eliminate conflicts of interest. In determining the timelines associated with this Grant, I have taken into consideration workloads due to my position as a Committee member, 3rd party work, and allowed appropriate buffer to ensure the Grant Committee’s continuance.

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

Off-Chain Vote

For
6 OTS100%
Against
0 OTS0%
Abstain
0 OTS0%
Quorum:120%
Download mobile app to vote

Timeline

Jun 04, 2023Proposal created
Jun 04, 2023Proposal vote started
Jun 07, 2023Proposal vote ended
Mar 05, 2026Proposal updated