supply

package
v1.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2024 License: GPL-3.0 Imports: 19 Imported by: 0

README

Supply Module

Table of Contents

Overview

The supply functionality passively tracks the total supply of coins within a chain, provides a pattern for modules to hold/interact with coins, and introduces the invariant check to verify a chain's total supply. The total supply of the network is equal to the sum of all coins from the account.

Query commands

One can run the following query commands from the bank module :

  • total - Query for a total supply of the chain with different coins. Takes params for checking the total supply of a particular coin
CLI commands
heimdallcli query supply total [denom]

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	SupplyKey = []byte{0x00}
)

Keys for supply store Items are stored with the following key: values

- 0x00: Supply

Functions

func ExportGenesis

func ExportGenesis(ctx sdk.Context, keeper Keeper) types.GenesisState

ExportGenesis returns a GenesisState for a given context and keeper.

func InitGenesis

func InitGenesis(ctx sdk.Context, keeper Keeper, ak auth.AccountKeeper, data types.GenesisState)

InitGenesis sets supply information for genesis.

CONTRACT: all types of accounts must have been already initialized/created

func NewQuerier

func NewQuerier(k Keeper) sdk.Querier

NewQuerier creates a querier for supply REST endpoints

Types

type AppModule

type AppModule struct {
	AppModuleBasic
	// contains filtered or unexported fields
}

AppModule implements an application module for the supply module.

func NewAppModule

func NewAppModule(keeper Keeper, contractCaller helper.IContractCaller) AppModule

NewAppModule creates a new AppModule object

func (AppModule) BeginBlock

func (AppModule) BeginBlock(_ sdk.Context, _ abci.RequestBeginBlock)

BeginBlock returns the begin blocker for the auth module.

func (AppModule) EndBlock

EndBlock returns the end blocker for the auth module. It returns no validator updates.

func (AppModule) ExportGenesis

func (am AppModule) ExportGenesis(ctx sdk.Context) json.RawMessage

ExportGenesis returns the exported genesis state as raw bytes for the auth module.

func (AppModule) InitGenesis

func (am AppModule) InitGenesis(ctx sdk.Context, data json.RawMessage) []abci.ValidatorUpdate

InitGenesis performs genesis initialization for the auth module. It returns no validator updates.

func (AppModule) Name

func (AppModule) Name() string

Name returns the auth module's name.

func (AppModule) NewHandler

func (am AppModule) NewHandler() sdk.Handler

NewHandler returns an sdk.Handler for the module.

func (AppModule) NewQuerierHandler

func (am AppModule) NewQuerierHandler() sdk.Querier

NewQuerierHandler returns the auth module sdk.Querier.

func (AppModule) QuerierRoute

func (AppModule) QuerierRoute() string

QuerierRoute returns the auth module's querier route name.

func (AppModule) RegisterInvariants

func (AppModule) RegisterInvariants(_ sdk.InvariantRegistry)

RegisterInvariants performs a no-op.

func (AppModule) Route

func (AppModule) Route() string

Route returns the message routing key for the auth module.

type AppModuleBasic

type AppModuleBasic struct{}

AppModuleBasic defines the basic application module used by the auth module.

func (AppModuleBasic) DefaultGenesis

func (AppModuleBasic) DefaultGenesis() json.RawMessage

DefaultGenesis returns default genesis state as raw bytes for the auth module.

func (AppModuleBasic) GetQueryCmd

func (AppModuleBasic) GetQueryCmd(cdc *codec.Codec) *cobra.Command

GetQueryCmd returns the root query command for the auth module.

func (AppModuleBasic) GetTxCmd

func (AppModuleBasic) GetTxCmd(cdc *codec.Codec) *cobra.Command

GetTxCmd returns the root tx command for the auth module.

func (AppModuleBasic) Name

func (AppModuleBasic) Name() string

Name returns the auth module's name.

func (AppModuleBasic) RegisterCodec

func (AppModuleBasic) RegisterCodec(cdc *codec.Codec)

RegisterCodec registers the auth module's types for the given codec.

func (AppModuleBasic) RegisterRESTRoutes

