Transitioning from GPv1 to CowSwap for Buybacks

Overview

DXdao recently executed its first order directly on CowSwap using the Multicall Scheme: https://explorer.cow.fi/gc/orders/0xd55836afb5313442767e482f759391dad6997a4e32dc830526fbf905587e3cd0e716ec63c5673b3a4732d22909b38d779fa47c3f633f052b

This proposal suggests moving buyback orders to CowSwap for better execution and lower overhead. GPv1 requires a solver to be run, as well as liquidity for OWL to be available on the protocol for orders to match successfully. Moreover, depositing funds into GPv1 is tedious for both DXdao and users.

Transition

The transition would move orders from GPv1 to CowSwap protocol. Once successfully passed, this proposal will allow for orders being placed directly on CowSwap.

  • Orders will be placed with a large slippage (~10%)
  • CowSwap will match at the best price available (expectation of larger surplus, see txs above)

Technical Details

As can be seen in proposal ID 0x6bad7d153d1b669ac9a6b369c19d384687cd17b2a6760ffd419e70beb684dda5 (Gnosis Chain) the proposal already includes a link to the order on CowSwap order - making it easy for rep holders to analyse and vote on the proposal.

The order is created off-chain via the CowSwap APIs, and can be created by anyone on behalf of the DAO in “pre-sign” mode. This mode requires a “signature” to happen on-chain.

The multi-call proposal has 2 calls:

  • Approve exact amount of tokens to the CowSwap Vault Relayer
  • Set the order ID to true on the Settlement Contract (i.e. “signing” the order)

Initially the buyback will continue on Gnosis Chain, as the Multicall requires just 5 days to pass - whereas on mainnet the generic multicall requires 16 days. If required we can also whitelist the CowSwap Vault Relayer and Settlement Contract on mainnet, allowing us to cut down total proposal time to 8 days.

Risks

Moving to CowSwap and given the need to create the order 5 days ahead requires us to rely on CowSwap to match at the best price. However, given that buyback amounts are relatively low orders and CowSwap has competing solvers looking to solve at the best price and with funds staked this risk is negligible.

Due to the high slippage required, there is a slightly higher change of price manipulation within the slippage space. To address this slippage should be set as low as possible yet high enough for orders not to fail. Moreover, if CowSwap proves to be a successful way of executing buyback orders there are ways to create the order at the time of the proposal passing.

6 Likes