Conversation
…r-config-validation Basic seq-coordinator config validation
Close part files after the copy is done
…3509) Co-authored-by: Pepper Lebeck-Jobe <pepper@offchainlabs.com>
There was a bug where if a duplicate message was processed at a segment boundary, then it would cause an empty segment to be inserted, which broke the invariants of the backlog data structure. The invariants being violated wer: 1. Monotonic sequence number order 2. Segment Continuity: segment[n].End() + 1 == segment[n+1].Start() 3. Non-empty Segments: All segments should contain messages 4. Lookup Uniqueness: Each sequence number maps to exactly one segment 5. Cumulative Size Ordering: Later messages have higher cumulative sizes This bug would break most operations on the backlog (eg Get() which uses a binary search) and cause them to have unpredictable behavior.
…rGlobalStateNotInChain
…rGlobalStateNotInChain
…lstate-not-in-chain-should-be-a-fatal-error-for Return a fatal error instead of stopping the StopWaiter in case of Er…
…nLabs#3510) * fix(backend): fix error handling in GetCollectMachineHashes * test(backend): add comprehensive test coverage for GetCollectMachineHashes * fix test
For some reason, this is frequently timing out on CI builds. The builds and tests are passing locally, so, I assume the reason the CI jobs are failing is a timeout. The logs are far too verbose to understand if there is some actual failure in CI. Also, this commits some updates to the mod files generated by `go get -v -t ./...` and updates the workflow not to pass the now-deprecated `-d` option to `go get`
Optimize sender address derivation
…hainLabs#3486) * Don't log error if unable to return expired nonce cache failure When a nonce failure cache entry expires, don't error if unable to return original error to user because there is a good chance that user already disconnected * Remove code duplication
* Add multi-deminsional gas collector * Enhance Multigas collector with StopWaiter * Multigas collector start and finalise block separation * Collect multigas in `ProduceBlockAdvanced` * Strat Multigas collector from execution engine * Re-wire multigas collector and apply review fixes * Multigas collector review fixes * Move Multigas collector from arbos to execution and some review fixes * Split Multigas collector interface from implementation * Add system test for multigas collector and add copyrights * Move multigas collector start/stop block message to ExecutionEngine * Fixup multigas collector comments
This allows docker buildx build nitro-node-dev . to build. The reason is that that docker image builds the replay.wasm with strictly the directories that are supposed to contain code which affects the state transition function. When the multigascollector package was in execution, it pulled in all of the dependencies of that go package. So, things got a bit upside-down.
Co-authored-by: Aman Sanghi <102982411+amsanghi@users.noreply.github.com>
Fix race in DAS chunk assembly by adding per-batch locking
* block_builder: use block gas limit as a soft boundary * arbosstate: increase gas limit on upgrade to arbos50 * gas limit: test new behavior * make lint * block_processor: check arbos-version before other conditions * gas-limit-test fixes * gas-limit-test: touch-ups * arbosstate: reduce arbos-50 block-gas-limit multiplier
These files can make certain IDEs and go tooling work better with the repository for local development, but they also complicate some of the CI workflows in unexpected ways. Therefore, let's ignore them from diffs to prevent their accidentally being checked-in by developers who use them.
OffchainLabs#3612) * e2e: start backend before rollup deployment to avoid RPC on unready Anvil * anvil backend: create RPC client in Start and add robust readiness check
Ignore the go.work and go.work.sum files
…ooks (OffchainLabs#3627) Co-authored-by: Pepper Lebeck-Jobe <pepper@offchainlabs.com>
…ata-streaming-receiver Extract streaming protocol (receiver)
…tely (OffchainLabs#3582) * Handle node.staker.strategy and node.bold.strategy appropriately * Update nitro-testnode
* update contracts for internal batch posting report fields * batch-gas-cost: check for floor-gas-cost in arbos-50 * replace calldataprice with parentGasFloorPerToken * internal_tx: use floorGasPerToken * update acts and support legacy feed * contracts: revert to version on master * precompiles: updates for parent-gas-floor * internal_tx: add per-batch-gas even if using floor * eth-config: update forkid * Add a test for gas floor * Enable delayed sequencer, satisfy finality requirements * internal_tx: use a constant instead of PerBatchGasCost * update gas floor price test * incomingmessage: fix comments * Remove leftover comment
| - name: Setup emsdk | ||
| if: steps.cache-cbrotli.outputs.cache-hit != 'true' | ||
| uses: mymindstorm/setup-emsdk@v12 | ||
| uses: mymindstorm/setup-emsdk@v14 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
|
|
||
| - name: Upload coverage to Codecov | ||
| uses: codecov/codecov-action@v2 | ||
| uses: codecov/codecov-action@v5 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
| restore-keys: ${{ runner.os }}-buildx- | ||
| - name: Build nitro-node docker | ||
| uses: docker/build-push-action@v5 | ||
| uses: docker/build-push-action@v6 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
| cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max | ||
| - name: Build nitro-node-dev docker | ||
| uses: docker/build-push-action@v5 | ||
| uses: docker/build-push-action@v6 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
| with: | ||
| go-version: 1.24.x | ||
| - id: list | ||
| uses: shogo82148/actions-go-fuzz/list@v1 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
| - uses: actions/setup-go@v5 | ||
| with: | ||
| go-version: 1.24.x | ||
| - uses: shogo82148/actions-go-fuzz/run@v1 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
|
|
||
| - name: Upload coverage to Codecov | ||
| uses: codecov/codecov-action@v2 | ||
| uses: codecov/codecov-action@v5 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
| - name: Upload coverage to Codecov | ||
| if: steps.changed-files.outputs.any_changed == 'true' | ||
| uses: codecov/codecov-action@v2 | ||
| uses: codecov/codecov-action@v5 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
| steps: | ||
| - name: Send Slack notification | ||
| uses: slackapi/slack-github-action@v2.0.0 | ||
| uses: slackapi/slack-github-action@v2.1.1 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
No description provided.