From bc149c5897bb22de82b5dd3271ceef965ffb04c3 Mon Sep 17 00:00:00 2001 From: ChiTimesChi <88190723+ChiTimesChi@users.noreply.github.com> Date: Thu, 19 Sep 2024 12:15:52 +0100 Subject: [PATCH] feat: resetFailedMessages --- contracts/messaging/MessageBusManager.sol | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/contracts/messaging/MessageBusManager.sol b/contracts/messaging/MessageBusManager.sol index 347e714d..7692f5df 100644 --- a/contracts/messaging/MessageBusManager.sol +++ b/contracts/messaging/MessageBusManager.sol @@ -15,8 +15,14 @@ contract MessageBusManager is IManager, Ownable { transferOwnership(owner_); } - function resetFailedMessages(bytes32[] calldata messageIds) external { - // TODO: implement + function resetFailedMessages(bytes32[] calldata messageIds) external onlyOwner { + for (uint256 i = 0; i < messageIds.length; i++) { + bytes32 messageId = messageIds[i]; + if (getExecutedMessage(messageId) != IManageable.TxStatus.Fail) { + revert MessageBusManager__NotFailed(messageId); + } + IManageable(MESSAGE_BUS).updateMessageStatus(messageId, IManageable.TxStatus.Null); + } } // ═════════════════════════════════════════════ GENERIC MANAGING ══════════════════════════════════════════════════