Documentation

Index

Constants

View Source
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 CheckTendermintError

    func CheckTendermintError(err error, txBytes []byte) *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(kr keyring.Keyring, from string, genOnly bool) (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 genOnly is true, only a valid Bech32 cosmos address is returned.

        func Paginate

        func Paginate(numObjs, page, limit, defLimit int) (start, end int)

          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 RunGRPCQuery

            func RunGRPCQuery(ctx Context, grpcCtx gocontext.Context, method string, req interface{}, md metadata.MD) (abci.ResponseQuery, metadata.MD, error)

              RunGRPCQuery runs a gRPC query from the clientCtx, given all necessary arguments for the gRPC method, and returns the ABCI response. It is used to factorize code between client (Invoke) and server (RegisterGRPCServer) gRPC handlers.

              func SetCmdClientContext

              func SetCmdClientContext(cmd *cobra.Command, clientCtx Context) error

                SetCmdClientContext sets a command's Context value to the provided argument.

                func SetCmdClientContextHandler

                func SetCmdClientContextHandler(clientCtx Context, cmd *cobra.Command) (err error)

                  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

                    func ValidateCmd(cmd *cobra.Command, args []string) error

                      ValidateCmd returns unknown command error or Help display if help flag set

                      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
                          	ChainID           string
                          	JSONMarshaler     codec.JSONMarshaler
                          	InterfaceRegistry codectypes.InterfaceRegistry
                          	Input             io.Reader
                          	Keyring           keyring.Keyring
                          	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
                          
                          	// TODO: Deprecated (remove).
                          	LegacyAmino *codec.LegacyAmino
                          }

                            Context implements a typical context created in SDK modules for transaction handling and queries.

                            func GetClientContextFromCmd

                            func GetClientContextFromCmd(cmd *cobra.Command) Context

                              GetClientContextFromCmd returns a Context from a command or an empty Context if it has not been set.

                              func GetClientQueryContext

                              func GetClientQueryContext(cmd *cobra.Command) (Context, error)

                                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

                                func GetClientTxContext(cmd *cobra.Command) (Context, error)

                                  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

                                  func ReadPersistentCommandFlags(clientCtx Context, flagSet *pflag.FlagSet) (Context, error)

                                    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) GetFromAddress

                                            func (ctx Context) GetFromAddress() sdk.AccAddress

                                              GetFromAddress returns the from address from the context's name.

                                              func (Context) GetFromName

                                              func (ctx Context) GetFromName() string

                                                GetFromName returns the key name for the current context.

                                                func (Context) GetNode

                                                func (ctx Context) GetNode() (rpcclient.Client, error)

                                                  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

                                                      NewStream implements the grpc ClientConn.NewStream method

                                                      func (Context) PrintBytes

                                                      func (ctx Context) PrintBytes(o []byte) error

                                                        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

                                                        func (ctx Context) PrintObjectLegacy(toPrint interface{}) error

                                                          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

                                                          func (ctx Context) PrintProto(toPrint proto.Message) error

                                                            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.JSONMarshaler. An error is returned upon failure.

                                                            func (Context) PrintString

                                                            func (ctx Context) PrintString(str string) error

                                                              PrintString prints the raw string to ctx.Output if it's defined, otherwise to os.Stdout

                                                              func (Context) Query

                                                              func (ctx Context) Query(path string) ([]byte, int64, error)

                                                                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.

                                                                  func (Context) QueryStore

                                                                  func (ctx Context) QueryStore(key tmbytes.HexBytes, storeName string) ([]byte, int64, error)

                                                                    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

                                                                    func (ctx Context) QueryWithData(path string, data []byte) ([]byte, int64, error)

                                                                      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

                                                                        func (ctx Context) WithBroadcastMode(mode string) Context

                                                                          WithBroadcastMode returns a copy of the context with an updated broadcast mode.

                                                                          func (Context) WithChainID

                                                                          func (ctx Context) WithChainID(chainID string) Context

                                                                            WithChainID returns a copy of the context with an updated chain ID.

                                                                            func (Context) WithClient

                                                                            func (ctx Context) WithClient(client rpcclient.Client) Context

                                                                              WithClient returns a copy of the context with an updated RPC client instance.

                                                                              func (Context) WithFrom

                                                                              func (ctx Context) WithFrom(from string) Context

                                                                                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

                                                                                  func (ctx Context) WithFromName(name string) Context

                                                                                    WithFromName returns a copy of the context with an updated from account name.

                                                                                    func (Context) WithGenerateOnly

                                                                                    func (ctx Context) WithGenerateOnly(generateOnly bool) Context

                                                                                      WithGenerateOnly returns a copy of the context with updated GenerateOnly value

                                                                                      func (Context) WithHeight

                                                                                      func (ctx Context) WithHeight(height int64) Context

                                                                                        WithHeight returns a copy of the context with an updated height.

                                                                                        func (Context) WithHomeDir

                                                                                        func (ctx Context) WithHomeDir(dir string) Context

                                                                                          WithHomeDir returns a copy of the Context with HomeDir set.

                                                                                          func (Context) WithInput

                                                                                          func (ctx Context) WithInput(r io.Reader) Context

                                                                                            WithInput returns a copy of the context with an updated input.

                                                                                            func (Context) WithInterfaceRegistry

                                                                                            func (ctx Context) WithInterfaceRegistry(interfaceRegistry codectypes.InterfaceRegistry) Context

                                                                                              WithInterfaceRegistry returns the context with an updated InterfaceRegistry

                                                                                              func (Context) WithJSONMarshaler

                                                                                              func (ctx Context) WithJSONMarshaler(m codec.JSONMarshaler) Context

                                                                                                WithJSONMarshaler returns a copy of the Context with an updated JSONMarshaler.

                                                                                                func (Context) WithKeyring

                                                                                                func (ctx Context) WithKeyring(k keyring.Keyring) Context

                                                                                                  WithKeyring returns a copy of the context with an updated keyring.

                                                                                                  func (Context) WithKeyringDir

                                                                                                  func (ctx Context) WithKeyringDir(dir string) Context

                                                                                                    WithKeyringDir returns a copy of the Context with KeyringDir set.

                                                                                                    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

                                                                                                      func (ctx Context) WithNodeURI(nodeURI string) Context

                                                                                                        WithNodeURI returns a copy of the context with an updated node URI.

                                                                                                        func (Context) WithOffline

                                                                                                        func (ctx Context) WithOffline(offline bool) Context

                                                                                                          WithOffline returns a copy of the context with updated Offline value.

                                                                                                          func (Context) WithOutput

                                                                                                          func (ctx Context) WithOutput(w io.Writer) Context

                                                                                                            WithOutput returns a copy of the context with an updated output writer (e.g. stdout).

                                                                                                            func (Context) WithOutputFormat

                                                                                                            func (ctx Context) WithOutputFormat(format string) Context

                                                                                                              WithOutputFormat returns a copy of the context with an updated OutputFormat field.

                                                                                                              func (Context) WithSignModeStr

                                                                                                              func (ctx Context) WithSignModeStr(signModeStr string) Context

                                                                                                                WithSignModeStr returns a copy of the context with an updated SignMode value.

                                                                                                                func (Context) WithSimulation

                                                                                                                func (ctx Context) WithSimulation(simulate bool) Context

                                                                                                                  WithSimulation returns a copy of the context with updated Simulate value

                                                                                                                  func (Context) WithSkipConfirmation

                                                                                                                  func (ctx Context) WithSkipConfirmation(skip bool) Context

                                                                                                                    WithSkipConfirmation returns a copy of the context with an updated SkipConfirm value.

                                                                                                                    func (Context) WithTxConfig

                                                                                                                    func (ctx Context) WithTxConfig(generator TxConfig) Context

                                                                                                                      WithTxConfig returns the context with an updated TxConfig

                                                                                                                      func (Context) WithUseLedger

                                                                                                                      func (ctx Context) WithUseLedger(useLedger bool) Context

                                                                                                                        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)
                                                                                                                                            	SetGasLimit(limit uint64)
                                                                                                                                            	SetTimeoutHeight(height uint64)
                                                                                                                                            }

                                                                                                                                              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

                                                                                                                                                  Directories

                                                                                                                                                  Path Synopsis
                                                                                                                                                  docs
                                                                                                                                                  grpc
                                                                                                                                                  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.