Commit 748be1a
Zora Timed Sale Strategy (ourzora#474)
* wip: of zora mints sale strategy
* feat: add reward payouts
* feat: add natspec
* fix: remove field from struct
* fix: import
* fix: rewards
* draft: pair revisions (ourzora#481)
* draft: various updates
* feat: add protocol rewards deposit
* feat: add rewardSettings
* draft: erc20z (ourzora#484)
* draft: erc20z
* refactor: early return if deployed
* draft: more changes to sale strategy
* feat: update natspec
---------
Co-authored-by: Isabella Smallcombe <[email protected]>
* add various updates
* more various updates
* feat: new erc20z package (ourzora#487)
* chore: remove prev erc20z folder
* feat: new erc20z package
* chore: temp import
* chore: update deps
* chore: clean up
* chore: update mock
* tests for zora mints sale strategy (ourzora#490)
* feat: wip of tests for zora mints sale strategy
* fix: revert error
* feat: tests for zora sale strategy
* feat: add tests for setZoraRewardRecipient
* fix: tests
* fix: interfaces
* fix: import issue
* feat: add updated saleset event
* addded mint-fee to the SaleSet event (ourzora#491)
Adding the mint fee to the SaleSet event - so that we can index it in the subgraph
* refactor: rename tokenAddress to collection
* chore: update mock
* feat: temp deploy script
* feat: add resetSale test (ourzora#493)
* Zora Mints Sale Strategy + ERC20Z subgraph (ourzora#492)
Added subgraph mapping for zora mints sale strategy.
Added a new subgraph entity: ERC20Z
Have not deployed this subgraph as waiting for strategy to be deployed.
* feat: wip of royalties (ourzora#494)
* feat: add reduce supply check (ourzora#500)
* feat: add reduce supply check
* fix: natspec
* fix: remove deletion
* fix: revert issue on createAndInitializePoolIfNecessary (ourzora#503)
* feat: updated secondary market activation (ourzora#504)
* chore: update interfaces
* feat: updated secondary activation
* feat: initial activation
* chore: lint
* feat: allowing updating sale start and end (ourzora#508)
* feat: allowing updating sale start and end
* fix: remove unused error
* feat: uniswap v3 lp mint (ourzora#510)
* chore: add block.prevrandao to salt (ourzora#511)
* chore: ignore /broadcast
* feat: rename ZoraMintsSaleStrategy to ZoraTimedSaleStrategy (ourzora#514)
* feat: add new zora timed sale strategy names to subgraph (ourzora#518)
* feat: add new zora timed sale strategy names to subgraph
* fix: block numbers
* feat: move royalties to erc20z package (ourzora#520)
* refactor: move sale strategy (ourzora#521)
* refactor: move sale strategy
* chore: update import
* feat: add royalties to deploy and tests (ourzora#522)
* Adds metadata for erc20z tokens (ourzora#523)
* Adds metadata for erc20z tokens#
* feat: update uri
* feat: sale strategy refactory (ourzora#524)
* refactor: ignore no-op params
* refactor: rename tokenContract to collection
* feat: sale strategy refactor
* feat: add custom errors to erc20z (ourzora#525)
* feat: add custom errors to erc20z
* feat: clean up redeem
* fix: enforce reduced supply (ourzora#529)
* chore: uncomment mock reverts
* fix: remove return type
* fix: param validation
* feat: enforce reduced supply
* feat: fixes update sale tests (ourzora#528)
* feat: add deposit uniswap token (ourzora#526)
* fix: updateSale validation (ourzora#530)
* fix: updateSale validation
* refactor: nonfungiblePositionManager as uniswap token address
* 07 18 redo GitHub actions to support new package for erc20z (ourzora#531)
* Redo github actions to support new package for erc20z
* update coverage files naming
* fix precache
* check storage layout
* cleanup yml files
* fix build patterns
* fix deployments tests
* add build steps for abis and subgraph for erc20z
* update package
* update coverage
* fix coverage args
* fix test suite
* fix keys
* adding commenting for coverage
* fix merge build
* Iain rebase rohan storage changes (ourzora#537)
* feat: add reduce supply check (ourzora#500)
* feat: add reduce supply check
* fix: natspec
* fix: remove deletion
* refactor: various updates
* fix mints imports merge
---------
Co-authored-by: Isabella Smallcombe <[email protected]>
Co-authored-by: Rohan Kulkarni <[email protected]>
* add version to erc20z (ourzora#536)
* Fix tests (ourzora#538)
* feat: tests for erc20z (ourzora#534)
* feat: tests for erc20z
* fix: tests
* fix: remove logs
* fix: tickMath code coverage
* fix: change coverage
* fix: try coverage ignore
* feat: add redeem tests
* feat: verify caller is in position (ourzora#539)
* feat: verify caller is in position
* feat: reentrancy guard on claim
* fix: log address(0) instead of weth (ourzora#540)
* chore: fix lint (ourzora#535)
* feat: add natspec (ourzora#541)
* feat: add natspec
* feat: more natspec
* feat: remove $
* feat: add missing natspec
* chore: update sepolia deploy (#547)
* chore: update zora sepolia deploy (#548)
* chore: update uniswap files (#549)
* chore: update uniswap interfaces
* chore: update uniswap files
* chore: add slither config (#550)
* refactor: update conversion methods (#551)
* chore: update testnets (#552)
* fix: hot fix for IMinter1155 supported check from collection (#557)
* docs: inline comments for market math and activation (#558)
* Move interface to shared (#561)
* Update contract workflow (#560)
* feat: add constant for 1e18 (#563)
* feat: add structs to functions returning more than 3 items (#562)
* feat: move uniswap into seperate folder in interfaces (#565)
* Add dev testing config (#568)
* ZoraTimedSaleStrategy - add fuzz test that verifies liquidity ratio is correct [PRO-1253] (#556)
In an effort to test out the ZoraTimedSalesStrategy calculation logic, I wanted to add a fuzz test that tests different mint quantities always results in the correct liquidity ratios when depositing to uniswap. This fuzz test adds that check.
* updated erc20z to use pnpm properly
* feat: update subgraph configs for new deploys (#553)
* feat: add ZoraTimedSaleStrategyConstants contract
* fix js build (#580)
<!--- Provide a general summary of your changes in the Title above -->
<!--- Describe your changes in detail -->
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
- [ ] This changes the ABI/API
<!-- If so, please describe how and what potential impact this may have -->
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, tests ran to see how -->
<!--- your change affects other areas of the code, etc. -->
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New module / feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I added a changeset to account for this change
- [ ] My review includes a symposis of the changes and potential issues
- [ ] The code style is enforced
- [ ] There are no risky / concerning changes / additions to the PR
* Use Receive Hooks (#566)
* update tests
* revert function name changes
* Update generate strategy for codegen to pnpm instead of yarn (#589)
* feat: add secondaryActivated to subgraph (#586)
* feat: add secondaryActivated to subgraph
* fix: block numbers
* feat: add pool + erc20z address
* feat: add contractURI to erc20z (#577)
* feat: add contractURI to erc20z
* feat: add internal _contractURI
* feat: add more tests for convert functions (#593)
* feat: add mint with mint comment test (#595)
* feat: add validation when calling updateSale that a sale was set (#594)
* Prevent end time from being in the past when calling setSale (#588)
* Prevent end time from being in the past when calling setSale
* update strategy test
* feat: remove gas, got overwritten by rebase (#596)
* Add missing subgraph deps (#590)
* Subgraph fix build order
* chore: fix lint (ourzora#535)
* updated erc20z to use pnpm properly
* fix js build (#580)
<!--- Provide a general summary of your changes in the Title above -->
<!--- Describe your changes in detail -->
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
- [ ] This changes the ABI/API
<!-- If so, please describe how and what potential impact this may have -->
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, tests ran to see how -->
<!--- your change affects other areas of the code, etc. -->
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New module / feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I added a changeset to account for this change
- [ ] My review includes a symposis of the changes and potential issues
- [ ] The code style is enforced
- [ ] There are no risky / concerning changes / additions to the PR
* Fix turbo json for subgraph build (#603)
* Fix turbo json for subgraph build
* remove dupe package.json keys
* Fix fork block number in erc20z tests to speed up testing and get consistent results (#597)
* Fix fork block number in tests for consistent results
* fix: erc20z supply calculation. added a fuzz test around calculations, making sure that activate ratio from calculation is always correct (#598)
* added a fuzz test around calculations, making sure that activate ratio from calculation is always correct
* fix pnpm lock
---------
Co-authored-by: Rohan Kulkarni <[email protected]>
Co-authored-by: iain nash <[email protected]>
* test: initial royalties w/ swap router (#602)
* initial royalties test w/ swap router
* chore: update interfaces
* chore: initial royalties tests
* chore: update other tests
* Add event SecondaryMarketActivated with market details to erc20z token (#587)
* SecondaryMarketActivated with market details to erc20z token
* Move royalties config as position-id and erc20z based (#585)
* chore: fix lint (ourzora#535)
* Move royalties config as position-id and erc20z based
* fix interface
* fix tests
---------
Co-authored-by: Rohan Kulkarni <[email protected]>
* More tests, fix uri test and clean up data location (#606)
* more tests, fix uri test and clean up data location
* more test coverage
* large test coverage update
* code fixes
* fix test for claim flow
* undo changes to er20z calcs (#610)
Undo the changes to erc20z that were overwritten in a rebase.
* fix: add marketLaunched to subgraph template (#605)
* feat: add test for supportsInterface (#619)
* feat: add check that a sale was set (#616)
* Add slither to github actions (#604)
* Add slither to github actions
* slither update
* add slither ignore
* Fix redeploy concern (#612)
* Fix redeploy concern
* fix redeploy concern and tests
* remove unnecessary transfer balance check for 1155 (#614)
* remove unnecessary transfer balance check for 1155
* update erc20z
* feat: add fee recipient & bps to royalties (#617)
* feat: add fee recipient & bps
* chore: lint
* test: fix emitted excess values
* fix: clean up and fix build (#621)
* feat: update subgraph to handle updateSale (#611)
* feat: update subgraph to handle updateSale
* feat: clean up check
* Update impl (#613)
* update impl (#618)
* Update timed sale strategy payment methods (#622)
* Update timed sale strategy payment methods
* update royalties
* remove error
* add address lib
* Fix safe transfer checks (#607)
* Fix safe transfer checks
* fix test for secondarymarketactivated event
* safe transfer updates
* Add specific error for market creation without any paid sales. Move storage getter to a new contract to clean up main contract. (#608)
* Add specific error for market creation without any paid sales.
Move storage getter to a new contract to clean up main contract.
* Add safe increase allowance calls for erc20s in ERC20Z. (#609)
* More tests, fix uri test and clean up data location (#606)
* more tests, fix uri test and clean up data location
* more test coverage
Co-authored-by: Dan Oved <[email protected]>
Co-authored-by: Isabella Smallcombe <[email protected]>
Co-authored-by: Rohan Kulkarni <[email protected]>
* Zora Timed Sale Strategy Deterministic Deployment (#623)
## Secure deterministic deployment scripts for the Royalties and ZoraTimedSaleStrategy contracts.
Works with a new contract `DeterministicDeployerAndCaller` that takes a signature signed by a deployer, with a salt that must match first 20 bytes of a signers address, and deploys a contract deterministically using that salt and calls something on it. In our case, this is `initialize` on the royalties contract, and `upgradeToAndCall` on the `ZoraTimedSaleStrategy`.
The nice thing about the new approach is all of the deployment now happens from foundry. We just do minimal calls to node.js + turnkey to sign the messages.
It involved some major refactoring to move things into shared places like:
* Shared deployment contracts + utils moved into `shared-contracts`
* Common chain configs moved into `shared-contracts/chain-configs`
* refactor: use wrap & unwrap (#632)
* feat: fix natspec (#626)
* feat: add check for address zero in royalties constructor (#625)
* feat: unclaimed fees helper (#633)
* feat: accrued fees helper
* feat: add batch getter
* test: first liquidity invariant (#637)
* feat: add reentrancy check to erc20z activate (#641)
* Slither runs ignore error for build. (#642)
### TL;DR
Allow the Slither job to continue on errors by adding `continue-on-error: true` in the workflow file.
### What changed?
Modified the `.github/workflows/slither.yml` file to include `continue-on-error: true` for the Slither step. This adjustment prevents the build from failing in case of errors detected by Slither.
### How to test?
Trigger the GitHub Actions workflow and check if the Slither job continues even if errors are found.
### Why make this change?
This change ensures that the build process is not halted due to Slither outputs, which can be handy during development and testing phases.
* Final PR updates (#644)
* docs: updated natspec (#643)
---------
Co-authored-by: Rohan Kulkarni <[email protected]>
Co-authored-by: Rohan Kulkarni <[email protected]>
Co-authored-by: Dan Oved <[email protected]>
Co-authored-by: Iain Nash <[email protected]>1 parent 55dbf34 commit 748be1a
File tree
110 files changed
+9071
-467
lines changed- .github/workflows
- packages
- 1155-contracts
- src
- interfaces
- nft
- test/nft
- 1155-deployments
- deterministicConfig
- factoryProxy
- premintExecutorProxy
- upgradeGate
- templates
- creator-subgraph
- config
- scripts
- src
- ERC1155Mappings/templates
- constants
- erc20z
- addresses
- deterministicConfig
- package
- scripts
- script
- src
- interfaces
- uniswap
- minter
- royalties
- storage
- uniswap
- test
- invariant
- mock
- interfaces
- protocol-deployments/scripts
- smart-wallet/addresses
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
110 files changed
+9071
-467
lines changedThis file was deleted.
This file was deleted.
| 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 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
6 | 18 | | |
7 | 19 | | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
| 20 | + | |
13 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
14 | 26 | | |
15 | 27 | | |
16 | 28 | | |
17 | | - | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
18 | 36 | | |
19 | 37 | | |
20 | 38 | | |
21 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
22 | 58 | | |
| 59 | + | |
| 60 | + | |
| 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 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
11 | 15 | | |
12 | 16 | | |
13 | | - | |
14 | | - | |
| 17 | + | |
15 | 18 | | |
16 | 19 | | |
17 | 20 | | |
| |||
32 | 35 | | |
33 | 36 | | |
34 | 37 | | |
35 | | - | |
| 38 | + | |
36 | 39 | | |
37 | 40 | | |
38 | 41 | | |
39 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
40 | 47 | | |
41 | 48 | | |
42 | 49 | | |
| |||
| 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 | + | |
This file was deleted.
| 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 | + | |
This file was deleted.
0 commit comments