• Mark Tyneway's avatar
    contracts-bedrock: update weth98 (#10102) · c8277f3b
    Mark Tyneway authored
    * contracts-bedrock: update weth98
    
    The custom gas token project is moving away from using
    the original weth9 code as a predeploy to using the
    weth98 code as a predeploy. As part of this, the ability
    to override the name and symbol are required for chains
    that use a custom gas token. There is no way to
    mark an inline declaration as `virtual`, it requires
    moving to a `function` syntax. Definitely less clean
    looking but necessary to support the override ability.
    
    The implementation of the new WETH predeploy is as follows:
    
    ```solidity
    contract WETH is WETH98 {
        /// @notice Returns the name of the token from the L1Block contract
        function name() external view override returns (string memory) {
            return string.concat("Wrapped ", L1Block(Predeploys.L1_BLOCK_ATTRIBUTES).gasPayingTokenName());
        }
    
        /// @notice Returns the symbol of the token from the L1Block contract
        function symbol() external view override returns (string memory) {
            return string.concat("W", L1Block(Predeploys.L1_BLOCK_ATTRIBUTES).gasPayingTokenSymbol());
        }
    }
    ```
    
    Where when not in custom gas token mode, it with return `Wrapped Ether`
    and `WETH`, so it is backwards compatible.
    
    This commit also adds a fallback function since the original weth9 has
    a fallback function but this one does not. While the receive function
    can work, adding the fallback function ensures that the same behavior
    as weth9 is achieved when making a call that includes calldata + value.
    
    * contracts-bedrock: fix compile
    
    * snapshots: update
    
    * op-bindings: regenerate
    
    * contracts-bedrock: cleanup weth98
    
    * contracts-bedrock: semver lock
    
    * contracts-bedrock: weth98 tests
    
    * lint: fix
    c8277f3b
Name
Last commit
Last update
..
addressmanager.go Loading commit data...
addressmanager_more.go Loading commit data...
alphabetvm.go Loading commit data...
alphabetvm2.go Loading commit data...
alphabetvm2_more.go Loading commit data...
alphabetvm_more.go Loading commit data...
basefeevault.go Loading commit data...
basefeevault_more.go Loading commit data...
create2deployer.go Loading commit data...
create2deployer_more.go Loading commit data...
crossdomainmessenger.go Loading commit data...
crossdomainmessenger_more.go Loading commit data...
dataavailabilitychallenge.go Loading commit data...
dataavailabilitychallenge_more.go Loading commit data...
delayedvetoable.go Loading commit data...
delayedvetoable_more.go Loading commit data...
delayedweth.go Loading commit data...
delayedweth_more.go Loading commit data...
deployerwhitelist.go Loading commit data...
deployerwhitelist_more.go Loading commit data...
deterministicdeploymentproxy.go Loading commit data...
deterministicdeploymentproxy_more.go Loading commit data...
disputegamefactory.go Loading commit data...
disputegamefactory_more.go Loading commit data...
eas.go Loading commit data...
eas_more.go Loading commit data...
entrypoint.go Loading commit data...
entrypoint_more.go Loading commit data...
erc20.go Loading commit data...
erc20_more.go Loading commit data...
faultdisputegame.go Loading commit data...
faultdisputegame_more.go Loading commit data...
gaspriceoracle.go Loading commit data...
gaspriceoracle_more.go Loading commit data...
governancetoken.go Loading commit data...
governancetoken_more.go Loading commit data...
isemver.go Loading commit data...
isemver_more.go Loading commit data...
l1block.go Loading commit data...
l1block_more.go Loading commit data...
l1blocknumber.go Loading commit data...
l1blocknumber_more.go Loading commit data...
l1crossdomainmessenger.go Loading commit data...
l1crossdomainmessenger_more.go Loading commit data...
l1erc721bridge.go Loading commit data...
l1erc721bridge_more.go Loading commit data...
l1feevault.go Loading commit data...
l1feevault_more.go Loading commit data...
l1standardbridge.go Loading commit data...
l1standardbridge_more.go Loading commit data...
l2crossdomainmessenger.go Loading commit data...
l2crossdomainmessenger_more.go Loading commit data...
l2erc721bridge.go Loading commit data...
l2erc721bridge_more.go Loading commit data...
l2outputoracle.go Loading commit data...
l2outputoracle_more.go Loading commit data...
l2standardbridge.go Loading commit data...
l2standardbridge_more.go Loading commit data...
l2tol1messagepasser.go Loading commit data...
l2tol1messagepasser_more.go Loading commit data...
legacymessagepasser.go Loading commit data...
legacymessagepasser_more.go Loading commit data...
mips.go Loading commit data...
mips_more.go Loading commit data...
multicall3.go Loading commit data...
multicall3_more.go Loading commit data...
multisend_v130.go Loading commit data...
multisend_v130_more.go Loading commit data...
multisendcallonly_v130.go Loading commit data...
multisendcallonly_v130_more.go Loading commit data...
optimismmintableerc20.go Loading commit data...
optimismmintableerc20_more.go Loading commit data...
optimismmintableerc20factory.go Loading commit data...
optimismmintableerc20factory_more.go Loading commit data...
optimismmintableerc721factory.go Loading commit data...
optimismmintableerc721factory_more.go Loading commit data...
optimismportal.go Loading commit data...
optimismportal_more.go Loading commit data...
permit2.go Loading commit data...
permit2_more.go Loading commit data...
preimageoracle.go Loading commit data...
preimageoracle_more.go Loading commit data...
protocolversions.go Loading commit data...
protocolversions_more.go Loading commit data...
proxy.go Loading commit data...
proxy_more.go Loading commit data...
proxyadmin.go Loading commit data...
proxyadmin_more.go Loading commit data...
registry.go Loading commit data...
safe.go Loading commit data...
safe_more.go Loading commit data...
safe_v130.go Loading commit data...
safe_v130_more.go Loading commit data...
safel2_v130.go Loading commit data...
safel2_v130_more.go Loading commit data...
safeproxyfactory.go Loading commit data...
safeproxyfactory_more.go Loading commit data...
safesingletonfactory.go Loading commit data...
safesingletonfactory_more.go Loading commit data...
schemaregistry.go Loading commit data...
schemaregistry_more.go Loading commit data...
sendercreator.go Loading commit data...
sendercreator_more.go Loading commit data...
sequencerfeevault.go Loading commit data...
sequencerfeevault_more.go Loading commit data...
standardbridge.go Loading commit data...
standardbridge_more.go Loading commit data...
storagesetter.go Loading commit data...
storagesetter_more.go Loading commit data...
superchainconfig.go Loading commit data...
superchainconfig_more.go Loading commit data...
systemconfig.go Loading commit data...
systemconfig_more.go Loading commit data...
weth9.go Loading commit data...
weth9_more.go Loading commit data...