Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add new solady version to import erc20 and add permit2 #78

Closed

Conversation

0xDiscotech
Copy link

@0xDiscotech 0xDiscotech commented Oct 2, 2024

CLOSES OPT-233

  • Add new Solady version, as a separate dependency form the current Solady package being used
  • Inherit from the new Solday's version ERC20 on SuperchainERC20
  • Support Permit2 on OptimismSuperchainERC20

@0xDiscotech 0xDiscotech requested a review from agusduha October 2, 2024 20:26
@0xDiscotech 0xDiscotech self-assigned this Oct 2, 2024
@0xDiscotech 0xDiscotech marked this pull request as ready for review October 2, 2024 20:27
@gotzenx gotzenx requested a review from 0xng October 3, 2024 00:53
0xng
0xng previously approved these changes Oct 3, 2024
@agusduha agusduha added the hold Do not merge for now label Oct 3, 2024
@0xDiscotech 0xDiscotech changed the base branch from sc/superchain-erc20-redesign to sc-feat/crosschain-erc20 October 4, 2024 20:13
@0xDiscotech 0xDiscotech changed the title chore: add new solady version and import it for erc20 chore: add new solady version to import erc20 and add permit2 Oct 9, 2024
Copy link

linear bot commented Oct 9, 2024

Copy link

linear bot commented Oct 9, 2024

GrapeBaBa and others added 7 commits October 11, 2024 13:54
* feat:add movf/movt tests

Signed-off-by: Chen Kai <[email protected]>

* fix:fix code review nit

Signed-off-by: Chen Kai <[email protected]>

---------

Signed-off-by: Chen Kai <[email protected]>
* feat: move log to top of save function

Makes debugging slightly easier.

* feat: Deploy system with OPCM

* feat: Deploy missing Permissionless DWETH

* feat: Fully OPCM based deployment

At this point tests that depend on the L2OutputOracle will still fail,
but those with Fault Proofs _should_ pass.

* feat: Refactor _setFaultGameImplementation

It no longer handles the PERMISSIONED game type deploy by OPCM.

* test: Make caller explicit in unauthorized test case

* test: Fix have guardian setRespectedGameType to Cannon

THis is necessary because the tests assume the respecte game is cannon,
but the OPCM assumes it is the permissioned game

* test: Bridge_Initializer defaulst to FP on

* test: setRespectedGameType to Cannon in Deploy

* test: Bridge_Initializer defaulst to FP on

* feat: resetInitializedProxy func to allow reinitializing contracts

* feat: Delete initializeOpChain, we don't need it anymore

* feat: Set batch inbox address in config using hashed method

* feat: Make caller explicit in testFuzz_removeDependency_notDependencyManager_reverts

* feat: lint

* Revert "test: Bridge_Initializer defaulst to FP on"

This reverts commit d435653.

* feat: Consolidate useFaultProofs modifications into _run

* Revert "test: Bridge_Initializer defaulst to FP on"

This reverts commit af8d99b.

* feat: Some annotations in Deploy.s.ol

* feat: Skip checking L2OO in Initializable.t.sol

* feat: Delete unused initialize functions

* fix: Remove unused imports

* fix: unused import

* feat: Use respectedGameType from deploy-config

* use startPrank

* feat: Prevent deploying legacy portal for interop

* fix: incorrect var name

* feat: detect when OPCM is deploying the Permissionless game

* fix: error format
…#12378)

* feat(contracts-bedrock): rm assume on precompile

Signed-off-by: jsvisa <[email protected]>

* feat(contracts-bedrock): replace vm.keyExists with vm.keyExistsJson

Signed-off-by: jsvisa <[email protected]>

* feat(contracts-bedrock): replace _readOr implement

Signed-off-by: jsvisa <[email protected]>

---------

Signed-off-by: jsvisa <[email protected]>
…optimism#12404)

* op-deployer: Fee Recipients and Gas Params added to intent

* fix: retrieved fee recipients from docs.

* fix: added a loose test for checking fee vault recipients and gas params.

* fix: programmatically retrieving the proxy impl address to check the immutable.

* fix: fee recipient per chain
smartcontracts and others added 20 commits October 11, 2024 19:38
Adds the semgrep step to contracts-bedrock checks now that semgrep
is added to the latest version of ci-builder.
* Add support for a derive.ChannelOut factory

* Add DriverSetupOption for injecting custom options into the DriverSetup

* Remove factory from NewChannelManager and NewChannelBuilder

* Add ChannelOut factory test

* Add comment about why we use a wrapper
…ptimism#12389)

* Add EmptyThreadStacks test

* add go evm check

* improve consistency and update test

* delete emptyThreadedProofGenerator

* forge lint update

* fix solidity versioning and hash & add proof variations in test
…ism#12407)

* op-service: Add optional headers to the signer client

* Explain flag usage
* cannon: Add a few more load/store test cases

* cannon: Add some more load test cases with negative numbers

* cannon: Specify test names more precisely
…ethereum-optimism#12379)

