feat: add timelock proposal helper #585
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new method for querying the current operation count from the on-chain MCMS contract, along with supporting infrastructure to facilitate testing. The changes include the addition of the
GetOpCountmethod to theTimelockProposalstruct, a testable factory for building chain inspectors, and comprehensive unit tests for the new method.New functionality and testability:
GetOpCountmethod toTimelockProposal, allowing retrieval of the current operation count from the on-chain MCMS contract for a given chain selector. This method uses a factory to build the appropriate chain inspector and supports error handling for missing metadata and factory errors.inspectorFactoryvariable and its supporting types, enabling injection of mock inspectors during testing and simplifying test setup for different chain families.Testing improvements:
TestTimelockProposal_GetOpCountunit test, which covers successful retrieval, missing metadata, and factory error cases, and demonstrates the use of the overrideable inspector factory for cleaner, more robust tests.Dependency and import updates:
timelock_proposal.goandtimelock_proposal_test.goto include the newchainaccesspackage and reorganized mock imports for clarity and correctness. [1] [2]