- 11 Nov, 2021 40 commits
-
-
kf authored
-
Maurelian authored
-
Maurelian authored
-
Maurelian authored
-
Mark Tyneway authored
It can be used with the command: ``` $ npx hardhat deploy --tags hardhat --network fork --fork-network kovan ``` A new parameter `--fork-network` is added which specifies the network that is being forked. We cannot use the actual network due to it checking the `.chainId` file in the `deployments/xxx/` directory and comparing that against the remote network. It is hidden behind the `hardhat` tag and only runs if the deploy config has the network set to `fork` with `--network fork`. It is up to the user to configure `hardhat node` with the correct fork url. This should be used with the env vars: ``` CONTRACTS_TARGET_NETWORK=fork CONTRACTS_DEPLOYER_KEY=0x... CONTRACTS_RPC_URL=<url of forked network> ``` This must run first and I didn't want to rename all of the files, so I named it with the prefix `0000`.
-
Mark Tyneway authored
-
Kelvin Fichter authored
Various fixes to make the deployment process easier
-
Mark Tyneway authored
Add a new config option to the batch submitter that can enable or disable the transaction batch validation. This can be configured using `VALIDATE_TX_BATCH` or `BATCH_SUBMITTER_VALIDATE_TX_BATCH` or `--validate-tx-batch`. It defaults to true.
-
Kelvin Fichter authored
-
ben-chain authored
-
ben-chain authored
-
Mark Tyneway authored
Deploy a new L1StandardBridge that accounts for the storage slot offset. The diff is available in the patch included in this commit.
-
Maurelian authored
Removes the 'hardfork' config setting, falling back to hardhat's default, which for our current hardhat version is 'london' fix(contracts): adjust fee math for london
-
Mark Tyneway authored
Removes the dead endpoint `debug_ingestTransactions` that is no longer needed. Also remove the dead struct field `txType` from the `RPCTransaction`. This field was not being set and would return an empty string when querying for a transaction via RPC.
-
Mark Tyneway authored
The tests were not running in CI on the experimental branch which was an oversight and allowed for various tests to fail. Now that experimental has been renamed to regenesis/0.5.0, the tests are running in CI again. This commit fixes all tests that were broken while development happened on experimental. It removes a config option `--rollup.minl2gaslimit` that is no longer required post regenesis. It also adds the ability to populate a genesis account with value in the sync service tests.
-
Mark Tyneway authored
-
Mark Tyneway authored
-
Mark Tyneway authored
Bumps the go-ethereum dep to release v1.10.10 which fixes a bug with the transact opts where it is mutated and can cause gas estimation errors. See https://github.com/ethereum/go-ethereum/pull/23719
-
Mark Tyneway authored
It was possible to return from a function directly into destructuring an array when the return value was polymorphic in either being an array or undefined. The undefined case is handled explicitly now and an error is thrown with a useful error message instead of something that would require looking at the source code and knowing nodejs error types to find out what the problem was.
-
Mark Tyneway authored
Includes artifacts and updated deploy scripts that were used to generate the initial state
-
Maurelian authored
-
Mark Tyneway authored
Create a replaceWETH helper function that can be reused in the tests. WETH is an immutable in the uniswap contracts so a find and replace is used to replace the weth address with the L2 eth address on optimism.
-
Mark Tyneway authored
Reverts 341580e8f4e7c83d0382fc7d40281b5ac973e568 in favor of more simple logic. A longer term solution needs to be implemented for the race condition where the `gas-oracle` front runs a tx that has already passed gas validation at the policy layer. The `gas-oracle` tx can increase the L1 gas portion of the fee, causing the tx that already passed the policy check to fail during consensus execution. This should never happen.
-
Mark Tyneway authored
The new gas price scheme no longer fetches the L1 gas price from a remote L1 node. It now instead will use the L1 gas price that lives in the L2 state. The `gas-oracle` is responsible for updating the L1 gas price in the `OVM_GasPriceOracle` predeploy.
-
Kelvin Fichter authored
-
Kelvin Fichter authored
-
Kelvin Fichter authored
-
Kelvin Fichter authored
-
Kelvin Fichter authored
-
Kelvin Fichter authored
-
smartcontracts authored
* feat: add surgery script base * test: add test setup for surgery handlers * feat: add handlers for uniswap contracts * asdf * feat: clean up main surgery script * surgery: add constants and solc download script * feat: download pool data for surgery script * feat: add handlers for remaining predeploys * feat: ingest configs * fix: bugs in the handling of weth and eth * fix: add handling for uni pools * feat: handle 1inch surgery steps * feat: correctly load and generate the genesis file * regenesis-surgery: implement recompilation Add recompilation that links libraries and includes immutables * workflows: update ci to use node v14 * surgery: bugfixes and logging * surgery: update * surgery: more fixes * fmfix: surgery script cleanup * surgery: dockerize * more cleanup * surgery: fix tests * surgery: update .env.example * fix: ingest based on state dump output * fix merge conflicts * minor cleanup to getSolc function * feat: standardize dump output * fix: tests * minor bug fixes * final cleanup and optimizations * clean up compilation step * highly optimize surgery process * fix: remove unused deps * remove unit tests for now * final cleanup and tweaks * fix final bugs * more minor bugfixes * remove unnecessary giant json file * fix: handle multiple libraries * wip: start testing shell * wip: continue filling out shell * wip: minor tweaks to uniswap spec * wip: refactor data loading so it can be used in tests * surgery: initialize test infra * core-utils: add helpful functions * state-surgery: more test infra * core-utils: env var parsing * add Hop ETH addresses * linting and test cleanup * finalize eoa tests * clean up test process for eoas * add uniswap tests * feat: surgery prevent double withdraw * fix: pass thru no wipe before returning * fix: undo temp code removal * Update handlers.ts * fix: uniswap immutables bug * fix: make sure multicall is in the dump * fix: revert multicall address logic * state-surgery: basic tests for verified contracts * fix: add data and solc bin dirs to eslint ignore * lint: fix * various minor fixes * Update packages/regenesis-surgery/scripts/constants.ts Co-authored-by:
ben-chain <ben@pseudonym.party> * disable tests for CI * fix: remove message passer handling * fix: remove unused dependencies Co-authored-by:
Annie Ke <annieke8@gmail.com> Co-authored-by:
Mark Tyneway <mark.tyneway@gmail.com> Co-authored-by:
ben-chain <ben@pseudonym.party>
-
Kelvin Fichter authored
-
Kelvin Fichter authored
-
Mark Tyneway authored
Use the configured gas price when updating the L1 base fee. In production, this should be set to 0 and the sequencer will allow for transactions with 0 gas price when they are from the owner of the gas price oracle. This prevents the need to manage funds on L2 for the `gas-oracle`
-
Mark Tyneway authored
Use a minimal version of EIP 2929 for state accessing opcodes. This does not pull in the access list logic but instead charges based on cold access assumptions at all times
-
Mark Tyneway authored
-
Maurelian authored
-
Maurelian authored
-
Maurelian authored
-
Maurelian authored
-