tx

package
v0.50.5 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2024 License: Apache-2.0 Imports: 29 Imported by: 4,205

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BroadcastTx

func BroadcastTx(clientCtx client.Context, txf Factory, msgs ...sdk.Msg) error

BroadcastTx attempts to generate, sign and broadcast a transaction with the given set of messages. It will also simulate gas requirements if necessary. It will return an error upon failure.

func CalculateGas

func CalculateGas(
	clientCtx gogogrpc.ClientConn, txf Factory, msgs ...sdk.Msg,
) (*tx.SimulateResponse, uint64, error)

CalculateGas simulates the execution of a transaction and returns the simulation response obtained by the query and the adjusted gas amount.

func GenerateOrBroadcastTxCLI added in v0.40.0

func GenerateOrBroadcastTxCLI(clientCtx client.Context, flagSet *pflag.FlagSet, msgs ...sdk.Msg) error

GenerateOrBroadcastTxCLI will either generate and print an unsigned transaction or sign it and broadcast it returning an error upon failure.

func GenerateOrBroadcastTxWithFactory added in v0.40.0

func GenerateOrBroadcastTxWithFactory(clientCtx client.Context, txf Factory, msgs ...sdk.Msg) error

GenerateOrBroadcastTxWithFactory will either generate and print an unsigned transaction or sign it and broadcast it returning an error upon failure.

func Sign

func Sign(ctx context.Context, txf Factory, name string, txBuilder client.TxBuilder, overwriteSig bool) error

Sign signs a given tx with a named key. The bytes signed over are canconical. The resulting signature will be added to the transaction builder overwriting the previous ones if overwrite=true (otherwise, the signature will be appended). Signing a transaction with mutltiple signers in the DIRECT mode is not supprted and will return an error. An error is returned upon failure.

func SignWithPrivKey added in v0.40.0

func SignWithPrivKey(
	ctx context.Context,
	signMode signing.SignMode, signerData authsigning.SignerData,
	txBuilder client.TxBuilder, priv cryptotypes.PrivKey, txConfig client.TxConfig,
	accSeq uint64,
) (signing.SignatureV2, error)

SignWithPrivKey signs a given tx with the given private key, and returns the corresponding SignatureV2 if the signing is successful.

Types

type AuxTxBuilder added in v0.46.0

type AuxTxBuilder struct {
	// contains filtered or unexported fields
}

AuxTxBuilder is a client-side builder for creating an AuxSignerData.

func NewAuxTxBuilder added in v0.46.0

func NewAuxTxBuilder() AuxTxBuilder

NewAuxTxBuilder creates a new client-side builder for constructing an AuxSignerData.

func (*AuxTxBuilder) GetAuxSignerData added in v0.46.0

func (b *AuxTxBuilder) GetAuxSignerData() (tx.AuxSignerData, error)

GetAuxSignerData returns the builder's AuxSignerData.

func (*AuxTxBuilder) GetSignBytes added in v0.46.0

func (b *AuxTxBuilder) GetSignBytes() ([]byte, error)

GetSignBytes returns the builder's sign bytes.

func (*AuxTxBuilder) SetAccountNumber added in v0.46.0

func (b *AuxTxBuilder) SetAccountNumber(accNum uint64)

SetAccountNumber sets the aux signer's account number in the AuxSignerData.

func (*AuxTxBuilder) SetAddress added in v0.46.0

func (b *AuxTxBuilder) SetAddress(addr string)

SetAddress sets the aux signer's bech32 address.

func (*AuxTxBuilder) SetChainID added in v0.46.0

func (b *AuxTxBuilder) SetChainID(chainID string)

SetChainID sets the chain id in the AuxSignerData.

func (*AuxTxBuilder) SetExtensionOptions added in v0.46.0

func (b *AuxTxBuilder) SetExtensionOptions(extOpts ...*codectypes.Any)

SetExtensionOptions sets the aux signer's extension options.

func (*AuxTxBuilder) SetMemo added in v0.46.0

func (b *AuxTxBuilder) SetMemo(memo string)

SetMemo sets a memo in the tx.

func (*AuxTxBuilder) SetMsgs added in v0.46.0

func (b *AuxTxBuilder) SetMsgs(msgs ...sdk.Msg) error

SetMsgs sets an array of Msgs in the tx.

func (*AuxTxBuilder) SetNonCriticalExtensionOptions added in v0.46.0

