Status: Queued for execution - executes at 2022-01-14 20:11:25 UTC
Send 213,049 ENS tokens to a new airdrop contract for users who did not receive the 2x multiplier despite owning a name that was used as a primary ENS name.
One of the criteria used for the ENS airdrop was whether the account had a primary ENS name set. Those accounts that did got a 2x multiplier on their airdrop amount. The intention was to use this as a measure of involvement in the ENS ecosystem; those accounts that set primary ENS names are typically using their names in supported applications, while those that don’t are less likely to be doing so.
The way this was implemented was to award the multiplier to all accounts that had interacted with the reverse registrar. This had the unintended side effect that if a user owned an ENS name on account A, and configured it to resolve to account B, which used it as its primary name, account A would get tokens, and account B would get the multiplier. As B doesn’t own any names, the multiplier has no effect and the end result is that some users got fewer tokens than they would have if they had used the same account for everything.
This proposal aims to correct this, by introducing a new criteria for determining who to award the multiplier to, and creating a new airdrop contract for all accounts that qualify for the new criteria but not the old one.
In plain english terms, the new criteria is that the account must have at some point in time owned a name that was used as the primary ENS name for an account.
More formally, for each account
a, the account is assigned the multiplier if there exists a name
n and a time before 2021-11-01 00:00:00 UTC, where all of the following are true:
ais the registrant of
nhas a resolver,
r, set on the ENS registry.
a', set for
n, and has emitted an
AddrChangedevent to record this fact.
- The reverse record for
a'has a resolver,
r', set on the ENS registry.
n', set for the reverse record of
r'is either the default reverse resolver, or has emitted a
n == n'.
This logic is implemented by this series of BigQuery queries, and shows that 1,969 accounts meet these criteria but did not qualify for the multiplier under the original criteria. The sum of the tokens these accounts would be entitled to comes to ~213,049 ENS tokens.
A list of affected accounts and balances is here.
This proposal, if executed, will transfer 213,049 ENS tokens to a new merkle airdrop contract allowing affected users to claim them.
- Request that True Names Limited write and deploy a contract that allows claiming of tokens via Merkle Proofs using the same methodology as was used for the airdrop.
- Request that True Names Limited make changes to the claim.ens.domains site to support claiming this additional airdrop for qualifying accounts.
- Authorise the contract deployed in (1) to spend 213049736662531485206636 base ENS tokens from the ENS DAO account.
const ethers = require('ethers'); const abi = [ 'function approve(address _spender, uint256 _value) public returns (bool success)' ]; const token = new ethers.Contract('0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72', abi); const airdropAddress = 'TBD'; const tx = await token.populateTransaction.approve(airdropAddress, '213049736662531485206636'); console.log([token.address]); console.log(); console.log([tx.data]);
With thanks to @greypixel for raising the original issue and creating the temp check.