Skip to content

Dev#231

Merged
matteoettam09 merged 7 commits into
mainfrom
dev
Jun 13, 2026
Merged

Dev#231
matteoettam09 merged 7 commits into
mainfrom
dev

Conversation

@matteoettam09

@matteoettam09 matteoettam09 commented Jun 12, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features

    • Enhanced minibatch processing with progress tracking for improved efficiency and reliability of large batch operations.
    • Added configurable controls for vault redeem fulfillment management.
  • Chores

    • Version bumped to 2.5.0.
    • Updated development dependencies and build tooling.

dependabot Bot and others added 5 commits June 8, 2026 01:48
Bumps the development-dependencies group with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [@nomicfoundation/hardhat-ethers](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers) | `4.0.12` | `4.0.13` |
| [@nomicfoundation/hardhat-ethers-chai-matchers](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers-chai-matchers) | `3.0.9` | `3.0.10` |
| [@nomicfoundation/hardhat-ignition](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ignition) | `3.1.6` | `3.1.7` |
| [@nomicfoundation/hardhat-ignition-ethers](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ignition-ethers) | `3.1.5` | `3.1.6` |
| [@nomicfoundation/hardhat-keystore](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-keystore) | `3.0.11` | `3.0.12` |
| [@nomicfoundation/hardhat-mocha](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-mocha) | `3.0.20` | `3.0.21` |
| [@nomicfoundation/hardhat-network-helpers](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-network-helpers) | `3.0.9` | `3.0.10` |
| [@nomicfoundation/hardhat-toolbox-mocha-ethers](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-toolbox-mocha-ethers) | `3.0.6` | `3.0.7` |
| [@nomicfoundation/hardhat-typechain](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-typechain) | `3.1.0` | `3.1.1` |
| [@nomicfoundation/hardhat-verify](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-verify) | `3.0.18` | `3.0.19` |
| [@nomicfoundation/ignition-core](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/ignition-core) | `3.1.6` | `3.1.7` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.1` | `25.9.2` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.60.0` | `8.60.1` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.60.0` | `8.60.1` |
| [hardhat](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat) | `3.7.0` | `3.8.0` |


Updates `@nomicfoundation/hardhat-ethers` from 4.0.12 to 4.0.13
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-ethers/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-ethers@4.0.13/packages/hardhat-ethers)

Updates `@nomicfoundation/hardhat-ethers-chai-matchers` from 3.0.9 to 3.0.10
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-ethers-chai-matchers/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-ethers-chai-matchers@3.0.10/packages/hardhat-ethers-chai-matchers)

Updates `@nomicfoundation/hardhat-ignition` from 3.1.6 to 3.1.7
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-ignition/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-ignition@3.1.7/packages/hardhat-ignition)

Updates `@nomicfoundation/hardhat-ignition-ethers` from 3.1.5 to 3.1.6
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-ignition-ethers/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-ignition-ethers@3.1.6/packages/hardhat-ignition-ethers)

Updates `@nomicfoundation/hardhat-keystore` from 3.0.11 to 3.0.12
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-keystore/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-keystore@3.0.12/packages/hardhat-keystore)

Updates `@nomicfoundation/hardhat-mocha` from 3.0.20 to 3.0.21
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-mocha/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-mocha@3.0.21/packages/hardhat-mocha)

Updates `@nomicfoundation/hardhat-network-helpers` from 3.0.9 to 3.0.10
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-network-helpers/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-network-helpers@3.0.10/packages/hardhat-network-helpers)

Updates `@nomicfoundation/hardhat-toolbox-mocha-ethers` from 3.0.6 to 3.0.7
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-toolbox-mocha-ethers/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-toolbox-mocha-ethers@3.0.7/packages/hardhat-toolbox-mocha-ethers)

Updates `@nomicfoundation/hardhat-typechain` from 3.1.0 to 3.1.1
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-typechain/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-typechain@3.1.1/packages/hardhat-typechain)

Updates `@nomicfoundation/hardhat-verify` from 3.0.18 to 3.0.19
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat-verify/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-verify@3.0.19/packages/hardhat-verify)

Updates `@nomicfoundation/ignition-core` from 3.1.6 to 3.1.7
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/ignition-core/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/ignition-core@3.1.7/packages/ignition-core)

Updates `@types/node` from 25.9.1 to 25.9.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@typescript-eslint/eslint-plugin` from 8.60.0 to 8.60.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.60.0 to 8.60.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/parser)

