2018-09-10 04:59:05 -07:00
|
|
|
/*
|
2019-12-10 08:48:57 -08:00
|
|
|
To prevent namespace collision between consumer modules, we define a type
|
|
|
|
Subspace. A Subspace can only be generated by the keeper, and the keeper checks
|
|
|
|
the existence of the Subspace having the same name before generating the
|
|
|
|
Subspace.
|
2018-09-10 04:59:05 -07:00
|
|
|
|
2019-12-10 08:48:57 -08:00
|
|
|
Consumer modules must take a Subspace (via Keeper.Subspace), not the keeper
|
|
|
|
itself. This isolates each modules from the others and make them modify their
|
|
|
|
respective parameters safely. Keeper can be treated as master permission for all
|
|
|
|
Subspaces (via Keeper.GetSubspace), so should be passed to proper modules
|
|
|
|
(ex. x/governance).
|
2018-09-10 04:59:05 -07:00
|
|
|
*/
|
2020-02-19 03:52:20 -08:00
|
|
|
package types
|