ibc-rs icon indicating copy to clipboard operation
ibc-rs copied to clipboard

Separate `Module` in `ModuleValidation` and `ModuleExecution`

Open plafer opened this issue 2 years ago • 0 comments

Module should be split into 2 different traits:

  • ModuleValidation which contains all *_validate() methods
  • ModuleExecution which contains all *_execute() methods

Modifications to Router:

  • Router::get_route_validation() -> Option<&dyn ModuleValidation>
    • previously Router::get_route()
  • Router::get_route_execution() -> Option<&dyn ModuleExecution>
    • previously Router::get_route_mut
  • Router::has_route() split in has_route_validation() and has_route_execution()
    • we should provide default implementations for these too based on get_route_*()

plafer avatar Feb 23 '23 20:02 plafer