Updated TokenURI Minter + New Factory Implementation

Completed an overhaul of the tokenURIMinter contract which now makes the minting module fully reusable, along with a first pass at a PACreatorV1 contract which allows much easier configuration of Zora Drops with custom minting functionality. Instead of needing to deploy a zora drop, a minting module + custom metadata renderer, and then grant the correct approvals as separate contract interactions, the PACreatorV1 contract handles all of this with one single call “deployAndConfigureDrop”

This allows for much easier development of UIs to create copies of these types of “tokenURIMinter” contracts, as a user only needs to make one contract call to handle all of the above.

Github Repo

New/updated solidity:

Initial test deploys (GOERLI):

Example One txn zora deploy + minting module config (GOERLI):

Example Mint (GOERLI):

Addtitional work:

  • should add another mapping to the PACreatorV1 that records which minting module a zora drop was applied to would be helpful for front ends, as we could now query what custom module a zora drop was initialized too and serve the user with the correct module for their specific contract. this will be necessary when we provide multiple minting modules within PACreatorV1

cc @salief for how I implemented PACreatorV1 + @DBlodorn bc we are at the 99% mark in terms of turning this into a prodcut! just need to set up PACreatorV1 for the longhaul so we can add to it overtime, but tokenURIMinter is now done

6 Likes

Drag n Drop soon come

1 Like

@0xTranqui here is an attempt to articulate what i was talking about earlier for metadata model:

https://erc721-display-components-next.vercel.app/markdown-token