Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Auction Splits Contract #5

Open
sporkspatula opened this issue Jul 23, 2021 · 3 comments
Open

Feature Request: Auction Splits Contract #5

sporkspatula opened this issue Jul 23, 2021 · 3 comments

Comments

@sporkspatula
Copy link

sporkspatula commented Jul 23, 2021

The Zora Auction House is an incredibly useful tool for the owner of an NFT to be able to list their NFT on a reserve auction without needing to pay centralized platform fees.

A feature that we are starting to see popup is the splitting of royalties. Examples:

It could be very useful to architect a permissionless contract factory that would allow the owner of an NFT to permissionlessly initiate the splitting of revenue from a sale on the auction house with a reasonable # of addresses.

Requirements:

  • Allow for a user to initiate a split contract that keeps track of a pool of ownership for a reasonable # of addresses without being too gas intensive. Use mirror implementation with Merkle proofs as inspiration (https://github.com/mirror-xyz/splits/blob/main/contracts/Splitter.sol)
  • Allow for the split contract to interact with Auction House to call functions such as createAuction, setAuctionReservePrice, and cancelAuction
  • Determine a heuristic for the conditions required for the split contract to be able to call AuctionHouse methods (in mvp, it might make sense to allow for the split creator address to call methods that interact with AuctionHouse and punt any sort of governance down the line).
  • Once the split contract has sold an NFT on AuctionHouse, the split particpants have the ability to receive their share. This could be implement by individual claiming functions, or a single function that would divy out the split shares to all members of the split in a single transactions.
  • Allow for the splits contract to split both ETH and / or ERC20 tokens.
  • To simplify the scope of the contract, each split should only be used once, and for a specific auction.
@nickadamson
Copy link

nickadamson commented Sep 9, 2021

I have been working on this here: ourz-network/our-contracts

Would love to discuss more if you'd like

@jordan663994
Copy link

Sorry about the delay, I get a lot of spam, and was just found out that I was approved for the bounty

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 3 months ago.
Please review their action plans below:

1) realdiganta has started work.

Working on it
2) mds1 has started work.

This repository is a fork of the the Zora Auction House repo, modified to add a Splitter contract based on the outlined requirements.

Anyone can deploy their own Splitter contract from the SplitterFactory. Once this contract owns an NFT, it can be used create an auction on Zora and split the auction proceeds in a predefined way, where each account has a defined percentage of the proceeds it is entitled to.
3) masaun has started work.

I will implement the Auction Splits Contract.
4) i-m-aditya has started work.

Auction Split Contract.

  1. Using merkle root to verify the claims of users.
  2. Making use of bitmasks to keep track of which all users have already claimed instead of storing all the users in a map and updating them when one have claimed. Saving tons of bytes and therefore saving lot of gas.

Learn more on the Gitcoin Issue Details page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants