forked from ethstorage/optimism
-
Notifications
You must be signed in to change notification settings - Fork 1
update #6
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
Open
JustXxx
wants to merge
4,438
commits into
JustXxx:develop_4ary
Choose a base branch
from
ethereum-optimism:develop
base: develop_4ary
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
update #6
Conversation
This file contains hidden or 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
* fix(op-deployer): increase cliRunner test timeouts * add cliRunner logs for debugging help
…stead of via artifacts (#18155) * contracts: Load CANNON game implementation from DisputeGameFactory instead of via artifacts * contracts: Load permissionless WETH implementation dynamically * contracts: Don't attempt to load game args - the updated DisputeGameFactory that supports them isn't available yet.
* Missing `indexed` in an event * Don't allow configuring a non-enabled safe * Version and semver-lock * Disallow the safe address as a fallback owner * Document why we prefer not to revert * Disallow a timelock delay of zero, use `setGuard(0)` instead. * lint and semver-lock * Simpler natspec * Update test description Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> --------- Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* feat: fee splitter system (#469) ---- Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> Co-authored-by: Flux <175354924+0xiamflux@users.noreply.github.com> Co-authored-by: Chiin <77933451+0xChin@users.noreply.github.com> * fix: failing tests (#553) * refactor: revenue sharing config (#538) * fix: pre pr and semgrep (#565) * fix: warnings (#571) * fix: tests failing on fork environment (#575) * fix: use encode call on constructors (#578) * feat: add integration splitter test (#581) * fix: integration test nits (#583) * test: more coverage on splitter tests (#594) --------- Co-authored-by: Chiin <77933451+0xChin@users.noreply.github.com> * fix: add missing operator fee vault field (#616) * feat: invariants and tests (#595) * fix: ir informationals (#609) * fix: pre pr (#622) * refactor: use cdm (#624) * fix: update withdrawal gas limit value on check (#627) * fix: remove rev share field from deploy op chain input struct (#628) * refactor: remove initializer and vaults getter changes (#631) * fix: remove immutable check over vaults (#634) Co-authored-by: 0xng <87835144+0xng@users.noreply.github.com> Co-authored-by: Funkornaut <107587461+funkornaut001@users.noreply.github.com> Co-authored-by: Joxess <91908708+Joxess@users.noreply.github.com> * fix: audit findings (#658) * fix: pre pr * feat: add user guide docs for rev sharing on op deployer (#666) * docs: add create2 comment (#667) --------- Co-authored-by: Funkornaut <107587461+funkornaut001@users.noreply.github.com> Co-authored-by: Flux <175354924+0xiamflux@users.noreply.github.com> Co-authored-by: Chiin <77933451+0xChin@users.noreply.github.com> Co-authored-by: Simon Something /DrGoNoGo <83670532+simon-something@users.noreply.github.com> Co-authored-by: 0xng <87835144+0xng@users.noreply.github.com> Co-authored-by: Joxess <91908708+Joxess@users.noreply.github.com>
Should reduce the likelihood of text file busy errors.
* ci: Prepare for kona prestate verification * review comments * add accursed hack * apply review suggestions * pipe mise use logs to file
…8144) * kona: Add a justfile to build a specific version of kona * Try building on a machine * Cache properly * Remove REPO_ROOT * Build pre-interop and interop kona prestates * Set the cannon-kona prestate in interop tests. * ci: Build kona-host * Test kona-host can execute * Fix rust image version * Use two separate machines * No remote docker for machine executor * Update rust * Install clang * Fix machine config * Use default docker image since mise is installing rust * Set kona-host and prestate URL in challenger config * Remove test-kona step * Try not installing clang * Change justfile * Really force a change * Back to installing clang * Restore cannon prestate for kurtosis tests * Remove forced change var * Ensure tests that don't use kona can run even if kona components haven't been built. Add skipped test to actually run cannon-kona game. Doesn't pass yet because kona-host doesn't support ws:// URLs which are used by sysgo. * Add cannon-kona config for interop challenger. * Only add cannon-kona games when feature toggle is enabled. * Use kona v1.2.2 * Fix kona prestate URL * Only set cannon-kona config for tests that opt-in. Removes the need for run-kona-host.sh
* remove DeployPreimageOracle scripts * try fix go test * try fix go test * try fix go test * fixes * fixes * fixes * fixes
* fix(op-faucet): explicitly define timeouts * fix(op-faucet): reduced timeout
op-e2e hasn't had a configuration that used L2OO for a long time so remove the code paths to perform withdrawals pre-fault proofs.
…losed (#18229) * cannon: Fix shutdown process to ensure preimage server channels are closed kona-host wasn't exiting when the client program completed leaving cannon hung forever. Closing the file channels sends a signal it actually listens to so it exits. Also strengthen the fallbacks to ultimately terminate the subprocess forcefully if it ignores even the KILL signal. * cannon: Remove Signal(Kill) since the Kill method just does that.
* op-acceptance-tests: run Jovian tests against Pectra and BPO2 * fix bug? logs * fix it for real this time
* chore: Github release binary provider * fi: Untar * chore: Comments
* Upgrade env var prefixes for supernode flags Replace prefixEnvVar with upgradeEnvVarPrefixes(existingPrefix, newInfix) which builds OP_SUPERNODE_<newInfix>_<SUFFIX> env vars from original OP_NODE_* vars. Update FullDynamicFlags callers and add a unit test. * tidy * Panic on unprefixed env vars Make upgradeEnvVarPrefixes panic when it finds an env var that lacks the expected prefix. Add unit test to assert the panic.
…18696) Convert focused tests to fuzz tests for broader coverage: - mint: fuzz _to address and _amount - burn: fuzz _from address and _amount - mint/burn notBridge: fuzz _caller address - permit2 transferFrom: fuzz _owner, _to, and _amount - allowance permit2Max: fuzz _owner address Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…18707) * refactor(test): rename fuzz tests to use testFuzz_ prefix in OptimismMintableERC20Factory - Rename test_createStandardL2Token_succeeds to testFuzz_createStandardL2Token_validParams_succeeds - Rename test_createStandardL2TokenWithDecimals_succeeds to testFuzz_createOptimismMintableERC20WithDecimals_validParams_succeeds - Rename test_createStandardL2Token_sameTwice_reverts to testFuzz_createStandardL2Token_sameTwice_reverts - Rename test_createStandardL2TokenWithDecimals_sameTwice_reverts to testFuzz_createOptimismMintableERC20WithDecimals_sameTwice_reverts - Rename test_createStandardL2Token_remoteIsZero_reverts to testFuzz_createStandardL2Token_remoteIsZero_reverts - Rename test_createStandardL2TokenWithDecimals_remoteIsZero_reverts to testFuzz_createOptimismMintableERC20WithDecimals_remoteIsZero_reverts Tests that use fuzz parameters should follow the testFuzz_ naming convention. Also corrects function names in test names to match actual functions being tested. * test(contracts): add tests for createOptimismMintableERC20 and version functions - Add OptimismMintableERC20Factory_CreateOptimismMintableERC20_Test contract - testFuzz_createOptimismMintableERC20_validParams_succeeds - testFuzz_createOptimismMintableERC20_remoteIsZero_reverts - Add OptimismMintableERC20Factory_Version_Test contract - test_version_validFormat_succeeds using SemverComp.parse() These public functions were not directly tested before. --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* asterisc: Remove asterisc scripts. * Remove more CI config * Remove more asterisc references.
…18485) * fix loop in batcher with shadow compressor+brotli * Iterate over all compression algorithms in tests * Make test RNG seed deterministic * Improve ChannelManager test assertions and checks * godoc improvements * Close test function in channel_manager_test.go --------- Co-authored-by: geoknee <georgeknee@googlemail.com>
* op-service: Implement supernode client. * op-challenger: Integrate super node trace provider (toggled off) * Make super rpc CLI generic. Add a config option to switch to super node. * op-challenger: Actually return super node client * Fix spelling. * op-challenger: Avoid interfaces when nil checks are required. Interface values are only nil if the type and value are nil - in our case the type is always non-nil so superNodeProvider == nil is always false causing panics. * Remove test panic * op-challenger: Fix package * op-challenger: Rename --super-rpc to --supernode-rpc * op-dispute-mon: Use supernode instead of supervisor. * op-dispute-mon: Consistent capitalisation of SuperNode. It's two words.
* feat: initial add-game-type-v2 command (#770) * WIP: opcmv2 upgrade op chain (#752) * feat: upgrade op chain wip * feat: add deployv2 wip * fix: deployerv2 wip * refactor: remove additional V2 version of scripts * refactor: adds OPCM v2 support for UpgradeOPChain.s.sol * refactor: adds OPCM v2 support for UpgradeSuperchainConfig.s.sol * fix: uses correct json key for upgradeInput * fix: uses correct feature flag for OPCM v2 in devfeatures.go * chore: add json tag to ExtraInstruction --------- Co-authored-by: Flux <175354924+0xiamflux@users.noreply.github.com> * feat: adds intermediary struct for op-deployer upgrade (#759) * feat: adds intermediary struct for op-deployer upgrade * chore: moved upgrade scripts to v6_0_0 * chore: remove v2 go scripts * refactor: make v2_0_0 upgrade path to support both OPCM v1 and v2 * feat: add support for both OPCM v1 and v2 on embedded upgrade * refactor: make v6_0_0 fall back to v2_0_0 * refactor: add extra instructions for upgrade superchain input * test: fix op-deployer tests * chore: remove deploy OP chain test step * test: use systemconfig proxy address * fix: remove the unneeded proxyadmin in OPChainConfig in op-deployer * refactor: revert v2_0_0 changes in favor of a new v6_0_0 that supports OPCMv2 * feat: add v6_0_0 upgrade * fix: check for 0 len OPChainConfigs * chore: pre-pr ready * Merge pull request #764 from defi-wonderland/fix/opcm2-upgradeopchain-comments fix: opcm2 upgradeopchain comments * refactor: remove enshrined v7_0_0 upgrade in op-deployer (#766) * test: use correct game type and pass correct extra instruction to UpgradeOPChain (#768) * test: add missing extra instructions for OPCM v2 input * fix: add correct game type for cannon kona * feat: initial add-game-type-v2 command * test: add tests for ShouldAllowV1 flag * refactor: remove shouldAllowV1 flag * chore: remove unused private key flag from the add game type v2 command * chore: remove skipping upgrade test * chore: name changes and comments * chore: update usage description add-game-type-v2 * test: update add-game-type-opcm-v2 tests --------- Co-authored-by: niha <205694301+0xniha@users.noreply.github.com> * chore: opcm2 addgametypev2 comments (#780) * chore: move ABI types to lib file * chore: move hardcoded values to constants file * refactor: make abi_types use MustType * test: deploys OPCM v2 for use during CLI testing (#784) * test: deploys OPCM v2 for use during CLI testing * chore: reference a github issue for TODO * test: add assertions on the output of add game type command * test: update cli tests (#792) * chore: Address review comments (#793) * refactor: remove re-declared flags from add-game-type v2 * chore: remove irrelevant TODO * refactor: rename "add-game-type-opcm-v2" command to "add-game-type-v2" * test: add cache dir check for add-game-type-v2 * test: removes cache dir files check on e2e test (#794) --------- Co-authored-by: niha <205694301+0xniha@users.noreply.github.com>
* op-node: validate EIP-1559 params in derivation pipeline Add redundant validation for zero elasticity multiplier in EIP-1559 parameters during derivation, providing defense-in-depth against contract-level checks being accidentally removed. The SystemConfig contract already enforces denominator >= 1 and elasticity >= 1, but this adds the same check in the derivation pipeline for redundancy. Closes #18625 Co-Authored-By: Kelvin Fichter <kelvinfichter@gmail.com> * op-node: use ValidateHolocene1559Params for EIP-1559 validation - Move validation from ProcessSystemConfigUpdateLogEvent into parseSystemConfigUpdateEIP1559Params - Use eip1559.ValidateHolocene1559Params instead of manual checks - Update op-geth dependency to include elasticity validation (PR #743) Co-Authored-By: Kelvin Fichter <kelvinfichter@gmail.com> * op-node: fix test to use valid EIP-1559 params The createMismatchedEIP1559Params test was creating invalid params (denominator=1, elasticity=0) which now triggers validation error from op-geth PR #743. Fix by using valid but mismatched params (999, 999). Co-Authored-By: Kelvin Fichter <kelvinfichter@gmail.com> * update go.mod * fix test * update go.mod (after merging op-geth PR) --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Kelvin Fichter <kelvinfichter@gmail.com> Co-authored-by: Sebastian Stammler <seb@oplabs.co>
…st (#18739) * sysgo: allow OS to assign ports for opreth and rbuilder * sysgo: allow OS to assign ports for rollup-boost * make lint-go
* op-challenger: Use wrapped RPC client with multicaller. Ensures that timeouts are applied to requests. * op-challenger: Convert preimage fetcher to use L1Source. Adds timeouts on requests and more efficient receipt fetching. * op-challenger: Switch generic player to use L1Client to fetch L1Head number * op-challenger: Add flag to set RPC Kind * op-challenger: Add timeout when fetching L2 block headers
* Add EL eth_simulate acceptance test and init * Strengthen eth_simulate test assertions Add ReturnFullTransactions to simulation params and require the RPC call to succeed. Assert exactly one block and one transaction are returned and verify the transaction is a dynamic fee tx (type 0x2). * Assert blobGasUsed nonzero in eth_simulate test Decode blobGasUsed with hexutil and assert it's nonzero to ensure eth_simulateV1 can estimate DA size. Also fix a comment typo (bock -> block). * Assert eth_simulateV1 errors on genesis block Call eth_simulateV1 with block "0x0" (genesis) and require an error to ensure the method cannot be used on the genesis block move test under "base" directory * tidy * just update-op-geth e4826126d22171e97a31a05c7405b46143384ab7 * Fix spacing in commented replace in go.mod
…8624) * Remove go 1.24 feature flag, leaving SysGetRandom syscall enabled * contracts: Remove go 1.24 feature flag, leaving SysGetRandom syscall enabled * Update semver-lock.json * Remove commented-out Features struct and function
* Add timeout to vm-runner * Remove special handling and metric for vm timeout * Handle VM timeout errors differently from other errors in the runner * Don't treat errors in traceProviderCreator as VM timeouts * Combine VM failure metrics and add a reason label * Re-add "_current" to metric name
…coverage (#18744) * test(contracts): convert MintManager tests to fuzz tests for broader coverage * docs(contracts): add natspec explaining first mint is uncapped --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* feat: have upgrade test blocks update every week * fix: performance enhancements * fix: corrected pinned block number statement * fix: correct trigger name * feat: simplify and use cast find block * fix: pass rpc to fork block write step * fix: errant comments
* Make contractsContainer exist only in utils * remove contractsContainer for opcmMigrator * fix test
Add JWT-protected admin API at /admin route while keeping supervisor API public on the root route. Uses geth's NewHTTPHandlerStack for JWT validation. - admin_handler.go: Creates JWT-protected handler (~20 lines) - service.go: Mounts admin handler when JWT configured - jwt_auth_test.go: Comprehensive auth tests Admin API is only available when --rpc.jwt-secret is configured. No op-service changes required. Co-authored-by: opsuperchain <opsuperchain@slop.bot> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Tarun Khasnavis <tarunkhasnavis@Mac.lan>
* feat: remove-l200-support(#18620) * refactor: remove L2OutputOracle support from op-proposer Removes legacy L2OutputOracle (L2OO) proposal logic in favor of exclusive DisputeGameFactory (DGF) support. - Flattened logic in driver.go's loop and sendTransaction. - Removed unused waitForL1Head and manual ABI packing functions. - Updated driver_test.go to remove L2OO test vectors and update DGF mocks. - Cleaned up config_test.go to remove legacy requirement checks. This simplifies the proposer architecture as part of the transition to the Fault Proof system. Fixes #18620 * Update op-proposer/proposer/driver.go Co-authored-by: Adrian Sutton <adrian@symphonious.net> * fix: remove comment of unsupported addr * feat: remove l200AddressFlag * feat: remove l200Addressflag --------- Co-authored-by: Adrian Sutton <adrian@symphonious.net>
…except otherwise stated (#18679)
* test: opcm2 deploy test (#782) * test: add test cases for DeployOPChain * chore: remove unused helper function in DeployOPChain * test: add unit testing for opcm version on the makeDCI function * test: add challenger check for address(0) * chore: add natspec for DeployImplementations.s.sol functions * test: move challenger = address(0) test to test_run_nullInput_reverts * refactor: removes hard-coded init bond * chore: add natspec and proper names for internal functions DeployOPChain * test: checks for additional assertions for the DeployOPChain::runWithBytes * test: use DEFAULT_INIT_BOND * test: add natspec for DeployImplementations.t.sol * refactor: remove one liner helper * fix: add revert if v2 enabled but not deployed * fix: add revert if v2 enabled but not deployed && add expect error msg test * fix: add revert when opcmAddr is zero --------- Co-authored-by: niha <205694301+0xniha@users.noreply.github.com> * chore: address semgrep (#791) --------- Co-authored-by: niha <205694301+0xniha@users.noreply.github.com>
* feat: have check runner retry snapshots clean Updates the check runner so that it can retry the snapshots task if there's an issue with the non-clean builds. I've seen this happen once, so this should resolve the issue. * fix: avoid infinite loops * fix: make valid semver depend on snapshots
New checks added have been disabled to avoid needing to change code with the upgrade. We can decide which checks are useful and enable them individually with fixes.
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.
No description provided.