keeper

package
v15.9.0 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2023 License: Apache-2.0 Imports: 15 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeductFees

func DeductFees(txFeesKeeper types.TxFeesKeeper, bankKeeper types.BankKeeper, ctx sdk.Context, acc authtypes.AccountI, fees sdk.Coins) error

DeductFees deducts fees from the given account and transfers them to the set module account.

Types

type DeductFeeDecorator

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

DeductFeeDecorator deducts fees from the first signer of the tx. If the first signer does not have the funds to pay for the fees, we return an InsufficientFunds error. We call next AnteHandler if fees successfully deducted.

CONTRACT: Tx must implement FeeTx interface to use DeductFeeDecorator

func (DeductFeeDecorator) AnteHandle

func (dfd DeductFeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error)

type Hooks

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

Hooks wrapper struct for incentives keeper

func (Hooks) AfterEpochEnd

func (h Hooks) AfterEpochEnd(ctx sdk.Context, epochIdentifier string, epochNumber int64) error

func (Hooks) BeforeEpochStart

func (h Hooks) BeforeEpochStart(ctx sdk.Context, epochIdentifier string, epochNumber int64) error

type Keeper

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

func NewKeeper

func NewKeeper(
	accountKeeper types.AccountKeeper,
	bankKeeper types.BankKeeper,
	storeKey sdk.StoreKey,
	poolManager types.PoolManager,
	spotPriceCalculator types.SpotPriceCalculator,
) Keeper

func (Keeper) AfterEpochEnd

func (k Keeper) AfterEpochEnd(ctx sdk.Context, epochIdentifier string, epochNumber int64) error

at the end of each epoch, swap all non-OSMO fees into OSMO and transfer to fee module account

func (Keeper) BeforeEpochStart

func (k Keeper) BeforeEpochStart(ctx sdk.Context, epochIdentifier string, epochNumber int64) error

func (Keeper) CalcFeeSpotPrice

func (k Keeper) CalcFeeSpotPrice(ctx sdk.Context, inputDenom string) (sdk.Dec, error)

CalcFeeSpotPrice converts the provided tx fees into their equivalent value in the base denomination. Spot Price Calculation: spotPrice / (1 - spreadFactor), where spotPrice is defined as: (tokenBalanceIn / tokenWeightIn) / (tokenBalanceOut / tokenWeightOut)

func (Keeper) ConvertToBaseToken

func (k Keeper) ConvertToBaseToken(ctx sdk.Context, inputFee sdk.Coin) (sdk.Coin, error)

ConvertToBaseToken converts a fee amount in a whitelisted fee token to the base fee token amount.

func (Keeper) ExportGenesis

func (k Keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState

ExportGenesis returns the txfees module's exported genesis.

func (Keeper) GetBaseDenom

func (k Keeper) GetBaseDenom(ctx sdk.Context) (denom string, err error)

GetFeeToken returns the fee token record for a specific denom, In our case the baseDenom is uosmo.

func (Keeper) GetFeeToken

func (k Keeper) GetFeeToken(ctx sdk.Context, denom string) (types.FeeToken, error)

GetFeeToken returns a unique fee token record for a specific denom. If the denom doesn't exist, returns an error.

func (Keeper) GetFeeTokens

func (k Keeper) GetFeeTokens(ctx sdk.Context) (feetokens []types.FeeToken)

func (Keeper) GetFeeTokensStore

func (k Keeper) GetFeeTokensStore(ctx sdk.Context) sdk.KVStore

func (Keeper) HandleUpdateFeeTokenProposal

func (k Keeper) HandleUpdateFeeTokenProposal(ctx sdk.Context, p *types.UpdateFeeTokenProposal) error

func (Keeper) Hooks

func (k Keeper) Hooks() Hooks

Return the wrapper struct

func (Keeper) InitGenesis

func (k Keeper) InitGenesis(ctx sdk.Context, genState types.GenesisState)

InitGenesis initializes the txfees module's state from a provided genesis state.

func (Keeper) IsSufficientFee

func (k Keeper) IsSufficientFee(ctx sdk.Context, minBaseGasPrice sdk.Dec, gasRequested uint64, feeCoin sdk.Coin) error

IsSufficientFee checks if the feeCoin provided (in any asset), is worth enough osmo at current spot prices to pay the gas cost of this tx.

func (Keeper) Logger

func (k Keeper) Logger(ctx sdk.Context) log.Logger

func (Keeper) SetBaseDenom

func (k Keeper) SetBaseDenom(ctx sdk.Context, denom string) error

SetBaseDenom sets the base fee denom for the chain. Should only be used once.

func (Keeper) SetFeeTokens

func (k Keeper) SetFeeTokens(ctx sdk.Context, feetokens []types.FeeToken) error

func (Keeper) ValidateFeeToken

func (k Keeper) ValidateFeeToken(ctx sdk.Context, feeToken types.FeeToken) error

ValidateFeeToken validates that a fee token record is valid It checks: - The denom exists - The denom is not the base denom - The gamm pool exists - The gamm pool includes the base token and fee token.

type MempoolFeeDecorator

type MempoolFeeDecorator struct {
	TxFeesKeeper Keeper
	Opts         types.MempoolFeeOptions
}

MempoolFeeDecorator will check if the transaction's fee is at least as large as the local validator's minimum gasFee (defined in validator config). If fee is too low, decorator returns error and tx is rejected from mempool. Note this only applies when ctx.CheckTx = true If fee is high enough or not CheckTx, then call next AnteHandler CONTRACT: Tx must implement FeeTx to use MempoolFeeDecorator.

func NewMempoolFeeDecorator

func NewMempoolFeeDecorator(txFeesKeeper Keeper, opts types.MempoolFeeOptions) MempoolFeeDecorator

func (MempoolFeeDecorator) AnteHandle

func (mfd MempoolFeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error)

func (MempoolFeeDecorator) GetMinBaseGasPriceForTx

func (mfd MempoolFeeDecorator) GetMinBaseGasPriceForTx(ctx sdk.Context, baseDenom string, tx sdk.FeeTx) sdk.Dec

type Querier

type Querier struct {
	Keeper
}

Querier defines a wrapper around the x/txfees keeper providing gRPC method handlers.

func NewQuerier

func NewQuerier(k Keeper) Querier

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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