From 68608e8748ff22d97a96963c23467526232d0960 Mon Sep 17 00:00:00 2001 From: malgus01 Date: Tue, 30 Sep 2025 09:32:52 -0700 Subject: [PATCH 1/3] feat: Add Timelock for critical operations w/ Natspec Comments --- src/MultiSigContractV2.sol | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/MultiSigContractV2.sol b/src/MultiSigContractV2.sol index e8f15c6..bfff592 100644 --- a/src/MultiSigContractV2.sol +++ b/src/MultiSigContractV2.sol @@ -75,6 +75,9 @@ contract MultiSigContractV2 is Ownable, ReentrancyGuard, Pausable { /// @notice Emergency admin (can pause/unpause in emergencies) address public emergencyAdmin; + /// @notice Timelock for critical operations + uint256 public timelockDelay = TIMELOCK_DURATION; + //////////////////// // Constructor // //////////////////// From fa1fedf7992b589a220799b7563f36c5f9829c64 Mon Sep 17 00:00:00 2001 From: malgus01 Date: Tue, 30 Sep 2025 09:33:41 -0700 Subject: [PATCH 2/3] feat: Add TransactionData Struct w/ Natspec Comment --- src/MultiSigContractV2.sol | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/MultiSigContractV2.sol b/src/MultiSigContractV2.sol index bfff592..84239d6 100644 --- a/src/MultiSigContractV2.sol +++ b/src/MultiSigContractV2.sol @@ -78,6 +78,24 @@ contract MultiSigContractV2 is Ownable, ReentrancyGuard, Pausable { /// @notice Timelock for critical operations uint256 public timelockDelay = TIMELOCK_DURATION; + /** + * @notice Enhanced transaction data structure + */ + struct TransactionData { + uint256 txId; + address owner; + EnumerableSet.AddressSet signers; + EnumerableSet.AddressSet signatures; + uint256 requiredSignatures; + uint256 createdAt; + uint256 expiresAt; + uint256 executedAt; + bool executed; + bool cancelled; + string description; + bytes data; + uint256 timelockEnd; + } //////////////////// // Constructor // //////////////////// From 7a878255dc1ea4b33df0bd8a6b253822021e3107 Mon Sep 17 00:00:00 2001 From: malgus01 Date: Tue, 30 Sep 2025 09:34:02 -0700 Subject: [PATCH 3/3] feat: forge fmt --- src/MultiSigContractV2.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MultiSigContractV2.sol b/src/MultiSigContractV2.sol index 84239d6..850f033 100644 --- a/src/MultiSigContractV2.sol +++ b/src/MultiSigContractV2.sol @@ -78,7 +78,7 @@ contract MultiSigContractV2 is Ownable, ReentrancyGuard, Pausable { /// @notice Timelock for critical operations uint256 public timelockDelay = TIMELOCK_DURATION; - /** + /** * @notice Enhanced transaction data structure */ struct TransactionData {