feat: add SuperchainERC20 baseline#11675
Conversation
|
Is this ready for review? |
* feat: add superchain erc20 baseline * feat: make superchain ERC20 simpler * fix: small version fix and tests * test: fix test name
c6b4128 to
d87a38e
Compare
|
@tynes It's now ready to review. We decided to make We only have one design question, and it's around the address zero check in the |
|
Curious how you would feel about supporting #11899 as part of this. The rationale is here #11880 Since we updated the edit: I suppose this could be done in a follow up |
packages/contracts-bedrock/test/L2/OptimismSuperchainERC20.t.sol
Outdated
Show resolved
Hide resolved
|
Looks like the recently added interface check failed |
Definitely on board with leaving it in there |
|
Tests look great to me! Ready to merge after the checks are passing CI |
fix: interfaces to comply with the new interface checker
fix: lint line
|
@tynes Assigned this issue to us: #11899. Will take care of this next. Thought it was cleaner to make it in a separate PR as it touches on the Also, as a note, for these last commits I added the main thing I felt to be untidy was to create an interface for Solady's ERC20, not due to the interface per se, but because I was not certain where to place it. I created a directory called Lastly, on the |
This all sounds good to me |
* feat: add superchain erc20 baseline (ethereum-optimism#37) * feat: add superchain erc20 baseline * feat: make superchain ERC20 simpler * fix: small version fix and tests * test: fix test name * test: remove unused import * feat: making baseline abstract * fix: interfaces to comply with the new interface checker * fix: import paths and empty line * fix: lint line --------- Co-authored-by: 0xng <ng@defi.sucks> Co-authored-by: 0xng <87835144+0xng@users.noreply.github.com>
Description
Add a baseline standard of the SuperchainERC20.
Tests
Add
SuperchainERC20unit testsAdditional context
We choose to go with this design to let contracts that inherits the standard be proxied or not. The downside in the current implementation is the default constructor being used in
OptimismSuperchainERC20because of being proxied.We would love to hear some feedback on the design to know if the ideal is a simple vanilla implementation, something like this or maybe something more focus on upgradeability.
Metadata