func (b *AuxTxBuilder) SetNonCriticalExtensionOptions(extOpts ...*codectypes.Any)

SetSignature sets the aux signer's signature.

func (*AuxTxBuilder) SetPubKey added in v0.46.0

func (b *AuxTxBuilder) SetPubKey(pk cryptotypes.PubKey) error

SetPubKey sets the aux signer's pubkey in the AuxSignerData.

func (*AuxTxBuilder) SetSequence added in v0.46.0

func (b *AuxTxBuilder) SetSequence(accSeq uint64)

SetSequence sets the aux signer's sequence in the AuxSignerData.

func (*AuxTxBuilder) SetSignMode added in v0.46.0

func (b *AuxTxBuilder) SetSignMode(mode signing.SignMode) error

SetSignMode sets the aux signer's sign mode. Allowed sign modes are DIRECT_AUX and LEGACY_AMINO_JSON.

func (*AuxTxBuilder) SetSignature added in v0.46.0

func (b *AuxTxBuilder) SetSignature(sig []byte)

SetSignature sets the aux signer's signature in the AuxSignerData.

func (*AuxTxBuilder) SetTimeoutHeight added in v0.46.0

func (b *AuxTxBuilder) SetTimeoutHeight(height uint64)

SetTimeoutHeight sets a timeout height in the tx.

type Factory

type Factory struct {
	// contains filtered or unexported fields
}

Factory defines a client transaction factory that facilitates generating and signing an application-specific transaction.

func NewFactoryCLI added in v0.40.0

func NewFactoryCLI(clientCtx client.Context, flagSet *pflag.FlagSet) (Factory, error)

NewFactoryCLI creates a new Factory.

func (Factory) AccountNumber

func (f Factory) AccountNumber() uint64

func (Factory) AccountRetriever

func (f Factory) AccountRetriever() client.AccountRetriever

func (Factory) BuildSimTx added in v0.44.0

func (f Factory) BuildSimTx(msgs ...sdk.Msg) ([]byte, error)

BuildSimTx creates an unsigned tx with an empty single signature and returns the encoded transaction or an error if the unsigned transaction cannot be built.

func (Factory) BuildUnsignedTx added in v0.44.0

func (f Factory) BuildUnsignedTx(msgs ...sdk.Msg) (client.TxBuilder, error)

BuildUnsignedTx builds a transaction to be signed given a set of messages. Once created, the fee, memo, and messages are set.

func (Factory) ChainID

func (f Factory) ChainID() string

func (Factory) Fees

func (f Factory) Fees() sdk.Coins

func (Factory) FromName added in v0.47.8

func (f Factory) FromName() string

func (Factory) Gas

func (f Factory) Gas() uint64

func (Factory) GasAdjustment

func (f Factory) GasAdjustment() float64

func (Factory) GasPrices

func (f Factory) GasPrices() sdk.DecCoins

func (Factory) Keybase

func (f Factory) Keybase() keyring.Keyring

func (Factory) Memo

func (f Factory) Memo() string

func (Factory) Prepare added in v0.44.0

func (f Factory) Prepare(clientCtx client.Context) (Factory, error)

Prepare ensures the account defined by ctx.GetFromAddress() exists and if the account number and/or the account sequence number are zero (not set), they will be queried for and set on the provided Factory. A new Factory with the updated fields will be returned. Note: When in offline mode, the Prepare does nothing and returns the original factory.

func (Factory) PreprocessTx added in v0.47.0

func (f Factory) PreprocessTx(keyname string, builder client.TxBuilder) error

PreprocessTx calls the preprocessing hook with the factory parameters and returns the result.

func (Factory) PrintUnsignedTx added in v0.44.0

func (f Factory) PrintUnsignedTx(clientCtx client.Context, msgs ...sdk.Msg) error

PrintUnsignedTx will generate an unsigned transaction and print it to the writer specified by ctx.Output. If simulation was requested, the gas will be simulated and also printed to the same writer before the transaction is printed.

func (Factory) Sequence

func (f Factory) Sequence() uint64

func (Factory) SignMode added in v0.40.0

func (f Factory) SignMode() signing.SignMode

SignMode returns the sign mode configured in the Factory

func (Factory) SimulateAndExecute

func (f Factory) SimulateAndExecute() bool

SimulateAndExecute returns the option to simulate and then execute the transaction using the gas from the simulation results

func (Factory) TimeoutHeight added in v0.40.0

