Open rootulp opened 4 weeks ago
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?
clear to merge @rootulp
Motivation
As part of the refactor to a multiplexed app, we want a mechanism to avoid importing state machine modules (e.g.
x/minfee
) once per state machine version. We want this because each time a state machine module is imported by the multiplexer, it registers proto types in the proto registry and interfaces in the Cosmos SDK interface registry. When we import the same state machine module more than once, we hit duplicate proto registry errors (same for Cosmos SDK interface registry).This PR is the first of many that spin out a distinct Go module per state machine module. Expect subsequent PRs for
x/blob
,x/signal
, etc.Note: if we didn't do this for the multiplexed app, it is likely that we would do this as part of an update to new Cosmos SDK versions. For example Cosmos SDK v0.52.x spun out Go modules for all the state machine modules.
Note: the diff of
x/minfee
from v2.x to main is minimal (seegit diff v2.x..main -- x/minfee/
) so I choose to do this on main. We'll need to backport this to v2.x as well.Testing
I did this on my fork and verified that we can:
Ref: