@@ -36,11 +36,39 @@ interface IGatewayConfig {
3636 );
3737
3838 /**
39- * @notice Emitted when the GatewayConfig is re-initialized from V2.
39+ * @notice Emitted when the GatewayConfig is re-initialized from V3.
40+ * @param newKmsNodes The new KMS nodes.
41+ */
42+ event ReinitializeGatewayConfigV3 (KmsNode[] newKmsNodes );
43+
44+ /**
45+ * @notice Emitted when the KMS nodes have been updated.
46+ * @param newKmsNodes The new KMS nodes.
47+ * @param newMpcThreshold The new MPC threshold.
48+ * @param newPublicDecryptionThreshold The new public decryption threshold.
49+ * @param newUserDecryptionThreshold The new user decryption threshold.
50+ * @param newKmsGenThreshold The new key and CRS generation threshold.
51+ */
52+ event UpdateKmsNodes (
53+ KmsNode[] newKmsNodes ,
54+ uint256 newMpcThreshold ,
55+ uint256 newPublicDecryptionThreshold ,
56+ uint256 newUserDecryptionThreshold ,
57+ uint256 newKmsGenThreshold
58+ );
59+
60+ /**
61+ * @notice Emitted when the coprocessors have been updated.
4062 * @param newCoprocessors The new coprocessors.
41- * @param coprocessorThreshold The new coprocessor threshold.
63+ * @param newCoprocessorThreshold The new coprocessor threshold.
64+ */
65+ event UpdateCoprocessors (Coprocessor[] newCoprocessors , uint256 newCoprocessorThreshold );
66+
67+ /**
68+ * @notice Emitted when the custodians have been updated.
69+ * @param newCustodians The new custodians.
4270 */
43- event ReinitializeGatewayConfigV2 (Coprocessor [] newCoprocessors , uint256 coprocessorThreshold );
71+ event UpdateCustodians (Custodian [] newCustodians );
4472
4573 /**
4674 * @notice Emitted when the MPC threshold has been updated.
@@ -182,11 +210,38 @@ interface IGatewayConfig {
182210 error ChainIdNotUint64 (uint256 chainId );
183211
184212 /**
185- * @notice Add a new host chain metadata to the GatewayConfig contract.
186- * @dev The associated chain ID must be non-zero and representable by a uint64.
187- * @param hostChain The new host chain metadata to include.
213+ * @notice Update the list of KMS nodes and their thresholds.
214+ * @dev ⚠️ This function should be used with caution as it can lead to unexpected behavior in
215+ * some requests and the contracts should first be paused. It will be deprecated in the future.
216+ * @param newKmsNodes The new KMS nodes.
217+ * @param newMpcThreshold The new MPC threshold.
218+ * @param newPublicDecryptionThreshold The new public decryption threshold.
219+ * @param newUserDecryptionThreshold The new user decryption threshold.
220+ * @param newKmsGenThreshold The new key and CRS generation threshold.
188221 */
189- function addHostChain (HostChain calldata hostChain ) external ;
222+ function updateKmsNodes (
223+ KmsNode[] calldata newKmsNodes ,
224+ uint256 newMpcThreshold ,
225+ uint256 newPublicDecryptionThreshold ,
226+ uint256 newUserDecryptionThreshold ,
227+ uint256 newKmsGenThreshold
228+ ) external ;
229+
230+ /**
231+ * @notice Update the list of coprocessors and their threshold.
232+ * @dev ⚠️ This function should be used with caution as it can lead to unexpected behavior in
233+ * some requests and the contracts should first be paused. It will be deprecated in the future.
234+ * @param newCoprocessors The new coprocessors.
235+ * @param newCoprocessorThreshold The new coprocessor threshold.
236+ */
237+ function updateCoprocessors (Coprocessor[] calldata newCoprocessors , uint256 newCoprocessorThreshold ) external ;
238+
239+ /**
240+ * @notice Update the list of custodians.
241+ * @dev ⚠️ This function should be used with caution. It will be deprecated in the future.
242+ * @param newCustodians The new custodians.
243+ */
244+ function updateCustodians (Custodian[] calldata newCustodians ) external ;
190245
191246 /**
192247 * @notice Update the MPC threshold.
@@ -223,6 +278,13 @@ interface IGatewayConfig {
223278 */
224279 function updateCoprocessorThreshold (uint256 newCoprocessorThreshold ) external ;
225280
281+ /**
282+ * @notice Add a new host chain metadata to the GatewayConfig contract.
283+ * @dev The associated chain ID must be non-zero and representable by a uint64.
284+ * @param hostChain The new host chain metadata to include.
285+ */
286+ function addHostChain (HostChain calldata hostChain ) external ;
287+
226288 /**
227289 * @notice Pause all pausable gateway contracts.
228290 */
0 commit comments