1. 25 Aug, 2022 7 commits
    • Mark Tyneway's avatar
      bindings: regenerate · 3e315b45
      Mark Tyneway authored
      3e315b45
    • Mark Tyneway's avatar
      contracts-bedrock: use safecall · 329d21b6
      Mark Tyneway authored
      Replace `ExcessivelySafeCall` with a local `SafeCall`
      that does not copy any calldata back. We do not care about
      returndata being returned so this prevents returndata bombs.
      329d21b6
    • Ben Wilson's avatar
      11123565
    • Mark Tyneway's avatar
      Merge pull request #3307 from ethereum-optimism/fix/add-missing-predeploy · b2898008
      Mark Tyneway authored
      contracts-bedrock: add gpo to Predeploys.sol
      b2898008
    • Mark Tyneway's avatar
      contracts-bedrock: bump oz to latest release (#3308) · cdf2163e
      Mark Tyneway authored
      This bumps the open zeppelin contracts used in bedrock to the
      latest release. This bump is happening because `Ownable` becomes
      more flexible, allowing you to overwrite the logic for `onlyOwner`.
      This would enable writing a `CrossDomainOwnable` contract like so:
      
      ```solidity
      // SPDX-License-Identifier: MIT
      pragma solidity 0.8.15;
      
      import { AddressAliasHelper } from "../vendor/AddressAliasHelper.sol";
      import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
      
      abstract contract CrossDomainOwnable is Ownable {
          /**
           * @dev Throws if the sender is not the owner.
           */
          function _checkOwner() internal view {
              address sender = AddressAliasHelper.undoL1ToL2Alias(msg.sender);
              require(owner() == sender, "Ownable: caller is not the owner");
          }
      }
      ```
      
      The main diff to the `Ownable` contract is that is now looks like this:
      
      ```solidity
          /**
           * @dev Throws if called by any account other than the owner.
           */
          modifier onlyOwner() {
              _checkOwner();
              _;
          }
      
          /**
           * @dev Returns the address of the current owner.
           */
          function owner() public view virtual returns (address) {
              return _owner;
          }
      
          /**
           * @dev Throws if the sender is not the owner.
           */
          function _checkOwner() internal view virtual {
              require(owner() == _msgSender(), "Ownable: caller is not the owner");
          }
      ```
      
      The older version of the contracts doesn't have the `virtual`
      `_checkOwner` function. This does add some additional gas overhead
      as seen in the `.gas-snapshot`.
      cdf2163e
    • mergify[bot]'s avatar
      d2a1bbc8
    • Javed Khan's avatar
      indexer: upgrade bridge contracts to bedrock (#3286) · 32d44348
      Javed Khan authored
      * indexer: upgrade bridge contracts to bedrock
      
      * indexer: go mod tidy
      
      * indexer: rm bindings; use pkg op-bindings
      Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
      32d44348
  2. 24 Aug, 2022 13 commits
  3. 23 Aug, 2022 14 commits
  4. 22 Aug, 2022 6 commits