keeper

package
v21.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

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 storetypes.StoreKey,
	poolManager types.PoolManager,
	spotPriceCalculator types.SpotPriceCalculator,
	protorevKeeper types.ProtorevKeeper,
	distributionKeeper types.DistributionKeeper,
	dataDir string,
) 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 the desired denom and send either to fee collector or community pool. Staking fee collector for staking rewards. - All non-native rewards that have a pool with liquidity and a link set in protorev get swapped to native denom - All resulting native tokens get sent to the fee collector. - Any non-native tokens that did not have associated pool stay in the balance of staking fee collector. Community pool fee collector. - All non-native rewards that have a pool with liquidity and a link set in protorev get swapped to a denom configured by parameter. - All resulting parameter denom tokens get sent to the community pool. - Any non-native tokens that did not have associated pool stay in the balance of community pool fee collector.

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) (osmomath.BigDec, 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) GetTxFeesTrackerStartHeight

func (k Keeper) GetTxFeesTrackerStartHeight(ctx sdk.Context) int64

GetTxFeesTrackerStartHeight gets the height from which we started accounting for txfees.

func (Keeper) GetTxFeesTrackerValue

func (k Keeper) GetTxFeesTrackerValue(ctx sdk.Context) (currentTxFees sdk.Coins)

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) IncreaseTxFeesTracker

func (k Keeper) IncreaseTxFeesTracker(ctx sdk.Context, txFees sdk.Coin)

IncreaseTxFeesTracker gets the current value of the txfees tracker, adds the given amount to it, and sets the new value.

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 osmomath.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) SetTxFeesTrackerStartHeight

func (k Keeper) SetTxFeesTrackerStartHeight(ctx sdk.Context, startHeight int64)

SetTxFeesTrackerStartHeight sets the height from which we started accounting for txfees.

func (Keeper) SetTxFeesTrackerValue

func (k Keeper) SetTxFeesTrackerValue(ctx sdk.Context, txFees sdk.Coins)

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) osmomath.Dec

type Querier

type Querier struct {
	Keeper
	mempool1559.EipState
}

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