Closed amimart closed 1 month ago
The changes primarily focus on improving the handling of gas consumption in the module, streamlining parameter management, and enhancing documentation. Key modifications include the removal of the max_gas
parameter, updates to gas usage calculations, and refinements to the logic for executing queries. These adjustments aim to simplify resource management and provide clearer guidance for users, addressing concerns about gas limits in transaction contexts.
Files | Change Summary |
---|---|
proto/logic/docs.yaml |
Enhanced documentation on query-gas-limit for managing gas usage. |
proto/logic/v1beta2/params.proto |
Removed max_gas field from Limits message, indicating a shift in gas management. |
x/logic/keeper/features/*.feature |
Updated expected gas_used values across multiple feature files. |
x/logic/keeper/grpc_query_ask.go |
Replaced gas meter handling with a "safe" implementation, refactored limit checks. |
x/logic/keeper/grpc_query_ask_test.go |
Added maxSize parameter to TestGRPCAsk , improved error handling. |
x/logic/keeper/interpreter.go |
Removed limits function, updated execute method to accept params . |
x/logic/types/genesis.go |
Removed constant DefaultIndex . |
x/logic/types/params.go |
Removed KeyInterpreter , KeyLimits , DefaultBootstrap , and WithMaxGas . |
x/logic/types/params_test.go |
Simplified TestValidateParams by removing gas limit configuration. |
sequenceDiagram
participant User
participant RPC as RPC Provider
participant Keeper as Logic Keeper
User->>RPC: Send Ask Query
RPC->>Keeper: Execute Query with Safe Gas Meter
Keeper->>Keeper: Validate Limits
Keeper->>RPC: Return Results
RPC->>User: Deliver Response
Objective | Addressed | Explanation |
---|---|---|
Remove max_gas to prevent transaction gas limit override (#[706]) |
✅ | |
Enable unlimited gas consumption by default (#[706]) | ✅ | |
Maintain gas consumption tracking without max_gas (#[706]) |
✅ |
🐰 In the meadow, changes spry,
Gas limits gone, we leap and fly!
Queries now can dance and play,
With safer paths to guide the way.
Hooray for tweaks, so bright and true,
A joyful hop, for me and you! 🌸
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?
All modified and coverable lines are covered by tests :white_check_mark:
@@ Coverage Diff @@
## main #708 +/- ##
==========================================
+ Coverage 54.23% 54.37% +0.14%
==========================================
Files 74 73 -1
Lines 2906 2893 -13
==========================================
- Hits 1576 1573 -3
+ Misses 1234 1226 -8
+ Partials 96 94 -2
Files | Coverage Δ | |
---|---|---|
x/logic/keeper/grpc_query_ask.go | 91.17% <100.00%> (+11.17%) |
:arrow_up: |
x/logic/keeper/interpreter.go | 94.73% <100.00%> (+1.63%) |
:arrow_up: |
x/logic/types/genesis.go | 100.00% <ø> (ø) |
|
x/logic/types/params.go | 94.36% <ø> (-0.38%) |
:arrow_down: |
Closes https://github.com/axone-protocol/axoned/issues/706
Details
Remove the
max_gas
limit in the logic module parameters, gas consumption are now constraints or not by the givensdk.Context
.I took the opportunity to reduce the gas consumption by decreasing the number of access to the module parameters during the initialisation of the prolog interpreter.
I also propose to change the behaviour of the
max_result_count
limitation by returning an error in case a ask query requests a higher number of results as it is invalid.Summary by CodeRabbit
query-gas-limit
configuration for managing gas usage.gas_used
values across multiple feature tests to reflect accurate gas consumption metrics.max_gas
field from the gas handling structure, indicating a shift towards more flexible gas management.