Documentation ¶
Index ¶
- Constants
- Variables
- func DefaultSupply() exported.SupplyI
- func NewModuleAddress(name string) sdk.AccAddress
- func NewSupply(total sdk.Coins) exported.SupplyI
- func RegisterCodec(cdc *codec.Codec)
- type AccountKeeper
- type BankKeeper
- type GenesisState
- type ModuleAccount
- func (ma ModuleAccount) GetName() string
- func (ma ModuleAccount) GetPermissions() []string
- func (ma ModuleAccount) HasPermission(permission string) bool
- func (ma ModuleAccount) MarshalYAML() (interface{}, error)
- func (ma ModuleAccount) SetPubKey(pubKey crypto.PubKey) error
- func (ma ModuleAccount) SetSequence(seq uint64) error
- func (ma ModuleAccount) String() string
- type PermissionsForAddress
- type QuerySupplyOfParams
- type QueryTotalSupplyParams
- type Supply
- func (supply Supply) Deflate(amount sdk.Coins) exported.SupplyI
- func (supply Supply) GetTotal() sdk.Coins
- func (supply Supply) Inflate(amount sdk.Coins) exported.SupplyI
- func (supply Supply) SetTotal(total sdk.Coins) exported.SupplyI
- func (supply Supply) String() string
- func (supply Supply) ValidateBasic() error
Constants ¶
const ( // ModuleName is the module name constant used in many places ModuleName = "supply" // StoreKey is the store key string for supply StoreKey = ModuleName // RouterKey is the message route for supply RouterKey = ModuleName // QuerierRoute is the querier route for supply QuerierRoute = ModuleName )
const ( Minter = "minter" Burner = "burner" Staking = "staking" )
permissions
const ( QueryTotalSupply = "total_supply" QuerySupplyOf = "supply_of" )
query endpoints supported by the supply Querier
Variables ¶
var ModuleCdc *codec.Codec
ModuleCdc generic sealed codec to be used throughout module
Functions ¶
func NewModuleAddress ¶
func NewModuleAddress(name string) sdk.AccAddress
NewModuleAddress creates an AccAddress from the hash of the module's name
func RegisterCodec ¶
RegisterCodec registers the account types and interface
Types ¶
type AccountKeeper ¶
type AccountKeeper interface { IterateAccounts(ctx sdk.Context, process func(exported.Account) (stop bool)) GetAccount(sdk.Context, sdk.AccAddress) exported.Account SetAccount(sdk.Context, exported.Account) NewAccount(sdk.Context, exported.Account) exported.Account }
AccountKeeper defines the expected account keeper (noalias)
type BankKeeper ¶
type BankKeeper interface { SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) sdk.Error DelegateCoins(ctx sdk.Context, fromAdd, toAddr sdk.AccAddress, amt sdk.Coins) sdk.Error UndelegateCoins(ctx sdk.Context, fromAddr, toAddr sdk.AccAddress, amt sdk.Coins) sdk.Error SubtractCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Error) AddCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Error) }
BankKeeper defines the expected bank keeper (noalias)
type GenesisState ¶
GenesisState is the supply state that must be provided at genesis.
func DefaultGenesisState ¶
func DefaultGenesisState() GenesisState
DefaultGenesisState returns a default genesis state
func NewGenesisState ¶
func NewGenesisState(supply sdk.Coins) GenesisState
NewGenesisState creates a new genesis state.
type ModuleAccount ¶
type ModuleAccount struct { *authtypes.BaseAccount Name string `json:"name" yaml:"name"` // name of the module Permissions []string `json:"permissions" yaml:"permissions"` // permissions of module account }
ModuleAccount defines an account for modules that holds coins on a pool
func NewEmptyModuleAccount ¶
func NewEmptyModuleAccount(name string, permissions ...string) *ModuleAccount
func NewModuleAccount ¶
func NewModuleAccount(ba *authtypes.BaseAccount, name string, permissions ...string) *ModuleAccount
NewModuleAccount creates a new ModuleAccount instance
func (ModuleAccount) GetName ¶
func (ma ModuleAccount) GetName() string
GetName returns the the name of the holder's module
func (ModuleAccount) GetPermissions ¶
func (ma ModuleAccount) GetPermissions() []string
GetPermissions returns permissions granted to the module account
func (ModuleAccount) HasPermission ¶
func (ma ModuleAccount) HasPermission(permission string) bool
HasPermission returns whether or not the module account has permission.
func (ModuleAccount) MarshalYAML ¶
func (ma ModuleAccount) MarshalYAML() (interface{}, error)
MarshalYAML returns the YAML representation of a ModuleAccount.
func (ModuleAccount) SetPubKey ¶
func (ma ModuleAccount) SetPubKey(pubKey crypto.PubKey) error
SetPubKey - Implements Account
func (ModuleAccount) SetSequence ¶
func (ma ModuleAccount) SetSequence(seq uint64) error
SetSequence - Implements Account
func (ModuleAccount) String ¶
func (ma ModuleAccount) String() string
String follows stringer interface
type PermissionsForAddress ¶
type PermissionsForAddress struct {
// contains filtered or unexported fields
}
PermissionsForAddress defines all the registered permissions for an address
func NewPermissionsForAddress ¶
func NewPermissionsForAddress(name string, permissions []string) PermissionsForAddress
NewPermissionsForAddress creates a new PermissionsForAddress object
func (PermissionsForAddress) GetAddress ¶
func (pa PermissionsForAddress) GetAddress() sdk.AccAddress
GetAddress returns the address of the PermissionsForAddress object
func (PermissionsForAddress) GetPermissions ¶
func (pa PermissionsForAddress) GetPermissions() []string
GetPermissions returns the permissions granted to the address
func (PermissionsForAddress) HasPermission ¶
func (pa PermissionsForAddress) HasPermission(permission string) bool
HasPermission returns whether the PermissionsForAddress contains permission.
type QuerySupplyOfParams ¶
type QuerySupplyOfParams struct {
Denom string
}
QuerySupplyOfParams defines the params for the following queries:
- 'custom/supply/totalSupplyOf'
func NewQuerySupplyOfParams ¶
func NewQuerySupplyOfParams(denom string) QuerySupplyOfParams
NewQuerySupplyOfParams creates a new instance to query the total supply of a given denomination
type QueryTotalSupplyParams ¶
type QueryTotalSupplyParams struct {
Page, Limit int
}
QueryTotalSupply defines the params for the following queries:
- 'custom/supply/totalSupply'
func NewQueryTotalSupplyParams ¶
func NewQueryTotalSupplyParams(page, limit int) QueryTotalSupplyParams
NewQueryTotalSupplyParams creates a new instance to query the total supply
type Supply ¶
type Supply struct {
Total sdk.Coins `json:"total" yaml:"total"` // total supply of tokens registered on the chain
}
Supply represents a struct that passively keeps track of the total supply amounts in the network
func (Supply) ValidateBasic ¶
ValidateBasic validates the Supply coins and returns error if invalid