From 4cf2911f166a407ab4410a4bc6fa977d1c41716a Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 23 Oct 2022 02:02:59 -0400 Subject: [PATCH] feat(core): add AppModule tag interface (#13607) --- core/appmodule/module.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 core/appmodule/module.go diff --git a/core/appmodule/module.go b/core/appmodule/module.go new file mode 100644 index 0000000000..70ba46b0b4 --- /dev/null +++ b/core/appmodule/module.go @@ -0,0 +1,14 @@ +package appmodule + +import "cosmossdk.io/depinject" + +// AppModule is a tag interface for app module implementations to use as a basis +// for extension interfaces. It provides no functionality itself, but is the +// type that all valid app modules should provide so that they can be identified +// by other modules (usually via depinject) as app modules. +type AppModule interface { + depinject.OnePerModuleType + + // IsAppModule is a dummy method to tag a struct as implementing an AppModule. + IsAppModule() +}