- 03 Aug, 2022 2 commits
-
-
Matthew Slipper authored
* op-node: Derivation metrics Adds support for the following batch derivation metrics: - 0/1 gauge for if the derivation is idle - Count of total pipeline resets - Count of total unsafe payloads received - Count of total derivation errors - Gauge tracking the various L1/L2 safe/unsafe heads * review updates + more metrics
-
Joshua Gutow authored
* op-node: Add channel frame serialization This creates a struct & serialization & deserialization methods for it. This is to replace the current serialization code which is embedded in more complex methods. The reading is done with a reader API instead of a bytes API because the frame is variable length & is originally merged together with other frames without a clean division. The writing API uses a writer for simplicity (but is not required). This lays the groundwork for easily switching to fixed int sizes. * op-node: Use channel frame deserialization This uses the new channel frame object for deserialization. Some of the API interaction is a little weird in the channel_bank IngestData loop, but the code is not able to be easily tested and upgraded. * op-node: Use channel frame in serialization This uses the default implementation (through a struct) rather than the custom logic. It might make sense to use a slightly different API for serialization than deserialization given the inputs, but splitting out the logic into it's own function is still an improvement. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- 02 Aug, 2022 11 commits
-
-
smartcontracts authored
* core-utils: add bedrock types * sdk: implement bedrock functionality * tests: update for bedrock * sdk: add hardhat deposit task * circleci: run deposit task in ci * tsconfig: cleanup * contracts-bedrock: make commitment interval larger * changeset: add Co-authored-by:
Mark Tyneway <mark.tyneway@gmail.com>
-
Mark Tyneway authored
* contracts-bedrock: add forge contract verification support Add etherscan contract verification for the hh/foundry compiler toolchain. This will eventually be upstreamed, but is implemented here to ensure that it works thoroughly first. To run the task: ``` export ETHERSCAN_API_KEY=$(cat api-key.txt) $ npx hardhat forge-verify --network goerli ``` In the future, other contract verification backends will be added to forge and this task will be updated to support them. Example contract that was verified: https://goerli.etherscan.io/address/0x1234662682c85fa6fb375416d14db965eba222ba#code An individual contract can be targeted instead of all of them with the `--contract` flag. If hardhat deploy has configured external deployments, forge will not be able to verify them. It may be possible to implement that in the future. * contracts-bedrock: modularize tasks
-
Matthew Slipper authored
-
Mark Tyneway authored
contracts-bedrock: L2ToL1MessagePasser event extension
-
Mark Tyneway authored
-
Mark Tyneway authored
-
Mark Tyneway authored
-
Mark Tyneway authored
Emit an additional event during `initiateWithdrawal` that includes the withdrawal hash so that it is easy to observe changes to the `sentMessages` mapping.
-
Matthew Slipper authored
* op-node: Add p2p utils * Update op-node/flags/flags.go Co-authored-by:
Diederik Loerakker <proto@protolambda.com> Co-authored-by:
Diederik Loerakker <proto@protolambda.com>
-
Matthew Slipper authored
-
Joshua Gutow authored
This now uses a passed in timestamp for PreparePayloadAttributes. This is important because when generating a payload attributes from a batch it should be using the timestamp of the batch, not the L2 parent + block time. When we are creating payloads based on the L2 parent time, that is easy to set there instead of pulling it into this function. This enabled/exacerbated a divergence bug where the timestamp of the batch was not the timestamp that was being set inside PreparePayloadAttributes. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- 01 Aug, 2022 15 commits
-
-
Matthew Slipper authored
This reverts commit f7fcf8a1.
-
Matthew Slipper authored
* op-node: Add p2p utils * Update op-node/cmd/p2p/cmd.go Co-authored-by:
Joshua Gutow <jgutow@optimism.io> * Update op-node/cmd/p2p/cmd.go Co-authored-by:
Joshua Gutow <jgutow@optimism.io> * lint * fix devnet Co-authored-by:
Joshua Gutow <jgutow@optimism.io>
-
Mark Tyneway authored
contracts-bedrock: fix deployment
-
Mark Tyneway authored
contracts-bedrock: add watch task
-
Mark Tyneway authored
ops-bedrock: simple config fixes
-
Mark Tyneway authored
-
Will Cory authored
* add wsteth to sdk * changeset Co-authored-by:
Will Cory <willcory@Wills-MacBook-Pro.local>
-
Mark Tyneway authored
The gas snapshot check was disabled in CI because it would cause a lot of merge conflicts. Now that there is no rush to change the contracts, we should re-enable the check. Also commit in the latest snapshot. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
contracts-bedrock: fix slither
-
Mark Tyneway authored
Update to commit 64fe4acc97e6d76551cea7598c201f05ecd65639 https://github.com/foundry-rs/foundry/tree/64fe4acc97e6d76551cea7598c201f05ecd65639 https://github.com/foundry-rs/foundry/commit/64fe4acc97e6d76551cea7598c201f05ecd65639 This update is pulled in so that the new config file format can be adopted. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Matthew Slipper authored
* ci: Tag cloudbuild images with the commit SHA * contracts-bedrock: Fix provider usage in L2OutputOracle deployment script `getDefaultProvider()` returns a fallback mainnet provider, which doesn't work. Builds on #3147.
-
Matthew Slipper authored
-
Mark Tyneway authored
-
Matthew Slipper authored
Also adds a new `deployer` network for use with automation.
-
Mark Tyneway authored
`slither` crashes on new solidity features, one is used in the forge tests. Not exactly sure what it is, but this will prevent that problem by moving the tests to a temp dir when running slither and then moving them back.
-
- 30 Jul, 2022 8 commits
-
-
Mark Tyneway authored
deps: update excessively-safe-call
-
Mark Tyneway authored
-
Mark Tyneway authored
Deletes an old config option and also changes the poll interval on the `op-proposer` to `1s` so that it submits outputs faster. I found that the proposer will lag a lot, especially if the commitment interval is small. We need to carefully consider the implications of the commitment interval and understand if it can be updated dynamically or not.
-
Mark Tyneway authored
A hardhat task that lists off important information. Very helpful for debugging live networks. Usage: ``` $ npx hardhat watch --network devnetL1 ``` It will print off information as the chain makes progress.
-
Mark Tyneway authored
It was being deployed with the implementation address of the `L2OutputOracle` instead of the proxy. This was preventing output commitments to actually be posted.
-
Joshua Gutow authored
* op-batcher: Enable optional pprof server * op-proposer: Enable optional pprof server * op-node: Eanble optional pprof server Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Maurelian authored
* test(ctb): change gasLimit arg to uint256 * test(ctb): Set maximum diff fuzz gasLimit to 30MM * test(ctb): Set maximum diff fuzz value to 120MM eth * ctb: Address compiler warnings Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Joshua Gutow authored
* ops: Use starting L1 Block for timestamp everywhere This transitions the starting timestamp to a new flow. The L2 rollup is anchored on a L1 block. The L2 genesis block & rollup config use the timestamp of the L1 start block as the their time. Properly threading this through the HH tasks is a little tricky but possible. This is because we have two flows: creating a L1 network & placing the rollup on that and creating a rollup on an existing L1 network (like goerli). There is still a L1 starting time for the first flow. This also fixes a circular dependcy that previously existed. The starting timestamp was provided and served as the starting timestamp for the L1 genesis & the "L2 Starting Time" in the L2 Output Oracle. The actual L2 genesis & rollup start time were based on when the Optimism Portal contract was deployed (after the L2 Output Oracle contract must have been deployed). The rollup is resilient to being started before contracts are fully deployed, so using a specific L1 block as the start is the cleanest solution I have seen. * Fix lint * Update packages/contracts-bedrock/deploy-config/goerli.ts * Add undefined checks to l1StartingBlockTag * lint * fix checks Co-authored-by:
Matthew Slipper <me@matthewslipper.com> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- 29 Jul, 2022 4 commits
-
-
Mark Tyneway authored
Fixes foundry config issue so that warnings go away during compilation. Also cleans up warnings when running tests. https://github.com/nomad-xyz/ExcessivelySafeCall/commit/81cd99ce3e69117d665d7601c330ea03b97acce0
-
Mark Tyneway authored
contracts-bedrock: in place handling of immutables
-
Mark Tyneway authored
-
Mark Tyneway authored
-