Skip to content
This repository has been archived by the owner on Jun 3, 2023. It is now read-only.

Batch 3: Support Generative Editions #13

Open
3 tasks
dblodorn opened this issue Sep 25, 2022 · 3 comments
Open
3 tasks

Batch 3: Support Generative Editions #13

dblodorn opened this issue Sep 25, 2022 · 3 comments
Assignees

Comments

@dblodorn
Copy link
Contributor

dblodorn commented Sep 25, 2022

This batch will add configuration to allow for the support of conventional drops style contracts, metadata will be token not contract specific.

This batch could introduce the usage of the Zora API for simplified token data request. If user's want additional data they can combine with nft hooks or whatever other preference they have for nft data fetching.

TODO:

  • Create stub with an array of curator data, including both edition and generative contracts
  • Support within data fetchers, normalizing the metadata response between both contract types
  • Make adjustments to any libraries already consuming the drop-utils
@dblodorn dblodorn self-assigned this Sep 25, 2022
@dblodorn dblodorn pinned this issue Sep 25, 2022
@0xTranqui
Copy link
Member

@dblodorn this loom I recorded explains exactly how we will be able to support generative editions, and also just a review of the new public facing data structures more broadly in the new curation protocol https://www.loom.com/share/92fd2144b65f41669ddd390b6d4902ca

@dblodorn
Copy link
Contributor Author

@0xTranqui
The data shape that is returned by the curator contract has changed, now it looks like this:

you call getListings

you get an array of this object:


listing: {
    curatedContract: string (erc721 contract address),
    tokenId: number (if this is a generative / convention nft contract - it will be the tokenId otherwise it will be set to 0),
    curator: string (wallet address of curator of the token),
    curationTargetType: number (see types below) 1 | 4 - for this pass (ie edition vs generative contract),
    sortOrder: number (0 in this case - sort order not implemented),
    hasTokenId:  bool (true if generative contract - CURATION_TYPE_NFT_ITEM, false otherwise),
 }

/**
* curationTargetTypes:
*/
uint16 public constant CURATION_TYPE_GENERIC = 0;
uint16 public constant CURATION_TYPE_NFT_CONTRACT = 1;
uint16 public constant CURATION_TYPE_CURATION_CONTRACT = 2;
uint16 public constant CURATION_TYPE_CONTRACT = 3;
uint16 public constant CURATION_TYPE_NFT_ITEM = 4;
uint16 public constant CURATION_TYPE_EOA_WALLET = 5;

@0xTranqui
Copy link
Member

Yep dain this is it 👍

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

No branches or pull requests

2 participants