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:
a
is the registrant of n
.n
has a resolver, r
, set on the ENS registry.r
has an addr
record, a'
, set for n
, and has emitted an AddrChanged
event to record this fact.a'
has a resolver, r'
, set on the ENS registry.r'
has a name
record, n'
, set for the reverse record of a
. r'
is either the default reverse resolver, or has emitted a NameChanged
event for n'
and 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.
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([0]);
console.log([tx.data]);