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  }