@@ -7,6 +7,7 @@ import {HelperConfig} from "../HelperConfig.s.sol";
77
88import {CollateralManagementContract} from "../../src/CollateralManagement.sol " ;
99import {FlyoverDiscovery} from "../../src/FlyoverDiscovery.sol " ;
10+ import {PauseRegistry} from "../../src/PauseRegistry.sol " ;
1011import {PegInContract} from "../../src/PegInContract.sol " ;
1112import {PegOutContract} from "../../src/PegOutContract.sol " ;
1213
@@ -18,6 +19,7 @@ import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.s
1819/// @dev Gas optimized: single ProxyAdmin, inlined deployment logic, linked libraries
1920contract DeployFlyover is Script {
2021 struct FlyoverDeployment {
22+ address pauseRegistryProxy;
2123 address collateralManagementImpl;
2224 address collateralManagementProxy;
2325 address flyoverDiscoveryImpl;
@@ -54,6 +56,16 @@ contract DeployFlyover is Script {
5456 // Single ProxyAdmin for all contracts
5557 d.proxyAdmin = address (new ProxyAdmin (defaultAdmin));
5658
59+ // 0) PauseRegistry (shared by all)
60+ PauseRegistry prImpl = new PauseRegistry ();
61+ d.pauseRegistryProxy = address (
62+ new TransparentUpgradeableProxy (
63+ address (prImpl),
64+ d.proxyAdmin,
65+ abi.encodeCall (prImpl.initialize, (0 , defaultAdmin))
66+ )
67+ );
68+
5769 // 1) CollateralManagement
5870 d.collateralManagementImpl = address (
5971 new CollateralManagementContract ()
@@ -69,7 +81,8 @@ contract DeployFlyover is Script {
6981 cfg.adminDelay,
7082 cfg.minimumCollateral,
7183 cfg.resignDelayBlocks,
72- cfg.rewardPercentage
84+ cfg.rewardPercentage,
85+ PauseRegistry (d.pauseRegistryProxy)
7386 )
7487 )
7588 )
@@ -83,7 +96,12 @@ contract DeployFlyover is Script {
8396 d.proxyAdmin,
8497 abi.encodeCall (
8598 FlyoverDiscovery.initialize,
86- (defaultAdmin, cfg.adminDelay, d.collateralManagementProxy)
99+ (
100+ defaultAdmin,
101+ cfg.adminDelay,
102+ d.collateralManagementProxy,
103+ PauseRegistry (d.pauseRegistryProxy)
104+ )
87105 )
88106 )
89107 );
@@ -102,7 +120,8 @@ contract DeployFlyover is Script {
102120 cfg.dustThreshold,
103121 cfg.minimumPegIn,
104122 d.collateralManagementProxy,
105- cfg.mainnet
123+ cfg.mainnet,
124+ PauseRegistry (d.pauseRegistryProxy)
106125 )
107126 )
108127 )
@@ -122,7 +141,8 @@ contract DeployFlyover is Script {
122141 cfg.dustThreshold,
123142 d.collateralManagementProxy,
124143 cfg.mainnet,
125- cfg.btcBlockTime
144+ cfg.btcBlockTime,
145+ PauseRegistry (d.pauseRegistryProxy)
126146 )
127147 )
128148 )
@@ -144,6 +164,7 @@ contract DeployFlyover is Script {
144164 function _log (FlyoverDeployment memory d ) private pure {
145165 console.log ("=== FLYOVER DEPLOYMENT === " );
146166 console.log ("ProxyAdmin: " , d.proxyAdmin);
167+ console.log ("PauseRegistry proxy: " , d.pauseRegistryProxy);
147168 console.log ("CollateralManagement impl: " , d.collateralManagementImpl);
148169 console.log ("CollateralManagement proxy: " , d.collateralManagementProxy);
149170 console.log ("FlyoverDiscovery impl: " , d.flyoverDiscoveryImpl);
0 commit comments