Skip to content

Conversation

@robdoesstuff
Copy link
Contributor

No description provided.

@robdoesstuff robdoesstuff merged commit 4121af9 into v1.1 Nov 6, 2023
@robdoesstuff robdoesstuff deleted the explicit-patch-ownership branch November 6, 2023 22:24
robdoesstuff added a commit that referenced this pull request Feb 1, 2024
* Emit Register event (#23)

* whitlisting enabled by default (#22)

* Add schema update event (#24)

* Added getters for registered fragment data (#27)

* Fixed literef collisions in scope (#25)

* Two step transfer (#26)

* Two step transfer system

* Added events

* Patch an address (#28)

* WIP

* Refactor - split into own files

* wip

* wip

* wip

* wip, still need some custom errors and coverage

* Most coverage in

* Still needs custom errors

* Custom errors

* Rename param on storePatch

* Refactor - Split all interfaces and base implementations (#30)

* phase 1 - IPatchworkProtocol

* Prot on interface entirely now, base contracts updated

* More splitting refactorings

* All base implementations split

* Refactor - split tests (#31)

* Fixing linter errors before splitting to save lots of time

* Split off PatchworkNFT specific tests

* Split tests

* Moved interface tests to specific test contracts and expanded on ERC compliance

* Unindexed scope name (#34)

* Relation types (#32)

* WIP renaming current fragment to single

* Begin splitting single/multi assignable logic

* Rename unassignNFT to unassignSingleNFT

* Changing signatures to work WIP

* more sigs

* multi data structure starting

* Multi WIP

* First multi contract

* basic multi working

* recover gas on unassign

* Made unique assignment checking global

* Allow cross user assignments for multi

* Multi assign and unassign permissions and test coverage

* comments

* Assignment count and paginated getter

* Failing test for cross scope case - needs some additions to enable

* Target scope multi permissions and cross scope support

* Added by field so a multi assignable fragment can whitelist certain actors for specific actions

* small linter fix

* Assign permission principles

* Refactoring to common logic for unassign

* coverage

* coverage

* coverage

* Coverage complete

* Made scope change events use plain string instead of index (#33) (#35)

* Allow patches to be fragments (#36)

* Initial changes to support weak refs

* Fragments can be patches now

* Made scope change events use plain string instead of index (#33) (#38)

* Moved test NFTs and fixed linter with proto test (#39)

* Explicit patch ownership (#37)

* Allow any ownership of a patch

* Coverage

* 1155 Patch (#40)

* 1155 Patch WIP

* rename to account

* Finalizing a few 1155 things

* coverage

* Dynamic arrays (#41)

* Changed metadata type for array length

* WIP

* Dynamic array basic operations in

* More dynamic array work

* Batch add reference implementation

* mostly working

* Oops, fixed copy paste

* let's not bother with that right now

* Multi ref pools (#42)

* Basic refactoring and API changes done to enable multi ref pools

* coverage

* hotfix v1.1

* Reverse lookups (#43)

* Implementation for all

* test coverage

* Renamed incorrectly named liteRefs (#44)

* Payable mint support (#45)

* Make unique patches global

* first draft

* converting test nfts to mintables

* More mintable conversions

* test mintables updated

* Some progress

* Lots of interface tweaks, mint/fee events

* Refactored IPatchworkScoped interface

* Non reentrancy

* Coverage

* proxyable mint functions

* Mass renaming and standardizing (#46)

* first big renaming

* Renamings

* More renaming

* smaller renaming

* More renaming

* Added all slots metadata store/load to base 721

* More renaming

* V2 test coverage (#48)

* coverage

* coverage

* coverage

* Protocol with full coverage again

* coverage

* Coverage

* some ascii fun (#49)

* natspec completion (#50)

* Patchwork721 is ownable (#51)

* small bugfix in test (#52)

* small bugfix in test

* Set foundry to use latest solc version

* Protocol fee overrides (#53)

* Patch burns (#54)

* callbacks for burning patches

* Patch burning working

* Target scope unassign (#55)

* Fixed out of bounds array access (#56)

* Fixed out of bounds array access

* keep the comment

* ERC165 optimizations (#57)

* ERC165 optimizations - tests not fixed yet

* fixing...

* fixed

* spacing

* all calls to getScopeName are memoized (#58)

* Gas tests to prove/disprove some potential optimizations (#59)

* Revert "ERC165 optimizations (#57)" (#60)

This reverts commit c4880f6.

* private modifiers (#61)

* Fee change timelock (#62)

* wip

* events

* Timelock working for protocol fees

* May not claim empty scope

* Timelock fee changes applied to fee overrides

* update #1

* Feedback changes

* Handle invalid fee configurations (#63)

* Add assignment check to unassign (#64)

* Added fee change events (#65)

* Refactored into reversible account patch subclass (#66)

* Validate redact/unredact (#68)

* Bugfix in patch burn (#69)

* Clean up getScopeName interface and test impls (#70)

* use mustBeManager instead of adhoc (#71)

* proto fee ceiling (#67)

* Struct cleanup (#72)

* Clean up assignment struct

* Making structs more consistent in the patch implementations

* More reversibles (#73)

* Base patch reversible

* Resolving all reversibles

* added some indices to events (#74)

* Some natspec improvements (#75)

* Several improvement requests (#76)

* Moved interfaces and hopefully fixed payable critical error

* Refactoring patch targets and payables

* Seeing if this helps Zeppelin Defender calm down

* All patches payable so they can proxy from a public call

* Standardizing patch targets across types

* More standardizing

* Patch field renaming

* Make manager immutable

* small fix (#79)

* Open zeppelin 5 (#80)

* OZ5

* forge install: openzeppelin-foundry-upgrades

* forge install: openzeppelin-contracts-upgradeable

v5.0.1

* Updates for OpenZeppelin 5

* small refactor

* Create2 support (#81)

* Update to latest forge-std

* Moved implicit owner out to support create2 on PP and 721

* Event fees (#82)

* Added mint fees to mint events

* all fees in and doAssign restructuring'

* Refactored doAssign for readability and object bytesize optimization (#83)

* Fixed recursive burn bug (#85)

* Assigner delegate contract (#86)

* First stab at delegate contract

* Clean up submodules

* Update solidity spec to 0.8.23

* Refactor and natspec

* Timelock delegate change code in

* Delegate upgrade tests

* small fixup

* Deploy and Verify using create2  (#87)

* deploy stub

* deploy + verify

* verify wip

* enoceded constructor args

* constructor args

* manual verificatin steps

* Small trial and error updates

* Working completely with new delegate

* removed file that shouldn't have been there

* Fixed fee handling issue with batch assign (#89)
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

Successfully merging this pull request may close these issues.

3 participants