This proposal requests the DAO multisig (and the Omnisig on newer chains) to disable outdated Oracle LP Pool Factories across all networks where they are deployed. This includes both the v1 (deprecated) and the original v2 (overwritten) versions of the WeightedLPOracleFactory and StableLPOracleFactory contracts.
Motivation
As requested by BLabs, all outdated Oracle Pool Factories for v1 need to be disabled. The original v2 factories were never fully rolled out and have since been overwritten with updated deployments following Certora audit suggestions. While the old v2 contracts are no longer listed in the deployments repo, they still exist on-chain and should be disabled for completeness.
All factory addresses referenced in this BIP correspond to commit 9a29caf of balancer-deployments, which is the last commit before the v2 overwrite.
On Mainnet, Arbitrum, Optimism, Gnosis, Avalanche, and Base, these payloads must go through the DAO multisig because the disable() permissions for these factories were never granted to any operator or the Omnisig. On HyperEVM, Plasma, Monad, and XLayer, the Omnisig (0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e) can grant roles to itself, disable, and revoke.
For each factory on each network, the executing multisig (DAO multisig or Omnisig) performs a 3-step transaction pattern via the Authorizer:
grantRole(actionId, account) on the Authorizer – grants the multisig the disable() role for the target factory
disable() on the factory – permanently disables the factory, preventing new pool creation
revokeRole(actionId, account) on the Authorizer – revokes the role so the multisig does not retain unnecessary permissions
Each network payload contains 12 transactions (4 factories x 3 steps).
Executing Multisigs
Network
Multisig
Address
Mainnet
DAO Multisig
0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f
Arbitrum
DAO Multisig
0xaF23DC5983230E9eEAf93280e312e57539D098D0
Optimism
DAO Multisig
0x043f9687842771b3dF8852c1E9801DCAeED3f6bc
Gnosis
DAO Multisig
0x2a5AEcE0bb9EfFD7608213AE1745873385515c18
Avalanche
DAO Multisig
0x17b11FF13e2d7bAb2648182dFD1f1cfa0E4C7cf3
Base
DAO Multisig
0xC40DCFB13651e64C8551007aa57F9260827B6462
HyperEVM, Plasma, Monad, XLayer
Omnisig
0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e
Authorizer Addresses
Network
Authorizer
Mainnet, Arbitrum, Optimism, Gnosis, Avalanche
0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6
Base
0x809B79b53F18E9bc08A961ED4678B901aC93213a
HyperEVM
0x85a80afee867aDf27B50BdB7b76DA70f1E853062
Plasma, Monad, XLayer
0xE39B5e3B6D74016b2F6A9673D7d7493B6DF549d5
V2 Action IDs (disable())
V1 action IDs can be looked up from the balancer-deployments action-ids. The overwritten v2 factory action IDs are no longer in the repo and were queried on-chain via getActionId(bytes4):