Grant Application: Extensible Fallback Handler for Safe (Retrospective)

Grant Application: Extensible Fallback Handler for Safe (Retrospective)

Grant Title: ExtensibleFallbackHandler (Retrospective)

Author:

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.

Additional Links:

Grant category: Protocol Order Flow / Developer Tools

Grant Description:

Problem: The grant Composable Conditional Orders works best when the friction with using Safe is minimised as much as possible. Having a custom fallback handler without alignment of upstream (Safe team) is likely to present insurmountable barriers to adoption from risk-adverse Safe users.

Solution: The CoW Protocol team approached me in the course of development of the Composable Conditional Orders to work together with CoW Protocol team and Safe developers to define an extensible fallback handler standard that can be used by developers when building on top of Safe.

The solution presented maintains strong Safe security guarantees and vendor buy-in by upstream (Safe). As such, the original Composable Conditional Orders grant was expanded significantly in scope to effectively break-out the fallback handler component into a separate implementation, known as ExtensibleFallbackHandler. This fallback handler allows a Safe to:

  1. Define a custom method handler for any non-standard method (eg. turn a Safe into an ERC20 token).
  2. Define a custom EIP-712 domain verifier, whereby a contract implementing ISafeSignatureVerifier is able to sign for a nominated EIP-712 domain on behalf of a Safe (it is this interface that ComposableCoW implements).
  3. Define a set of methods (interfaceId) that a Safe supports, and report such using ERC165.

The architecture for the ExtensibleFallbackHandler can be viewed here.

Grant Goals and impact

  • Make CoW Protocol a first class citizen in Safe, providing first-to-market support for ExtensibleFallbackHandler with ComposableCoW.
  • Foster stronger ties across the Gnosis Ecosystem.

Milestones:

  1. Define the interfaces to be used (IFallbackHandler, IStaticFallbackHandler, and ISafeSignatureVerifier) COMPLETED.
  2. Implement ExtensibleFallbackHandler and inherited abstract contracts COMPLETED.
  3. Testing of new contracts using the existing Safe test harnesses COMPLETED.

Grant Timeline:

  • 4 weeks FTE. (COMPLETED)

Note 1: Full-Time Equivalent (FTE) corresponds to 40 hrs / week
Note 2: The above timelines do not make for allowances / timing associated with audit completion.

Funding Request:

Retrospective: $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

This budget does not include any costs associated with audit by a 3rd party. It is expected that CoW would undertake the necessary steps / cost for audit. Any cost overruns associated with meeting the standards of an external audit (additional testing / code fixes) would be paid out of the development cost.

Gnosis Chain Address (to receive the grant):

gno:0x070E0a700E36D303a0Ce3fe37976dD70974D7883

Other Information:

  • This grant is applied for on the basis of retrospective recognition of additional scope to the grant Composable Conditional Orders. It is highlighted that this increased scope was at the request of the CoW Protocol team, and not initiated by the developer.
  • 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

3 Likes

I support this grant for its collaborative approach in creating an extensible fallback handler with the CoW Protocol and Safe developers, improving security and promoting innovation across the SAFE Ecosystem.

1 Like