func (f Factory) TimeoutHeight() uint64

func (Factory) WithAccountNumber

func (f Factory) WithAccountNumber(accnum uint64) Factory

WithAccountNumber returns a copy of the Factory with an updated account number.

func (Factory) WithAccountRetriever

func (f Factory) WithAccountRetriever(ar client.AccountRetriever) Factory

WithAccountRetriever returns a copy of the Factory with an updated AccountRetriever.

func (Factory) WithChainID

func (f Factory) WithChainID(chainID string) Factory

WithChainID returns a copy of the Factory with an updated chainID.

func (Factory) WithExtensionOptions added in v0.47.3

func (f Factory) WithExtensionOptions(extOpts ...*codectypes.Any) Factory

WithExtensionOptions returns a Factory with given extension options added to the existing options, Example to add dynamic fee extension options:

extOpt := ethermint.ExtensionOptionDynamicFeeTx{
	MaxPriorityPrice: math.NewInt(1000000),
}

extBytes, _ := extOpt.Marshal()

extOpts := []*types.Any{
	{
		TypeUrl: "/ethermint.types.v1.ExtensionOptionDynamicFeeTx",
		Value:   extBytes,
	},
}

txf.WithExtensionOptions(extOpts...)

func (Factory) WithFeeGranter added in v0.46.0

func (f Factory) WithFeeGranter(fg sdk.AccAddress) Factory

WithFeeGranter returns a copy of the Factory with an updated fee granter.

func (Factory) WithFeePayer added in v0.46.0

func (f Factory) WithFeePayer(fp sdk.AccAddress) Factory

WithFeePayer returns a copy of the Factory with an updated fee granter.

func (Factory) WithFees

func (f Factory) WithFees(fees string) Factory

WithFees returns a copy of the Factory with an updated fee.

func (Factory) WithFromName added in v0.47.8

func (f Factory) WithFromName(fromName string) Factory

WithFromName returns a copy of the Factory with updated fromName fromName will be use for building a simulation tx.

func (Factory) WithGas

func (f Factory) WithGas(gas uint64) Factory

WithGas returns a copy of the Factory with an updated gas value.

func (Factory) WithGasAdjustment

func (f Factory) WithGasAdjustment(gasAdj float64) Factory

WithGasAdjustment returns a copy of the Factory with an updated gas adjustment.

func (Factory) WithGasPrices

func (f Factory) WithGasPrices(gasPrices string) Factory

WithGasPrices returns a copy of the Factory with updated gas prices.

func (Factory) WithKeybase

func (f Factory) WithKeybase(keybase keyring.Keyring) Factory

WithKeybase returns a copy of the Factory with updated Keybase.

func (Factory) WithMemo

func (f Factory) WithMemo(memo string) Factory

WithMemo returns a copy of the Factory with an updated memo.

func (Factory) WithPreprocessTxHook added in v0.47.0

func (f Factory) WithPreprocessTxHook(preprocessFn client.PreprocessTxFn) Factory

WithPreprocessTxHook returns a copy of the Factory with an updated preprocess tx function, allows for preprocessing of transaction data using the TxBuilder.

func (Factory) WithSequence

func (f Factory) WithSequence(sequence uint64) Factory

WithSequence returns a copy of the Factory with an updated sequence number.

func (Factory) WithSignMode added in v0.40.0

func (f Factory) WithSignMode(mode signing.SignMode) Factory

WithSignMode returns a copy of the Factory with an updated sign mode value.

func (Factory) WithSimulateAndExecute

func (f Factory) WithSimulateAndExecute(sim bool) Factory

WithSimulateAndExecute returns a copy of the Factory with an updated gas simulation value.

func (Factory) WithTimeoutHeight added in v0.40.0

func (f Factory) WithTimeoutHeight(height uint64) Factory

WithTimeoutHeight returns a copy of the Factory with an updated timeout height.

func (Factory) WithTxConfig added in v0.40.0

func (f Factory) WithTxConfig(g client.TxConfig) Factory

WithTxConfig returns a copy of the Factory with an updated TxConfig.

type GasEstimateResponse

type GasEstimateResponse struct {
	GasEstimate uint64 `json:"gas_estimate" yaml:"gas_estimate"`
}

GasEstimateResponse defines a response definition for tx gas estimation.

func (GasEstimateResponse) String

func (gr GasEstimateResponse) String() string

Jump to

Keyboard shortcuts

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