-
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 |
---|---|---|
.. | ||
ast | ||
bindgen | ||
bindings | ||
bindingspreview | ||
cmd | ||
etherscan | ||
foundry | ||
hardhat | ||
legacy-bindings | ||
predeploys | ||
solc | ||
Makefile | ||
README.md | ||
artifacts-preview.json | ||
artifacts.json | ||
doc.go |