utils

package
v0.0.0-...-f177ddc Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2018 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CalculateGas

func CalculateGas(queryFunc func(string, common.HexBytes) ([]byte, error), cdc *amino.Codec, txBytes []byte, adjustment float64) (estimate, adjusted int64, err error)

CalculateGas simulates the execution of a transaction and returns both the estimate obtained by the query and the adjusted amount.

func CompleteAndBroadcastTxCli

func CompleteAndBroadcastTxCli(txBldr authtxb.TxBuilder, cliCtx context.CLIContext, msgs []sdk.Msg) error

CompleteAndBroadcastTxCli implements a utility function that facilitates sending a series of messages in a signed transaction given a TxBuilder and a QueryContext. It ensures that the account exists, has a proper number and sequence set. In addition, it builds and signs a transaction with the supplied messages. Finally, it broadcasts the signed transaction to a node. NOTE: Also see CompleteAndBroadcastTxREST.

func CompleteAndBroadcastTxREST

func CompleteAndBroadcastTxREST(w http.ResponseWriter, r *http.Request, cliCtx context.CLIContext, baseReq BaseReq, msgs []sdk.Msg, cdc *codec.Codec)

CompleteAndBroadcastTxREST implements a utility function that facilitates sending a series of messages in a signed transaction given a TxBuilder and a QueryContext. It ensures that the account exists, has a proper number and sequence set. In addition, it builds and signs a transaction with the supplied messages. Finally, it broadcasts the signed transaction to a node.

NOTE: Also see CompleteAndBroadcastTxCli. NOTE: Also see x/stake/client/rest/tx.go delegationsRequestHandlerFn.

func EnrichCtxWithGas

func EnrichCtxWithGas(txBldr authtxb.TxBuilder, cliCtx context.CLIContext, name string, msgs []sdk.Msg) (authtxb.TxBuilder, error)

EnrichCtxWithGas calculates the gas estimate that would be consumed by the transaction and set the transaction's respective value accordingly.

func HasDryRunArg

func HasDryRunArg(r *http.Request) bool

HasDryRunArg returns true if the request's URL query contains the dry run argument and its value is set to "true".

func HasGenerateOnlyArg

func HasGenerateOnlyArg(r *http.Request) bool

HasGenerateOnlyArg returns whether a URL's query "generate-only" parameter is set to "true".

func ParseFloat64OrReturnBadRequest

func ParseFloat64OrReturnBadRequest(w http.ResponseWriter, s string, defaultIfEmpty float64) (n float64, ok bool)

ParseFloat64OrReturnBadRequest converts s to a float64 value. It returns a default value, defaultIfEmpty, if the string is empty.

func ParseInt64OrReturnBadRequest

func ParseInt64OrReturnBadRequest(w http.ResponseWriter, s string) (n int64, ok bool)

ParseInt64OrReturnBadRequest converts s to a int64 value.

func ParseUint64OrReturnBadRequest

func ParseUint64OrReturnBadRequest(w http.ResponseWriter, s string) (n uint64, ok bool)

ParseUint64OrReturnBadRequest converts s to a uint64 value.

func PostProcessResponse

func PostProcessResponse(w http.ResponseWriter, cdc *codec.Codec, response interface{}, indent bool)

PostProcessResponse performs post process for rest response

func PrintUnsignedStdTx

func PrintUnsignedStdTx(txBldr authtxb.TxBuilder, cliCtx context.CLIContext, msgs []sdk.Msg, offline bool) (err error)

PrintUnsignedStdTx builds an unsigned StdTx and prints it to os.Stdout. Don't perform online validation or lookups if offline is true.

func ReadRESTReq

func ReadRESTReq(w http.ResponseWriter, r *http.Request, cdc *codec.Codec, req interface{}) error

ReadRESTReq is a simple convenience wrapper that reads the body and unmarshals to the req interface.

  Usage:
    type SomeReq struct {
      BaseReq            `json:"base_req"`
      CustomField string `json:"custom_field"`
		}

    req := new(SomeReq)
    err := ReadRESTReq(w, r, cdc, req)

func SignStdTx

func SignStdTx(txBldr authtxb.TxBuilder, cliCtx context.CLIContext, name string, stdTx auth.StdTx, appendSig bool, offline bool) (auth.StdTx, error)

SignStdTx appends a signature to a StdTx and returns a copy of a it. If appendSig is false, it replaces the signatures already attached with the new signature. Don't perform online validation or lookups if offline is true.

func WriteErrorResponse

func WriteErrorResponse(w http.ResponseWriter, status int, err string)

WriteErrorResponse prepares and writes a HTTP error given a status code and an error message.

func WriteGenerateStdTxResponse

func WriteGenerateStdTxResponse(w http.ResponseWriter, txBldr authtxb.TxBuilder, msgs []sdk.Msg)

WriteGenerateStdTxResponse writes response for the generate_only mode.

func WriteSimulationResponse

func WriteSimulationResponse(w http.ResponseWriter, gas int64)

WriteSimulationResponse prepares and writes an HTTP response for transactions simulations.

Types

type BaseReq

type BaseReq struct {
	Name          string `json:"name"`
	Password      string `json:"password"`
	ChainID       string `json:"chain_id"`
	Sequence      int64  `json:"sequence"`
	Gas           string `json:"gas"`
	GasAdjustment string `json:"gas_adjustment"`
}

BaseReq defines a structure that can be embedded in other request structures that all share common "base" fields.

func (BaseReq) Sanitize

func (br BaseReq) Sanitize() BaseReq

Sanitize performs basic sanitization on a BaseReq object.

func (BaseReq) ValidateBasic

func (br BaseReq) ValidateBasic(w http.ResponseWriter) bool

ValidateBasic performs basic validation of a BaseReq. If custom validation logic is needed, the implementing request handler should perform those checks manually.

Jump to

Keyboard shortcuts

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