Voting Activity on Lil Nouns
ONE LIL NOUN, EVERY 15 MINUTES, FOREVER.
Abstract
Introducing a unique concept into the world of NFTs — Lil NOUNS DAO.
They release one Lil NOUN from the collection every 15 minutes! The algorithm is set in such a manner that once a Lil NOUN is auctioned, it generates the next Lil.
If you’re a fan of the OG Nouns NFT collection, the Lil Nouns might be the project for you! Similar to their parent collection (Nouns with daily intervals), a new generative Lil Nouns NFTs comes out on a regular basis. In contrast to the first collection, however, these NFTs are generated every 15 minutes for eternity (or, at least for as long as Ethereum is around).
What are the Lil Nouns NFTs?
As is obvious from the name, Lil Nouns are basically a smaller version of the Nouns NFTs they spun off from. “Nouns as kids” as it says on the Lil Nouns website. That is to say that they sport the same pixel art style and aesthetic as the Nouns.
In essence, these NFTs will be the funding source for the Lil Nouns DAO – an expansion DAO based on the Nouns DAO. Thus, the goal of the Lil Nouns DAO is to expose more people to Nouns.
The DAO at the heart of the project
Lil Nouns DAO utilizes Nouns DAO's fork of Compound Governance
and is the main governing body of the Lil Nouns ecosystem. The Lil Nouns DAO treasury receives 100% of ETH proceeds from daily Lil Noun auctions. Each Lil Noun is an irrevocable member of Lil Nouns DAO and entitled to one vote in all governance matters. Lil Noun votes are non-transferable (if you sell your Lil Noun the vote goes with it) but delegatable, which means you can assign your vote to someone else as long as you own your Lil Noun.
In other words, Lil Nouns holders get almost complete control of the Lil Nouns DAO. The only caveat to this is that the builders behind Lil Nouns, @0xsvg
and @adelidusiam
, built in a special veto right.
-
Tip: The veto function on the contract:
-
References:
Voting Activity
> The Lil Nouns DAO is controlled via on-chain voting by token holders. Using the ethereum database, analyze voting activity on Lil Nouns proposals. Since voting is on-chain and costs gas, are smaller holders excluded from the voting process?
There are subjects to review for tracking DAO activities (Voting activity in this case)
- Proposals on DAO
- Holders ($LILNOUN holders)
- Votes for proposal
- Average gas consumption in voting transactions
1. Proposals on DAO
If we focus on contract, we will find lots of methods such as propose
, castVote
, castVoteWithReason
, castVoteBySig
, veto
, cancel
, etc.
Obviously, to pull a list of proposals these events are important to filter the logs in ethereum.core.fact_event_logs
table:
- ProposalCreated: equal to
propose~0xda95691a
method on the contract (Etherscan) - ProposalCanceled: equal to
cancel~0x40e58ee5
method on the contract (Etherscan)
Proposals on website | DAO Proposals | Full-size image
The website shows a bunch of created proposals (20 proposals in total), but four proposals (1, 9, 11, and 12) have been canceled after creation. Let's review some of them!
> P.S. All mentioned numbers are just valid at the time of writing this dashboard.
As you can see, two major types of proposals are considered:
- Non-canceled proposal
- Executed (e.g. 10. Buy Noun 253 from Nouns DAO)
- Defeated (e.g. 7. Partial ‘Fat Finger’ Refund)
- Canceled proposal
- Canceled with votes (e.g. 11. Change Quorum requirement from 10% to 5%)
- Canceled before the first vote (e.g. 1. Create a mysterious server for Lil nouns)
Using ProposalCreated
as EVENT_NAME
is an optimal way to find created proposals on DAO. The next step is to show whether proposals have been canceled or not!
To mark proposals as canceled:
ProposalCanceled
eventcancel~0x40e58ee5
method on the contract (Etherscan)
Regarding mentioned details a little while ago, it should show four proposals instead of three.
I don't know what the problem is with the event (maybe, it causes by a built-in conflict), but to fix this problem the ethereum.core.fact_transactions
table got considered.
Now, we have the correct list of proposals.
2. Holders ($LILNOUN holders)
The tricky rapid method to find a table of the holders is using this link with range parameter:
https://etherscan.io/token/tokenholderchart/0x4b10701Bfd7BFEdc47d50562b76b436fbB5BdB3B?range=
For example, Lil Nouns' top 15 token holders can be found here:
https://etherscan.io/token/tokenholderchart/0x4b10701Bfd7BFEdc47d50562b76b436fbB5BdB3B?range=15
Screenshots are taken on 06/17/2022, ~10 AM UTC | Full-size image
The removal of the top 4 addresses is necessary to deal with a better averaging process.
Top 4 holders:
- Nouns DAO Treasury (Token contract address)
- Gnosis Safe Multisig address (Maybe the second treasury)
- Unknown address
- Null Address or Dead address (Burnt tokens have been sent to this address):
The link has a limitation on the input range (Max: 500), but it's enough to find the average $LILNOUNS held by holders because we can assume the next 475 holders (Number of holders at the time of writing this dashboard: 975) as 1 $LILNOUN holders.
The following information is processed data after scraping the webpage with a python script and transferring pulled data to MS-Excel.
This worksheet is available on Google drive: Lil Nouns Holders Analysis, (June 21st, 2022, ~10 AM UTC)
.
3. Votes for proposals
Three key methods for casting a vote are:
-
castVote~0x56781388
method on the contract (Etherscan) -
castVoteWithReason~0x7b3c71d3
method on the contract (Etherscan) -
castVoteBySig~0x3bccf4fd
method on the contract (Etherscan)
An aggregative event for these methods is VoteCast
as an EVENT_NAME
.
P.S. The voting power represents the number of $LILNOUNS in the wallet of a specific holder at the time of voting for the related proposal.
Result
It seems that $LILNOUN tokens are distributed properly. Despite this proper distribution and a large number of addresses with a minimum number of1 $LILNOUN, these holders refuse to vote due to an unreasonable txn fee for casting a simple vote.
Maybe, it's better to transform the process from on-chain to off-chain voting with the help of systems like snapshot.org.
> Snapshot is a decentralized voting system. It provides flexibility on how voting power is calculated for a vote. Snapshot supports various voting types to cater to the needs of organizations. Creating proposals and voting on Snapshot is user-friendly and does not cost gas as the process is performed off-chain.
> In short, Snapshot is an off-chain gasless multi-governance client with easy-to-verify and hard-to-contest results.