 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
      View Source
      
  
const (
	GasAdjustment = float64(1.7)
)
    Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseTxFactory ¶
type BaseTxFactory interface {
	// BuildCosmosTx builds a Cosmos tx with the provided private key and txArgs
	BuildCosmosTx(privKey cryptotypes.PrivKey, txArgs CosmosTxArgs) (authsigning.Tx, error)
	// SignCosmosTx signs a Cosmos transaction with the provided
	// private key and tx builder
	SignCosmosTx(privKey cryptotypes.PrivKey, txBuilder client.TxBuilder) error
	// ExecuteCosmosTx builds, signs and broadcasts a Cosmos tx with the provided private key and txArgs
	ExecuteCosmosTx(privKey cryptotypes.PrivKey, txArgs CosmosTxArgs) (abcitypes.ExecTxResult, error)
	// EncodeTx encodes the provided transaction
	EncodeTx(tx sdktypes.Tx) ([]byte, error)
	// CommitCosmosTx creates, signs and commits a cosmos tx
	// (produces a block with the specified transaction)
	CommitCosmosTx(privKey cryptotypes.PrivKey, txArgs CosmosTxArgs) (abcitypes.ExecTxResult, error)
}
    BaseTxFactory is the interface that wraps the common methods to build and broadcast transactions within cosmos chains
type CoreTxFactory ¶
type CoreTxFactory interface {
	BaseTxFactory
	DistributionTxFactory
	StakingTxFactory
	FundTxFactory
}
    CoreTxFactory is the interface that wraps the methods to build and broadcast cosmos transactions, and also includes module-specific transactions
type CosmosTxArgs ¶
type CosmosTxArgs struct {
	// ChainID is the chain's id in cosmos format, e.g. 'evmos_9000-1'
	ChainID string
	// Gas to be used on the tx
	Gas *uint64
	// GasPrice to use on tx
	GasPrice *sdkmath.Int
	// Fees is the fee to be used on the tx (amount and denom)
	Fees sdktypes.Coins
	// FeeGranter is the account address of the fee granter
	FeeGranter sdktypes.AccAddress
	// Msgs slice of messages to include on the tx
	Msgs []sdktypes.Msg
}
    CosmosTxArgs contains the params to create a cosmos tx
type DistributionTxFactory ¶
type DistributionTxFactory interface {
	// SetWithdrawAddress is a method to create and broadcast a MsgSetWithdrawAddress
	SetWithdrawAddress(delegatorPriv cryptotypes.PrivKey, withdrawerAddr sdk.AccAddress) error
	// WithdrawDelegationRewards is a method to create and broadcast a MsgWithdrawDelegationRewards
	WithdrawDelegationRewards(delegatorPriv cryptotypes.PrivKey, validatorAddr string) error
	// WithdrawValidatorCommission is a method to create and broadcast a MsgWithdrawValidatorCommission
	WithdrawValidatorCommission(validatorPriv cryptotypes.PrivKey) error
}
    type FundTxFactory ¶
type FundTxFactory interface {
	// FundAccount funds the given account with the given amount.
	FundAccount(sender keyring.Key, receiver sdktypes.AccAddress, amount sdktypes.Coins) error
}
    FundTxFactory is the interface that wraps the common methods to fund accounts via a bank send transaction
type IntegrationTxFactory ¶
type IntegrationTxFactory struct {
	BaseTxFactory
	DistributionTxFactory
	StakingTxFactory
	FundTxFactory
}
    IntegrationTxFactory is a helper struct to build and broadcast transactions to the network on integration tests. This is to simulate the behavior of a real user.
type StakingTxFactory ¶
type StakingTxFactory interface {
	// Delegate is a method to create and execute a MsgDelegate paying always the same fee amount
	// The tx is included in a block and committed in the chain state
	Delegate(delegatorPriv cryptotypes.PrivKey, validatorAddr string, amount sdk.Coin) error
	// CreateValidator is a method to create and broadcast a MsgCreateValidator
	CreateValidator(operatorPriv cryptotypes.PrivKey, pubKey cryptotypes.PubKey, selfDelegation sdk.Coin, description stakingtypes.Description, commission stakingtypes.CommissionRates, minSelfDelegation math.Int) error
}
     Click to show internal directories. 
   Click to hide internal directories.