@@ -9,24 +9,9 @@ import "../interfaces/IBLSApkRegistry.sol";
99import "../interfaces/IOraclePod.sol " ;
1010
1111import "./OracleManagerStorage.sol " ;
12+ import "./PodManager.sol " ;
1213
13- contract OracleManager is OwnableUpgradeable , OracleManagerStorage , IOracleManager {
14- modifier onlyAggregatorManager () {
15- require (
16- msg .sender == aggregatorAddress,
17- "OracleManager.onlyOracleWhiteListManager: not the aggregator address "
18- );
19- _;
20- }
21-
22- modifier onlyPodWhitelistedForFill (IOraclePod oraclePod ) {
23- require (
24- podIsWhitelistedForFill[oraclePod],
25- "OracleManager.onlyPodWhitelistedForFill: oraclePod not whitelisted "
26- );
27- _;
28- }
29-
14+ contract OracleManager is OwnableUpgradeable , PodManager , OracleManagerStorage , IOracleManager {
3015 constructor () {
3116 _disableInitializers ();
3217 }
@@ -37,34 +22,15 @@ contract OracleManager is OwnableUpgradeable, OracleManagerStorage, IOracleManag
3722 address _aggregatorAddress
3823 ) external initializer {
3924 __Ownable_init (_initialOwner);
40- blsApkRegistry = IBLSApkRegistry (_blsApkRegistry);
41- aggregatorAddress = _aggregatorAddress;
25+ __PodManager_init (_blsApkRegistry, _aggregatorAddress);
4226 confirmBatchId = 0 ;
4327 }
4428
45- function registerOperator (string calldata nodeUrl ) external {
46- require (
47- operatorWhitelist[msg .sender ],
48- "OracleManager.registerOperator: this address have not permission to register "
49- );
50- blsApkRegistry.registerOperator (msg .sender );
51- emit OperatorRegistered (msg .sender , nodeUrl);
52- }
53-
54- function deRegisterOperator () external {
55- require (
56- operatorWhitelist[msg .sender ],
57- "OracleManager.registerOperator: this address have not permission to register "
58- );
59- blsApkRegistry.deregisterOperator (msg .sender );
60- emit OperatorDeRegistered (msg .sender );
61- }
62-
6329 function fillSymbolPriceWithSignature (
6430 IOraclePod oraclePod ,
6531 OracleBatch calldata oracleBatch ,
6632 IBLSApkRegistry.OracleNonSignerAndSignature memory oracleNonSignerAndSignature
67- ) external onlyAggregatorManager onlyPodWhitelistedForFill (oraclePod) {
33+ ) external onlyAggregatorManager onlyPodWhitelistedForFill (address ( oraclePod) ) {
6834 (
6935 uint256 totalStaking ,
7036 bytes32 signatoryRecordHash
@@ -76,30 +42,4 @@ contract OracleManager is OwnableUpgradeable, OracleManagerStorage, IOracleManag
7642
7743 emit VerifyOracleSig (confirmBatchId++ , totalStaking, signatoryRecordHash, symbolPrice);
7844 }
79-
80- function addOrRemoveOperatorWhitelist (address operator , bool isAdd ) external onlyAggregatorManager {
81- require (
82- operator != address (0 ),
83- "OracleManager.addOperatorWhitelist: operator address is zero "
84- );
85- operatorWhitelist[operator] = isAdd;
86- }
87-
88- function setAggregatorAddress (address _aggregatorAddress ) external onlyOwner {
89- require (
90- _aggregatorAddress != address (0 ),
91- "OracleManager.addAggregator: aggregatorAddress address is zero "
92- );
93- aggregatorAddress = _aggregatorAddress;
94- }
95-
96- function addOraclePodToFillWhitelist (IOraclePod oraclePod ) external onlyAggregatorManager {
97- podIsWhitelistedForFill[oraclePod] = true ;
98- emit OraclePodAddedToFillWhitelist (oraclePod);
99- }
100-
101- function removeOraclePodToFillWhitelist (IOraclePod oraclePod ) external onlyAggregatorManager {
102- podIsWhitelistedForFill[oraclePod] = false ;
103- emit OraclePodRemoveToFillWhitelist (oraclePod);
104- }
10545}
0 commit comments