Closed kpob closed 4 months ago
[!NOTE] Currently processing new changes in this PR. This may take a few minutes, please wait...
Commits
Files that changed from the base of the PR and between e3c4d0092127a83d78c4002a29f59bd99ffe4d62 and 43c4ecd6be2f5af6201aae8a07de39804e853f74.Files selected for processing (2)
* core/src/mapping.rs (4 hunks) * core/src/var.rs (5 hunks)______________________________________________________________________________________________________________________________________________ < Eliminate effects between unrelated things. Design components that are self-contained, independent, and have a single, well-defined purpose. > ---------------------------------------------------------------------------------------------------------------------------------------------- \ \ (\__/) (•ㅅ•) / づ
The codebase was primarily refactored to introduce a new Revertible
trait, which centralizes error handling and contract reversion across various components. The changes include implementing Revertible
for different modules and adjusting method calls to use this trait, improving code readability and maintainability by reducing the necessity to pass environment references directly in error scenarios.
Files/Groups | Change Summary |
---|---|
core/src/contract_env.rs |
Added Revertible trait implementations for ContractEnv and ExecutionEnv ; modified method call syntax. |
core/src/list.rs |
Introduced Revertible trait; updated replace and get_previous methods to use self.env directly. |
core/src/mapping.rs |
Added Revertible trait for Mapping ; refactored add and subtract methods to handle overflow reversion. |
core/src/module.rs |
Introduced Revertible trait with implementations for Rc<ContractEnv> and T: Module ; updated imports. |
core/src/named_keys.rs |
Modified key handling methods to adapt to new Revertible trait; updated method signatures. |
core/src/sequence.rs |
Implemented Revertible trait for Sequence<T> ; updated imports. |
core/src/unwrap_or_revert.rs |
Updated UnwrapOrRevert trait to use Revertible ; refactored methods for Result and Option . |
core/src/var.rs |
Added Revertible trait for Var<T> ; consolidated casper_types imports. |
examples/src/features/cross_calls.rs |
Refactored unwrap_or_revert calls to use self instead of &self.env() . |
examples/src/features/livenet.rs |
Modified pop_from_stack to use self instead of &self.env() . |
examples/src/features/module_nesting.rs |
Updated unwrap_or_revert method call argument from self.env() to self . |
modules/src/cep18/storage.rs |
Refactored unwrap_or_revert calls to use self instead of &self.env() in add and sub functions. |
modules/src/cep18_token.rs |
Modified unwrap_or_revert_with calls in three locations to pass self instead of &self.env() . |
modules/src/cep78/metadata.rs |
Removed self.env() in unwrap_or_revert call; used self directly in Metadata implementation. |
modules/src/cep78/reverse_lookup.rs |
Refactored unwrap_or_revert calls to use self instead of &self.env() in ReverseLookup implementation. |
modules/src/cep78/token.rs |
Updated unwrap_or_revert call to use self instead of self.__env in Cep78 implementation. |
modules/src/wrapped_native.rs |
Modified unwrap_or_revert call parameter for handling token amounts in WrappedNativeToken . |
In fields of code where logic thrives,
TheRevertible
trait now arrives,
Error handling, sharp and clear,
Withself
ensuring no more fear.
Bugs and chaos now take flight,
Harmony restored, all systems tight.
📜✨
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?
Action | Details | Gas diff |
---|---|---|
Wasm Deploy | Filename: Benchmark.wasm | :red_circle: +0.162050115 CSPR (0.10%) |
Contract Call | Entry point: set_variable | :green_circle: -0.00007555 CSPR (0.05%) |
Contract Call | Entry point: set_mapping | :green_circle: -0.00007555 CSPR (0.05%) |
Action | Details | Gas diff |
---|---|---|
Wasm Deploy | Filename: Benchmark.wasm | :red_circle: +0.162050115 CSPR (0.10%) |
Contract Call | Entry point: set_variable | :green_circle: -0.00007555 CSPR (0.05%) |
Contract Call | Entry point: set_mapping | :green_circle: -0.00007555 CSPR (0.05%) |
Summary by CodeRabbit
New Features
Revertible
trait with arevert
method to handle contract execution reversals.Bug Fixes
unwrap_or_revert
methods to improve reliability.Refactor
&self.env()
and instead useself
for better consistency and cleaner code.Documentation
Revertible
trait and associated method changes.