Commit faafeb6
authored
v2 (#47)
* 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)1 parent c56e802 commit faafeb6
File tree
68 files changed
+7663
-2423
lines changed- lib
- management
- src
- interfaces
- sampleNFTs
- test
- nfts
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
68 files changed
+7663
-2423
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
- .gitattributes+1
- .github/workflows/ci.yml+48-6
- .github/workflows/sync.yml+29
- foundry.toml+1-1
- lib/ds-test+1-1
- package.json+1-1
- scripts/vm.py+635
- src/Base.sol+5-3
- src/Script.sol+4-3
- src/StdAssertions.sol+8-8
- src/StdChains.sol+40-25
- src/StdCheats.sol+205-17
- src/StdInvariant.sol+16-1
- src/StdJson.sol+18-14
- src/StdStorage.sol+54-3
- src/StdStyle.sol+2-2
- src/StdUtils.sol+72-35
- src/Test.sol+4-3
- src/Vm.sol+1.0k-307
- src/console2.sol+394-382
- src/mocks/MockERC20.sol+216
- src/mocks/MockERC721.sol+221
- src/safeconsole.sol+13.2k
- test/StdAssertions.t.sol+145-84
- test/StdChains.t.sol+114-58
- test/StdCheats.t.sol+242-43
- test/StdError.t.sol+13-11
- test/StdMath.t.sol+27-12
- test/StdStorage.t.sol+66-34
- test/StdStyle.t.sol+4-4
- test/StdUtils.t.sol+80-35
- test/Vm.t.sol+15
- test/mocks/MockERC20.t.sol+441
- test/mocks/MockERC721.t.sol+721
Submodule openzeppelin-contracts updated 729 files
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
0 commit comments