Closed cbrit closed 3 months ago
The changes involve significant updates to several components, primarily focusing on enhancing address validation and transaction handling. Key modifications include the introduction of a new invalidation_scope
field in the ScheduleResponse
, and improvements to the to_checksum_address
function, which now returns additional data. These alterations improve data processing capabilities, provide more context for transaction invalidation, and ensure better error handling across various modules.
File | Change Summary |
---|---|
proto/steward/v4/steward.proto |
Added a new field invalidation_scope to ScheduleResponse , enhancing transaction invalidation context. |
src/cellars.rs , src/cork.rs , src/cork/client.rs , src/pubsub.rs |
Updated to_checksum_address function to return a tuple, altering the handling of cellar_id in related functions. Improved error handling and control flow. |
src/cork.rs |
Introduced a new invalidation_scope function for calculating the scope based on contract address and encoded call. |
src/cork.rs |
Updated ContractCallService to include invalidation_scope in ScheduleResponse , improving response context. |
src/cork.rs |
Added tests for the new invalidation_scope function to ensure correctness. |
proto/steward/v4/steward.proto (1)
`71-72`: **Ensure the new field `invalidation_scope` is correctly documented and integrated.** The new field `invalidation_scope` is added to the `ScheduleResponse` message. Ensure that this field is correctly documented and integrated into the system.src/cork/client.rs (2)
`49-52`: **Verify the handling of the tuple returned by `to_checksum_address`.** The `to_checksum_address` function now returns a tuple. Ensure that the unused second value is handled appropriately and does not introduce any issues. --- `64-67`: **Verify the handling of the tuple returned by `to_checksum_address`.** The `to_checksum_address` function now returns a tuple. Ensure that the unused second value is handled appropriately and does not introduce any issues.src/pubsub.rs (1)
`92-94`: **Verify the handling of the tuple returned by `to_checksum_address`.** The `to_checksum_address` function now returns a tuple. Ensure that the unused second value is handled appropriately and does not introduce any issues.src/cork.rs (4)
`306-311`: **LGTM!** The test case for `invalidation_scope` is well-written and ensures the correctness of the function. --- `50-50`: **Ensure proper handling of `to_checksum_address` output.** The `to_checksum_address` function now returns a tuple. Ensure that both elements of the tuple are correctly utilized.Verification successful
--- **Ensure proper handling of `to_checksum_address` output.** The `to_checksum_address` function's tuple output is correctly handled in all instances found. Each usage assigns the tuple to variables and uses the first element or explicitly ignores the second element. - `src/pubsub.rs`: Line 50 - `src/cork.rs`: Line 50 - `src/cellars.rs`: Line 50 - `src/cork/client.rs`: Line 50--- `275-284`: **LGTM! But verify the function usage in the codebase.** The code changes are approved. However, ensure that all function calls to `invalidation_scope` match the new signature.Scripts executed
The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all usages of `to_checksum_address` to ensure they handle the tuple output correctly. # Test: Search for the function usage. Expect: Proper handling of the tuple elements. rg --type rust -A 5 $'to_checksum_address' ``` Length of output: 3380Verification successful
--- The function `invalidation_scope` is used in multiple places in `src/cork.rs`. The occurrences in the output appear to be consistent with the new signature. The occurrence in `crates/steward-proto/src/gen/steward.v4.rs` is a field in a struct and not related to the function. **All function calls to `invalidation_scope` match the new signature.** - `src/cork.rs`: Function usage and test case are consistent with the new signature.--- `95-105`: **LGTM! But verify the function usage in the codebase.** The code changes are approved. However, ensure that all function calls to `invalidation_scope` match the new signature.Scripts executed
The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all function calls to `invalidation_scope` match the new signature. # Test: Search for the function usage. Expect: Only occurrences of the new signature. rg --type rust -A 5 $'invalidation_scope' ``` Length of output: 1727Verification successful
--- **Verification successful!** All function calls to `invalidation_scope` match the new signature. - `src/cork.rs`: The calls to `invalidation_scope` correctly use the new signature.Scripts executed
The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all function calls to `invalidation_scope` match the new signature. # Test: Search for the function usage. Expect: Only occurrences of the new signature. rg --type rust -A 5 $'invalidation_scope' ``` Length of output: 1727src/cellars.rs (2)
Line range hint `397-409`: **LGTM! But verify the function usage in the codebase.** The code changes are approved. However, ensure that all function calls to `to_checksum_address` match the new signature.Verification successful
--- **Function usage verification complete and correct** The function `to_checksum_address` is used in multiple files, and all instances correctly handle the new tuple return type by destructuring the result into two variables. - `src/cellars.rs`: Line 403 - `src/cork.rs`: Line 397 - `src/pubsub.rs`: Line 403 - `src/cork/client.rs`: Lines 397, 403--- `375-375`: **Ensure proper handling of `to_checksum_address` output.** The `to_checksum_address` function now returns a tuple. Ensure that both elements of the tuple are correctly utilized.Scripts executed
The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all function calls to `to_checksum_address` match the new signature. # Test: Search for the function usage. Expect: Only occurrences of the new signature. rg --type rust -A 5 $'to_checksum_address' ``` Length of output: 3380Verification successful
--- **Ensure proper handling of `to_checksum_address` output.** The `to_checksum_address` function now returns a tuple, and the code correctly handles both elements of the tuple across different files. The first element is always used, and the second element is either utilized or explicitly ignored as needed. - `src/pubsub.rs`: Correctly handles the tuple. - `src/cellars.rs`: Correctly handles the tuple. - `src/cork.rs`: Correctly handles the tuple. - `src/cork/client.rs`: Correctly handles the tuple.Scripts executed
The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify all usages of `to_checksum_address` to ensure they handle the tuple output correctly. # Test: Search for the function usage. Expect: Proper handling of the tuple elements. rg --type rust -A 5 $'to_checksum_address' ``` Length of output: 3380
This is a feature needed for the proposed relayer changes to allow strategists to request gas limits.
Summary by CodeRabbit
New Features
ScheduleResponse
for enhanced transaction invalidation context.invalidation_scope
function to compute transaction invalidation based on contract data.Bug Fixes
Refactor
to_checksum_address
function to return additional data, improving address handling.Tests
invalidation_scope
function to ensure output accuracy.