Skip to content

Add support for POA middleware mirror deployments#228

Merged
ismellike merged 11 commits intodevfrom
poa-mirror
Feb 10, 2026
Merged

Add support for POA middleware mirror deployments#228
ismellike merged 11 commits intodevfrom
poa-mirror

Conversation

@ismellike
Copy link
Collaborator

@ismellike ismellike commented Feb 6, 2026

ref Lay3rLabs/wavs-tools#131

Also deprecates Holesky in CI since it's now shut down.

@ismellike ismellike requested review from dakom and ueco-jb February 6, 2026 20:00
@dakom dakom requested a review from Copilot February 10, 2026 08:03
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds POA (Proof of Authority) compatibility for mirror deployments by extending the mirror configuration loader, and updates tooling/docs for the post-Holesky workflow.

Changes:

  • Add POA-aware configuration loading for mirror deployments (including operator discovery via logs).
  • Adjust various shell scripts to source foundry_profile.sh after cd contracts.
  • Update docs/CI defaults away from Holesky (e.g., Sepolia), plus version/remappings/submodule updates.

Reviewed changes

Copilot reviewed 60 out of 60 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
scripts/ecdsa/mock/transfer_ownership.sh Removes foundry_profile.sh sourcing (unlike other scripts that moved it).
scripts/ecdsa/mock/deploy.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/mock/configure.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/mirror/list_operators.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/mirror/deploy.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/eigen/update_quorum.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/eigen/unpause.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/eigen/transfer_ownership.sh Removes foundry_profile.sh sourcing (may need parity with others).
scripts/ecdsa/eigen/set_service_uri.sh Removes foundry_profile.sh sourcing (may need parity with others).
scripts/ecdsa/eigen/register.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/eigen/pause.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/eigen/list_operators.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/eigen/deregister.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/eigen/deploy.sh Sources foundry_profile.sh after cd contracts.
scripts/ecdsa/eigen/delegate_to_operator.sh Sources foundry_profile.sh after cd contracts.
scripts/bls/eigen/update_quorum.sh Sources foundry_profile.sh after cd contracts.
scripts/bls/eigen/unpause.sh Sources foundry_profile.sh after cd contracts.
scripts/bls/eigen/set_service_uri.sh Removes foundry_profile.sh sourcing (may need parity with others).
scripts/bls/eigen/register.sh Sources foundry_profile.sh after cd contracts.
scripts/bls/eigen/pause.sh Sources foundry_profile.sh after cd contracts.
scripts/bls/eigen/list_operators.sh Sources foundry_profile.sh after cd contracts.
scripts/bls/eigen/deploy.sh Sources foundry_profile.sh after cd contracts.
package.json Bumps package version.
docker/ECDSA_CLI.md Updates example chain from Holesky to Sepolia.
docker/BLS_CLI.md Updates example chain from Holesky to Sepolia.
contracts/test/eigenlayer/ecdsa/mocks/SimpleServiceManager.t.sol Formatting-only changes.
contracts/test/eigenlayer/ecdsa/mocks/MockStakeRegistry.sol Formatting-only changes.
contracts/test/eigenlayer/ecdsa/WavsServiceManager.t.sol Formatting-only changes.
contracts/test/eigenlayer/ecdsa/WavsOperatorUpdateHandler.t.sol Formatting-only changes.
contracts/test/eigenlayer/ecdsa/WavsMirrorDeploymentLib.t.sol Formatting-only changes.
contracts/test/eigenlayer/ecdsa/WavsMiddlewareDeploymentLib.t.sol Formatting-only changes.
contracts/test/eigenlayer/ecdsa/MirrorStakeRegistry.t.sol Formatting-only changes.
contracts/test/eigenlayer/ecdsa/MirrorQuorumSyncHandler.t.sol Formatting-only changes.
contracts/test/eigenlayer/ecdsa/MirrorOperatorSyncHandler.t.sol Formatting-only changes.
contracts/test/eigenlayer/bls/WavsServiceManager.t.sol Formatting-only changes.
contracts/src/eigenlayer/ecdsa/mocks/SimpleSubmit.sol Formatting-only changes.
contracts/src/eigenlayer/ecdsa/mocks/SimpleServiceManager.sol Formatting-only changes.
contracts/src/eigenlayer/ecdsa/handlers/WavsOperatorUpdateHandler.sol Formatting-only changes.
contracts/src/eigenlayer/ecdsa/WavsServiceManager.sol Formatting-only changes.
contracts/src/eigenlayer/ecdsa/MirrorStakeRegistry.sol Formatting-only changes.
contracts/src/eigenlayer/bls/interfaces/IWavsServiceManager.sol Formatting-only changes.
contracts/src/eigenlayer/bls/WavsServiceManager.sol Formatting-only changes.
contracts/script/eigenlayer/ecdsa/utils/WavsRegisterOperatorLib.sol Formatting-only changes.
contracts/script/eigenlayer/ecdsa/utils/WavsMockDeploymentLib.sol Formatting-only changes.
contracts/script/eigenlayer/ecdsa/utils/WavsMirrorDeploymentLib.sol Adds POA-mode config loading + POA middleware dependency.
contracts/script/eigenlayer/ecdsa/utils/WavsMiddlewareDeploymentLib.sol Formatting-only changes.
contracts/script/eigenlayer/ecdsa/utils/UpgradeableProxyLib.sol Formatting-only changes.
contracts/script/eigenlayer/ecdsa/WavsMirrorPrepareDeploy.s.sol Adds IS_POA env flag and passes it into config loader.
contracts/script/eigenlayer/ecdsa/WavsMirrorDeployer.s.sol Formatting-only changes.
contracts/script/eigenlayer/ecdsa/WavsMiddlewareDeployer.s.sol Formatting-only changes.
contracts/script/eigenlayer/bls/utils/WavsRegisterOperatorLib.sol Formatting-only changes.
contracts/script/eigenlayer/bls/utils/WavsMiddlewareDeploymentLib.sol Formatting-only changes.
contracts/script/eigenlayer/bls/utils/UpgradeableProxyLib.sol Formatting-only changes.
contracts/script/eigenlayer/bls/utils/BLSKeyGenerator.sol Formatting-only changes.
contracts/script/eigenlayer/bls/WavsMiddlewareDeployer.s.sol Formatting-only changes.
contracts/remappings.txt Adds @poa-middleware remapping.
contracts/lib/poa-middleware Adds POA middleware submodule pointer.
contracts/foundry.toml Adds CI profile setting (via-ir = false).
README.md Documents IS_POA usage and updates faucet instructions to Sepolia.
.gitmodules Adds POA middleware submodule and adjusts eigenlayer-middleware line formatting.
Comments suppressed due to low confidence (1)

scripts/ecdsa/mock/transfer_ownership.sh:1

  • Unlike the other scripts in this PR that moved foundry_profile.sh sourcing to after cd contracts, this script removes the sourcing entirely. For consistency and to avoid environment-dependent behavior, consider applying the same pattern here (source foundry_profile.sh right before any forge invocations).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ismellike ismellike merged commit 1fb3c93 into dev Feb 10, 2026
6 checks passed
@ueco-jb ueco-jb deleted the poa-mirror branch February 11, 2026 20:18
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