Coder Social home page Coder Social logo

2022-09-nouns-builder's Introduction

Nouns Builder Contest Details

Overview

Nouns DAO is a significant form factor innovation for NFTs and DAOs. Instead of giving all power and capital solely to a project’s founders, the Nouns model enables communities to emerge progressively and be active participants in how their brand and community evolves.

Nouns Builder is a tool for deploying forks of Nouns DAO with custom NFT, auction, governance, and founder(s) settings.

See the documentation for more information on the protocol.

Scope

This contest is open for 9 days to give wardens time to understand the protocol properly. Representatives from ZORA will be available in the Code Arena Discord to answer any questions during the contest period.

The focus of the contest is to try and find any logic errors or ways to drain funds from a DAO in a way that is advantageous for an attacker at the expense of users with funds invested in the protocol. Wardens should assume that governance variables are set sensibly (unless they can find a way to change the value of a governance variable, and not counting social engineering approaches for this).

All contracts under src are to be reviewed. Any other contracts are to be ignored for this contest.

manager
├─ Manager"DAO deployer and upgrade registry"
├─ IManager"Interface for Manager contract"
├─ storage
│  ├─ ManagerStorageV1"Storage for Manager contract"
token
├─ Token"ERC-721 Governance Token implementation"
├─ IToken"Interface for Token contract"
├─ storage
│  ├─ TokenStorageV1"Storage for Token contract"
├─ types
│  ├─ TokenTypesV1"Custom data types for Token contract"
├─ metadata
│  ├─ MetadataRenderer"ERC-721 metadata renderer implementation"
│  ├─ storage
│  │    ├─ MetadataRendererStorageV1 - "Storage for Metadata Renderer contract"
│  ├─ types
│  │    ├─ MetadataRendererTypesV1 - "Custom data types for Metadata Renderer contract"
│  ├─ interfaces
│  │    ├─ IBaseMetadata - "Shared interface for metadata renderers"
│  │    ├─ IPropertyIPFSMetadataRenderer - "Interface for rendering artwork stored on IPFS"
auction
├─ Auction"ERC-721 Auction implementation"
├─ IAuction"Interface for Auction contract"
├─ storage
│  ├─ AuctionStorageV1"Storage for Auction contract"
├─ types
│  ├─ AuctionTypesV1"Custom data types for Auction contract"
governance
├─ governor
│  ├─ Governor"DAO proposal manager and transaction scheduler"
│  ├─ IGovernor"Interface for Governor contract"
│  ├─ storage
│  │  ├─ GovernorStorageV1"Storage for Governor contract"
│  ├─ types
│  │  ├─ GovernorTypesV1"Custom data types for Governor contract"
├─ treasury
│  ├─ Treasury"DAO treasury and transaction executor"
│  ├─ ITreasury"Interface for Treasury contract"
│  ├─ storage
│  │  ├─ TreasuryStorageV1"Storage for Treasury contract"
│  ├─ types
│  │  ├─ TreasuryTypesV1"Custom data types for Treasury contract"
lib
├─ proxy
│  ├─ ERC1967Upgrade - "Modern, minimal proxy upgrade"
│  ├─ ERC1967Proxy - "Minimal ERC1967 proxy"
│  ├─ UUPS - "Minimal UUPS support"
├─ token
│  ├─ ERC721 - "Modern, minimal ERC721 implementation"
│  ├─ ERC721Votes - "Modern support for NFT voting and delegation"

Setup

Install Dependencies:

yarn
forge install

Run Tests:

forge test

Run Tests with Modifiers:

  • (-vv): Logs emitted during tests are also displayed.
  • (-vvv): Stack traces for failing tests are also displayed.
  • (-vvvv): Stack traces for all tests are displayed, and setup traces for failing tests are displayed.
  • (-vvvvv): Stack traces and setup traces are always displayed.
forge test  -vvvv

2022-09-nouns-builder's People

Contributors

kartoonjoy avatar itsmetechjay avatar c4-staff avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.