Assembly Press re-write complete. Updated vision + slides!

Hi everyone !!

Have some really cool updates to share re: Assembly Press. For those who dont know, assembly press is a protocol PA has been working on for ~ a year now. It had recently gone a transformation over the past 6 months … and has just evolved again over the past 3 weeks. I prepared some slides (thx @junghwan for making them look nice per usual) to present the updated architecture + new vision for what this all means for PA. I plan to finally rlly make a push to get auditing help from the public on this next week, so wanted to give everyone the update ahead of that :slight_smile:

Link to presentation (in PA figma) here

Link to active dev branch with new implementation here

Intense work on this overhaul has only just begun, and am looking forward to sharing more insight into the progress + vision over the comings weeks :alien:


The first MUD Core Devs call recording just dropped. havent watched yet but sharing for visibility. I imagine that this could provide some inspo for how to envision moving AP into the more open working dynamic that I mentioned in the presentation


been talking to a few people about the AP re write so wanted to provide a quick status update before posting a more comprehensive review of where things stand overall with the framework. in the process of getting things re orged in the repo but here are where things stands with the protocol component at the moment:

current dev branch can be found here. the first draft of ERC721 arch was completed along with the first “strategy” (curation) with ~ full test coverage

theres a decent amount of work on erc721 left I could use help on.

  1. one would be completing the gas benchmarks (and/or adding new experiments) I started in an attempt to get a better sense of how much gas different storage options (for the data being passed in mintWithData) actually cost, so we can compare different encoding scenarios and choose an initial path forward for the Curation Database. I figured out how to pass in abi.encodePacked data in CurationDatabaseV2.sol, (tldr this library provides decoding for tightly packed uint256, uint8, and address values which so happen to make up the new Listing struct) but havent written the new renderer for it – so CurationDatabaseV1.sol is still the only fully working database from test coverage standpoint
  2. probably want to remove “sort” from being accessible from the ERC721Press impl. While sort will be helpful for the Curation strategy, I’ve realized its over specific to exist in the general impl, and we can reduce the database writing functions down to just mintWithData, overwrite, and burn. sort can move to a custom function on the curation database, and will provide us with surface area to show how to add non standard storage indexing to the general purpose indexer (which itself will provide coverage of mint overwrite and burn along with other things)

theres a bunch of other smaller things to review or check but those are the most obvious things for now. will follow up again soon as I have time to get a larger review posted + repo cleaned up + initial 1155 impl out the door !!

cc @projectmehari @math77


ERC721 is done for the time being after recent push to this branch !!

i cleared out all the old issues/prs as well, and put in 4 issues relevant to erc721/curation here

with this cleared out i can finally start making moves on 1155. have the vision for it pretty clear, new code coming soon!


first commits for the new 1155 impl are up :slight_smile: