-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
feat(devnet-sdk): add helper to build execution environment #14298
Merged
+90
−40
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #14298 +/- ##
===========================================
- Coverage 45.86% 41.52% -4.34%
===========================================
Files 1007 842 -165
Lines 86315 77002 -9313
===========================================
- Hits 39586 31978 -7608
+ Misses 43737 42209 -1528
+ Partials 2992 2815 -177
Flags with carried forward coverage won't be shown. Click here to find out more. |
scharissis
approved these changes
Feb 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice - thanks.
maurelian
pushed a commit
that referenced
this pull request
Feb 11, 2025
maurelian
pushed a commit
that referenced
this pull request
Feb 11, 2025
maurelian
pushed a commit
that referenced
this pull request
Feb 11, 2025
alcueca
pushed a commit
that referenced
this pull request
Feb 12, 2025
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 12, 2025
* fix: generate salt through uint, retrieve cahinId through bytes20+uint160 * fix: bytes20 is not necessary * fix: generated semver-lock.json * chore: lint * fix: is this what you want? * fix: regenerated semver-lock * chore: bumping version and semver-lock so that CI sees them changing at the same time. * ctb: move vm.broadcast into createDeterministic (#14243) * ctb: Use startbroadcast/stopbroadcast with createDeterministic This backports #14241 onto develop. While deploying the interop contracts we discovered a bug where nonces would incorrectly increase following calls to `createDeterministic`. This is because `vm.broadcast` will broadcast the _next_ call, but `createDeterministic` sometimes doesn't emit a call at all. This means that (in the case of the Sueprchain deployment) the calls to the input contract's `set` method would be called instead. This in turn caused nonces to increase incorrectly. To fix this issue, this PR updates the Solidity implementation to use `vm.startBroadcast()` and `vm.stopBroadcast()`. This avoids the issue altogether. To prevent further incorrect usages of `vm.broadcast` I also opened #14242 which adds a Semgrep rule to check for this case. * move vm.broadcast into createDeterministic * op-node/rollup/attributes: Add missing EIP1559Params consolidation checks (#14179) * op-node/rollup/attributes: Add missing EIP1559Params consolidation checks * all: use OptimismConfig in consolidation to translate zero attribs * TEST using default config if it cannot be fetched * op-node/node: add ChainOpConfig override and use it instead of a default config * Add ChainConfig's OptimismConfig into rollup.Config * Fix TestGetRollupConfig * revert passing OptimismConfig around it's now part of the rollup.Config * dependabot(gomod): bump github.com/kurtosis-tech/kurtosis/api/golang (#14250) Bumps [github.com/kurtosis-tech/kurtosis/api/golang](https://github.com/kurtosis-tech/kurtosis) from 1.4.3 to 1.4.4. - [Release notes](https://github.com/kurtosis-tech/kurtosis/releases) - [Changelog](https://github.com/kurtosis-tech/kurtosis/blob/main/CHANGELOG.md) - [Commits](kurtosis-tech/kurtosis@1.4.3...1.4.4) --- updated-dependencies: - dependency-name: github.com/kurtosis-tech/kurtosis/api/golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added README to op-dripper (#14165) * fix(op-deployer): don't deploy dachallenge contract when using GenericCommitment (#14248) * op-supervisor: handle out-of-sync on known local-safe tip with already-known source blocks (#14252) * op-supervisor: handle out-of-sync on known local-safe tip with already-known source blocks * op-supervisor: improve logging * op-supervisor: fix fromda test, add test cases * op-supervisor: fix lint * interop: op-supervisor event metrics (#14258) * op-node,op-supervisor: share event metrics code Signed-off-by: protolambda <[email protected]> * op-node: cleanup noop metrics --------- Signed-off-by: protolambda <[email protected]> * node: Ignore No-Op Reset Requests (#14256) * op-supervisor: improve logging (#14262) * fix(devnet-sdk): use correct Address type (#14259) * chore: update kurtosis to 1.4.4 (#14255) also add kurtosis client to mise tools. * fix(devnet-sdk): use correct chain ID type (#14261) * fix(devnet-sdk): use correct Address type * fix(devnet-sdk): use correct chain ID type * ci: Log op-e2e output to files (#14257) * ci: Log op-e2e output to files * update log text * fix(devnet-sdk): ensure balances are comparable (#14267) In error cases, make sure we can still compare resulting balances without crashing. In particular, this makes interop_smoke_test skip properly if it can't find a funded wallet to use. * ci: Reduce publish job to daily (#14276) * op-deployer: add architecture diagram (#14281) * op-deployer: add architecture diagram * fix formatting * less verbose diagram description * fix: Orbifying checkout-with-mise. (#14282) * Add bootnodes ran by UL (#14279) * op-conductor: Add HeartbeatTimeout & LeaderLeaseTimeout flags (#14271) * Add MT Cannon audit reports (Coinbase and Spearbit) (#14218) * Add MT Cannon audit report * Fix MT Cannon audit report name Co-authored-by: mbaxter <[email protected]> * Add coinbase MT Cannon audit report * Leave "subsequent release" blank for now on audit readme --------- Co-authored-by: mbaxter <[email protected]> * feat(devnet-sdk): enable preconditions enforcement (#14268) In some use-cases, failure to meet preconditions is in itself an error. For example, when running acceptance tests against a devnet, we presumably epxect that the acceptance tests should apply. This change adds support for an environment variable DEVNET_EXPECT_PRECONDITIONS_MET=1 that will then mark as failed the tests for which the preconditions are not met by the provided system. * fix: bump patch version for mise orb. (#14290) * feat: pass args thru contracts build commands (#14287) Updates contracts justfile to pass arguments through the build commands. * op-node: fix p2p NAT option (#14280) * op-program: Update test to ensure interop bootstrapping does not load the L2 chain ID local key (#14300) * op-conductor: Add new Raft flags into optional flags list (#14299) * Update op-geth dependency to add uni-mainnet config (#14301) * op-node: Define message expiry time constant (#14296) * op-e2e: Fix fpp bls precompile tests (#14291) * op-challenger: Handle requesting superchain roots beyond the current unsafe head (#14206) * op-e2e: Introduce helpers for building transition states. * op-e2e: Add test for disputing a block prior to the proposal block * op-challenger: Handle requesting superchain roots beyond the current chain head. * Detect not found responses in prestate provider too. * Add test to confirm correct enforcement of trace extension activation. * Add more variants of tests where agreed = disputed. Cover all combinations of trace extension activating. * Remove printf * op-supervisor: Fix AddLink error type and clean up reset logic (#14302) * Fix AddLink error type ; clean up reset logic * fix tests * feat(devnet-sdk): add helper to build execution environment (#14298) * fix: add mirrored restrictions to lite profile (#14295) Adds mirrored compiler restrictions to the lite profile so that all generated artifacts get overwritten when switching between build and build-dev. * ci: make frozen files check depend on contracts-bedrock-build (#14316) This parallelizes the job with contracts-bedrock-build so that results are returned more quickly. * fix(kurtosis-devnet): make logs more readable (#14317) By wrapping the observed errors one layer too deep we were introducing escaped strings into the logs. Now multi-line and quoted strings appear as-is. * kt interop-devnet: enable super-cannon with interop-prestate (#14172) * kt-devnet: switch to geth-teku for l1 (#14305) * op-program: Ensure exec msg inclusion during consolidation (#14101) * op-program: Ensure exec msg inclusion during consolidation * implement timestamp invariants in the program * use msg expiry in rollup config * remove leftover non-working test * op-supervisor: Don't reset when node is far behind (#14324) * op-supervisor: don't reet on all errors (#14326) * feat: Ignore frozen files check by using a PR label (#14247) * feat: Ignore frozen files check by using a PR label * fix: following https://github.com/orgs/community/discussions/26712 * fix: maybe * fix: follow existing pattern * fix: temporarily remove the contracts changed check to make it run * spike: Using jq instead of grep * fix: don't extract labels twice * fix: a bit cleaner output * fix: minor change to trigger CI again * fix: Bring back the change check * feat: Docs * ci: use circleci-agent step halt to end job --------- Co-authored-by: alcueca <[email protected]> Co-authored-by: Maurelian <[email protected]> Co-authored-by: Maurelian <[email protected]> * op-e2e: Add action test for cascading reorgs in interop fault proofs (#14266) * op-e2e: Add tests for cascading invalidations * Make InboxContract an entity in the DSL. * op-e2e: Focus test cases on consolidation. * op-e2e: Generate correct payload when executing messages. * op-e2e: Skip known failing test with reference to tracking issues. * OPCM: OPPrestateUpdater for L1 Pectra Defense (#13998) * Add a new updatePrestatehash method to the OPContractsManager * deployed * second deployment * Go back to refactor * delete file * format * make diff smaller * even smaller * missing bracket * Go back on refactoring * fix build * fix build * fix build * fix build * fix versions * add snapshots * Add a new updatePrestatehash method to the OPContractsManager * deployed * second deployment * Go back to refactor * delete file * format * make diff smaller * even smaller * missing bracket * Go back on refactoring * fix build * fix build * fix build * fix build * fix versions * fix versions * add snapshots * update snapshots & semver * correct semver * bump OPCM version * move interface to inherit IOPCM * fix interface * update versions * add specs * fix deploy opcm setters * fix deploy opcm setters * changes asked on review & semver-lock * Add non implemented tests for coverage * linting * New tests & semverlock * rewrite hasFDG boolean * semver-lock * fix review comments * pre-pr * semver * semver-lock * semverlock again * final semverlock * fix comment about versions * fix comment about versions * semverlock opcm * feat: test upgrading just the pdg vs. both games * feat: remove unused assertValidGameType() function * review changes * remove unnecessary comment * update interface to fix CI * change file format * rebase * semver lock * valid semlock * rerun ci --------- Co-authored-by: JosepBove <[email protected]> Co-authored-by: JosepBove <[email protected]> Co-authored-by: JosepBove <[email protected]> * fix: generated semver-lock.json * chore: bumping version and semver-lock so that CI sees them changing at the same time. * chore: bump semver-lock.json * chore: bump versions and semver-lock --------- Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: protolambda <[email protected]> Co-authored-by: alcueca <[email protected]> Co-authored-by: Matthew Slipper <[email protected]> Co-authored-by: Sebastian Stammler <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ControlCplusControlV <[email protected]> Co-authored-by: Samuel Laferriere <[email protected]> Co-authored-by: protolambda <[email protected]> Co-authored-by: Axel Kingsley <[email protected]> Co-authored-by: Yann Hodique <[email protected]> Co-authored-by: Sam Stokes <[email protected]> Co-authored-by: blaine <[email protected]> Co-authored-by: Joshua Gutow <[email protected]> Co-authored-by: Tei Im <[email protected]> Co-authored-by: Paul Dowman <[email protected]> Co-authored-by: mbaxter <[email protected]> Co-authored-by: smartcontracts <[email protected]> Co-authored-by: Adrian Sutton <[email protected]> Co-authored-by: Inphi <[email protected]> Co-authored-by: Maurelian <[email protected]> Co-authored-by: Zach Howard <[email protected]> Co-authored-by: Park Changwan <[email protected]> Co-authored-by: Maurelian <[email protected]> Co-authored-by: JosepBove <[email protected]> Co-authored-by: JosepBove <[email protected]> Co-authored-by: JosepBove <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This change facilitates the creation of a shell environment populated
with the right variables without having to know exactly what those
variables are.
That environment in turn can be loaded in SystemTest helpers for example.
Typical use-case: op-nat shouldn't need to know all the gory details
of how to setup an environment for the tests.
Tests
Additional context
see devnet-sdk/shell/cmd/enter/main.go for an example of how to use the capability.
Metadata