Documentation ¶
Index ¶
- Constants
- Variables
- func BlacklistKey(addr sdk.AccAddress, action string) []byte
- func RegisterCodec(cdc *codec.Codec)
- func ValidateInputsOutputs(inputs []Input, outputs []Output) error
- func ValidateReg(symbol string, reg *regexp.Regexp) error
- func ValidateSymbolReserved(symbol string) error
- type AccountKeeper
- type BankKeeper
- type Input
- type MsgMultiSend
- type MsgSend
- type Output
- type QueryBalanceParams
- type QueryBulkBalancesParams
- type QueryBulkBalancesResult
Constants ¶
const ( // module name ModuleName = "coin" StoreKey = ModuleName ActionTransferTo = "transferTo" )
const Codespace = ModuleName
const RequestGetsLimit = 100
const RouterKey = ModuleName
Variables ¶
var ( ErrNoInputs = sdkerrors.Register(Codespace, 1, "no inputs to send transaction") ErrNoOutputs = sdkerrors.Register(Codespace, 2, "no outputs to send transaction") ErrInputOutputMismatch = sdkerrors.Register(Codespace, 3, "sum inputs != sum outputs") ErrSendDisabled = sdkerrors.Register(Codespace, 4, "send transactions are disabled") ErrCanNotTransferToBlacklisted = sdkerrors.Register(Codespace, 5, "Cannot transfer to safety box addresses") ErrRequestGetsLimit = sdkerrors.Register(Codespace, 6, "the gets should be limited") )
var ( EventTypeTransfer = "transfer" AttributeKeyRecipient = "recipient" AttributeKeySender = "sender" AttributeValueCategory = ModuleName )
Coin module event types
var (
BlacklistKeyPrefix = []byte{0x00}
)
var ModuleCdc *codec.Codec
Functions ¶
func BlacklistKey ¶
func BlacklistKey(addr sdk.AccAddress, action string) []byte
func RegisterCodec ¶
func ValidateInputsOutputs ¶
ValidateInputsOutputs validates that each respective input and output is valid and that the sum of inputs is equal to the sum of outputs.
func ValidateSymbolReserved ¶
Types ¶
type AccountKeeper ¶
type AccountKeeper interface { NewAccountWithAddress(ctx sdk.Context, addr sdk.AccAddress) exported.Account GetAccount(ctx sdk.Context, addr sdk.AccAddress) exported.Account GetAllAccounts(ctx sdk.Context) []exported.Account SetAccount(ctx sdk.Context, acc exported.Account) IterateAccounts(ctx sdk.Context, process func(exported.Account) bool) }
AccountKeeper defines the account contract that must be fulfilled when
type BankKeeper ¶
type BankKeeper interface { GetCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins HasCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) bool SubtractCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, error) AddCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, error) BlacklistedAddr(creator sdk.AccAddress) bool }
BankKeeper defines the expected bank keeper (noalias)
type Input ¶
type Input struct { Address sdk.AccAddress `json:"address" yaml:"address"` Coins sdk.Coins `json:"coins" yaml:"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 MsgMultiSend ¶
type MsgMultiSend struct { Inputs []Input `json:"inputs" yaml:"inputs"` Outputs []Output `json:"outputs" yaml:"outputs"` }
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() error
ValidateBasic Implements Msg.
type MsgSend ¶
type MsgSend struct { From sdk.AccAddress `json:"from"` To sdk.AccAddress `json:"to"` 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" yaml:"address"` Coins sdk.Coins `json:"coins" yaml:"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 QueryBalanceParams ¶
type QueryBalanceParams struct { Address sdk.AccAddress Denom string }
QueryBalanceOfParams defines the params for querying an account balance.
func NewQueryBalanceParams ¶
func NewQueryBalanceParams(addr sdk.AccAddress, denom string) QueryBalanceParams
NewQueryBalanceOfParams creates a new instance of QueryBalanceParams.
type QueryBulkBalancesParams ¶
type QueryBulkBalancesParams struct {
Addresses []sdk.AccAddress `json:"addresses"`
}
func NewQueryBulkBalanceParams ¶
func NewQueryBulkBalanceParams(addrs []sdk.AccAddress) QueryBulkBalancesParams
type QueryBulkBalancesResult ¶
type QueryBulkBalancesResult struct { Address sdk.AccAddress `json:"address"` Coins sdk.Coins `json:"coins"` }
func NewQueryBulkBalancesResult ¶
func NewQueryBulkBalancesResult(address sdk.AccAddress, coins sdk.Coins) QueryBulkBalancesResult