Conversation
chore: merge develop with 3.1.0 to main
chore: merge develop with v3.1.1 to main
There was a problem hiding this comment.
Pull Request Overview
This release (v3.2.0) introduces several significant enhancements to the nitro-contracts repository, focusing on improved deployment processes, custom data availability support, and resource management capabilities.
Key changes:
- Added CustomDA proof validation interface and implementation for alternative data availability solutions
- Introduced ResourceConstraintManager for gas pricing constraint management
- Implemented base stake adjustment mechanisms (increase/decrease) with safety checks for permissioned chains
- Migrated to deterministic CREATE2 deployments for all factory contracts
- Enhanced rollup initialization with optional data cost estimation
Reviewed Changes
Copilot reviewed 69 out of 71 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/osp/OneStepProverHostIo.sol | Added CustomDA validator support with certificate validation and preimage reading |
| src/osp/ICustomDAProofValidator.sol | New interface for custom data availability proof validators |
| src/rollup/RollupAdminLogic.sol | Split setBaseStake into increaseBaseStake and decreaseBaseStake with additional safety checks |
| src/rollup/RollupCreator.sol | Added constructor with initial setup and customOsp parameter support |
| src/rollup/BridgeCreator.sol | Removed Ownable inheritance and update functions |
| src/rollup/ValidatorWalletCreator.sol | Simplified to immutable template without owner management |
| src/chain/ResourceConstraintManager.sol | New contract for managing gas pricing constraints with time-based expiry |
| scripts/deploymentUtils.ts | Enhanced with CREATE2 support and consolidated OneStepProof deployment |
| test/foundry/Rollup.t.sol | Updated tests for new base stake adjustment functions |
| test/foundry/OneStepProverHostIo.t.sol | Comprehensive tests for CustomDA proof validation |
Comments suppressed due to low confidence (1)
scripts/deploymentUtils.ts:1
- [nitpick] This complex string manipulation for address extraction should be extracted into a helper function with a descriptive name to improve readability and reusability.
import { ethers } from 'hardhat'
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1da79e2 to
f0d4ef1
Compare
* feat: deploy custom da validator * fix: factory should have no custom da
Co-authored-by: gzeon <hng@offchainlabs.com>
* Fix executeValidatePreimage to match Rust prover validation The Solidity executeValidatePreimage function was missing validations present in the equivalent Rust ValidateCertificate opcode handler. - Add check for preimageType > 255, setting ERRORED status - Add check for preimageType 4-255, returning 0 without memory access - Add ptr validation using isValidLeaf() before memory proof - Reorder operations to validate preimageType before memory access * Fix ValidateCertificate preimageType > 255 handling to revert instead of ERRORED When preimageType exceeds 255 (can't fit in u8), the Rust execution code uses the ? operator to propagate an error from step_n(), rather than calling error!() which would set MachineStatus::Errored. The Solidity one-step prover should match this behavior by reverting (proof is invalid) rather than setting ERRORED (valid machine state transition). * fix: ci audit * chore: update slither db --------- Co-authored-by: gzeon <hng@offchainlabs.com> Co-authored-by: gzeon <im@gzeon.dev>
waelsy123
approved these changes
Jan 11, 2026
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
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.
What's Changed
setting base to
mainfor review