keeper

package
v1.7.4 Latest Latest
Warning

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

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

Documentation

Overview

nolint

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetInputPrice

func GetInputPrice(inputAmt, inputReserve, outputReserve sdkmath.Int, fee sdk.Dec) sdkmath.Int

GetInputPrice returns the amount of coins bought (calculated) given the input amount being sold (exact) The fee is included in the input coins being bought https://github.com/runtimeverification/verified-smart-contracts/blob/uniswap/uniswap/x-y-k.pdf

func GetOutputPrice

func GetOutputPrice(outputAmt, inputReserve, outputReserve sdkmath.Int, fee sdk.Dec) sdkmath.Int

GetOutputPrice returns the amount of coins sold (calculated) given the output amount being bought (exact) The fee is included in the output coins being bought

func NewMsgServerImpl

func NewMsgServerImpl(keeper Keeper) types.MsgServer

NewMsgServerImpl returns an implementation of the coinswap MsgServer interface for the provided Keeper.

Types

type Keeper

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

Keeper of the coinswap store

func NewKeeper

func NewKeeper(
	cdc codec.BinaryCodec,
	key storetypes.StoreKey,
	paramSpace paramstypes.Subspace,
	bk types.BankKeeper,
	ak types.AccountKeeper,
	blockedAddrs map[string]bool,
	feeCollectorName string,
) Keeper

NewKeeper returns a coinswap keeper. It handles: - creating new ModuleAccounts for each trading pair - burning and minting liquidity coins - sending to and from ModuleAccounts

func (Keeper) AddLiquidity

func (k Keeper) AddLiquidity(ctx sdk.Context, msg *types.MsgAddLiquidity) (sdk.Coin, error)

AddLiquidity adds liquidity to the specified pool

func (Keeper) AddUnilateralLiquidity

func (k Keeper) AddUnilateralLiquidity(ctx sdk.Context, msg *types.MsgAddUnilateralLiquidity) (sdk.Coin, error)

AddUnilateralLiquidity adds liquidity unilaterally to the specified pool

func (Keeper) CreatePool

func (k Keeper) CreatePool(ctx sdk.Context, counterpartyDenom string) types.Pool

CreatePool create a liquidity that saves relevant information about popular pool tokens

func (Keeper) DeductPoolCreationFee

func (k Keeper) DeductPoolCreationFee(ctx sdk.Context, creator sdk.AccAddress) error

DeductPoolCreationFee performs fee handling for creating liquidity pool

func (Keeper) ExportGenesis

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

ExportGenesis returns the coinswap module's genesis state.

func (Keeper) GetAllPools

func (k Keeper) GetAllPools(ctx sdk.Context) (pools []types.Pool)

GetAllPools return all the liquidity pools

func (Keeper) GetLptDenomFromDenoms

func (k Keeper) GetLptDenomFromDenoms(ctx sdk.Context, denom1, denom2 string) (string, error)

GetLptDenomFromDenoms returns the liquidity pool token denom for the provided denominations.

func (Keeper) GetParams

func (k Keeper) GetParams(ctx sdk.Context) types.Params

GetParams gets the parameters for the coinswap module.

func (Keeper) GetPool

func (k Keeper) GetPool(ctx sdk.Context, poolId string) (types.Pool, bool)

GetPool return the liquidity pool by the specified anotherCoinDenom

func (Keeper) GetPoolBalances

func (k Keeper) GetPoolBalances(ctx sdk.Context, escrowAddress string) (coins sdk.Coins, err error)

GetPoolBalances return the liquidity pool by the specified anotherCoinDenom

func (Keeper) GetPoolBalancesByLptDenom

func (k Keeper) GetPoolBalancesByLptDenom(ctx sdk.Context, lptDenom string) (coins sdk.Coins, err error)

func (Keeper) GetPoolByLptDenom

func (k Keeper) GetPoolByLptDenom(ctx sdk.Context, lptDenom string) (types.Pool, bool)

GetPoolByLptDenom return the liquidity pool by the specified anotherCoinDenom

func (Keeper) GetPoolBySequenceId

func (k Keeper) GetPoolBySequenceId(ctx sdk.Context, poolId uint64) (types.Pool, bool)

GetPoolBySequenceId return the pool by unique identifier

func (Keeper) GetStandardDenom

func (k Keeper) GetStandardDenom(ctx sdk.Context) string

GetStandardDenom returns the standard denom of the coinswap module.

func (Keeper) InitGenesis

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

InitGenesis initializes the coinswap module's state from a given genesis state.

func (Keeper) LiquidityPool

LiquidityPool returns the liquidity pool information of the denom

func (Keeper) Logger

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

Logger returns a module-specific logger.

func (Keeper) RemoveLiquidity

func (k Keeper) RemoveLiquidity(ctx sdk.Context, msg *types.MsgRemoveLiquidity) (sdk.Coins, error)

RemoveLiquidity removes liquidity from the specified pool

func (Keeper) RemoveUnilateralLiquidity

func (k Keeper) RemoveUnilateralLiquidity(ctx sdk.Context, msg *types.MsgRemoveUnilateralLiquidity) (sdk.Coins, error)

RemoveUnilateralLiquidity removes liquidity unilaterally from the specified pool

func (Keeper) SetParams

func (k Keeper) SetParams(ctx sdk.Context, params types.Params)

SetParams sets the parameters for the coinswap module.

func (Keeper) SetStandardDenom

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

SetStandardDenom sets the standard denom for the coinswap module.

func (Keeper) Swap

func (k Keeper) Swap(ctx sdk.Context, msg *types.MsgSwapOrder) error

Swap execute swap order in specified pool

func (Keeper) TradeExactInputForOutput

func (k Keeper) TradeExactInputForOutput(ctx sdk.Context, input types.Input, output types.Output) (sdkmath.Int, error)

* Sell exact amount of a token for buying another, one of them must be standard token @param input: exact amount of the token to be sold @param output: min amount of the token to be bought @param sender: address of the sender @param receipt: address of the receiver @return: actual amount of the token to be bought

func (Keeper) TradeInputForExactOutput

func (k Keeper) TradeInputForExactOutput(ctx sdk.Context, input types.Input, output types.Output) (sdkmath.Int, error)

* Buy exact amount of a token by specifying the max amount of another token, one of them must be standard token @param input : max amount of the token to be paid @param output : exact amount of the token to be bought @param sender : address of the sender @param receipt : address of the receiver @return : actual amount of the token to be paid

func (Keeper) ValidatePool

func (k Keeper) ValidatePool(ctx sdk.Context, lptDenom string) error

ValidatePool Verify the legitimacy of the liquidity pool

type Migrator

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

Migrator is a struct for handling in-place store migrations.

func NewMigrator

func NewMigrator(k Keeper) Migrator

NewMigrator returns a new Migrator.

func (Migrator) Migrate1to2

func (m Migrator) Migrate1to2(ctx sdk.Context) error

Migrate1to2 migrates from version 1 to 2.

func (Migrator) Migrate2to3

func (m Migrator) Migrate2to3(ctx sdk.Context) error

func (Migrator) Migrate3to4

func (m Migrator) Migrate3to4(ctx sdk.Context) error

Jump to

Keyboard shortcuts

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