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.