- 22 Aug, 2022 2 commits
-
-
Matthew Slipper authored
* ci: Add hive l1ops suite This suite tests deposits and withdrawals. * Update .circleci/config.yml Co-authored-by:
Diederik Loerakker <proto@protolambda.com> Co-authored-by:
Diederik Loerakker <proto@protolambda.com>
-
norswap authored
Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- 21 Aug, 2022 3 commits
-
-
Matthew Slipper authored
This PR upgrades Bedrock dependencies v0.5.0. Hive needs this in order to perform withdrawals properly since v0.4.0 does not include the change to index withdrawals by block number. It also adds a Makefile command to generate future Bedrock version tags and push them. Note the GOPRIVATE change in `mod-tidy` - I needed to add this to circumvent the Go version proxy since it's slow to index new versions.
-
Diederik Loerakker authored
Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
Joshua Gutow authored
* op-node: Cleanup channel definition This moves some files around and then expands upon the Channel struct. It is better built for adding frames + then reading data when it is ready. Some tests are still failing and I don't know why. * ReadBatch in channel.go * op-node: Fix channel.go + start of new interface * fix lint * op-node: Use simple channel decoding * revert switch to reader This was due to the difficulty in making the mocks work with the reader. * fix lint * fix bug around trying to use an empty chanel Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- 20 Aug, 2022 5 commits
-
-
Matthew Slipper authored
Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
* state-surgery: layer 2 genesis block generation Generate the L2 or L1 genesis block given a hardhat and a deploy config. * state-surgery: some comments * state-surgery: delete dead comment
-
Joshua Gutow authored
* op-node: Rename channel_frame.go -> fame.go * op-node: New ParseFrames function + fuzzers * op-node: Use new ParseFrames function * fix test to new behavior * small fixes * fix lint * small fixes * fix nits * fix nits * fix logging format Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Matthew Slipper authored
This helps improve performance.
-
Matthew Slipper authored
Adds per-commit dev builds that get uploaded to our GCR repository. This enables running hive on a per-PR basis.
-
- 19 Aug, 2022 28 commits
-
-
Matthew Slipper authored
The op-geth repo has already been created as a fork of reference-optimistic-geth. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
state-surgery: fix string slice
-
Mark Tyneway authored
state-surgery: fix naming
-
Mark Tyneway authored
The `initialize()` function in the L2CrossDomainMessenger sets some blocked system addresses. It was using `address(this)` but in reality the contract is a predeploy at a specific address. It should not be deployed, the `initialize` function will never run. For the unit tests, the contracts are placed at their correct addresses. This makes the testing environment as close as possible to what is experienced on a live network. This PR hardcodes in the L2 cross domain messenger constant from the predeploys library instead of using `address(this)`. In practice this value is set using the chain ops tooling, so this makes it more clear as to what the value should be. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
Do not overwrite accounts that already exist when creating accounts with the memory db. Also panic if trying to set state in an account that doesn't yet exist in the state. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
Someplace in foundry it seems to not populate the key value correctly in the compiler storage layout type. Unclear why its not always populated, it is in some cases but not all. It could be anywhere between solc, foundry and the foundry hardhat plugin. The information is still there, it just needs to be parsed from a different field. This PR uses a regex to parse the value to pull it out. It recursively calls itself and we can be sure that it will not infinitely recurse because a non empty string is passed in the second time. With this PR, I am able to successfully build the L2 genesis state. bugfix fix Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Matthew Slipper authored
-
Joshua Gutow authored
Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
Fix some naming so that it reads better
-
Mark Tyneway authored
For some reason `strings.TrimPrefix` is removing an extra character sometimes. We want to remove the `.json` extension and using it will sometimes also remove the final character in the contract name. This is problematic because when you call `hh.GetDeployment`, with the name of the contract, it will not be able to find the deployment because the name of the deployment will not match the name passed in by the user. This instead slices off the `.json` from the string manually.
-
Mark Tyneway authored
- Add support for `&common.Address` - Take locks in initialization of `hardhat.Hardhat`
-
Mark Tyneway authored
contracts-bedrock: migrate deploy config to json
-
Mark Tyneway authored
Migrates the deploy config from typescript to json so that it can be read into a go program.
-
Mark Tyneway authored
Adds the ability to serialize strings in state. It only supports strings less than 32 bytes long which would require major refactoring and we do not currently need that functionality. Main test cases come from mainnet WETH contract Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
smartcontracts authored
Updates the SDK to load contract addresses from the deployments folder. Also updates the Contracts package to export addresses from the deployments folder. More robust to address changes. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
smartcontracts authored
Makes it possible to easily deploy via PK if not deploying via Ledger. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
smartcontracts authored
Refactors contract addresses and related constants into the chain-constants.ts file. Much cleaner separation of logic. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
state-surgery: implement bytes32 handling
-
Mark Tyneway authored
state-surgery: fix flakey tests
-
Mark Tyneway authored
contracts-bedrock: make a library call internal
-
Mark Tyneway authored
state-surgery: handle fs errors
-
Mark Tyneway authored
-
Mark Tyneway authored
Sometimes `require.Equal` flakes on the comparison of `big.Int`. https://github.com/ethereum-optimism/optimism/blob/b31d35b67755479645dd150e7cc8c6710f0b4a56/op-node/rollup/derive/fuzz_parsers_test.go#L42Co-authored-by:
Joshua Gutow <jgutow@optimism.io>
-
Mark Tyneway authored
Adds the ability to set bytes32 values in state. There is a single bytes32 value in our L2 predeploys. Adds test coverage that the value is set properly and encoded properly. Both `common.Hash` and hex strings are supported to be able to be encoded into a bytes32 suitable for storage.
-
smartcontracts authored
Fixes a bug in the SDK that would cause withdrawals to revert for certain custom bridges on Kovan. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
Mark Tyneway authored
Handle errors when walking the filesystem so that they do not silently fail.
-
Mark Tyneway authored
So we don't have to handle library linking in the state surgery
-
Joshua Gutow authored
I forgot to initialize the forceReset channel which means that the RPC isn't able to signal to the state loop that it needs to reset. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
- 18 Aug, 2022 2 commits
-
-
smartcontracts authored
Removes the ICrossChainMessenger interface. We don't have a strong reason to maintain this interface and it introduces complexity to the process of developing the SDK. With the interface, we are required to make changes to multiple files when we simply want to change the CrossChainMessenger class. We are also not maintaing multiple implementations of the CrossChainMessenger that would make the interface useful. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-
smartcontracts authored
Deploys Drippie to the Optimism Goerli testnet. Have not set any configurations up yet, still waiting on Gelato support. Not verified on Etherscan since we don't have an Etherscan for OP Goerli yet. Addresses are different than on other chains because of the update to Solidity 0.8.15. Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
-