Documentation ¶
Index ¶
- Constants
- Variables
- func ErrInputOutputMismatch(codespace sdk.CodespaceType) sdk.Error
- func ErrNoInputs(codespace sdk.CodespaceType) sdk.Error
- func ErrNoOutputs(codespace sdk.CodespaceType) sdk.Error
- func ErrSendDisabled(codespace sdk.CodespaceType) sdk.Error
- func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState)
- func NewHandler(k Keeper) sdk.Handler
- func NonnegativeBalanceInvariant(ak auth.AccountKeeper) sdk.Invariant
- func ParamKeyTable() params.KeyTable
- func RegisterCodec(cdc *codec.Codec)
- func RegisterInvariants(c CrisisKeeper, ak auth.AccountKeeper)
- func TotalCoinsInvariant(ak auth.AccountKeeper, totalSupplyFn func() sdk.Coins) sdk.Invariant
- func ValidateGenesis(data GenesisState) error
- func ValidateInputsOutputs(inputs []Input, outputs []Output) sdk.Error
- type BaseKeeper
- func (keeper BaseKeeper) AddCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Tags, sdk.Error)
- func (keeper BaseKeeper) DelegateCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Tags, sdk.Error)
- func (keeper BaseKeeper) InputOutputCoins(ctx sdk.Context, inputs []Input, outputs []Output) (sdk.Tags, sdk.Error)
- func (keeper BaseKeeper) SetCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) sdk.Error
- func (keeper BaseKeeper) SubtractCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Tags, sdk.Error)
- func (keeper BaseKeeper) UndelegateCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Tags, sdk.Error)
- type BaseSendKeeper
- type BaseViewKeeper
- type CrisisKeeper
- type GenesisState
- type Input
- type Keeper
- type MsgMultiSend
- type MsgSend
- type Output
- type SendKeeper
- type ViewKeeper
Constants ¶
const ( DefaultCodespace sdk.CodespaceType = "bank" CodeSendDisabled sdk.CodeType = 101 CodeInvalidInputsOutputs sdk.CodeType = 102 )
Bank errors reserve 100 ~ 199.
const ( // DefaultParamspace for params keeper DefaultParamspace = "bank" // DefaultSendEnabled enabled DefaultSendEnabled = true )
const RouterKey = "bank"
RouterKey is they name of the bank module
Variables ¶
var ( TagActionUndelegateCoins = []byte("undelegateCoins") TagActionDelegateCoins = []byte("delegateCoins") TagKeyRecipient = "recipient" TagKeySender = "sender" )
Tag keys and values
var ParamStoreKeySendEnabled = []byte("sendenabled")
ParamStoreKeySendEnabled is store's key for SendEnabled
Functions ¶
func ErrInputOutputMismatch ¶
func ErrInputOutputMismatch(codespace sdk.CodespaceType) sdk.Error
ErrInputOutputMismatch is an error
func ErrNoOutputs ¶
func ErrNoOutputs(codespace sdk.CodespaceType) sdk.Error
ErrNoOutputs is an error
func ErrSendDisabled ¶
func ErrSendDisabled(codespace sdk.CodespaceType) sdk.Error
ErrSendDisabled is an error
func InitGenesis ¶
func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState)
InitGenesis sets distribution information for genesis.
func NewHandler ¶
NewHandler returns a handler for "bank" type messages.
func NonnegativeBalanceInvariant ¶
func NonnegativeBalanceInvariant(ak auth.AccountKeeper) sdk.Invariant
NonnegativeBalanceInvariant checks that all accounts in the application have non-negative balances
func ParamKeyTable ¶
ParamKeyTable type declaration for parameters
func RegisterInvariants ¶
func RegisterInvariants(c CrisisKeeper, ak auth.AccountKeeper)
register bank invariants
func TotalCoinsInvariant ¶
TotalCoinsInvariant checks that the sum of the coins across all accounts is what is expected
func ValidateGenesis ¶
func ValidateGenesis(data GenesisState) error
ValidateGenesis performs basic validation of bank genesis data returning an error for any failed validation criteria.
Types ¶
type BaseKeeper ¶
type BaseKeeper struct { BaseSendKeeper // contains filtered or unexported fields }
BaseKeeper manages transfers between accounts. It implements the Keeper interface.
func NewBaseKeeper ¶
func NewBaseKeeper(ak auth.AccountKeeper, paramSpace params.Subspace, codespace sdk.CodespaceType) BaseKeeper
NewBaseKeeper returns a new BaseKeeper
func (BaseKeeper) AddCoins ¶
func (keeper BaseKeeper) AddCoins( ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins, ) (sdk.Coins, sdk.Tags, sdk.Error)
AddCoins adds amt to the coins at the addr.
func (BaseKeeper) DelegateCoins ¶
func (keeper BaseKeeper) DelegateCoins( ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins, ) (sdk.Tags, sdk.Error)
DelegateCoins performs delegation by deducting amt coins from an account with address addr. For vesting accounts, delegations amounts are tracked for both vesting and vested coins.
func (BaseKeeper) InputOutputCoins ¶
func (keeper BaseKeeper) InputOutputCoins( ctx sdk.Context, inputs []Input, outputs []Output, ) (sdk.Tags, sdk.Error)
InputOutputCoins handles a list of inputs and outputs
func (BaseKeeper) SetCoins ¶
func (keeper BaseKeeper) SetCoins( ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins, ) sdk.Error
SetCoins sets the coins at the addr.
func (BaseKeeper) SubtractCoins ¶
func (keeper BaseKeeper) SubtractCoins( ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins, ) (sdk.Coins, sdk.Tags, sdk.Error)
SubtractCoins subtracts amt from the coins at the addr.
func (BaseKeeper) UndelegateCoins ¶
func (keeper BaseKeeper) UndelegateCoins( ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins, ) (sdk.Tags, sdk.Error)
UndelegateCoins performs undelegation by crediting amt coins to an account with address addr. For vesting accounts, undelegation amounts are tracked for both vesting and vested coins. If any of the undelegation amounts are negative, an error is returned.
type BaseSendKeeper ¶
type BaseSendKeeper struct { BaseViewKeeper // contains filtered or unexported fields }
BaseSendKeeper only allows transfers between accounts without the possibility of creating coins. It implements the SendKeeper interface.
func NewBaseSendKeeper ¶
func NewBaseSendKeeper(ak auth.AccountKeeper, paramSpace params.Subspace, codespace sdk.CodespaceType) BaseSendKeeper
NewBaseSendKeeper returns a new BaseSendKeeper.
func (BaseSendKeeper) GetSendEnabled ¶
func (keeper BaseSendKeeper) GetSendEnabled(ctx sdk.Context) bool
GetSendEnabled returns the current SendEnabled nolint: errcheck
func (BaseSendKeeper) SendCoins ¶
func (keeper BaseSendKeeper) SendCoins( ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins, ) (sdk.Tags, sdk.Error)
SendCoins moves coins from one account to another
func (BaseSendKeeper) SetSendEnabled ¶
func (keeper BaseSendKeeper) SetSendEnabled(ctx sdk.Context, enabled bool)
SetSendEnabled sets the send enabled
type BaseViewKeeper ¶
type BaseViewKeeper struct {
// contains filtered or unexported fields
}
BaseViewKeeper implements a read only keeper implementation of ViewKeeper.
func NewBaseViewKeeper ¶
func NewBaseViewKeeper(ak auth.AccountKeeper, codespace sdk.CodespaceType) BaseViewKeeper
NewBaseViewKeeper returns a new BaseViewKeeper.
func (BaseViewKeeper) Codespace ¶
func (keeper BaseViewKeeper) Codespace() sdk.CodespaceType
Codespace returns the keeper's codespace.
func (BaseViewKeeper) GetCoins ¶
func (keeper BaseViewKeeper) GetCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
GetCoins returns the coins at the addr.
func (BaseViewKeeper) HasCoins ¶
func (keeper BaseViewKeeper) HasCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) bool
HasCoins returns whether or not an account has at least amt coins.
type CrisisKeeper ¶
expected crisis keeper
type GenesisState ¶
type GenesisState struct {
SendEnabled bool `json:"send_enabled"`
}
GenesisState is the bank state that must be provided at genesis.
func DefaultGenesisState ¶
func DefaultGenesisState() GenesisState
DefaultGenesisState returns a default genesis state
func ExportGenesis ¶
func ExportGenesis(ctx sdk.Context, keeper Keeper) GenesisState
ExportGenesis returns a GenesisState for a given context and keeper.
func NewGenesisState ¶
func NewGenesisState(sendEnabled bool) GenesisState
NewGenesisState creates a new genesis state.
type Input ¶
type Input struct { Address sdk.AccAddress `json:"address"` Coins sdk.Coins `json:"coins"` }
Input models transaction input
func NewInput ¶
func NewInput(addr sdk.AccAddress, coins sdk.Coins) Input
NewInput - create a transaction input, used with MsgMultiSend
func (Input) ValidateBasic ¶
ValidateBasic - validate transaction input
type Keeper ¶
type Keeper interface { SendKeeper SetCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) sdk.Error SubtractCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Tags, sdk.Error) AddCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, sdk.Tags, sdk.Error) InputOutputCoins(ctx sdk.Context, inputs []Input, outputs []Output) (sdk.Tags, sdk.Error) DelegateCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Tags, sdk.Error) UndelegateCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Tags, sdk.Error) }
Keeper defines a module interface that facilitates the transfer of coins between accounts.
type MsgMultiSend ¶
MsgMultiSend - high level transaction of the coin module
func NewMsgMultiSend ¶
func NewMsgMultiSend(in []Input, out []Output) MsgMultiSend
NewMsgMultiSend - construct arbitrary multi-in, multi-out send msg.
func (MsgMultiSend) GetSignBytes ¶
func (msg MsgMultiSend) GetSignBytes() []byte
GetSignBytes Implements Msg.
func (MsgMultiSend) GetSigners ¶
func (msg MsgMultiSend) GetSigners() []sdk.AccAddress
GetSigners Implements Msg.
func (MsgMultiSend) ValidateBasic ¶
func (msg MsgMultiSend) ValidateBasic() sdk.Error
ValidateBasic Implements Msg.
type MsgSend ¶
type MsgSend struct { FromAddress sdk.AccAddress `json:"from_address"` ToAddress sdk.AccAddress `json:"to_address"` Amount sdk.Coins `json:"amount"` }
MsgSend - high level transaction of the coin module
func NewMsgSend ¶
func NewMsgSend(fromAddr, toAddr sdk.AccAddress, amount sdk.Coins) MsgSend
NewMsgSend - construct arbitrary multi-in, multi-out send msg.
func (MsgSend) GetSigners ¶
func (msg MsgSend) GetSigners() []sdk.AccAddress
GetSigners Implements Msg.
func (MsgSend) ValidateBasic ¶
ValidateBasic Implements Msg.
type Output ¶
type Output struct { Address sdk.AccAddress `json:"address"` Coins sdk.Coins `json:"coins"` }
Output models transaction outputs
func NewOutput ¶
func NewOutput(addr sdk.AccAddress, coins sdk.Coins) Output
NewOutput - create a transaction output, used with MsgMultiSend
func (Output) ValidateBasic ¶
ValidateBasic - validate transaction output
type SendKeeper ¶
type SendKeeper interface { ViewKeeper SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) (sdk.Tags, sdk.Error) GetSendEnabled(ctx sdk.Context) bool SetSendEnabled(ctx sdk.Context, enabled bool) }
SendKeeper defines a module interface that facilitates the transfer of coins between accounts without the possibility of creating coins.
type ViewKeeper ¶
type ViewKeeper interface { GetCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins HasCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) bool Codespace() sdk.CodespaceType }
ViewKeeper defines a module interface that facilitates read only access to account balances.