Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

simulate and test non terminal tasks #16

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Conversation

prateek105
Copy link
Collaborator

@prateek105 prateek105 commented Jan 6, 2025

This PR allows integration tests from the monorepo to be run after the state changes are applied from a non terminal task to a local fork.

There was no clean way to apply the simulation to an anvil fork without doing a dry run first, then taking the state diff from the dry run, applying it to a network, and then running the integration tests.

Base automatically changed from feat/multisig-vendor to main January 6, 2025 17:34
@prateek105 prateek105 marked this pull request as ready for review January 14, 2025 16:58
@ElliotFriedman
Copy link

This is looking great!

Can you add this into the CI tests?

@blmalone
Copy link
Collaborator

Can you please provide a PR description here to outline what feature is being built? Additionally, there don't seem to be any docs describing how to use this feature in the PR. Ideally I can read something and easily understand what's being built.

.circleci/config.yml Outdated Show resolved Hide resolved
futurealisha and others added 4 commits January 23, 2025 13:59
…ereum-optimism#476)

* upgrade Base's SystemConfig to v2.3.0

* comment simulate w/o ledger

* add explicit comment for gasLimit override

* mark as ready to sign

* push codeExceptions exceptions into HoloceneSystemConfigUpgrade contract (ethereum-optimism#478)

Some ready but not-yet-executed tasks depend on this contract, but they are simulated in CI so if that is green should be OK.

* add Tx 4 overview

* add context for extra tx

* remove mainnet task specific logic

* remove mainnet task specific logic

* remove .env comment

* impl nits feedback

* add cast td hints

* add storage layout link

* add more context for tx 4

* format VALIDATION.md and delete OVERVIEW.md

* fix validation formatting

* update validation to mention previous startBlock value

* update README.md

---------

Co-authored-by: George Knee <[email protected]>
Co-authored-by: Matt Solomon <[email protected]>
* remove: name and description from task config

Signed-off-by: Elliot <[email protected]>

add example task template config files

Signed-off-by: Elliot <[email protected]>

add fps example templates

Signed-off-by: Elliot <[email protected]>

remove name and description, set task nonce to current multisig nonce

Signed-off-by: Elliot <[email protected]>

fmt and add TODO to switch to manual nonce later

Signed-off-by: Elliot <[email protected]>

templates

Signed-off-by: Elliot <[email protected]>

remove safeNonce from mock network config

Signed-off-by: Elliot <[email protected]>

* checkpoint

Signed-off-by: Elliot <[email protected]>

* remove isNested flag from toml config file

Signed-off-by: Elliot <[email protected]>

* fmt

Signed-off-by: Elliot <[email protected]>

* fix is nested safe logic

* fix task01

* add Task02

* refactor _getDataToSign function

Signed-off-by: Elliot <[email protected]>

* add: gas template docs

Signed-off-by: Elliot <[email protected]>

* add: template examples to run

Signed-off-by: Elliot <[email protected]>

* add: error handle parsing l2 chain configs

Signed-off-by: Elliot <[email protected]>

* fmt

Signed-off-by: Elliot <[email protected]>

* remove unused variable name

Signed-off-by: Elliot <[email protected]>

* error handle reading in and parsing task config file

Signed-off-by: Elliot <[email protected]>

* add breakdown of calldata difference for signers

Signed-off-by: Elliot <[email protected]>

* remove setting scalars to simplify example task

Signed-off-by: Elliot <[email protected]>

* add duplicate call structure of task 020 in existing tooling

Signed-off-by: Elliot <[email protected]>

* remove setting gas scalars from gas config template

Signed-off-by: Elliot <[email protected]>

* note on commenting out failing check and link to diffchecker

Signed-off-by: Elliot <[email protected]>

* add: task config tests

Signed-off-by: Elliot <[email protected]>

* add forge build before running template

Signed-off-by: Elliot <[email protected]>

* update docs to only include gas limits and not gas scalars

Signed-off-by: Elliot <[email protected]>

* remove template ci runs

Signed-off-by: Elliot <[email protected]>

* Update src/fps/FPS.md

Co-authored-by: blaine <[email protected]>

* Update src/fps/FPS.md

Co-authored-by: blaine <[email protected]>

* Update src/fps/FPS.md

* fps -> new task simulation tooling

Signed-off-by: Elliot <[email protected]>

* remove unused template files

Signed-off-by: Elliot <[email protected]>

* naming: fps.md -> readme.md

Signed-off-by: Elliot <[email protected]>

* naming: move away from fps

Signed-off-by: Elliot <[email protected]>

* use op types, remove inlined interfaces

Signed-off-by: Elliot <[email protected]>

* update readme for running tasks

Signed-off-by: Elliot <[email protected]>

* update: cleanup, make MultisigTask a generic template

Signed-off-by: Elliot <[email protected]>

* fix test

Signed-off-by: Elliot <[email protected]>

* delete: task config

Signed-off-by: Elliot <[email protected]>

* update based on PR feedback, remove taskConfig.toml fields, and safeNonce and isNestedSafe

Signed-off-by: Elliot <[email protected]>

* remove unused mock network configs

Signed-off-by: Elliot <[email protected]>

* remove opmainnetConfig.toml

Signed-off-by: Elliot <[email protected]>

* add op set gas limit config

Signed-off-by: Elliot <[email protected]>

* update command to use new run function

Signed-off-by: Elliot <[email protected]>

* update command to only have mainnet config toml file

Signed-off-by: Elliot <[email protected]>

* naming: networkConfigFilePath -> taskConfigFilePath

Signed-off-by: Elliot <[email protected]>

* fmt

Signed-off-by: Elliot <[email protected]>

* natspec, taskStorageWrites -> _taskStorageWrites

Signed-off-by: Elliot <[email protected]>

* fix test

Signed-off-by: Elliot <[email protected]>

* add additional docs for address registry

Signed-off-by: Elliot <[email protected]>

* fix: nested multisig issue

Signed-off-by: Elliot <[email protected]>

* add op gas config command

Signed-off-by: Elliot <[email protected]>

* add task tests

* Revert "add task tests"

This reverts commit 70ed74f.

* fix: nonce for nested safes use their own nonce and not parent

Signed-off-by: Elliot <[email protected]>

* update natspec proposal -> task

Signed-off-by: Elliot <[email protected]>

---------

Signed-off-by: Elliot <[email protected]>
Co-authored-by: prateek <[email protected]>
Co-authored-by: blaine <[email protected]>
ElliotFriedman and others added 4 commits January 28, 2025 17:21
* naming: proposal -> task

Signed-off-by: Elliot <[email protected]>

* naming: proposal -> task

Signed-off-by: Elliot <[email protected]>

---------

Signed-off-by: Elliot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants