github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/supply/exported/exported.go (about) 1 package exported 2 3 import ( 4 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 5 6 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/auth/exported" 7 ) 8 9 // ModuleAccountI defines an account interface for modules that hold tokens in an escrow 10 type ModuleAccountI interface { 11 exported.Account 12 13 GetName() string 14 GetPermissions() []string 15 HasPermission(string) bool 16 } 17 18 // SupplyI defines an inflationary supply interface for modules that handle 19 // token supply. 20 type SupplyI interface { 21 GetTotal() sdk.Coins 22 SetTotal(total sdk.Coins) SupplyI 23 24 Inflate(amount sdk.Coins) SupplyI 25 Deflate(amount sdk.Coins) SupplyI 26 27 String() string 28 ValidateBasic() error 29 }