Skip to content

Conversation

@SynnekOG
Copy link

@SynnekOG SynnekOG commented Oct 7, 2025

Overview

This PR enhances the MultiSigContractV2 by introducing new storage mappings and structures to manage signer information and attestation tracking. These changes lay the groundwork for more advanced signer coordination and transaction attestation mechanisms within the contract.


🔍 Summary of Changes

🧩 New Additions

  • Signer Management

    • mapping(address => SignerInfo) public signerInfo;
      → Associates each signer address with its corresponding signer metadata structure.
    • EnumerableSet.AddressSet private activeSigners;
      → Tracks all currently active signers in the system, improving signer iteration and validation capabilities.
  • Attestation Tracking

    • mapping(address => mapping(uint256 => uint64)) public signerToAttestationId;
      → Records the attestation ID for each signer per transaction.
    • mapping(uint256 => uint64[]) public transactionAttestations;
      → Maps transaction IDs to all associated attestation IDs for that transaction.
  • Code Formatting

    • Executed forge fmt for consistent code style and readability.

🧠 Motivation

These mappings are critical for enabling structured management of signers and attestations within the multi-signature contract.
They allow for:

  • Fine-grained signer management: Quickly check signer status, participation, and metadata.
  • Transparent attestation tracking: Maintain a verifiable record of signer attestations for each transaction.
  • Improved maintainability: Provides a clearer structure for extending contract logic in future upgrades.

🧾 Implementation Details

File modified:

  • src/MultiSigContractV2.sol

Changes include:

/// @notice Signer management
mapping(address => SignerInfo) public signerInfo;
EnumerableSet.AddressSet private activeSigners;

/// @notice Attestation tracking
mapping(address => mapping(uint256 => uint64)) public signerToAttestationId;
mapping(uint256 => uint64[]) public transactionAttestations;

@2PykeETH 2PykeETH self-requested a review October 7, 2025 15:03
@2PykeETH 2PykeETH added documentation Improvements or additions to documentation enhancement New feature or request labels Oct 7, 2025
@2PykeETH 2PykeETH merged commit 1b138b7 into CraftMeme:main Oct 7, 2025
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants