CIP-Draft: Transfer Misallocated vCoW as COW to GNO Lockers

CIP:
title: Transfer Misallocated vCoW as COW to GNO Lockers
author: Ben Smith (@bh2smith)
status: Draft
created: 2022-03-09

Simple Summary

In the initial cow token airdrop, there were some overlooked (non-wallet) smart contracts holding substantial amounts of GNO that received an allocation. Such contracts are incapable of ever claiming their airdrop nor could they actually move the funds if someone were to claim on their behalf. Based on some rigorous calculations, the total amount of “misallocated” vCoW tokens airdropped to GNO token holding accounts is approximately 4.8M.

This means that GNO holders’ airdrop allocations should have been approximately 10% higher than they were!

The proposal here is to distribute these 4.8M misallocated vCOW as COW to the Gnosis DAO, earmarked to be used for the same purpose as its 50M vCOW allocation that is vested to those who locked their GNO. Since this allocation error only affected GNO holders, it seems appropriate to add this to the LGNO distribution.

Included in this list of misallocated funds are the following top 3 smart contracts on each network (making up for 98% of the entire misallocation):

Mainnet:

  1. 0x7f30a53f290fc551a089bd83107906be649a92bd (StakeGNOMerge) ~ 1.104M
  2. 0xbf74c12d6e6a8c2bd7f36a917250e2bf8bffefc1 (OWLAirdrop) ~ 348k
  3. 0x3e8468f66d30fc99f745481d4b383f89861702c6 (UniswapV2 GNO/WETH) ~ 10k

Gnosis Chain:

  1. 0x918a1f8ee8f8f9e0802071929ce5fe9eff60ac8c (StakeGNOMerge) ~ 1.622M
  2. 0x647507a70ff598f386cb96ae5046486389368c66 (SBCWrapperProxy) ~ 1.330M
  3. 0xf6a78083ca3e2a662d6dd1703c939c8ace2e268d (OmniBridge) ~ 306k

For a complete accounting of misallocated and deterministic generation of the funds, please visit the allocation project repo (specifically this pull request).

Motivation

While this CIP doesn’t specifically target the advancement of CoWDAO or CoW Protocol, it would result in an appropriate resolution for the misallocation. Furthermore, it would put the tokens in the most appropriate hands with respect to those who were originally entitled.

Specification

Technically, after the claiming period has ended, a successful vote on such a proposal would result in a single transaction from the CoW DAO Safe to the Safe holding the Gnosis Airdrop allocation at address 0x849D52316331967b6fF1198e5E32A0eB168D039d for the amount of misallocated COW tokens (as computed in the repository linked above). From there, Gnosis DAO will take care of including the tokens in the LGNO vesting schedules.

To briefly summarize how we arrived upon the 4.8M (4771935312471552405095051 atoms to be exact)

  1. Filter the unclaimed allocations on both networks by those which are smart contracts (i.e. not externally owned accounts)

  2. Fetch and classify the bytecode deployed at each eligible smart contract.

  3. There were 3 categories: “Wallet”, “Not Wallet” and “Unverified”. Since it is unclear what code is behind the unverified contracts, they were excluded from consideration.

  4. Tally up the total Airdrop of each allocation given to a “Non Wallet” contract.

Since the Gnosis DAO plans to distribute the funds to locked GNO holders as soon as vCoW becomes swappable, this proposal should go into motion before this proposal. It is proposed to send the outstanding ~4.8M COW to GnosisDAO in the same transaction block that would make vCOW swappable.

Note that Once the claiming period has ended it is technically possible (although highly unlikely) that some claims would have been made on behalf of these contracts. We would have to adapt the above computed total of 4771935312471552405095051 to account for any claims.

An alternative suggestion to transferring to the Safe referenced above would be to transfer the tokens directly to the vesting contract. Doing this would result in no action from the Gnosis DAO and the tokens would then be distributed proportionally to those who locked GNO in addition to the 50M. At this time, the vesting contract address is unknown, but it is expected to be known by the time vCOW becomes swappable.

Rationale

The goal is to put the tokens in the hands of those who were meant to originally receive them. For practicality reasons it would require a lot of effort to distribute them directly to each of the originally eligible recipients. As a straightforward and simple alternative, we would suggest that the tokens be distributed to those who locked GNO proportionally on the vesting schedule defined there.