func (AppModuleBasic) RegisterRESTRoutes(ctx context.CLIContext, rtr *mux.Router)

RegisterRESTRoutes registers the REST routes for the auth module.

func (AppModuleBasic) ValidateGenesis

func (AppModuleBasic) ValidateGenesis(bz json.RawMessage) error

ValidateGenesis performs genesis state validation for the auth module.

func (AppModuleBasic) VerifyGenesis

func (AppModuleBasic) VerifyGenesis(bz map[string]json.RawMessage) error

VerifyGenesis performs verification on auth module state.

type Keeper

type Keeper struct {
	// contains filtered or unexported fields
}

Keeper of the supply store

func NewKeeper

func NewKeeper(
	cdc *codec.Codec,
	key sdk.StoreKey,
	paramstore subspace.Subspace,
	maccPerms map[string][]string,
	ak auth.AccountKeeper,
	bk bank.Keeper,
) Keeper

NewKeeper creates a new Keeper instance

func (Keeper) GetModuleAccount

func (k Keeper) GetModuleAccount(ctx sdk.Context, moduleName string) supplyTypes.ModuleAccountInterface

GetModuleAccount gets the module account from the auth account store

func (Keeper) GetModuleAccountAndPermissions

func (k Keeper) GetModuleAccountAndPermissions(ctx sdk.Context, moduleName string) (supplyTypes.ModuleAccountInterface, []string)

GetModuleAccountAndPermissions gets the module account from the auth account store and its registered permissions

func (Keeper) GetModuleAddress

func (k Keeper) GetModuleAddress(moduleName string) (addr hmTypes.HeimdallAddress)

GetModuleAddress returns an address based on the module name

func (Keeper) GetModuleAddressAndPermissions

func (k Keeper) GetModuleAddressAndPermissions(moduleName string) (addr hmTypes.HeimdallAddress, permissions []string)

GetModuleAddressAndPermissions returns an address and permissions based on the module name

func (Keeper) GetSupply

func (k Keeper) GetSupply(ctx sdk.Context) (supply supplyTypes.Supply)

GetSupply retrieves the Supply from store

func (Keeper) Logger

func (k Keeper) Logger(ctx sdk.Context) log.Logger

Logger returns a module-specific logger.

func (Keeper) RemoveModuleAddress added in v0.1.7

func (k Keeper) RemoveModuleAddress(moduleName string) bool

RemoveModuleAddress removes module address

func (Keeper) SendCoinsFromAccountToModule

func (k Keeper) SendCoinsFromAccountToModule(
	ctx sdk.Context,
	senderAddr hmTypes.HeimdallAddress,
	recipientModule string,
	amt sdk.Coins,
) sdk.Error

SendCoinsFromAccountToModule transfers coins from an AccAddress to a ModuleAccount

func (Keeper) SendCoinsFromModuleToAccount

func (k Keeper) SendCoinsFromModuleToAccount(
	ctx sdk.Context,
	senderModule string,
	recipientAddr hmTypes.HeimdallAddress,
	amt sdk.Coins,
) sdk.Error

SendCoinsFromModuleToAccount transfers coins from a ModuleAccount to an AccAddress

func (Keeper) SendCoinsFromModuleToModule

func (k Keeper) SendCoinsFromModuleToModule(
	ctx sdk.Context,
	senderModule string,
	recipientModule string,
	amt sdk.Coins,
) sdk.Error

SendCoinsFromModuleToModule transfers coins from a ModuleAccount to another

func (Keeper) SetModuleAccount

func (k Keeper) SetModuleAccount(ctx sdk.Context, macc supplyTypes.ModuleAccountInterface)

SetModuleAccount sets the module account to the auth account store

func (Keeper) SetSupply

func (k Keeper) SetSupply(ctx sdk.Context, supply supplyTypes.Supply)

SetSupply sets the Supply to store

func (Keeper) ValidatePermissions

func (k Keeper) ValidatePermissions(macc supplyTypes.ModuleAccountInterface) error

ValidatePermissions validates that the module account has been granted permissions within its set of allowed permissions.

Directories

Path Synopsis
client
cli

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL