CIP-54 Dissolve Project Blanc bonding pool

Simple Summary

Project Blanc is currently restructuring and for administrative reasons we will need to unwind the current solver we maintain and resubmit a bond at a later stage.

The current bond safe was created by: 0xCa99e3Fc7B51167eaC363a3Af8C9A185852D1622 and has the following address: 0xC96569Dc132ebB6694A5f0b781B33f202Da8AcE8

USDC funds were deposited by 0x6F3f9B752f57f63580Bf7a2aeBD4D2392bc7e783
CoW funds were deposited by 0x39D787fdf7384597C7208644dBb6FDa1CcA4eBdf

The funds should be sent back to the same addresses.

Safe Transaction Data

{
  "version": "1.0",
  "chainId": "1",
  "createdAt": 1731663983557,
  "meta": {
    "name": "Transactions Batch",
    "description": "",
    "txBuilderVersion": "1.17.1",
    "createdFromSafeAddress": "0xC96569Dc132ebB6694A5f0b781B33f202Da8AcE8",
    "createdFromOwnerAddress": "",
    "checksum": "0xffa3670a490311498189446da814f8c924d8929744663a79693047cbdaccb4a7"
  },
  "transactions": [
    {
      "to": "0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB",
      "value": "0",
      "data": null,
      "contractMethod": {
        "inputs": [
          {
            "internalType": "address",
            "name": "recipient",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ],
        "name": "transfer",
        "payable": false
      },
      "contractInputsValues": {
        "recipient": "0x39D787fdf7384597C7208644dBb6FDa1CcA4eBdf",
        "amount": "1500000000000000000000000"
      }
    },
    {
      "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "value": "0",
      "data": null,
      "contractMethod": {
        "inputs": [
          {
            "name": "to",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          }
        ],
        "name": "transfer",
        "payable": false
      },
      "contractInputsValues": {
        "to": "0x6F3f9B752f57f63580Bf7a2aeBD4D2392bc7e783",
        "value": "500000000000"
      }
    }
  ]
}

Some comments about what, in my opinion, would be the “correct” formal process. I would strongly recommend that these steps, in some form, are also described within the text of the CIP.

(1) Within the text of the CIP, the Project Blanc team asks the core team to deny-list their associated solver addresses. Assuming the core team verifies the request with the Project Blanc team via the various communication methods that are currently being used, the core team initiates the deny-listing and shares the tx that denylists the corresponding solver addresses. One can easily verify which solver addresses have been vouched for by the Project Blanc bonding pool (0xC96569Dc132ebB6694A5f0b781B33f202Da8AcE8) by using this query https://dune.com/queries/1541516. Specifically, the query shows the following two solver addresses have been vouched for by that pool: 0xbada55babee5d2b7f3b551f9da846838760e068c and 0xa5559c2e1302c5ce82582a6b1e4aec562c2fbcf4

(2) Once the deny-listing have been executed, then this CIP can be moved to the voting phase.

(3) The bonding pool owners (i.e., Project Blanc) commit to unvouch the relevant solver addresses AFTER the final payouts (currently scheduled every Tuesday) have been executed; by final, we mean the last payouts that would involve the two aforementioned solver addresses. We would also ask the Project Blanc team to post an update here with the txs that unvouch the two solver addresses.

(4) If the CIP passes, then the transfer of funds from the bonding pool to the relevant addresses will be automatically executed within 48 hours of the CIP passing.

Regarding (3) and (4), I would strongly suggest that we add the following to the text of the CIP: if the unvouching does not happen in the specified time window, then the CoW DAO signers are mandated to disable Osnap (which would otherwise automatically execute the transfers of funds) and NOT execute the transfer of funds.

Following up on this, I confirm that the solvers associated with the Project Blanc bonding pool are denylisted. This is the transaction that denylisted them:

One can verify that the addresses denylisted above (i.e., 0xa5559C2E1302c5Ce82582A6b1E4Aec562C2FbCf4 and 0xbAda55BaBEE5D2B7F3B551f9da846838760E068C) are the only solver addresses associated with the Project Blanc pool (0xc96569dc132ebb6694a5f0b781b33f202da8ace8), by looking at this Dune query:
https://dune.com/queries/1541516?end_time_d83555=2024-11-29+00%3A00%3A00

and also by confirming that indeed the current state of the two addresses is that they are not solvers

Finally, the last settlements that the two addresses executed were before the conclusion of the last accounting week (i.e., before Nov 26, 2024 00:00 UTC), which means that there are no pending rewards to be distributed, and thus the Project Blanc team can proceed with the unvouching of the corresponding solver addresses.

We can now move this proposal to the voting phase. Will share a link very soon

This has moved to voting

https://snapshot.org/#/cow.eth/proposal/0x2638ee59df1f402421fe69abe76cd0154ec32d8b4ad88a136318c6c8c76b210d

Project Blanc unvouched the two relevant solver addresses.

As a reminder, here was the original vouching tx

and here is the recent unvouching tx

CIP successfully passed and the proposed tx has been executed

2 Likes