7 Likes

I agree with this proposal. It should go to GNO holders (not LGNO). Let’s get this proposal out for a vote ASAP

2 Likes

I’m not sure that this meets the exact intent of the original distribution, whereby these tokens should have gone to GNO holders - and not LGNO holders. From my understanding there’s ~37% of circulating GNO that’s locked, therefore 63% of GNO holders will miss out on what should have originally been their entitlement - and all GNO holders are missing out on 4.8m COW that would have been immediately tradeable, not subject to any lock.

I would prefer to see this allocation go to ecosystem development or subsidy, such as using these tokens to subsidise trading of GNO holders to the value of their missed out allocation - this both effectively:

  1. Puts the token’s directly usable by the original intended holder.
  2. Subsidises access, therefore promoting usage and increased CoW opportunities.

As this may not be used by everyone, I’d suggest a 1 year usage period whereby the original recipients would be able to use these tokens for subsidy, beyond that, vest all the tokens back to CowDAO.

This also brings up the other obvious point - not all these additional 4.8M vCOW would have been claimed by all the GNO holders, therefore a portion would have gone back to CowDAO. Claiming 100% of these is inappropriate from that perspective.

2 Likes

Actually, only 1.58M GNO was captured as eligible for the original airdrop (10% of this should have been excluded so only 1.4M should have been captured) and ~700k are considered locked. This means you are right to point this out but the proportions are more like 50-50.

This is a totally valid point and I would be very happy if we could come up with a solution for this. As mentioned however, the proposal here is merely a pragmatic alternative to the best solution.

Overall, I like what you are suggesting here lets see if a better alternate proposal can be made from this!

So ATM the entire “misallocation” is going to be in the hands of CowDAO.
The purpose of this proposal is to suggest a way to reallocate those funds in a way that is generally aligned with the intent of the original allocation.
I think that those 50% of GNO holders that were willing to lock their capital for entire year in face of the current shaky market conditions, in order to get an additional COW allocation, have proved their commitment to CowSwap.
Hence I think reallocating to them is quite appropriate.

4 Likes

Fair point point about the entire misallocation currently going to the hands of CowDAO.

The intent was for these tokens to be immediately usable by GNO holders, not vesting. Given the current shaky market conditions, this seems even more reasonable to use this spare allocation to subsidise those GNO holders that are willing to brave the market conditions right now and contribute to trading volume on Cowswap, and therefore increase the likelihood of CoWs.

I think it’s important also to note here that it doesn’t matter what fraction would have been claimed. The fact is that they never should have been allocated to those addresses in the first place.

So you propose to take those 4.8m and create a trading incentive program? That will be designated to GNO holders only? I’m not sure I understand…

I think that trading incentive program is def something to consider but not sure those funds are appropriate for this.

@mfw78 - I see now your point that we should consider only reallocating 80% because that is how much of the airdrop has been claimed.

This is correct and also a reasonable suggestion. See the query here for the mainnet valuation.

For Gnosis Chain, however this is a bit different

Combining the two this amounts to ~ 74%

sum_networks(total_claimed) / sum_networks(total_available) = 
(51209301 + 22428424) / (22428424 + 14192695 + 51209301 + 12169577)

Thanks for putting some math behind this. This is what I was getting at :+1:

The remaining point is that these tokens (if allocated with the correct intent previously and not to obscure Smart Contracts) were designed to be immediately usable by the recipients - no lock period.

Therefore, yes @middleway.eth I am suggesting that there should be some incentive program, or mechanism by which these tokens can be used for the immediate benefit of GNO users who would have otherwise been entitled to such. It’s made a little more difficult given that it’s currenlty a 50/50 split (no clear majority) from data previously advised WRT those that will and will not receive rewards that they otherwise would have with the correct allocation in the first place.

So, the points are:

  1. Immediate utility to GNO holders (meet airdrop requirement).
  2. All GNO holders should be eligible (meet distribution requirement).

Therefore, I’d either suggest:

  1. Supplementary airdrop.
  2. An incentive pool - able to subsidise fees at the time of trade for GNO holders up to the balance of otherwise owed airdrop tokens. 1 yr period for usage, then have the remainder sent to CowDAO.

