1. 19 Nov, 2024 7 commits
  2. 18 Nov, 2024 7 commits
    • Michael Amadi's avatar
      Sc/fix update semgrep (#12942) · 29f76e54
      Michael Amadi authored
      * fix upgrade-semgrep
      
      * fix upgrade-semgrep
      29f76e54
    • dependabot[bot]'s avatar
      dependabot(gomod): bump golang.org/x/sync from 0.8.0 to 0.9.0 (#12885) · bc6f8de5
      dependabot[bot] authored
      Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.8.0 to 0.9.0.
      - [Commits](https://github.com/golang/sync/compare/v0.8.0...v0.9.0)
      
      ---
      updated-dependencies:
      - dependency-name: golang.org/x/sync
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      bc6f8de5
    • Chen Kai's avatar
      cannon: Add more concurrency primitives tests (#12771) · fd427154
      Chen Kai authored
      * feat:Add more sync tests
      Signed-off-by: default avatarChen Kai <281165273grape@gmail.com>
      
      * feat:add more sync tests
      Signed-off-by: default avatarChen Kai <281165273grape@gmail.com>
      
      * fix:fix failed tests
      Signed-off-by: default avatarChen Kai <281165273grape@gmail.com>
      
      * fix:add copyright credit and remove unused code
      Signed-off-by: default avatarChen Kai <281165273grape@gmail.com>
      
      * fix:fix copyright format
      Signed-off-by: default avatarChen Kai <281165273grape@gmail.com>
      
      * fix code review suggestions
      Signed-off-by: default avatarChen Kai <281165273grape@gmail.com>
      
      ---------
      Signed-off-by: default avatarChen Kai <281165273grape@gmail.com>
      fd427154
    • soyboy's avatar
      adding conduit bootnodes (#12534) · 01559d2e
      soyboy authored
      * removing duplicate default bootnode
      
      * adding conduit bootnodes
      
      * removing duplicate bootnode
      01559d2e
    • George Knee's avatar
      batcher: keep blocks, channels and frames in strict order & simplify reorg handling (#12390) · c91fe2f6
      George Knee authored
      * use a queue.Queue for channelBuilder.frames
      
      * remove pop and push terminology
      
      * proliferate queue.Queue type
      
      * simplify requeue method
      
      * undo changes to submodule
      
      * sketch out new arch
      
      https://www.notion.so/oplabs/op-batcher-re-architecture-114f153ee162803d943ff4628ab6578f
      
      * add TODO
      
      * add channelManager.pruneSafeBlocks method and integrate into main loop
      
      * fix frameCursor semantics
      
      * fixup tests
      
      * avoid Rewind() in tests
      
      * only rewind cursor in rewind (never move it forward)
      
      * fix assertions
      
      * prune channels whose blocks are now safe
      
      * handle case when rewinding a channel with no blocks
      
      this is strange, I don't think we should expect channels with frames but no blocks...
      
      * add clarification
      
      * implement channelManager.pendinBlocks() method
      
      * fix pruning logic
      
      * simplify pruneChannels
      
      * simplify pruneSafeBlocks
      
      * add unit tests for pruneSafeBlocks
      
      * fix pruneSafeBlocks to avoid underflow
      
      * improve test
      
      * add unit tests for pruneChannels
      
      * introduce handleChannelTimeout
      
      and simplify channel.TxConfirmed API
      
      * factor out channelManager.rewindToBlockWithHash
      
      * change test expectation
      
      * do more pruning in test
      
      * Replace "clean shutdown" behaviour with waitNodeSync()
      
      Instead of optimizing for a clean shutdown (which we couldn't guarantee anyway), this change optimizes for code simplicity.
      
      This change also helps us restrict the amount of code which mutates the channelQueue (removePendingChannel was doing removal of channels at arbitrary positions in the queue).
      
      The downside is that we may end up needlessly resubmitting some data after the reset.
      
      Reorgs are rare, so it makes sense to optimize for correctness rather than DA costs here.
      
      * Add readme and architecture diagram
      
      * don't panic when there is a safe chain reorg
      
      * fix test
      
      * readability improvements
      
      * only clear state after waiting for node to sync
      
      * resize image
      
      * tweak readme
      
      * typo
      
      * rewindToBlockWithHash never moves cursor forward
      
      * use s.pendingBlocks()
      
      * add log line
      
      * check there are blocks when handling timeout
      
      * rename HasFrame() to HasPendingFrame()
      
      * fixup test
      
      * improve readme
      
      * link to open issues by tag
      
      * add log when main loop returns
      
      * pass blockID to rewindToBlock
      
      and panic if block does not exist
      
      * don't remove all channels when a channel times out
      
      keep older channels, it's possible that they also time out
      
      * use newSafeHead.L1Origin in Clear() when pruning blocks
      
      * clarify comment
      
      * use warn log level on safe chain reorg pruning, and unify handling for safe head above unsafe head
      
      * update panic message
      
      * extend test coverage and fix bug
      
      * rename test blocks
      
      * simplify HasPendingFrame() method
      
      * simplify implementation of RewindFrameCursor
      
      * activate dormant test
      
      * ensure pending_blocks_bytes_current metric is tracked properly
      
      * cover metrics behaviour in test
      
      using new TestMetrics struct
      
      * extend test coverage to channelManager.handleChannelTimeout
      
      * add comment to TxFailed
      
      * rename test fn
      
      * point to e2e tests in readme.
      
      * readme: performance -> throughput
      
      * improve channel_manager_test to assert old channels are not affected by requeue or timeout
      
      * fix handleChannelTimeout behaviour
      
      We were trimming older channels and keeping new ones. We need to trim newer channels and keep old ones. Fixes associated test (see previous commit).
      
      * tighten up requirements for invalidating a channel
      
      * replace requeue with handleChannelInvalidated
      c91fe2f6
    • George Knee's avatar
      op-batcher: fix channel duration timeout management (#12916) · 873b3e0d
      George Knee authored
      * op-batcher: fix channel duration timeout management
      
      Previously, we would use L1 data to help track channel durations. For example, the batcher would be configured to post data every hour. We update a global state variable with the latest l1 origin of a channel when it closed, and compute the deadline for that channel using a duration delta starting at that l1 origin timestamp.
      
      Since we changed the way autoDA switching works, a channel can be _closed_ (due to a duration timeout or other reason) and this will cause the l1 origin state variable to move forward, extending the deadline ready for the next channel. Crucially, with autoDA switching nowadays, the closed channel will not always be submitted on chain (it can be discarded and the blocks requeued). If it is discarded, the channel duration timeout has already been extended.
      
      The fix for this is to update the global state variable at channel submission time, not channel closing time.
      
      * add regression test for channel duration timeouts during requeue
      873b3e0d
    • zhiqiangxu's avatar
      Check `bcast.From` correctly (#12941) · 7550853e
      zhiqiangxu authored
      * ensure bcast.From == mgr.From()
      
      * address comment
      
      * fix for create2
      7550853e
  3. 17 Nov, 2024 1 commit
  4. 16 Nov, 2024 2 commits
    • Michael Amadi's avatar
      remove unnecessary check (#12914) · 78fed1ee
      Michael Amadi authored
      * remove unnecessary check
      
      * fixes
      78fed1ee
    • blaine's avatar
      opcm-redesign: opcm targets a single release (#12851) · 8f0a9b2d
      blaine authored
      * fix: semver locking.
      
      * fix: semver locking.
      
      * feat: opcm impl contracts now type safe.
      
      * feat: fixing test.
      
      * fix: removing unused imports.
      
      * fix: address didn't need to be payable.
      
      * fix: moving all smart contract changes to first pr.
      
      * fix: pr comments addressed.
      
      * fix: removed InputContracts struct.
      
      * fix: ran pre-pr
      
      * fix: deploy implementations renaming version.
      
      * fix: adding solidity changes to this pr.
      
      * fix: adding v160 initializer back in.
      
      * fix: removed branching logic from opcm.
      
      * fix: removed SystemConfigV160.
      
      * opcm-redesign: op-deployer changes
      
      * fix: linting fix.
      
      * fix: semver lock
      
      ---------
      Co-authored-by: default avatarMatthew Slipper <me@matthewslipper.com>
      8f0a9b2d
  5. 15 Nov, 2024 9 commits
  6. 14 Nov, 2024 4 commits
  7. 13 Nov, 2024 4 commits
  8. 12 Nov, 2024 4 commits
  9. 11 Nov, 2024 2 commits
    • George Knee's avatar
      op-e2e/actions: improve Holocene tests by adding log assertions (#12889) · 5af6860f
      George Knee authored
      * fix double error in inferring isHolocene
      
      * add capture logging to l2faultproofenv
      
      * fold log expectations into holoceneExpectations
      
      * improve test failure output
      
      * attach log expectations to invalid batch test case
      
      * add more log expectations
      
      * add more log expectations
      
      * add more test expectations for invalid payloads
      
      * add log assertion for deposits-only attributes
      
      * improve test names
      
      * improve subtest names
      
      * move holocene helpers to separate file
      
      * remove shadow
      
      * add log assertions for holocene_batches_test.go
      
      * remove assertion on logs in frame queue
      5af6860f
    • George Knee's avatar
      load HoloceneTime from registry (#12890) · a786daaf
      George Knee authored
      a786daaf