should follow the example structure of the box (upgradeable V1)
chainlink VRF is not needed for now (to reduce complexity while testing)
Pizza Metadata
should include an example json structure that:
display and description metadata in both ERC721 and enjin format
high res images
low res images or gifs?
the recipe
the randomized parameters to feed into natron
may be referenced from directly in github
slice Metadata
includes the original slice rendering (or complete recipe) in its original index position
includes an image of the slice in a format TBD by shrimp
includes a link to he original pizza metadata in some way
includes the index position
TokenUri
should store the ipfs hashes in proxy storage
Slicing
pizzas must be able to be sliced into 8 parts
each slice should have an order-based index starting clockwise
slices should be part of the same token contract as boxes
the first slice replaces the pizza artwork of the pizza token
Recombining
for owners of sliced parts, they should be able to recombine if a corresponding order index exists from the same or another pie (e.g. if i own slices 2-8 of pizza 1, and i own slice 1 of pizza 2, i should be able to recombine them into a franken pizza)
when the pizza is recombined an event is fired
a listener (off chain) executes the render pipeline by ingesting the render pipeline
an event is posted back that the rendering is ready
the token metadata is updated for the index 1 slice and the rest are destroyed or abandoned
Admin Functions
purchaseTo
purchaseAndSliceTo - purchase a pizza and automatically slice it to a specified address
withdraw - withdraw funds
Acceptance criteria:
Two pizzas with different metadata should be sliced
slices from the two pizzas should be transferrable
pizzas should be able to be recombined with corresponding slices from the other pizzas
Pizza.sol
Create a bare-bones example implementation of a pizza contract
Upgradeable, Ownable
probably using ERC-1155 opensea has some examples as well
Implementation Details
Pizza Metadata
should include an example json structure that:
slice Metadata
TokenUri
Slicing
Recombining
for owners of sliced parts, they should be able to recombine if a corresponding order index exists from the same or another pie (e.g. if i own slices 2-8 of pizza 1, and i own slice 1 of pizza 2, i should be able to recombine them into a franken pizza)
Admin Functions
Acceptance criteria: