Documentation ¶
Index ¶
- Constants
- func CamelCaseToString(str string) string
- func CheckTendermintError(err error, tx tmtypes.Tx) *sdk.TxResponse
- func GetFromFields(clientCtx Context, kr keyring.Keyring, from string) (sdk.AccAddress, string, keyring.KeyType, error)
- func NewClientFromNode(nodeURI string) (*rpchttp.HTTP, error)
- func NewKeyringFromBackend(ctx Context, backend string) (keyring.Keyring, error)
- func Paginate(numObjs, page, limit, defLimit int) (start, end int)
- func ReadPageRequest(flagSet *pflag.FlagSet) (*query.PageRequest, error)
- func SetCmdClientContext(cmd *cobra.Command, clientCtx Context) error
- func SetCmdClientContextHandler(clientCtx Context, cmd *cobra.Command) (err error)
- func TxServiceBroadcast(grpcCtx context.Context, clientCtx Context, req *tx.BroadcastTxRequest) (*tx.BroadcastTxResponse, error)
- func ValidateCmd(cmd *cobra.Command, args []string) error
- func ValidatePromptAddress(input string) error
- func ValidatePromptCoins(input string) error
- func ValidatePromptNotEmpty(input string) error
- func ValidatePromptURL(input string) error
- type Account
- type AccountRetriever
- type Context
- func (ctx Context) BroadcastTx(txBytes []byte) (res *sdk.TxResponse, err error)
- func (ctx Context) BroadcastTxAsync(txBytes []byte) (*sdk.TxResponse, error)
- func (ctx Context) BroadcastTxCommit(txBytes []byte) (*sdk.TxResponse, error)
- func (ctx Context) BroadcastTxSync(txBytes []byte) (*sdk.TxResponse, error)
- func (ctx Context) GetFeeGranterAddress() sdk.AccAddress
- func (ctx Context) GetFeePayerAddress() sdk.AccAddress
- func (ctx Context) GetFromAddress() sdk.AccAddress
- func (ctx Context) GetFromName() string
- func (ctx Context) GetNode() (rpcclient.Client, error)
- func (ctx Context) Invoke(grpcCtx gocontext.Context, method string, req, reply interface{}, ...) (err error)
- func (Context) NewStream(gocontext.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error)
- func (ctx Context) PrintBytes(o []byte) error
- func (ctx Context) PrintObjectLegacy(toPrint interface{}) error
- func (ctx Context) PrintProto(toPrint proto.Message) error
- func (ctx Context) PrintRaw(toPrint json.RawMessage) error
- func (ctx Context) PrintString(str string) error
- func (ctx Context) Query(path string) ([]byte, int64, error)
- func (ctx Context) QueryABCI(req abci.RequestQuery) (abci.ResponseQuery, error)
- func (ctx Context) QueryStore(key tmbytes.HexBytes, storeName string) ([]byte, int64, error)
- func (ctx Context) QueryWithData(path string, data []byte) ([]byte, int64, error)
- func (ctx Context) WithAccountRetriever(retriever AccountRetriever) Context
- func (ctx Context) WithAux(isAux bool) Context
- func (ctx Context) WithBroadcastMode(mode string) Context
- func (ctx Context) WithChainID(chainID string) Context
- func (ctx Context) WithClient(client rpcclient.Client) Context
- func (ctx Context) WithCodec(m codec.Codec) Context
- func (ctx Context) WithFeeGranterAddress(addr sdk.AccAddress) Context
- func (ctx Context) WithFeePayerAddress(addr sdk.AccAddress) Context
- func (ctx Context) WithFrom(from string) Context
- func (ctx Context) WithFromAddress(addr sdk.AccAddress) Context
- func (ctx Context) WithFromName(name string) Context
- func (ctx Context) WithGRPCClient(grpcClient *grpc.ClientConn) Context
- func (ctx Context) WithGenerateOnly(generateOnly bool) Context
- func (ctx Context) WithHeight(height int64) Context
- func (ctx Context) WithHomeDir(dir string) Context
- func (ctx Context) WithInput(r io.Reader) Context
- func (ctx Context) WithInterfaceRegistry(interfaceRegistry codectypes.InterfaceRegistry) Context
- func (ctx Context) WithKeyring(k keyring.Keyring) Context
- func (ctx Context) WithKeyringDir(dir string) Context
- func (ctx Context) WithKeyringOptions(opts ...keyring.Option) Context
- func (ctx Context) WithLegacyAmino(cdc *codec.LegacyAmino) Context
- func (ctx Context) WithNodeURI(nodeURI string) Context
- func (ctx Context) WithOffline(offline bool) Context
- func (ctx Context) WithOutput(w io.Writer) Context
- func (ctx Context) WithOutputFormat(format string) Context
- func (ctx Context) WithSignModeStr(signModeStr string) Context
- func (ctx Context) WithSimulation(simulate bool) Context
- func (ctx Context) WithSkipConfirmation(skip bool) Context
- func (ctx Context) WithTxConfig(generator TxConfig) Context
- func (ctx Context) WithUseLedger(useLedger bool) Context
- func (ctx Context) WithViper(prefix string) Context
- type TestAccount
- type TestAccountRetriever
- func (t TestAccountRetriever) EnsureExists(_ Context, addr sdk.AccAddress) error
- func (t TestAccountRetriever) GetAccount(_ Context, addr sdk.AccAddress) (Account, error)
- func (t TestAccountRetriever) GetAccountNumberSequence(_ Context, addr sdk.AccAddress) (accNum uint64, accSeq uint64, err error)
- func (t TestAccountRetriever) GetAccountWithHeight(clientCtx Context, addr sdk.AccAddress) (Account, int64, error)
- type TxBuilder
- type TxConfig
- type TxEncodingConfig
Constants ¶
const ClientContextKey = sdk.ContextKey("client.context")
ClientContextKey defines the context key used to retrieve a client.Context from a command's Context.
Variables ¶
This section is empty.
Functions ¶
func CamelCaseToString ¶
CamelCaseToString converts a camel case string to a string with spaces.
func CheckTendermintError ¶
func CheckTendermintError(err error, tx tmtypes.Tx) *sdk.TxResponse
CheckTendermintError checks if the error returned from BroadcastTx is a Tendermint error that is returned before the tx is submitted due to precondition checks that failed. If an Tendermint error is detected, this function returns the correct code back in TxResponse.
TODO: Avoid brittle string matching in favor of error matching. This requires a change to Tendermint's RPCError type to allow retrieval or matching against a concrete error type.
func GetFromFields ¶
func GetFromFields(clientCtx Context, kr keyring.Keyring, from string) (sdk.AccAddress, string, keyring.KeyType, error)
GetFromFields returns a from account address, account name and keyring type, given either an address or key name. If clientCtx.Simulate is true the keystore is not accessed and a valid address must be provided If clientCtx.GenerateOnly is true the keystore is only accessed if a key name is provided
func NewClientFromNode ¶
NewClientFromNode sets up Client implementation that communicates with a Tendermint node over JSON RPC and WebSockets
func NewKeyringFromBackend ¶
NewKeyringFromBackend gets a Keyring object from a backend
func Paginate ¶
Paginate returns the correct starting and ending index for a paginated query, given that client provides a desired page and limit of objects and the handler provides the total number of objects. The start page is assumed to be 1-indexed. If the start page is invalid, non-positive values are returned signaling the request is invalid; it returns non-positive values if limit is non-positive and defLimit is negative.
func ReadPageRequest ¶
func ReadPageRequest(flagSet *pflag.FlagSet) (*query.PageRequest, error)
ReadPageRequest reads and builds the necessary page request flags for pagination.
func SetCmdClientContext ¶
SetCmdClientContext sets a command's Context value to the provided argument.
func SetCmdClientContextHandler ¶
SetCmdClientContextHandler is to be used in a command pre-hook execution to read flags that populate a Context and sets that to the command's Context.
func TxServiceBroadcast ¶
func TxServiceBroadcast(grpcCtx context.Context, clientCtx Context, req *tx.BroadcastTxRequest) (*tx.BroadcastTxResponse, error)
TxServiceBroadcast is a helper function to broadcast a Tx with the correct gRPC types from the tx service. Calls `clientCtx.BroadcastTx` under the hood.
func ValidateCmd ¶
ValidateCmd returns unknown command error or Help display if help flag set
func ValidatePromptAddress ¶
ValidatePromptAddress validates that the input is a valid Bech32 address.
func ValidatePromptCoins ¶
ValidatePromptYesNo validates that the input is valid sdk.COins
func ValidatePromptNotEmpty ¶
ValidatePromptNotEmpty validates that the input is not empty.
func ValidatePromptURL ¶
ValidatePromptURL validates that the input is a valid URL.
Types ¶
type Account ¶
type Account interface { GetAddress() sdk.AccAddress GetPubKey() cryptotypes.PubKey // can return nil. GetAccountNumber() uint64 GetSequence() uint64 }
Account defines a read-only version of the auth module's AccountI.
type AccountRetriever ¶
type AccountRetriever interface { GetAccount(clientCtx Context, addr sdk.AccAddress) (Account, error) GetAccountWithHeight(clientCtx Context, addr sdk.AccAddress) (Account, int64, error) EnsureExists(clientCtx Context, addr sdk.AccAddress) error GetAccountNumberSequence(clientCtx Context, addr sdk.AccAddress) (accNum uint64, accSeq uint64, err error) }
AccountRetriever defines the interfaces required by transactions to ensure an account exists and to be able to query for account fields necessary for signing.
type Context ¶
type Context struct { FromAddress sdk.AccAddress Client rpcclient.Client GRPCClient *grpc.ClientConn ChainID string Codec codec.Codec InterfaceRegistry codectypes.InterfaceRegistry Input io.Reader Keyring keyring.Keyring KeyringOptions []keyring.Option Output io.Writer OutputFormat string Height int64 HomeDir string KeyringDir string From string BroadcastMode string FromName string SignModeStr string UseLedger bool Simulate bool GenerateOnly bool Offline bool SkipConfirm bool TxConfig TxConfig AccountRetriever AccountRetriever NodeURI string FeePayer sdk.AccAddress FeeGranter sdk.AccAddress Viper *viper.Viper // IsAux is true when the signer is an auxiliary signer (e.g. the tipper). IsAux bool // TODO: Deprecated (remove). LegacyAmino *codec.LegacyAmino }
Context implements a typical context created in SDK modules for transaction handling and queries.
func GetClientContextFromCmd ¶
GetClientContextFromCmd returns a Context from a command or an empty Context if it has not been set.
func GetClientQueryContext ¶
GetClientQueryContext returns a Context from a command with fields set based on flags defined in AddQueryFlagsToCmd. An error is returned if any flag query fails.
- client.Context field not pre-populated & flag not set: uses default flag value - client.Context field not pre-populated & flag set: uses set flag value - client.Context field pre-populated & flag not set: uses pre-populated value - client.Context field pre-populated & flag set: uses set flag value
func GetClientTxContext ¶
GetClientTxContext returns a Context from a command with fields set based on flags defined in AddTxFlagsToCmd. An error is returned if any flag query fails.
- client.Context field not pre-populated & flag not set: uses default flag value - client.Context field not pre-populated & flag set: uses set flag value - client.Context field pre-populated & flag not set: uses pre-populated value - client.Context field pre-populated & flag set: uses set flag value
func ReadPersistentCommandFlags ¶
ReadPersistentCommandFlags returns a Context with fields set for "persistent" or common flags that do not necessarily change with context.
Note, the provided clientCtx may have field pre-populated. The following order of precedence occurs:
- client.Context field not pre-populated & flag not set: uses default flag value - client.Context field not pre-populated & flag set: uses set flag value - client.Context field pre-populated & flag not set: uses pre-populated value - client.Context field pre-populated & flag set: uses set flag value
func (Context) BroadcastTx ¶
func (ctx Context) BroadcastTx(txBytes []byte) (res *sdk.TxResponse, err error)
BroadcastTx broadcasts a transactions either synchronously or asynchronously based on the context parameters. The result of the broadcast is parsed into an intermediate structure which is logged if the context has a logger defined.
func (Context) BroadcastTxAsync ¶
func (ctx Context) BroadcastTxAsync(txBytes []byte) (*sdk.TxResponse, error)
BroadcastTxAsync broadcasts transaction bytes to a Tendermint node asynchronously (i.e. returns immediately).
func (Context) BroadcastTxCommit ¶
func (ctx Context) BroadcastTxCommit(txBytes []byte) (*sdk.TxResponse, error)
BroadcastTxCommit broadcasts transaction bytes to a Tendermint node and waits for a commit. An error is only returned if there is no RPC node connection or if broadcasting fails.
NOTE: This should ideally not be used as the request may timeout but the tx may still be included in a block. Use BroadcastTxAsync or BroadcastTxSync instead.
func (Context) BroadcastTxSync ¶
func (ctx Context) BroadcastTxSync(txBytes []byte) (*sdk.TxResponse, error)
BroadcastTxSync broadcasts transaction bytes to a Tendermint node synchronously (i.e. returns after CheckTx execution).
func (Context) GetFeeGranterAddress ¶
func (ctx Context) GetFeeGranterAddress() sdk.AccAddress
GetFeeGranterAddress returns the fee granter address from the context
func (Context) GetFeePayerAddress ¶
func (ctx Context) GetFeePayerAddress() sdk.AccAddress
GetFeePayerAddress returns the fee granter address from the context
func (Context) GetFromAddress ¶
func (ctx Context) GetFromAddress() sdk.AccAddress
GetFromAddress returns the from address from the context's name.
func (Context) GetFromName ¶
GetFromName returns the key name for the current context.
func (Context) GetNode ¶
GetNode returns an RPC client. If the context's client is not defined, an error is returned.
func (Context) Invoke ¶
func (ctx Context) Invoke(grpcCtx gocontext.Context, method string, req, reply interface{}, opts ...grpc.CallOption) (err error)
Invoke implements the grpc ClientConn.Invoke method
func (Context) NewStream ¶
func (Context) NewStream(gocontext.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error)
NewStream implements the grpc ClientConn.NewStream method
func (Context) PrintBytes ¶
PrintBytes prints the raw bytes to ctx.Output if it's defined, otherwise to os.Stdout. NOTE: for printing a complex state object, you should use ctx.PrintOutput
func (Context) PrintObjectLegacy ¶
PrintObjectLegacy is a variant of PrintProto that doesn't require a proto.Message type and uses amino JSON encoding. Deprecated: It will be removed in the near future!
func (Context) PrintProto ¶
PrintProto outputs toPrint to the ctx.Output based on ctx.OutputFormat which is either text or json. If text, toPrint will be YAML encoded. Otherwise, toPrint will be JSON encoded using ctx.Codec. An error is returned upon failure.
func (Context) PrintRaw ¶
func (ctx Context) PrintRaw(toPrint json.RawMessage) error
PrintRaw is a variant of PrintProto that doesn't require a proto.Message type and uses a raw JSON message. No marshaling is performed.
func (Context) PrintString ¶
PrintString prints the raw string to ctx.Output if it's defined, otherwise to os.Stdout
func (Context) Query ¶
Query performs a query to a Tendermint node with the provided path. It returns the result and height of the query upon success or an error if the query fails.
func (Context) QueryABCI ¶
func (ctx Context) QueryABCI(req abci.RequestQuery) (abci.ResponseQuery, error)
QueryABCI performs a query to a Tendermint node with the provide RequestQuery. It returns the ResultQuery obtained from the query. The height used to perform the query is the RequestQuery Height if it is non-zero, otherwise the context height is used.
func (Context) QueryStore ¶
QueryStore performs a query to a Tendermint node with the provided key and store name. It returns the result and height of the query upon success or an error if the query fails.
func (Context) QueryWithData ¶
QueryWithData performs a query to a Tendermint node with the provided path and a data payload. It returns the result and height of the query upon success or an error if the query fails.
func (Context) WithAccountRetriever ¶
func (ctx Context) WithAccountRetriever(retriever AccountRetriever) Context
WithAccountRetriever returns the context with an updated AccountRetriever
func (Context) WithBroadcastMode ¶
WithBroadcastMode returns a copy of the context with an updated broadcast mode.
func (Context) WithChainID ¶
WithChainID returns a copy of the context with an updated chain ID.
func (Context) WithClient ¶
WithClient returns a copy of the context with an updated RPC client instance.
func (Context) WithFeeGranterAddress ¶
func (ctx Context) WithFeeGranterAddress(addr sdk.AccAddress) Context
WithFeeGranterAddress returns a copy of the context with an updated fee granter account address.
func (Context) WithFeePayerAddress ¶
func (ctx Context) WithFeePayerAddress(addr sdk.AccAddress) Context
WithFeePayerAddress returns a copy of the context with an updated fee payer account address.
func (Context) WithFrom ¶
WithFrom returns a copy of the context with an updated from address or name.
func (Context) WithFromAddress ¶
func (ctx Context) WithFromAddress(addr sdk.AccAddress) Context
WithFromAddress returns a copy of the context with an updated from account address.
func (Context) WithFromName ¶
WithFromName returns a copy of the context with an updated from account name.
func (Context) WithGRPCClient ¶
func (ctx Context) WithGRPCClient(grpcClient *grpc.ClientConn) Context
WithGRPCClient returns a copy of the context with an updated GRPC client instance.
func (Context) WithGenerateOnly ¶
WithGenerateOnly returns a copy of the context with updated GenerateOnly value
func (Context) WithHeight ¶
WithHeight returns a copy of the context with an updated height.
func (Context) WithHomeDir ¶
WithHomeDir returns a copy of the Context with HomeDir set.
func (Context) WithInterfaceRegistry ¶
func (ctx Context) WithInterfaceRegistry(interfaceRegistry codectypes.InterfaceRegistry) Context
WithInterfaceRegistry returns the context with an updated InterfaceRegistry
func (Context) WithKeyring ¶
WithKeyring returns a copy of the context with an updated keyring.
func (Context) WithKeyringDir ¶
WithKeyringDir returns a copy of the Context with KeyringDir set.
func (Context) WithKeyringOptions ¶
WithKeyringOptions returns a copy of the context with an updated keyring.
func (Context) WithLegacyAmino ¶
func (ctx Context) WithLegacyAmino(cdc *codec.LegacyAmino) Context
WithLegacyAmino returns a copy of the context with an updated LegacyAmino codec. TODO: Deprecated (remove).
func (Context) WithNodeURI ¶
WithNodeURI returns a copy of the context with an updated node URI.
func (Context) WithOffline ¶
WithOffline returns a copy of the context with updated Offline value.
func (Context) WithOutput ¶
WithOutput returns a copy of the context with an updated output writer (e.g. stdout).
func (Context) WithOutputFormat ¶
WithOutputFormat returns a copy of the context with an updated OutputFormat field.
func (Context) WithSignModeStr ¶
WithSignModeStr returns a copy of the context with an updated SignMode value.
func (Context) WithSimulation ¶
WithSimulation returns a copy of the context with updated Simulate value
func (Context) WithSkipConfirmation ¶
WithSkipConfirmation returns a copy of the context with an updated SkipConfirm value.
func (Context) WithTxConfig ¶
WithTxConfig returns the context with an updated TxConfig
func (Context) WithUseLedger ¶
WithUseLedger returns a copy of the context with an updated UseLedger flag.
type TestAccount ¶
type TestAccount struct { Address sdk.AccAddress Num uint64 Seq uint64 }
TestAccount represents a client Account that can be used in unit tests
func (TestAccount) GetAccountNumber ¶
func (t TestAccount) GetAccountNumber() uint64
GetAccountNumber implements client Account.GetAccountNumber
func (TestAccount) GetAddress ¶
func (t TestAccount) GetAddress() sdk.AccAddress
GetAddress implements client Account.GetAddress
func (TestAccount) GetPubKey ¶
func (t TestAccount) GetPubKey() cryptotypes.PubKey
GetPubKey implements client Account.GetPubKey
func (TestAccount) GetSequence ¶
func (t TestAccount) GetSequence() uint64
GetSequence implements client Account.GetSequence
type TestAccountRetriever ¶
type TestAccountRetriever struct {
Accounts map[string]TestAccount
}
TestAccountRetriever is an AccountRetriever that can be used in unit tests
func (TestAccountRetriever) EnsureExists ¶
func (t TestAccountRetriever) EnsureExists(_ Context, addr sdk.AccAddress) error
EnsureExists implements AccountRetriever.EnsureExists
func (TestAccountRetriever) GetAccount ¶
func (t TestAccountRetriever) GetAccount(_ Context, addr sdk.AccAddress) (Account, error)
GetAccount implements AccountRetriever.GetAccount
func (TestAccountRetriever) GetAccountNumberSequence ¶
func (t TestAccountRetriever) GetAccountNumberSequence(_ Context, addr sdk.AccAddress) (accNum uint64, accSeq uint64, err error)
GetAccountNumberSequence implements AccountRetriever.GetAccountNumberSequence
func (TestAccountRetriever) GetAccountWithHeight ¶
func (t TestAccountRetriever) GetAccountWithHeight(clientCtx Context, addr sdk.AccAddress) (Account, int64, error)
GetAccountWithHeight implements AccountRetriever.GetAccountWithHeight
type TxBuilder ¶
type TxBuilder interface { GetTx() signing.Tx SetMsgs(msgs ...sdk.Msg) error SetSignatures(signatures ...signingtypes.SignatureV2) error SetMemo(memo string) SetFeeAmount(amount sdk.Coins) SetFeePayer(feePayer sdk.AccAddress) SetGasLimit(limit uint64) SetTip(tip *tx.Tip) SetTimeoutHeight(height uint64) SetFeeGranter(feeGranter sdk.AccAddress) AddAuxSignerData(tx.AuxSignerData) error }
TxBuilder defines an interface which an application-defined concrete transaction type must implement. Namely, it must be able to set messages, generate signatures, and provide canonical bytes to sign over. The transaction must also know how to encode itself.
type TxConfig ¶
type TxConfig interface { TxEncodingConfig NewTxBuilder() TxBuilder WrapTxBuilder(sdk.Tx) (TxBuilder, error) SignModeHandler() signing.SignModeHandler }
TxConfig defines an interface a client can utilize to generate an application-defined concrete transaction type. The type returned must implement TxBuilder.
type TxEncodingConfig ¶
type TxEncodingConfig interface { TxEncoder() sdk.TxEncoder TxDecoder() sdk.TxDecoder TxJSONEncoder() sdk.TxEncoder TxJSONDecoder() sdk.TxDecoder MarshalSignatureJSON([]signingtypes.SignatureV2) ([]byte, error) UnmarshalSignatureJSON([]byte) ([]signingtypes.SignatureV2, error) }
TxEncodingConfig defines an interface that contains transaction encoders and decoders
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
docs
|
|
grpc
|
|
node
Package node is a reverse proxy.
|
Package node is a reverse proxy. |
reflection
Package reflection is a reverse proxy.
|
Package reflection is a reverse proxy. |
tmservice
Package tmservice is a reverse proxy.
|
Package tmservice is a reverse proxy. |