You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document specifies the changes included in the Builder Protocol upgrade named "Bali."
Specification
Token Claiming: Reserve n tokens for claiming when a DAO is created. Used for DAOs that want to offer reserved token claims via minters.
Alternate Core Contract Implementations: Allow alternate base contracts to be selected when a DAO is deployed. Enables alternate implementations for all core contracts (Auction, Governor, Token...).
Auction Rewards: New DAOs and DAOs that choose to upgrade to V2 will be subject to auction rewards if enabled by BuilderDAO.
Sequential Media Metadata Renderer: Allow DAOs to use a collection of media as artwork instead of the current trait system.
Collection +: Allow current NFT collections to use Builder Protocol via ERC6551 accounts and partial soulbound DAO tokens.
Token Claiming
DAO creators want to seed DAOs with members from existing communities. This is most relevant in cross-chain DAO migrations where a DAO on Ethereum wants to keep its member base when moving to Optimism. This feature is also a prerequisite for Collection +, which enables any existing ERC721 collection to use Builder Protocol without migrating contracts.
Spec
Token.initialize
A DAO creator can choose to reserve the first n tokens for claimants.
A DAO creator can choose to enable and initialize a custom minter that can mint the first n tokens for the DAO.
UI
Develop a claim page or tab for users to claim tokens from a minter if their address is included in the claim.
Change token artwork display to show a placeholder for claimed tokens that have not been minted yet (these will have no artwork).
Alternate Core Contract Implementations
The manager and current contract initialization functions are being reworked to support alternate core contract implementations. This will allow for multiple versions of contracts like Auctions, Governor, and MetadataRenderer to exist at the same time, giving users more options when creating a DAO.
Spec
Manager.deploy
A DAO creator can pass in a chosen implementation and parameters as bytes for each core contract.
Manager.isDeployment
A mapping that keeps track of valid deployments for each contract type.
Initialization of all core contracts will be reworked to a single bytes parameter.
Core contracts will decode the bytes parameter and use that data to initialize.
UI
Update the create DAO page to support encoding parameters as bytes and selecting/initializing alternate versions of contracts.
Update subgraph to handle multiple implementations.
For this sprint, we will be focusing on alternate tokens and metadata renderers only.
Builder Protocol Rewards
Builder Protocol Rewards is a rendition of the Zora Protocol Rewards model. Auction revenues will be taxed as percentage fee split three ways.
BuilderDAO Rewards
Interface rewards
DAO founder rewards
ProtocolRewards.sol
The owner of Manager.sol can set the BuilderDAO and Interface rewards percentages
Contracts like Auction.sol will call computeTotalRewards() to get reward amounts for a bid
Contracts like Auction.sol will deposit rewards using depositRewards()
Auctions.sol
A DAO founder can set a founder reward percentage and recipent in the initialization() call
Interfaces can call createBidWithReferral() to set an address as a referral when placing a bid
_settleAuction() must payout rewards to ProtocolRewards.sol
UI
Add an explanation on protocol fees to the docs, create DAO page, Upgrade notes, and bid flow for upgraded/new DAOs.
Display a users available rewards when wallet is connected
Sequential Media Metadata Renderer
Users feel that the dynamic artwork system can be challenging to work with at times, so we're building support for alternate metadata renderers. Our first new renderer called the Sequential Media Metadata Renderer will support folders of mixed media like static images, gifs, videos, music, and 3D models. These media items will be auctioned off sequentially until the renderer runs out of artwork. Once out of artwork, the renderer will pause auctions.
Spec
MediaMetadataRenderer.sol
A new Metadata Renderer that allows DAOs to use mixed media as DAO artwork.
UI
Add support for new media types when rendering token artwork.
Add support for folders of mixed media when creating a DAO.
Change subgraph to work with generic metadata renderers.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Abstract
This document specifies the changes included in the Builder Protocol upgrade named "Bali."
Specification
Token Claiming
DAO creators want to seed DAOs with members from existing communities. This is most relevant in cross-chain DAO migrations where a DAO on Ethereum wants to keep its member base when moving to Optimism. This feature is also a prerequisite for Collection +, which enables any existing ERC721 collection to use Builder Protocol without migrating contracts.
Spec
Token.initialize
UI
Alternate Core Contract Implementations
The manager and current contract initialization functions are being reworked to support alternate core contract implementations. This will allow for multiple versions of contracts like Auctions, Governor, and MetadataRenderer to exist at the same time, giving users more options when creating a DAO.
Spec
Manager.deploy
Manager.isDeployment
(Token, MetadataRenderer, Treasury, Auction, Governor).initialize
UI
Builder Protocol Rewards
Builder Protocol Rewards is a rendition of the Zora Protocol Rewards model. Auction revenues will be taxed as percentage fee split three ways.
ProtocolRewards.sol
Manager.sol
can set the BuilderDAO and Interface rewards percentagesAuction.sol
will callcomputeTotalRewards()
to get reward amounts for a bidAuction.sol
will deposit rewards usingdepositRewards()
Auctions.sol
initialization()
callcreateBidWithReferral()
to set an address as a referral when placing a bid_settleAuction()
must payout rewards toProtocolRewards.sol
UI
Sequential Media Metadata Renderer
Users feel that the dynamic artwork system can be challenging to work with at times, so we're building support for alternate metadata renderers. Our first new renderer called the Sequential Media Metadata Renderer will support folders of mixed media like static images, gifs, videos, music, and 3D models. These media items will be auctioned off sequentially until the renderer runs out of artwork. Once out of artwork, the renderer will pause auctions.
Spec
MediaMetadataRenderer.sol
UI
Collection +
View the collection + specification here.
Beta Was this translation helpful? Give feedback.
All reactions