* op-challenger: Set op-program log level based on the challenger level.

* op-challenger: Fix tests to actually assert values.
ethereum-optimism#12447)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.27.4 to 2.27.5.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.27.4...v2.27.5)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…imism#12363)

* Cleanup batcher channel inclusion block logic

* Add comment to isTimedOut

* Remove updateInclusionBlocks altogether

* Revert receiver variable rename

* Fix tests

* Fix isTimedOut for ChannelTimeouts of 1 (ensure that some txs have been confirmed)

* Added comment about confirmed txs to isFullySubmitted
…sm#12446)

Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.77 to 7.0.78.
- [Release notes](https://github.com/minio/minio-go/releases)
- [Commits](minio/minio-go@v7.0.77...v7.0.78)

---
updated-dependencies:
- dependency-name: github.com/minio/minio-go/v7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: Port some CI jobs to self-hosted runners

This PR ports the following CI jobs to use self-hosted runners:

- cannon-go-lint-and-test
- contracts-bedrock-build
- go-lint
- go-test-kurtosis
- go-e2e-test
- cannon-prestate

These jobs benefit from running on beefier hardware. Since Go cache data is shared among the executors, it also allowed me to remove a lot of the manual caching logic from our builds while  improving Go compilation times overall.

I'll provide a separate writeup detailing exactly how the executors work.

* use test result directories in the workspace
…12334)

This only adds the new stage, but doesn't wire it into the derivation
pipeline yet.
* op-e2e: Parallelize CGT tests

Parallelizes the custom gas token tests. This reduces runtime from ~120s to ~60s on my Macbook.

* code review updates
…sm#12462)

* test: Remove exceptions for unlabelled fdg contracts

* fix: Unused import
…-optimism#12321)

* feat: add superchain erc20 bridge (#61)

* feat: add superchain erc20 bridge

* fix: interfaces and versions

* refactor: optimism superchain erc20 redesign (#62)

* refactor: use oz upgradeable erc20 as dependency

* chore: update interfaces

* fix: tests based on changes

* refactor: remove op as dependency

* feat: add check for supererc20 bridge on modifier

* chore: update tests and interfaces

* chore: update stack vars name on test

* chore: remove empty gitmodules file

* chore: update superchain weth errors

* test: add superchain erc20 bridge tests (#65)

* test: add superchain erc20 bridge tests

* test: add optimism superchain erc20 beacon tests

* test: remove unnecessary test

* test: tests fixes

* test: tests fixes

* chore: update missing bridge on natspec (#69)

* chore: update missing bridge on natspec

* fix: natspecs

---------

Co-authored-by: agusduha <[email protected]>

* fix: remove superchain erc20 base (#70)

* refactor: update isuperchainweth (#71)


---------

Co-authored-by: agusduha <[email protected]>

* feat: rename mint/burn and add SuperchainERC20 (#74)

* refactor: rename mint and burn functions on superchain erc20

* chore: rename optimism superchain erc20 to superchain erc20

* feat: create optimism superchain erc20 contract

* chore: update natspec and errors

* fix: superchain erc20 tests

* refactor: make superchain erc20 abstract

* refactor: move storage and erc20 metadata functions to implementation

* chore: update interfaces

* chore: update superchain erc20 events

* fix: tests

* fix: natspecs

* fix: add semmver lock and snapshots

* fix: remove unused imports

* fix: natspecs

---------

Co-authored-by: 0xDiscotech <[email protected]>

* fix: refactor zero check (#76)

* fix: pre pr

* fix: semver natspec check failure (#79)

* fix: semver natspec check failure

* fix: ignore mock contracts in semver natspec script

* fix: error message

* feat: add crosschain erc20 interface (#80)

* feat: add crosschain erc20 interface

* fix: refactor interfaces

* fix: superchain bridge natspec (#83)

* fix: superchain weth natspec (#84)

Co-authored-by: 0xng <[email protected]>
Co-authored-by: 0xParticle <[email protected]>
Co-authored-by: gotzenx <[email protected]>

* fix: stop inheriting superchain interfaces (#85)

* fix: stop inheriting superchain interfaces

* fix: move events and erros into the implementation

* fix: make superchainERC20 inherits from crosschainERC20

* fix: superchain bridge rename (#86)

* fix: fee vault compiler error (#87)

* fix: remove unused imports

* fix: refactor common errors (#90)

* fix: refactor common errors

* fix: remove unused version

* fix: reuse unauthorized error (#92)

* fix: superchain erc20 factory conflicts

* fix: rename crosschain functions (#94)

---------

Co-authored-by: Disco <[email protected]>
Co-authored-by: 0xng <[email protected]>
Co-authored-by: 0xParticle <[email protected]>
Co-authored-by: gotzenx <[email protected]>
@agusduha
Copy link
Member

Closing, follow in #97

@agusduha agusduha closed this Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hold Do not merge for now
Projects
None yet
Development

Successfully merging this pull request may close these issues.