Commit b70ee70c authored by rajivpoc's avatar rajivpoc Committed by Kelvin Fichter

solidity 0.8.9 support

parent b56dd079
---
'@eth-optimism/gas-oracle': patch
'@eth-optimism/integration-tests': patch
'@eth-optimism/l2geth': patch
'@eth-optimism/batch-submitter': patch
'@eth-optimism/contracts': patch
'@eth-optimism/core-utils': patch
'@eth-optimism/data-transport-layer': patch
'@eth-optimism/message-relayer': patch
'@eth-optimism/regenesis-surgery': patch
'@eth-optimism/specs': patch
---
upgraded to solidity 0.8.9
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
import { Reverter } from './Reverter.sol';
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
contract ERC20 {
event Transfer(address indexed _from, address indexed _to, uint256 _value);
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
// Can't do this until the package is published.
//import { iOVM_L1BlockNumber } from "@eth-optimism/contracts/iOVM_L1BlockNumber";
......
......@@ -18,7 +18,7 @@ copies or substantial portions of the Software.
*/
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
// Can't do this until the package is published.
//import { iOVM_L1BlockNumber } from "@eth-optimism/contracts/iOVM_L1BlockNumber";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
contract Reverter {
string constant public revertMessage = "This is a simple reversion.";
......
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
contract ICrossDomainMessenger {
address public xDomainMessageSender;
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
contract TestOOG {
function runOutOfGas() public {
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
contract ValueContext {
function getSelfBalance() external payable returns(uint256) {
......
......@@ -17,7 +17,7 @@ const config: HardhatUserConfig = {
timeout: 50000,
},
solidity: {
version: '0.8.8',
version: '0.8.9',
settings: {
optimizer: { enabled: true, runs: 200 },
metadata: {
......
......@@ -98,7 +98,7 @@ describe('Whitelist', async () => {
['0x0000000000000000000000000000000000000000000000000000000000000000']:
'0x0000000000000000000000000000000000000000000000000000000000000001',
// See https://docs.soliditylang.org/en/v0.8.8/internals/layout_in_storage.html for
// See https://docs.soliditylang.org/en/v0.8.9/internals/layout_in_storage.html for
// reference on how the correct storage slot should be set.
// Whitelist mapping is located at storage slot 1.
// whitelist[address] will be located at:
......
......@@ -10,8 +10,8 @@ RUN apt-get update -y && apt-get install -y git
# Pre-download the compilers so that they do not need to be downloaded inside
# the image when building
FROM alpine as downloader
ARG VERSION=v0.8.8
ARG SOLC_VERSION=${VERSION}+commit.dddeac2f
ARG VERSION=v0.8.9
ARG SOLC_VERSION=${VERSION}+commit.e5eed63a
ARG SOLC_UPSTREAM=https://github.com/ethereum/solc-bin/raw/gh-pages/linux-amd64/solc-linux-amd64-${SOLC_VERSION}
ADD $SOLC_UPSTREAM ./solc
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_OVMCodec } from "../../libraries/codec/Lib_OVMCodec.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { AddressAliasHelper } from "../../standards/AddressAliasHelper.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Interface Imports */
import { IL1StandardBridge } from "./IL1StandardBridge.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { AddressAliasHelper } from "../../standards/AddressAliasHelper.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_Buffer } from "../../libraries/utils/Lib_Buffer.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_OVMCodec } from "../../libraries/codec/Lib_OVMCodec.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Interface Imports */
import { IBondManager } from "./IBondManager.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title IBondManager
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Interface Imports */
import { ICrossDomainMessenger } from "../../libraries/bridge/ICrossDomainMessenger.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title IL2ERC20Bridge
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { AddressAliasHelper } from "../../standards/AddressAliasHelper.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Interface Imports */
import { IL1StandardBridge } from "../../L1/messaging/IL1StandardBridge.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Contract Imports */
import { L2StandardERC20 } from "../../standards/L2StandardERC20.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title OVM_DeployerWhitelist
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_PredeployAddresses } from "../../libraries/constants/Lib_PredeployAddresses.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* External Imports */
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Interface Imports */
import { iOVM_L2ToL1MessagePasser } from "./iOVM_L2ToL1MessagePasser.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_PredeployAddresses } from "../../libraries/constants/Lib_PredeployAddresses.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title iOVM_L1BlockNumber
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title iOVM_L2ToL1MessagePasser
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
import { iL1ChugSplashDeployer } from "./interfaces/iL1ChugSplashDeployer.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title iL1ChugSplashDeployer
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_RLPReader } from "../rlp/Lib_RLPReader.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_RLPReader } from "../rlp/Lib_RLPReader.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title Lib_DefaultValues
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title Lib_PredeployAddresses
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* External Imports */
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_AddressManager } from "./Lib_AddressManager.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_AddressManager } from "./Lib_AddressManager.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title Lib_RLPReader
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title Lib_RLPWriter
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_BytesUtils } from "../utils/Lib_BytesUtils.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_MerkleTrie } from "./Lib_MerkleTrie.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title Lib_Buffer
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title Lib_Byte32Utils
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title Lib_BytesUtils
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/**
* @title Lib_MerkleTree
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "./IL2StandardERC20.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
contract Helper_GasMeasurer {
function measureCallGas(
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
contract Helper_SimpleProxy {
address internal owner;
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
// a test ERC20 token with an open mint function
contract TestERC20 {
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_OVMCodec } from "../../libraries/codec/Lib_OVMCodec.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_RLPReader } from "../../libraries/rlp/Lib_RLPReader.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_RLPWriter } from "../../libraries/rlp/Lib_RLPWriter.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_MerkleTrie } from "../../libraries/trie/Lib_MerkleTrie.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_SecureMerkleTrie } from "../../libraries/trie/Lib_SecureMerkleTrie.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_Buffer } from "../../libraries/utils/Lib_Buffer.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_Bytes32Utils } from "../../libraries/utils/Lib_Bytes32Utils.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_BytesUtils } from "../../libraries/utils/Lib_BytesUtils.sol";
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
/* Library Imports */
import { Lib_MerkleTree } from "../../libraries/utils/Lib_MerkleTree.sol";
......
......@@ -59,7 +59,7 @@ const config: HardhatUserConfig = {
solidity: {
compilers: [
{
version: '0.8.8',
version: '0.8.9',
settings: {
optimizer: { enabled: true, runs: 10_000 },
metadata: {
......
......@@ -8,7 +8,7 @@ const config: HardhatUserConfig = {
sources: './test/test-contracts',
},
solidity: {
version: '0.8.8',
version: '0.8.9',
settings: {
optimizer: { enabled: true, runs: 200 },
metadata: {
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
pragma solidity ^0.8.9;
contract MockL2CrossDomainMessenger {
struct MessageData {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment