PeggyJV / steward

Eth Contract Monitor
Apache License 2.0
31 stars 18 forks source link

Additions for Strategists #266

Closed cbrit closed 3 months ago

cbrit commented 4 months ago

Summary by CodeRabbit

coderabbitai[bot] commented 4 months ago

Walkthrough

The updates to the documentation and codebase reflect a significant reorganization and enhancement of the Steward functionality. Key changes include a transition from the "Encode Mode" focus to detailed sections on testing, development, and production. The introduction of a new simulation mode, alongside the restructuring of command handling for governance calls, streamlines the process for strategists and enhances the clarity of operational requirements. Overall, these changes improve usability and expand capabilities within the Steward framework.

Changes

Files Summary
docs/06-StewardForStrategists.md Restructured to emphasize Testing, Development, and Production; introduced SimulateRequest/Response.
docs/07-StrategistsProposals.md Outlined requirements for strategists to register as Publishers; included governance proposal processes.
src/commands.rs Added CorkProposal enum variant to StewardCmd for handling cork proposals.
src/commands/cork_proposal.rs Enhanced CorkProposalCmd with AddManagedCellarIDs and AddAxelarManagedCellarIDs commands.
src/commands/cork_proposal/add_axelar_managed_cellar_ids.rs Introduced command for JSON proposal related to Axelar managed cellar IDs.
src/commands/cork_proposal/add_managed_cellar_ids.rs Defined command for adding managed cellar IDs, including validation logic.
src/commands/cork_proposal/cellar_v2_2/*.rs Refactored governance calls to encapsulate function calls within a CallType, improving structure.
src/commands/cork_proposal/cellar_v2_5/*.rs Updated command implementations to target V2.5 cellar contract, enhancing governance call structure.
src/commands/pubsub.rs Added AddPublisher command variant to PubsubCmd, expanding publisher management.
src/commands/pubsub/add_publisher.rs Introduced command for adding a publisher, including CA certificate validation and proposal generation.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Steward
    participant Tenderly
    participant Sommelier

    User->>Steward: Send SimulateRequest
    Steward->>Tenderly: Request transaction simulation
    Tenderly-->>Steward: Return simulated transaction result
    Steward-->>User: Send SimulateResponse with results

    User->>Steward: Send governance proposal
    Steward->>Sommelier: Submit proposal for approval
    Sommelier-->>Steward: Acknowledge proposal reception
    Steward-->>User: Confirm proposal submission
sequenceDiagram
    participant User
    participant Pubsub
    participant CA_Certificate

    User->>Pubsub: AddPublisher command
    Pubsub->>CA_Certificate: Validate CA certificate
    CA_Certificate-->>Pubsub: Confirm certificate validity
    Pubsub-->>User: Generate AddPublisherProposal JSON

Recent review details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
Commits Files that changed from the base of the PR and between a787143ffd3da498ef7c626cd9197338db39cad6 and c026046bd0ff36b222f6dbec20f55bd58ae88457.
Files ignored due to path filters (2) * `Cargo.lock` is excluded by `!**/*.lock`, `!**/*.lock` * `Cargo.toml` is excluded by `!**/*.toml`
Files selected for processing (27) * docs/06-StewardForStrategists.md (2 hunks) * docs/07-StrategistsProposals.md (1 hunks) * src/commands.rs (2 hunks) * src/commands/cork_proposal.rs (3 hunks) * src/commands/cork_proposal/add_axelar_managed_cellar_ids.rs (1 hunks) * src/commands/cork_proposal/add_managed_cellar_ids.rs (1 hunks) * src/commands/cork_proposal/cellar_v2_2/add_adaptor_to_catalogue.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_2/add_position_to_catalogue.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_2/force_position_out.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_2/initiate_shutdown.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_2/lift_shutdown.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_2/set_rebalance_deviation.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_2/set_share_lock_period.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_2/set_strategist_platform_cut.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_2/toggle_ignore_pause.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/add_adaptor_to_catalogue.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/add_position_to_catalogue.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/cache_price_router.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/force_position_out.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/increase_share_supply_cap.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/set_automation_actions.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/set_rebalance_deviation.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/set_share_price_oracle.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/set_strategist_platform_cut.rs (2 hunks) * src/commands/cork_proposal/cellar_v2_5/toggle_ignore_pause.rs (2 hunks) * src/commands/pubsub.rs (2 hunks) * src/commands/pubsub/add_publisher.rs (1 hunks)
Additional context used
LanguageTool
docs/07-StrategistsProposals.md
[uncategorized] ~5-~5: Did you mean “its” (the possessive pronoun)? Context: ...d signature contained in the request to it's trust cache to authenticate the strateg... (ITS_PREMIUM) --- [style] ~23-~23: You can shorten this phrase to avoid wordiness. Context: ... that the party submitting the proposal is the owner of the domain. It should be the full path ... (BE_THE_MAKER_OF_WORDINESS)
docs/06-StewardForStrategists.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing. Context: ...b=readme-ov-file#installation). You may need to build from source if you are planning t... (REP_NEED_TO_VB) --- [uncategorized] ~27-~27: Did you mean: “By default,”? Context: ...steward encode start --encode-only ``` By default the server will run on port 5734. ### ... (BY_DEFAULT_COMMA) --- [uncategorized] ~73-~73: Possible missing comma found. Context: ... API is defined in a number of protobuf files which can be used to generate client co... (AI_HYDRA_LEO_MISSING_COMMA)
Markdownlint
docs/06-StewardForStrategists.md
85-85: null No empty links (MD042, no-empty-links) --- 87-87: null No empty links (MD042, no-empty-links) --- 88-88: null No empty links (MD042, no-empty-links)
Additional comments not posted (61)
src/commands/pubsub.rs (2)
`1-1`: **Import the new `add_publisher` module.** The new module `add_publisher` is correctly imported. --- `12-12`: **Add the new `AddPublisher` variant to the `PubsubCmd` enum.** The new variant `AddPublisher` is correctly added to the `PubsubCmd` enum. However, ensure that all usages of the `PubsubCmd` enum are updated to handle the new variant.
src/commands/cork_proposal/add_axelar_managed_cellar_ids.rs (2)
`1-2`: **Import necessary modules.** The necessary modules `abscissa_core` and `somm_proto` are correctly imported. --- `4-20`: **Define the `AddAxelarManagedCellarIDsCmd` struct.** The struct `AddAxelarManagedCellarIDsCmd` is correctly defined with appropriate fields and attributes.
src/commands/cork_proposal/add_managed_cellar_ids.rs (2)
`1-2`: **Import necessary modules.** The necessary modules `abscissa_core` and `somm_proto` are correctly imported. --- `4-16`: **Define the `AddManagedCellarIDsCmd` struct.** The struct `AddManagedCellarIDsCmd` is correctly defined with appropriate fields and attributes.
src/commands/pubsub/add_publisher.rs (3)
`1-5`: **LGTM!** The import statements are appropriate and necessary for the functionality provided in this file. --- `12-24`: **LGTM!** The struct definition is clear and well-documented with appropriate comments for each field. --- `39-55`: **LGTM!** The overall structure of the `run` method is clear and well-organized.
src/commands/cork_proposal/cellar_v2_2/initiate_shutdown.rs (3)
Line range hint `1-14`: **LGTM!** The import statements are appropriate and necessary for the functionality provided in this file. --- Line range hint `17-27`: **LGTM!** The struct definition is clear and well-documented with appropriate comments for each field. --- Line range hint `49-56`: **LGTM!** The overall structure of the `run` method is clear and well-organized.
src/commands/cork_proposal/cellar_v2_2/lift_shutdown.rs (3)
Line range hint `1-14`: **LGTM!** The import statements are appropriate and necessary for the functionality provided in this file. --- Line range hint `17-27`: **LGTM!** The struct definition is clear and well-documented with appropriate comments for each field. --- Line range hint `50-56`: **LGTM!** The overall structure of the `run` method is clear and well-organized.
src/commands/cork_proposal/cellar_v2_5/toggle_ignore_pause.rs (2)
`7-14`: **LGTM! Import changes are correct.** The new imports `Function`, `CallType`, and `FunctionCall` are necessary for the updated governance call structure. --- `50-52`: **LGTM! Governance call structure improved.** The new structure encapsulates the function call within `CallType::FunctionCall`, enhancing flexibility and organization.
src/commands/cork_proposal/cellar_v2_2/toggle_ignore_pause.rs (3)
`7-14`: **LGTM! Import changes are correct.** The new imports `Function`, `CallType`, and `FunctionCall` are necessary for the updated governance call structure. --- `16-16`: **LGTM! New field `ignore` added correctly.** The new field `ignore` is correctly added to the `ToggleIgnorePauseCmd` struct and used in the function call. --- `54-57`: **LGTM! Governance call structure improved and `ignore` field used correctly.** The new structure encapsulates the function call within `CallType::FunctionCall`, and the `ignore` field is correctly used in the function call.
src/commands/cork_proposal/cellar_v2_5/increase_share_supply_cap.rs (2)
`2-4`: **LGTM! Import changes are correct.** The new imports `Function`, `CallType`, and `FunctionCall` are necessary for the updated governance call structure. --- `54-57`: **LGTM! Governance call structure improved.** The new structure encapsulates the function call within `CallType::FunctionCall`, enhancing flexibility and organization.
src/commands/cork_proposal/cellar_v2_5/add_position_to_catalogue.rs (2)
`2-4`: **Imports look good.** The new imports are necessary to support the updated structure of `GovernanceCall`. --- `54-57`: **LGTM! The new structure improves clarity and extensibility.** Encapsulating the function call within a `FunctionCall` structure is a good design choice.
src/commands/cork_proposal/cellar_v2_2/add_position_to_catalogue.rs (2)
`2-4`: **Imports look good.** The new imports are necessary to support the updated structure of `GovernanceCall`. --- `54-57`: **LGTM! The new structure improves clarity and extensibility.** Encapsulating the function call within a `FunctionCall` structure is a good design choice.
src/commands/cork_proposal/cellar_v2_5/set_strategist_platform_cut.rs (2)
`12-14`: **Imports look good.** The new imports are necessary to support the updated structure of `GovernanceCall`. --- `54-58`: **LGTM! The new structure improves clarity and extensibility.** Encapsulating the function call within a `FunctionCall` structure is a good design choice.
src/commands/cork_proposal/cellar_v2_2/set_share_lock_period.rs (2)
`7-8`: **LGTM! Import reorganization improves modularity and readability.** The new imports align with the updated structure of governance calls. --- `59-62`: **LGTM! Enhanced encapsulation and modularity.** The new structure for `GovernanceCall` using `CallType::FunctionCall` and `FunctionCall` enhances encapsulation and modularity. However, ensure that all usages of `GovernanceCall` are updated to match the new structure.
Verification successful --- **All usages of `GovernanceCall` have been updated to match the new structure.** The new structure for `GovernanceCall` using `CallType::FunctionCall` and `FunctionCall` is consistently applied across the codebase. - src/utils.rs - src/error.rs - src/cork/proposals.rs - src/cellars/cellar_v2_2.rs - src/cellars/cellar_v2_5.rs - src/commands/cork_proposal.rs - src/commands/cork_proposal/cellar_v2_2/lift_shutdown.rs - src/commands/cork_proposal/cellar_v2_2/initiate_shutdown.rs - src/commands/cork_proposal/cellar_v2_2/set_share_lock_period.rs - src/commands/cork_proposal/cellar_v2_5/set_strategist_platform_cut.rs - src/commands/cork_proposal/cellar_v2_5/set_share_price_oracle.rs - src/commands/cork_proposal/cellar_v2_5/set_rebalance_deviation.rs - src/commands/cork_proposal/cellar_v2_5/set_automation_actions.rs - src/commands/cork_proposal/cellar_v2_5/increase_share_supply_cap.rs - src/commands/cork_proposal/cellar_v2_5/force_position_out.rs - src/commands/cork_proposal/cellar_v2_5/cache_price_router.rs - src/commands/cork_proposal/cellar_v2_2/toggle_ignore_pause.rs - src/commands/cork_proposal/cellar_v2_5/add_position_to_catalogue.rs - src/commands/cork_proposal/cellar_v2_2/add_position_to_catalogue.rs - src/commands/cork_proposal/cellar_v2_5/add_adaptor_to_catalogue.rs - src/commands/cork_proposal/cellar_v2_2/add_adaptor_to_catalogue.rs - src/commands/cork_proposal/cellar_v2_2/force_position_out.rs - crates/steward-proto/src/gen/steward.v4.rs
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all usages of `GovernanceCall` match the new structure. # Test: Search for the `GovernanceCall` usage. Expect: Only occurrences of the new structure. rg --type rust -A 5 $'GovernanceCall' ``` Length of output: 57408
src/commands/cork_proposal/cellar_v2_5/set_rebalance_deviation.rs (2)
`2-4`: **LGTM! Import reorganization improves modularity and readability.** The new imports align with the updated structure of governance calls. --- `60-63`: **LGTM! Enhanced encapsulation and modularity.** The new structure for `GovernanceCall` using `CallType::FunctionCall` and `FunctionCall` enhances encapsulation and modularity. However, ensure that all usages of `GovernanceCall` are updated to match the new structure.
Verification successful --- **Verification Successful: All usages of `GovernanceCall` match the new structure.** The new structure for `GovernanceCall` using `CallType::FunctionCall` and `FunctionCall` is consistently applied across the codebase. - Instances found in multiple files such as `src/commands/cork_proposal/cellar_v2_5/set_rebalance_deviation.rs`, `src/commands/cork_proposal/cellar_v2_2/add_adaptor_to_catalogue.rs`, and others confirm the correct usage.
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all usages of `GovernanceCall` match the new structure. # Test: Search for the `GovernanceCall` usage. Expect: Only occurrences of the new structure. rg --type rust -A 5 $'GovernanceCall' ``` Length of output: 57408
src/commands/cork_proposal/cellar_v2_2/set_rebalance_deviation.rs (2)
`7-8`: **LGTM! Import reorganization improves modularity and readability.** The new imports align with the updated structure of governance calls. --- `59-62`: **LGTM! Enhanced encapsulation and modularity.** The new structure for `GovernanceCall` using `CallType::FunctionCall` and `FunctionCall` enhances encapsulation and modularity. However, ensure that all usages of `GovernanceCall` are updated to match the new structure.
src/commands/cork_proposal/cellar_v2_2/set_strategist_platform_cut.rs (2)
`12-14`: **New imports are necessary and correctly used.** The new imports for `Function`, `CallType`, and `FunctionCall` are necessary for the updated `GovernanceCall` structure and are correctly used in the code. --- `54-60`: **LGTM! But verify the function usage in the codebase.** The `GovernanceCall` structure has been correctly updated to use `FunctionCall` and `CallType`. The changes maintain the intended functionality. However, ensure that all function calls to `GovernanceCall` match the new structure.
Verification successful --- **LGTM! But verify the function usage in the codebase.** The `GovernanceCall` structure has been correctly updated to use `FunctionCall` and `CallType`. The changes maintain the intended functionality. However, ensure that all function calls to `GovernanceCall` match the new structure. Based on the search results, all occurrences of `GovernanceCall` have been updated to the new structure with `FunctionCall` and `CallType`. - Instances in `src/commands/cork_proposal/cellar_v2_2/set_strategist_platform_cut.rs` and other files show the correct usage of `FunctionCall` and `CallType`. - No discrepancies were found in the usage of the updated `GovernanceCall` structure.
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all function calls to `GovernanceCall` match the new structure. # Test: Search for the function usage. Expect: Only occurrences of the new structure. rg --type rust -A 5 $'GovernanceCall' ``` Length of output: 57408
src/commands/cork_proposal/cellar_v2_2/add_adaptor_to_catalogue.rs (2)
`2-4`: **New imports are necessary and correctly used.** The new imports for `Function`, `CallType`, and `FunctionCall` are necessary for the updated `GovernanceCall` structure and are correctly used in the code. --- `59-62`: **LGTM! But verify the function usage in the codebase.** The `GovernanceCall` structure has been correctly updated to use `FunctionCall` and `CallType`. The changes maintain the intended functionality. However, ensure that all function calls to `GovernanceCall` match the new structure.
Verification successful --- **Function usage verified successfully.** The function calls to `GovernanceCall` match the new structure consistently across the codebase. - Verified instances in files such as `src/commands/cork_proposal/cellar_v2_2/add_adaptor_to_catalogue.rs`, `src/commands/cork_proposal/cellar_v2_2/set_strategist_platform_cut.rs`, and many others.
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all function calls to `GovernanceCall` match the new structure. # Test: Search for the function usage. Expect: Only occurrences of the new structure. rg --type rust -A 5 $'GovernanceCall' ``` Length of output: 57408
src/commands/cork_proposal/cellar_v2_5/add_adaptor_to_catalogue.rs (2)
`2-4`: **New imports are necessary and correctly used.** The new imports for `Function`, `CallType`, and `FunctionCall` are necessary for the updated `GovernanceCall` structure and are correctly used in the code. --- `58-62`: **LGTM! But verify the function usage in the codebase.** The `GovernanceCall` structure has been correctly updated to use `FunctionCall` and `CallType` and now targets V2.5 cellar contracts. The changes maintain the intended functionality. However, ensure that all function calls to `GovernanceCall` match the new structure.
Verification successful **Verify `GovernanceCall` structure conformity** The `GovernanceCall` structure needs to be verified across all instances to ensure they match the new format with `CallType` and `FunctionCall`. --- **Verified: `GovernanceCall` structure conformity** The `GovernanceCall` structure has been correctly updated to use `CallType::FunctionCall` and `FunctionCall` across the codebase. - Instances in the following files confirm the new structure: - `src/cellars/cellar_v2_5.rs` - `src/cellars/cellar_v2_2.rs` - `src/commands/cork_proposal/cellar_v2_5/toggle_ignore_pause.rs` - `src/commands/cork_proposal/cellar_v2_5/set_strategist_platform_cut.rs` - `src/commands/cork_proposal/cellar_v2_5/set_share_price_oracle.rs` - `src/commands/cork_proposal/cellar_v2_5/set_rebalance_deviation.rs` - `src/commands/cork_proposal/cellar_v2_5/set_automation_actions.rs` - `src/commands/cork_proposal/cellar_v2_5/increase_share_supply_cap.rs` - `src/commands/cork_proposal/cellar_v2_5/cache_price_router.rs` - `src/commands/cork_proposal/cellar_v2_5/add_adaptor_to_catalogue.rs` - `src/commands/cork_proposal/cellar_v2_5/add_position_to_catalogue.rs` - `src/commands/cork_proposal/cellar_v2_5/force_position_out.rs` - `src/commands/cork_proposal/cellar_v2_2/set_strategist_platform_cut.rs` - `src/commands/cork_proposal/cellar_v2_2/toggle_ignore_pause.rs` - `src/commands/cork_proposal/cellar_v2_2/lift_shutdown.rs` - `src/commands/cork_proposal/cellar_v2_2/initiate_shutdown.rs` - `src/commands/cork_proposal/cellar_v2_2/force_position_out.rs` - `src/commands/cork_proposal/cellar_v2_2/add_adaptor_to_catalogue.rs` - `src/commands/cork_proposal/cellar_v2_2/set_rebalance_deviation.rs` - `src/commands/cork_proposal/cellar_v2_2/set_share_lock_period.rs` - `src/commands/cork_proposal/cellar_v2_2/add_position_to_catalogue.rs`
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all function calls to `GovernanceCall` match the new structure. # Test: Search for the function usage. Expect: Only occurrences of the new structure. rg --type rust -A 5 $'GovernanceCall' ``` Length of output: 57408 --- Script: ```shell #!/bin/bash # Verify that all instances of GovernanceCall match the new structure with CallType and FunctionCall. # Check for instances of GovernanceCall with the new structure rg --type rust -A 10 'GovernanceCall' | grep -E 'CallType::FunctionCall|FunctionCall' ``` Length of output: 3954
src/commands/cork_proposal/cellar_v2_2/force_position_out.rs (1)
`62-67`: **LGTM! But verify the consistent usage of the new structure.** The changes improve the clarity and extensibility of the governance call mechanism. However, ensure that the new `CallType` structure is used consistently across the codebase.
Verification successful --- **The new `CallType` structure is used consistently across the codebase.** The changes are correctly integrated, and the new abstraction improves the clarity and extensibility of the governance call mechanism. - Instances found in multiple files such as `cellar_v2_5.rs`, `toggle_ignore_pause.rs`, `set_strategist_platform_cut.rs`, and others. - Each instance follows the same pattern, confirming the consistent usage.
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify the consistent usage of the new `CallType` structure. # Test: Search for the usage of `CallType::FunctionCall`. Expect: Only occurances of the new structure. rg --type rust -A 5 $'CallType::FunctionCall' ``` Length of output: 15154
src/commands/cork_proposal/cellar_v2_5/force_position_out.rs (1)
`62-67`: **LGTM! But verify the consistent usage of the new structure.** The changes improve the clarity and extensibility of the governance call mechanism. However, ensure that the new `CallType` structure is used consistently across the codebase.
Verification successful --- **Consistent usage of the new `CallType` structure verified.** The new `CallType::FunctionCall` structure is used consistently across the codebase, ensuring uniform application of the new abstraction. - Instances found in various files such as `cellar_v2_5.rs`, `cellar_v2_2.rs`, and multiple command files.
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify the consistent usage of the new `CallType` structure. # Test: Search for the usage of `CallType::FunctionCall`. Expect: Only occurances of the new structure. rg --type rust -A 5 $'CallType::FunctionCall' ``` Length of output: 15154
src/commands/cork_proposal/cellar_v2_5/cache_price_router.rs (1)
`67-72`: **LGTM! But verify the consistent usage of the new structure.** The changes improve the clarity and extensibility of the governance call mechanism. However, ensure that the new `CallType` structure is used consistently across the codebase.
Verification successful --- **Verified: Consistent usage of the new `CallType` structure.** The new `CallType` structure is used consistently across the codebase, as evidenced by its presence in multiple files and contexts. - `src/cellars/cellar_v2_2.rs` - `src/cellars/cellar_v2_5.rs` - `src/commands/cork_proposal/cellar_v2_5/add_adaptor_to_catalogue.rs` - `src/commands/cork_proposal/cellar_v2_5/set_automation_actions.rs` - `src/commands/cork_proposal/cellar_v2_2/lift_shutdown.rs` - `src/commands/cork_proposal/cellar_v2_5/toggle_ignore_pause.rs` - `src/commands/cork_proposal/cellar_v2_2/toggle_ignore_pause.rs` - `src/commands/cork_proposal/cellar_v2_2/set_strategist_platform_cut.rs` - `src/commands/cork_proposal/cellar_v2_2/set_share_lock_period.rs` - `src/commands/cork_proposal/cellar_v2_5/increase_share_supply_cap.rs` - `src/commands/cork_proposal/cellar_v2_2/initiate_shutdown.rs` - `src/commands/cork_proposal/cellar_v2_2/add_position_to_catalogue.rs` - `src/commands/cork_proposal/cellar_v2_2/set_rebalance_deviation.rs` - `src/commands/cork_proposal/cellar_v2_5/set_rebalance_deviation.rs` - `src/commands/cork_proposal/cellar_v2_5/force_position_out.rs` - `src/commands/cork_proposal/cellar_v2_5/add_position_to_catalogue.rs` - `src/commands/cork_proposal/cellar_v2_2/force_position_out.rs` - `src/commands/cork_proposal/cellar_v2_5/set_share_price_oracle.rs` - `src/commands/cork_proposal/cellar_v2_2/add_adaptor_to_catalogue.rs` - `src/commands/cork_proposal/cellar_v2_5/cache_price_router.rs` - `src/commands/cork_proposal/cellar_v2_5/set_strategist_platform_cut.rs`
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify the consistent usage of the new `CallType` structure. # Test: Search for the usage of `CallType::FunctionCall`. Expect: Only occurances of the new structure. rg --type rust -A 5 $'CallType::FunctionCall' ``` Length of output: 15154
src/commands/cork_proposal/cellar_v2_5/set_share_price_oracle.rs (2)
`2-4`: **New imports look good.** The new imports for `FunctionCall`, `CallType`, and `Function` are necessary for the changes made in the file. --- `69-73`: **Encapsulation of function call looks good.** The changes to encapsulate the `SetSharePriceOracle` function call within a `FunctionCall` structure associated with a `CallType` are correct and improve the clarity and extensibility of the code. However, ensure that the new structure of `GovernanceCall` is correctly handled throughout the codebase.
Verification successful --- **Ensure the new structure of `GovernanceCall` is correctly handled throughout the codebase.** The search results indicate that the new structure of `GovernanceCall` is being used consistently across various files. Here are some specific locations where the new structure is applied: - `src/commands/cork_proposal/cellar_v2_5/set_share_price_oracle.rs` - `src/commands/cork_proposal/cellar_v2_5/add_adaptor_to_catalogue.rs` - `src/commands/cork_proposal/cellar_v2_5/set_strategist_platform_cut.rs` - `src/commands/cork_proposal/cellar_v2_2/initiate_shutdown.rs` - `src/commands/cork_proposal/cellar_v2_2/toggle_ignore_pause.rs` - `src/commands/cork_proposal/cellar_v2_2/set_share_lock_period.rs` - `src/commands/cork_proposal/cellar_v2_2/set_rebalance_deviation.rs` Ensure that these changes are correctly integrated and tested across the codebase to maintain consistency and functionality.
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify that the new structure of `GovernanceCall` is correctly handled throughout the codebase. # Test: Search for the usage of `GovernanceCall`. Expect: Only occurrences of the new structure. rg --type rust -A 5 $'GovernanceCall' ``` Length of output: 57408
src/commands/cork_proposal/cellar_v2_5/set_automation_actions.rs (2)
`2-4`: **New imports look good.** The new imports for `FunctionCall`, `CallType`, and `Function` are necessary for the changes made in the file. --- `72-76`: **Encapsulation of function call looks good.** The changes to encapsulate the `SetAutomationActions` function call within a `FunctionCall` structure associated with a `CallType` are correct and improve the clarity and extensibility of the code. However, ensure that the new structure of `GovernanceCall` is correctly handled throughout the codebase.
Verification successful --- **The new structure of `GovernanceCall` is correctly handled throughout the codebase.** The changes to encapsulate the `SetAutomationActions` function call within the `FunctionCall` structure associated with a `CallType` are consistently applied across the codebase. - `src/commands/cork_proposal/cellar_v2_5/set_automation_actions.rs` - Other relevant files where `GovernanceCall` is used.
Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify that the new structure of `GovernanceCall` is correctly handled throughout the codebase. # Test: Search for the usage of `GovernanceCall`. Expect: Only occurrences of the new structure. rg --type rust -A 5 $'GovernanceCall' ``` Length of output: 57408
src/commands.rs (2)
`15-15`: **New module inclusion looks good.** The inclusion of the `cork_proposal` module is necessary for the changes made in the file. --- `58-59`: **New enum variant looks good.** The addition of the `CorkProposal` variant to the `StewardCmd` enum is correct and enhances the command structure.
src/commands/cork_proposal.rs (4)
`2-2`: **New module `add_axelar_managed_cellar_ids` added.** The addition of this module suggests new functionality related to managing Axelar Cellar IDs. Ensure it is correctly imported and utilized. --- `3-3`: **New module `add_managed_cellar_ids` added.** The addition of this module suggests new functionality related to managing Cellar IDs. Ensure it is correctly imported and utilized. --- `15-16`: **New commands `AddAxelarManagedCellarIDsCmd` and `AddManagedCellarIDsCmd` imported.** The imports are correctly added for the new commands. Ensure they are utilized properly within the code. --- `28-33`: **New commands added to `CorkProposalCmd` enum.** The `CorkProposalCmd` enum is correctly expanded with the new commands `AddManagedCellarIDs` and `AddAxelarManagedCellarIDs`. Ensure their usage is consistent with the existing command structure.
docs/07-StrategistsProposals.md (4)
`1-7`: **Clear and informative introduction.** The introduction provides a clear overview of the requirements for strategists to create a Publisher entity on the Sommelier chain. Ensure that all the details are accurate and up-to-date.
Tools
LanguageTool
[uncategorized] ~5-~5: Did you mean “its” (the possessive pronoun)? Context: ...d signature contained in the request to it's trust cache to authenticate the strateg... (ITS_PREMIUM)
--- `9-15`: **Clear instructions for registering as a Publisher.** The section provides clear steps to register as a Publisher, including a correct command example. Ensure that the steps are accurate and easy to follow. --- `33-56`: **Clear instructions for adding managed cellars.** The section provides clear commands, examples, and output for adding managed cellars. Ensure that the information is accurate and easy to follow. --- `60-80`: **Clear instructions for adding Axelar managed cellars.** The section provides clear commands, examples, and output for adding Axelar managed cellars. Ensure that the information is accurate and easy to follow.
docs/06-StewardForStrategists.md (4)
Line range hint `1-7`: **Clear installation instructions.** The section provides clear installation steps for the steward. Ensure that the information is accurate and easy to follow.
Tools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing. Context: ...b=readme-ov-file#installation). You may need to build from source if you are planning t... (REP_NEED_TO_VB) --- [uncategorized] ~27-~27: Did you mean: “By default,”? Context: ...steward encode start --encode-only ``` By default the server will run on port 5734. ### ... (BY_DEFAULT_COMMA)
--- `9-28`: **Clear instructions for testing and development.** The section provides clear information on running steward locally for testing and development, including simulation mode features. Ensure that the information is accurate and easy to follow.
Tools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing. Context: ...b=readme-ov-file#installation). You may need to build from source if you are planning t... (REP_NEED_TO_VB) --- [uncategorized] ~27-~27: Did you mean: “By default,”? Context: ...steward encode start --encode-only ``` By default the server will run on port 5734. ### ... (BY_DEFAULT_COMMA)
--- `32-60`: **Clear instructions for sending requests.** The section provides clear information on sending requests to the simulate server, including examples and output. Ensure that the information is accurate and easy to follow. --- `69-94`: **Clear instructions for production use.** The section provides clear information on using steward in production, including prerequisites and examples. Ensure that the information is accurate and easy to follow.
Tools
LanguageTool
[uncategorized] ~73-~73: Possible missing comma found. Context: ... API is defined in a number of protobuf files which can be used to generate client co... (AI_HYDRA_LEO_MISSING_COMMA)
Markdownlint
85-85: null No empty links (MD042, no-empty-links) --- 87-87: null No empty links (MD042, no-empty-links) --- 88-88: null No empty links (MD042, no-empty-links)
--- Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): > :bangbang: **IMPORTANT** > Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged. - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
cbrit commented 3 months ago

Closes #254