- 25 Aug, 2022 8 commits
-
-
Mark Tyneway authored
-
Mark Tyneway authored
-
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.
-
Ben Wilson authored
Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
Mark Tyneway authored
contracts-bedrock: add gpo to Predeploys.sol
-
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`.
-
mergify[bot] authored
-
Javed Khan authored
* indexer: upgrade bridge contracts to bedrock * indexer: go mod tidy * indexer: rm bindings; use pkg op-bindings Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- 24 Aug, 2022 13 commits
-
-
Mark Tyneway authored
This hardhat task mirrors functionality of `forge inspect` where you can pass a contract name and a compiler output field and it will print that field for you. This will be useful for building sets of `storageLayout`s and `methodIdentifiers` to compare against the bedrock contracts. Example usage: ``` $ npx hardhat inspect AddressDictator storageLayout ``` Where `AddressDictator` can be any contract in the package and `storageLayout` can be one of the following: - abi - bytecode - deployedBytecode - storageLayout - methodIdentifiers This is one of the more useful features of foundry so porting it to hardhat will make storageLayout inspections much easier. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
protolambda authored
* op-node,specs: batches track parent-hash, refactor+test batch queue, update specs * op-node,specs: implement review suggestions * op-node,specs: implement suggestions/fixes based on review from mark Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
This file was missing the `GAS_PRICE_ORACLE` value, this commit adds in a constant for it.
-
Matthew Slipper authored
-
Mark Tyneway authored
Deduplicates some code for a common pattern. Callers will usually pass a network and a path to a deploy config directory. This comes from the way that `hardhat-deploy-config` works. The config directory must include a JSON file that is named after the network.
-
Diederik Loerakker authored
* op-node: l2 rpc refactor * op-node: implement l2 rpc review suggestions Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
* op-chain-ops: some cleanup and modularization * op-node: add `op-node genesis devnet-l1` command * contracts-bedrock: delete L1 genesis hh task * ops-bedrock: use new go based L1 genesis generation * genesis: clean up L1 genesis creation * Update setters.go Co-authored-by:
Matthew Slipper <me@matthewslipper.com> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Maurelian authored
Co-authored-by:
Mark Tyneway <mark.tyneway@gmail.com> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Javed Khan authored
-
Mark Tyneway authored
Add documentation on how to use the `op-node` to generate L2 devnet genesis blocks. This will be expanded in the future to include upgrading pre-bedrock databases. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
smartcontracts authored
Fixes issues with npm by moving certain dependencies from "dependencies" to "devDependencies" and therefore not including them in the bundle that gets uploaded to npm. These dependencies did not include a package.json file, which was causing certain versions of npm to complain loudly.
-
Mark Tyneway authored
It is now replaced by an `op-node` subcommand.
-
Mark Tyneway authored
* contracts-bedrock: updated L2 config checker Checks that the predeploys were configured correctly * op-chain-ops: adds in OptimismMintableERC20Factory Was previously skipped since it lives in the `universal` directory and not the `L2` directory. * op-node: new command * ci: update to work with op-node for genesis creation * ops-bedrock: use op-node for L2 genesis generation * op-node: clean up devnet-l2 command
-
- 23 Aug, 2022 14 commits
-
-
norswap authored
* many clarification and corrections to stage descriptions * knock some TODOs + review execution engine interaction during derivation * spec that we drop sequencer transactions if there is a payload error * lint Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
Helps with caching to use the same docker image across jobs. This updates jobs on an older ubuntu docker image to the latest ubuntu docker image provided by circleci. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
ops-bedrock: use the latest geth release for L1
-
Mark Tyneway authored
-
Mark Tyneway authored
contracts-bedrock: remove extra console.log
-
Mark Tyneway authored
Was forgotten because it lives in the `universal` directory and not the `L2` directory
-
Mark Tyneway authored
-
Diederik Loerakker authored
* op-node: split l1 source into eth and l1 client * op-node: fix comment typo Co-authored-by:
Javed Khan <javed@optimism.io> * op-node: implement l1 rpc review suggestions Co-authored-by:
Javed Khan <javed@optimism.io> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
Adds some nice new tracers and is more close to what we would see on mainnet
-
Mark Tyneway authored
* contracts-bedrock: always fund dev accounts Reduces config complexity * op-chain-ops: clean up genesis package Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
Diederik Loerakker authored
* op-node: remove parallel batch fetching, introduce iterative batch fetching and receipts fetcher * op-node: fix receipts fetching cache issue - reset fetcher when encountering error in final results * receipts fetching improvement * op-node: verify receipts with pure function, generalize batch fetching code more
-
Matthew Slipper authored
Adds a Python script that generates replica configurations for networks deployed using `bedrock-regentool`. Usage instructions are in `ops-bedrock/tools/README.md`.
-
Mark Tyneway authored
* contracts-bedrock: parallel deployment fix Uses local nonce management for sending configuration transactions. This will make the parallel deployments more reliable. * contracts-bedrock: harden for live network deployments
-
Diederik Loerakker authored
Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- 22 Aug, 2022 5 commits
-
-
Mark Tyneway authored
fix: proxy admin deploy script
-
Mark Tyneway authored
-
Mark Tyneway authored
Reduce the amount of config by removing the concept of proxy admin address because we should be using the address of the deployed proxy admin contract.
-
Mark Tyneway authored
op-chain-ops: rename from state-surgery
-
Javed Khan authored
-