Updates `hardhat` from 3.7.0 to 3.8.0
- [Release notes](https://github.com/NomicFoundation/hardhat/releases)
- [Changelog](https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat/CHANGELOG.md)
- [Commits](https://github.com/NomicFoundation/hardhat/commits/hardhat@3.8.0/packages/hardhat)

---
updated-dependencies:
- dependency-name: "@nomicfoundation/hardhat-ethers"
  dependency-version: 4.0.13
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/hardhat-ethers-chai-matchers"
  dependency-version: 3.0.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/hardhat-ignition"
  dependency-version: 3.1.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/hardhat-ignition-ethers"
  dependency-version: 3.1.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/hardhat-keystore"
  dependency-version: 3.0.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/hardhat-mocha"
  dependency-version: 3.0.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/hardhat-network-helpers"
  dependency-version: 3.0.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/hardhat-toolbox-mocha-ethers"
  dependency-version: 3.0.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/hardhat-typechain"
  dependency-version: 3.1.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/hardhat-verify"
  dependency-version: 3.0.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@nomicfoundation/ignition-core"
  dependency-version: 3.1.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@types/node"
  dependency-version: 25.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.60.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.60.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: hardhat
  dependency-version: 3.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…ev/development-dependencies-7a84da9158

chore(deps-dev): bump the development-dependencies group with 15 updates
…d overwrite in zkVM with brittle no-op entries definition.
@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 36de948f-1e2b-44ba-98f4-c28d8e23115b

📥 Commits

Reviewing files that changed from the base of the PR and between 64c25c3 and 723d066.

📒 Files selected for processing (4)
  • contracts/interfaces/ILiquidityOrchestrator.sol
  • contracts/test/LiquidityOrchestratorHarness.sol
  • contracts/test/MockERC4626WithSettableDecimals.sol
  • contracts/test/MockNoDecimalsAsset.sol
💤 Files with no reviewable changes (4)
  • contracts/test/MockNoDecimalsAsset.sol
  • contracts/test/LiquidityOrchestratorHarness.sol
  • contracts/interfaces/ILiquidityOrchestrator.sol
  • contracts/test/MockERC4626WithSettableDecimals.sol

📝 Walkthrough

Walkthrough

LiquidityOrchestrator adds a resume cursor to track progress within sell/buy minibatch windows, refactors minibatch execution into a unified resumable handler with failure recording, extends VaultState with a processRedeem flag to conditionally gate redeem fulfillment per vault, relaxes configuration constraints for mid-epoch maintenance, removes test mock contracts, and bumps package version to 2.5.0 with updated dependencies.

Changes

Resume Cursor & Conditional Redeem Fulfillment

Layer / File(s) Summary
Resume cursor state and interface
contracts/LiquidityOrchestrator.sol, contracts/interfaces/ILiquidityOrchestrator.sol
Public completedInCurrentMinibatch state variable tracks intra-minibatch progress, with a new external view getter exposing resume position within the active sell/buy window.
Resume cursor lifecycle resets
contracts/LiquidityOrchestrator.sol
Cursor resets to zero at upkeep epoch start, epoch state commitment seal, and vault-operation minibatch completion.
Unified minibatch leg processing with resume support
contracts/LiquidityOrchestrator.sol
Refactored _processMinibatchLeg consolidates sell/buy logic into a single resumable handler that computes bounded windows, increments cursor on successful execution, records failures without advancing cursor, and drives phase transitions via _finalizeMinibatchLeg.
VaultState processRedeem control field
contracts/interfaces/ILiquidityOrchestrator.sol
Removes VaultStateData struct; extends VaultState with bool processRedeem to signal per-vault redeem fulfillment control.
Conditional redeem fulfillment implementation
contracts/LiquidityOrchestrator.sol, contracts/test/LiquidityOrchestratorHarness.sol, test/VaultDecommissioning.test.ts
Routes processRedeem flag through _processSingleVaultOperations and gates redeem execution to if (processRedeem && pendingRedeem > 0), leaving deposit fulfillments unaffected. Test harness and existing tests updated to pass the new parameter.

Configuration, Maintenance, & Cleanup

Layer / File(s) Summary
Configuration and upgrade adjustments
contracts/LiquidityOrchestrator.sol, contracts/interfaces/ILiquidityOrchestrator.sol, contracts/test/LiquidityOrchestratorHarness.sol
Minibatch size configuration now requires system idle only when changing non-zero values; updateVerifier directly assigns and emits without state guard; updateVKey removes system-idle check for mid-epoch flexibility. Interface documentation updated for coordinated verifier replacement and new vKey validation. Storage gap adjusted from 47 to 46.
Test mock contract removals
contracts/test/MockERC4626WithSettableDecimals.sol
Removed test mocks for runtime-configurable token decimals and reverting decimals calls.
Package version and development dependencies
package.json
Version bumped to 2.5.0; Hardhat upgraded to 3.8.0; Nomicfoundation tooling suite, TypeScript ESLint, and pnpm overrides updated.

Sequence Diagram

sequenceDiagram
  participant Caller as Upkeep Caller
  participant Orchestrator as LiquidityOrchestrator
  participant MinibatchLeg as _processMinibatchLeg
  participant Finalize as _finalizeMinibatchLeg
  participant VaultOps as _processSingleVaultOperations

  Caller->>Orchestrator: continueUpkeepEpoch()
  Orchestrator->>MinibatchLeg: _processMinibatchSell/Buy(leg)
  MinibatchLeg->>MinibatchLeg: compute window [currentIndex + completedInCurrentMinibatch, endIndex]
  loop for each token in window
    MinibatchLeg->>MinibatchLeg: execute swap/transfer
    alt success
      MinibatchLeg->>MinibatchLeg: completedInCurrentMinibatch++
    else failure
      MinibatchLeg->>MinibatchLeg: record failed token, refresh commitment
    end
  end
  alt leg complete
    Orchestrator->>Finalize: _finalizeMinibatchLeg()
    Finalize->>Orchestrator: advance phase, accrue buy fees
  end
  Orchestrator->>VaultOps: _processSingleVaultOperations(vault, processRedeem=true/false, ...)
  alt processRedeem && pendingRedeem > 0
    VaultOps->>VaultOps: fulfill redemptions
  else
    VaultOps->>VaultOps: skip redeem (deposit unaffected)
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • OrionFinanceAI/protocol#230: Both PRs modify _processSingleVaultOperations—this PR adds a processRedeem parameter and gate, while #230 updates decommission-finalization logic in the same function.
  • OrionFinanceAI/protocol#91: This PR's processRedeem gating of redeem fulfillment relates to #91's refactoring of the order in which deposit and redeem fulfillments are processed.
  • OrionFinanceAI/protocol#228: Both PRs adjust __gap storage layout in LiquidityOrchestrator to accommodate new state variables.

Poem

🐰 A cursor hops through minibatch rows,
remembering where each leg flow goes—
resume on fail, no state is lost!
Redeems now dance to vault's own cost.
The gap shrinks tight, the code leaps free. ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The PR title 'Dev' is vague and non-descriptive, failing to convey any meaningful information about the substantial changes in the changeset. Replace the title with a concise, descriptive summary of the main change, such as 'Add resume cursor and vault operation flag for minibatch processing' or similar that captures the core intent.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
contracts/LiquidityOrchestrator.sol (1)

477-480: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Seed bufferAmount only on the first entry into the sell leg.

If minibatch 0 partially succeeds and a later slot fails, completedInCurrentMinibatch preserves the resume point, but this block overwrites bufferAmount again on the retry. That drops the realized execution delta from the already-filled slots and leaves the persisted buffer accounting behind the actual balances.

Suggested fix
-            if (currentMinibatchIndex == 0) {
+            if (currentMinibatchIndex == 0 && completedInCurrentMinibatch == 0) {
                 bufferAmount = states.bufferAmount;
                 _pendingEpochProtocolFees = states.epochProtocolFees;
             }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@contracts/LiquidityOrchestrator.sol` around lines 477 - 480, The code
currently re-seeds bufferAmount (and _pendingEpochProtocolFees) whenever
currentMinibatchIndex == 0, which can overwrite already-realized execution
deltas on retry; change the guard so these values are initialized only when
entering the sell leg for the first time by requiring
completedInCurrentMinibatch == 0 as well (i.e., use if (currentMinibatchIndex ==
0 && completedInCurrentMinibatch == 0) before assigning bufferAmount =
states.bufferAmount and _pendingEpochProtocolFees = states.epochProtocolFees) so
resumed retries do not reset persisted buffer accounting.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@contracts/test/ConfigurableExecutionAdapter.sol`:
- Around line 49-60: The buy function currently only pulls UNDERLYING from the
caller and returns buyReturnAmount but never sends the purchased asset back;
update the buy implementation (function buy, variables UNDERLYING,
buyReturnAmount, buyCallCount, buyShouldRevert) to transfer the purchased asset
to the caller before returning — e.g., after taking allowance but before
returning executionUnderlyingAmount, call the token transfer for the purchased
asset (use the same SafeERC20 helpers used elsewhere, e.g.
IERC20(asset).safeTransfer(msg.sender, buyReturnAmount)) and ensure the contract
holds enough of the asset to cover the transfer.

In `@package.json`:
- Around line 40-50: The project is pulling Hardhat v2 via the
`@openzeppelin/hardhat-upgrades` package; update or replace that package so the
dependency graph resolves only Hardhat v3. Specifically, either upgrade
"`@openzeppelin/hardhat-upgrades`" to a Hardhat-3-compatible release (or switch to
an alternative upgrades plugin that supports Hardhat 3) in package.json, remove
any pinned/override entries that force hardhat@2, then regenerate the lockfile
(pnpm install) and confirm via the lockfile that no package (e.g.,
"`@openzeppelin/hardhat-upgrades`") still resolves hardhat@2.28.6; run the repo's
test/CI to ensure everything works with hardhat@3.x.

In `@test/StatesStruct.test.ts`:
- Line 18: The tests import STATES_STRUCT_TYPE from
../scripts/decode-states-struct but that module/file doesn't exist; create a
module that exports STATES_STRUCT_TYPE (or update the import to point to the
correct existing module). Locate the failing import in test/StatesStruct.test.ts
referencing STATES_STRUCT_TYPE and either (a) add a new
scripts/decode-states-struct.ts that exports the expected constant/type
(matching the shape used by the tests), or (b) change the import to the actual
module that defines the states struct; ensure the exported identifier name is
exactly STATES_STRUCT_TYPE so the test import resolves.

---

Outside diff comments:
In `@contracts/LiquidityOrchestrator.sol`:
- Around line 477-480: The code currently re-seeds bufferAmount (and
_pendingEpochProtocolFees) whenever currentMinibatchIndex == 0, which can
overwrite already-realized execution deltas on retry; change the guard so these
values are initialized only when entering the sell leg for the first time by
requiring completedInCurrentMinibatch == 0 as well (i.e., use if
(currentMinibatchIndex == 0 && completedInCurrentMinibatch == 0) before
assigning bufferAmount = states.bufferAmount and _pendingEpochProtocolFees =
states.epochProtocolFees) so resumed retries do not reset persisted buffer
accounting.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4671ed97-bc0c-424d-9e67-e3d469629fc8

📥 Commits

Reviewing files that changed from the base of the PR and between 557e9f7 and 64c25c3.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (7)
  • contracts/LiquidityOrchestrator.sol
  • contracts/interfaces/ILiquidityOrchestrator.sol
  • contracts/test/ConfigurableExecutionAdapter.sol
  • contracts/test/LiquidityOrchestratorHarness.sol
  • package.json
  • test/StatesStruct.test.ts
  • test/VaultDecommissioning.test.ts

Comment thread contracts/test/ConfigurableExecutionAdapter.sol Outdated
Comment thread package.json
Comment thread test/StatesStruct.test.ts Outdated
@matteoettam09 matteoettam09 merged commit 0737f0d into main Jun 13, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant