Skip to content

Cross-port sUSDe batch script helpers - #275

Merged
0xJem merged 6 commits into
developfrom
fix/cross-port-susde
May 5, 2026
Merged

0xJem merged 6 commits into
developfrom
fix/cross-port-susde

Conversation

@0xJem

@0xJem 0xJem commented May 5, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Cross-port selected batch script helper changes from feat/susde-aave-loop without bringing over the full sUSDe Aave loop implementation.
  • Add .pnpm-store/ to .gitignore.
  • Add Treasury Working Group multisig setup support via setUpWithTreasuryWorkingGroupMS and olympus.multisig.treasuryWorkingGroup.
  • Add optional heartbeat validation skipping and Safe transaction detail logging in BatchScriptV2.
  • Update new-file pragma issues in ChangeKernelExecutor.s.sol and OIP_194A.t.sol to meet the current Solidity baseline.

Source commits

  • Treasury Working Group setup cross-port: f75cf2f91
  • Heartbeat validation skip cross-port: f38523880
  • Safe tx detail logging cross-port: ef972d057

Validation

  • pnpm install
  • pnpm run build
  • pnpm exec prettier --write src/scripts/ops/lib/BatchScriptV2.sol src/scripts/env.json
  • pnpm exec solhint --config ./.solhint.json src/scripts/ops/lib/BatchScriptV2.sol
  • forge build --contracts src/scripts/ops/ChangeKernelExecutor.s.sol
  • forge build --contracts src/test/proposals/OIP_194A.t.sol
  • pnpm run lint completed successfully with existing Solhint warnings only; no tracked files changed.

Summary by CodeRabbit

  • New Features

    • Added treasury working group multisig support with Safe transaction logging and optional heartbeat validation skipping.
  • Chores

    • Updated compiler version constraints across deployment and test scripts.
    • Updated configuration and ignore patterns.

0xJem added 6 commits May 5, 2026 13:08
Cross-port of the multisig setup/env entry from feat/susde-aave-loop commit f75cf2f, renamed from yield multisig to Treasury Working Group.
Cross-port of configurable heartbeat validation skip from feat/susde-aave-loop commit f385238. Also includes Safe tx detail logging from commit ef972d0, which was part of the requested batch-script port.
@coderabbitai

coderabbitai Bot commented May 5, 2026 •

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

The PR adds treasury working group multisig support and Safe transaction logging to the batch proposal infrastructure. It updates configuration to include a treasury working group address, adds conditional heartbeat validation skipping, introduces a new setup modifier for treasury working group owners, and logs Safe transaction details during proposal creation. Solidity compiler pragmas are also updated to >=0.8.24.

Changes

Treasury Working Group & Safe Tx Logging

Layer / File(s) Summary
Configuration
src/scripts/env.json
Added treasuryWorkingGroup multisig address field under mainnet.olympus.multisig alongside the existing emergency address.
Core Script Infrastructure
src/scripts/ops/lib/BatchScriptV2.sol
Added internal _skipHeartbeatValidation state variable to gate heartbeat validation. Introduced setUpWithTreasuryWorkingGroupMS(...) modifier that loads chain env and args, using olympus.multisig.treasuryWorkingGroup as the batch owner. Added _logSafeTxDetails(...) helper to compute and log Safe transaction hash and calldata hash.
Integration & Validation Logic
src/scripts/ops/lib/BatchScriptV2.sol
Integrated _logSafeTxDetails(...) calls within _proposeMultisigBatchTransactions, the signOnly branch, and the non-signOnly path of _sendMultisigBatch after deriving Safe transaction target/data and nonce. Updated _validateWithSnapshot to conditionally skip _validateHeartBeat() when _skipHeartbeatValidation is true.
Compiler & Build
src/scripts/ops/ChangeKernelExecutor.s.sol, src/test/proposals/OIP_194A.t.sol, .gitignore
Updated Solidity pragma from 0.8.15 and ^0.8.0 to >=0.8.24 in two Solidity files. Added .pnpm-store/ to .gitignore.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • OlympusDAO/olympus-v3#142: Both PRs modify src/scripts/ops/lib/BatchScriptV2.sol and enhance multisig proposal flows; this PR adds treasury working group owner support and Safe transaction logging while the related PR contributes ledger signing and proposal helper infrastructure.

Poem

🐰 A treasury group emerges with grace,
Safe transactions logged in their rightful place,
Heartbeats may skip when the flag says they may,
Scripts now remember the multisig's new way.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Cross-port sUSDe batch script helpers' accurately describes the main change: porting batch script helper functionality from another branch, specifically the Treasury Working Group setup, heartbeat validation skipping, and Safe transaction logging.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 fix/cross-port-susde

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

@0xJem 0xJem self-assigned this May 5, 2026
@0xJem
0xJem marked this pull request as ready for review May 5, 2026 09:32
@0xJem
0xJem requested a review from zeroxnoodle May 5, 2026 09:33

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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 `@src/scripts/ops/ChangeKernelExecutor.s.sol`:
- Line 2: foundry.toml's global catch-all version constraint prevents the script
ChangeKernelExecutor.s.sol (which uses pragma >=0.8.24) from compiling; update
foundry.toml by inserting a specific compilation restriction for that script
(targeting solidity 0.8.24) before the existing catch-all entry so the script's
pragma is satisfied and the global { paths = "**", version = "0.8.15" } still
applies to everything else.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 07919efd-88c1-433e-be67-27d1e7eadc03

📥 Commits

Reviewing files that changed from the base of the PR and between ae73419 and 98049ac.

📒 Files selected for processing (5)
  • .gitignore
  • src/scripts/env.json
  • src/scripts/ops/ChangeKernelExecutor.s.sol
  • src/scripts/ops/lib/BatchScriptV2.sol
  • src/test/proposals/OIP_194A.t.sol

Comment thread src/scripts/ops/ChangeKernelExecutor.s.sol
@0xJem
0xJem merged commit a385067 into develop May 5, 2026
15 of 16 checks passed
@0xJem
0xJem deleted the fix/cross-port-susde branch May 5, 2026 10:00
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.

2 participants