FeedProjects
Developers
Settings
🎉 A new chapter begins: Boardroom has joined Agora
Learn more
protocol logo
Explore / Projects
Nouns DAO

Proposals

Members

Information

Create Proposal

Nouns DAO

ProposalsMembersInformation
ProposalExecutable Code
Back to Proposals
closedEnded 2 years ago ·  Onchain

Contract Audit Funding: TimelockNFTSwapper

By 0x6559...5EBd11

TLDR

Asking for 8,000 USDC to fund an audit conducted by 0x52 of the TimelockNFTSwapper contract.

Context

Feedback from NounSwap v1 proposals (453, 454, 541, 566, 571) highlighted that Nouners felt that voting on each swap proposal created voter fatigue and preferred a model that does not rely on governance. To solve this, we built the TimelockNFTSwapper contract to enable permissionless swaps.

TimelockNFTSwapper

The TimelockNFTSwapper is a generalized, non-upgradable contract that is a public good that can be deployed by any DAO. In the context of Nouns, it introduces:

  1. Permissionless Swapping: Enables swapping of treasury Nouns without individual proposals, avoiding governance fatigue, and saving time and gas fees.
  2. New Revenue Source: Each swap incurs a fee directed to the DAO based on a price curve outlined in the section below.
  3. Timelock Mechanism: A two-step process with a timelock to prevents misuse and interference with Nouns governance.

For more information, please refer to the detailed spec document and implementation.

Swap Price Curve

The swap price is based on the difference between the input and output Noun ID’s, and is determined by the swapPriceCurveBase and swapPriceCurveSlope which are DAO configurable. We will work with the community to select agreeable parameters before deployment.

Curve:

ageDiff = inputTokenId - outputTokenId
price = swapPriceCurveBase + swapPriceCurveSlope * max(0, ageDiff)

Here are some examples of how this looks with a few different parameter sets:

image

This pricing model is a compromise between fixed pricing (which is possible by setting the slope to 0), and auction based price discovery. Auction based price discovery adds significant contract complexity, and we feel there won’t be sufficient demand to have this play out in practice.

Audit Plan

We plan to undergo a 3 day audit by 0x52. The audit will ensure the security and functionality of the TimelockNFTSwapper contract.

We have reserved an audit spot for July 26, pending this proposal’s approval.

Next Steps

Once we receive the audit results, and review/implement any necessary fixes, we will:

  1. Deploy the TimelockNFTSwapper for Nouns.
  2. Create another proposal to approve this deployment for all treasury Nouns which will enable permissionless swapping.

Transactions

Similar to the Verbs Client Incentive Audit Proposal, this proposal’s single transaction approves the Paperclip Labs multisig to spend the requested budget.

Conclusion

TimelockNFTSwapper enables permissionless swapping, and unlocks a new revenue stream for the DAO. It allows Nouners to acquire their “forever Noun”, which will help increase DAO satisfaction and engagement. We appreciate the community consideration in reviewing this proposal, and hope we can move forward with the audit.

Team

  • Spencer Perkins - Co-Founder at Paperclip Labs
  • Cole Perkins - Co-Founder at Paperclip Labs
  • Michael Gingras - Engineer at Agora
Continue Reading
Connect Wallet to Add Note
0
Votes 31
VoterCast PowerVote & Rationale
0xcC26...0f6Ed5
32

AGAINST

0xA868...079E63
5

AGAINST

0x4bF8...c3bCc0
5

FOR

0xc2d4...5Fe413
4

AGAINST

0xBEBa...0aD741
3

FOR

SHOW MORE
VOTE POWER
0
Connect Wallet
Proposal Status
  • Tue July 16 2024, 04:18 pmPublished Onchain 0x6559...5EBd11
  • Fri July 19 2024, 04:37 pmVoting Period Starts
  • Tue July 23 2024, 05:06 pmEnd Voting Period
  • Queue Proposal
  • Execute Proposal
Current Results

1-AGAINST

54

62.07%

2-FOR

26

29.89%

3-ABSTAIN

7

8.05%
Quorum 87/62
DocumentationBrandingContact Us
Home
This Project is Currently Disabled

If you would like to enable it, please checkout below.

Boardroom Subscription

Sign up for an individual subscription (access all projects on the platform)

Subscribe
Enable Project

Enable the entire project for every user

Enable Project
Contact Us