To elaborate on point (2) - instead of only paying for gas fees / transaction fees with the token being sold, it could be introduced to pay for gas fees / transaction fees with some arbitrary token. Therefore the “owed” balance of COW could be used to cover those fees that would have otherwise been airdropped. By introducing this kind of method, and allowing paying for fees with COW, specifically if people were to be buying COW through CowSwap, there would be more COWs for COW itself - giving the best price execution.

While these ideas are more just, there is a lot of work that is going to have to go into doing this. Specifically, implement a fee subsidy mechanism in the back end services that keeps track of remaining balances for these GNO holders. This would be a trusted off chain service and there would probably be some front end work to display this to the user.

Do you know who would have the capacity to take on the burden of putting all that together? The proposal here indicates that the solution is straight forward and easy to implement. Note also that all of this needs to go down before the token becomes swapable.

Furthermore, large GNO holders likely have their funds in Safes which are not well-supported for use on CowSwap at the moment. Perhaps you could try and come up with a much more pragmatic alternative.

My 2p

  1. Although I have locked my GNO, I still think it should go all current GNO holders

  2. Airdrop it on Gnosis Chain. The amount of vCOW is unlikely to be large. So low gas is helpful. And it means all GNO holders are now incentivised to have an wallet address on Gnosis.

  3. Airdrop 0.1 xDai to help claim the airdrop

  4. Vesting - Immediate. This also encourages the mainnet wallets to claim soon.

As for the last point that @bh2smith raised, if the above suggestions are difficult, I am happy to support the original suggestion. LGNO certainly has shown more commitment to the GNO ecosystem.

As nice as this would be its not that simple. Safe addresses are not compatible across networks. Many of the mainnet recipients are Safes and we would have to split this list by EOA and distribute as much as possible on Gnosis Chain, but would still have probably several hundred safes that require the mainnet transfer.

However, I do much like a solution and it could be implemented later (i.e. would not need to come immediately before making the token swapable) when the team has more bandwidth…

1 Like

Well, in which case, a simple solution - though not the cheapest…given that CowDAO / Cow messed up the initial implementation, perhaps it’s a fair argument that they should bare some of the cost for distribution, as such when COW becomes swappable, additionally airdrop direct to all GNO holders - who claimed - the tokens that they would have otherwise additionally received.

Yes - this will require a reasonable chunk of transfers on mainnet - but if there were something like ~300 transfers on mainnet, that right now would be less than 0.4 ETH - pretty reasonable all considered. Everyone who would have then gets their tokens under the original conditions?

1 Like

I generally agree with those points.
However I don’t think you suggestion addresses those points.

For example this shifts this allocation only to a small subset of GNO holders that are significantly trading on cowswap.
For that I suggest to work on a general trading incentive program.

Agree this is fair to the first intent but requires extra work.

Above all, if we agree that beneficiaries should be GNO holders, I suggest we delegate the exact implementation to Gnosis DAO who def cares about all GNO holders.

After some initial investigation we have determined an upper bound for mainnet gas costs to distribute the tokens directly to the eligible accounts.

Based on the results of this PR (the very same PR linked in the original post), we see that there were 278 mainnet safes eligible for airdrop. Note that this is an upper bound, since we would take the intersection of this set with those who claimed and those who were entitled to GNO Option (since cowswap trading is primarily used by EOAs, this set would not make a huge difference).

Furthermore, this transaction uses CSV airdrop Safe app to distribute GNO (a standard ERC20 token) to 29 distinct addresses for a total of 371k gas.

We can, roughly, assume that the gas cost scales linearly with the number of transfers implying that 278 transfers would cost ~ 3.6M (approximately 25% of the target block gas limit).

This yields an upper bound estimate for the mainnet distribution of COW tokens to eligible accounts at

3.7 * 10^6 / 10^9 * 30 * 2500 ~ 277 USD

With a gas price at 30 GWei and ETH price at 2500 USD.

So @mfw78 it looks like your estimation of 300 was pretty close!

Because the airdrop was only for GnosisDAO users I think its fair to just get this one up for voting to see if CoWDAO agrees on giving it to GnosisDAO so that GnosisDAO can decide for itself what to do with it.
I think they can decide best what to do.

1 Like

In full support of this proposal!

1 Like