Skip to content

Conversation

@ozzy35410
Copy link

Changed the second echo command in the generate() function from using a single redirection (>) to append redirection (>>) so that the header isn't overwritten.

Changed the second echo command in the generate() function from using a single redirection (>) to append redirection (>>) so that the header isn't overwritten.
echo "👁👁 STORAGE LAYOUT snapshot 👁👁" >> "$file"
echo "=======================" >> "$file"
# shellcheck disable=SC2068
# shellcheck disable=SC2068
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this space here?

@iainnash iainnash self-requested a review May 23, 2025 13:26
pull bot pushed a commit to Hawthorne001/zora-protocol that referenced this pull request Jul 14, 2025
* 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]>
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.

2 participants