Documentation ¶
Index ¶
- Constants
- func CalcLiquidityFee(toRowan bool, normalizationFactor sdk.Dec, adjustExternalToken bool, ...) (sdk.Uint, error)
- func CalcSwapResult(toRowan bool, normalizationFactor sdk.Dec, adjustExternalToken bool, ...) (sdk.Uint, error)
- func CalculateAllAssetsForLP(pool types.Pool, lp types.LiquidityProvider) (sdk.Uint, sdk.Uint, sdk.Uint, sdk.Uint)
- func CalculatePoolUnits(...) (sdk.Uint, sdk.Uint, error)
- func CalculateWithdrawal(poolUnits sdk.Uint, nativeAssetBalance string, externalAssetBalance string, ...) (sdk.Uint, sdk.Uint, sdk.Uint, sdk.Uint)
- func GetMinLen(inputs []sdk.Uint) int64
- func GetSwapFee(sentAmount sdk.Uint, to types.Asset, pool types.Pool, ...) sdk.Uint
- func IncreasePrecision(dec sdk.Dec, po int64) sdk.Dec
- func NewMsgServerImpl(keeper Keeper) types.MsgServer
- func NewQuerier(keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier
- func ReducePrecision(dec sdk.Dec, po int64) sdk.Dec
- func SetInputs(sentAmount sdk.Uint, to types.Asset, pool types.Pool) (sdk.Uint, sdk.Uint, sdk.Uint, bool)
- func SwapOne(from types.Asset, sentAmount sdk.Uint, to types.Asset, pool types.Pool, ...) (sdk.Uint, sdk.Uint, sdk.Uint, types.Pool, error)
- func ValidateZero(inputs []sdk.Uint) bool
- type Keeper
- func (k Keeper) AddLiquidity(ctx sdk.Context, msg *types.MsgAddLiquidity, pool types.Pool, ...) (*types.LiquidityProvider, error)
- func (k Keeper) Codec() codec.BinaryCodec
- func (k Keeper) CreateLiquidityProvider(ctx sdk.Context, asset *types.Asset, lpunits sdk.Uint, ...) types.LiquidityProvider
- func (k Keeper) CreatePool(ctx sdk.Context, poolUints sdk.Uint, msg *types.MsgCreatePool) (*types.Pool, error)
- func (k Keeper) DecommissionPool(ctx sdk.Context, pool types.Pool) error
- func (k Keeper) DestroyLiquidityProvider(ctx sdk.Context, symbol string, lpAddress string)
- func (k Keeper) DestroyPool(ctx sdk.Context, symbol string) error
- func (k Keeper) Exists(ctx sdk.Context, key []byte) bool
- func (k Keeper) ExistsClpWhiteList(ctx sdk.Context) bool
- func (k Keeper) ExistsPool(ctx sdk.Context, symbol string) bool
- func (k Keeper) FinalizeSwap(ctx sdk.Context, sentAmount string, finalPool types.Pool, msg types.MsgSwap) error
- func (k Keeper) GetAllLiquidityProvidersPaginated(ctx sdk.Context, pagination *query.PageRequest) ([]*types.LiquidityProvider, *query.PageResponse, error)
- func (k Keeper) GetAssetsForLiquidityProviderPaginated(ctx sdk.Context, lpAddress sdk.AccAddress, pagination *query.PageRequest) ([]*types.Asset, *query.PageResponse, error)
- func (k Keeper) GetAuthKeeper() types.AuthKeeper
- func (k Keeper) GetBankKeeper() types.BankKeeper
- func (k Keeper) GetClpWhiteList(ctx sdk.Context) []sdk.AccAddress
- func (k Keeper) GetLiquidityProvider(ctx sdk.Context, symbol string, lpAddress string) (types.LiquidityProvider, error)
- func (k Keeper) GetLiquidityProviderIterator(ctx sdk.Context) sdk.Iterator
- func (k Keeper) GetLiquidityProvidersForAssetPaginated(ctx sdk.Context, asset types.Asset, pagination *query.PageRequest) ([]*types.LiquidityProvider, *query.PageResponse, error)
- func (k Keeper) GetMinCreatePoolThreshold(ctx sdk.Context) (res uint64)
- func (k Keeper) GetNormalizationFactor(decimals int64) (sdk.Dec, bool)
- func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)
- func (k Keeper) GetPool(ctx sdk.Context, symbol string) (types.Pool, error)
- func (k Keeper) GetPools(ctx sdk.Context) []*types.Pooldeprecated
- func (k Keeper) GetPoolsIterator(ctx sdk.Context) sdk.Iterator
- func (k Keeper) GetPoolsPaginated(ctx sdk.Context, pagination *query.PageRequest) ([]*types.Pool, *query.PageResponse, error)
- func (k Keeper) HasBalance(ctx sdk.Context, addr sdk.AccAddress, coin sdk.Coin) bool
- func (k Keeper) InitiateSwap(ctx sdk.Context, sentCoin sdk.Coin, swapper sdk.AccAddress) error
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) ParseToInt(nu string) (sdk.Int, bool)
- func (k Keeper) RemoveLiquidity(ctx sdk.Context, pool types.Pool, externalAssetCoin sdk.Coin, ...) error
- func (k Keeper) RemoveLiquidityProvider(ctx sdk.Context, coins sdk.Coins, lp types.LiquidityProvider) error
- func (k Keeper) SendCoins(ctx sdk.Context, from sdk.AccAddress, to sdk.AccAddress, coins sdk.Coins) error
- func (k Keeper) SetClpWhiteList(ctx sdk.Context, validatorList []sdk.AccAddress)
- func (k Keeper) SetLiquidityProvider(ctx sdk.Context, lp *types.LiquidityProvider)
- func (k Keeper) SetParams(ctx sdk.Context, params types.Params)
- func (k Keeper) SetPool(ctx sdk.Context, pool *types.Pool) error
- func (k Keeper) ValidateAddress(ctx sdk.Context, address sdk.AccAddress) bool
- func (k Keeper) ValidatePool(pool types.Pool) bool
- type Querier
- func (k Querier) GetAssetList(c context.Context, req *types.AssetListReq) (*types.AssetListRes, error)
- func (k Querier) GetLiquidityProvider(c context.Context, req *types.LiquidityProviderReq) (*types.LiquidityProviderRes, error)
- func (k Querier) GetLiquidityProviderData(c context.Context, req *types.LiquidityProviderDataReq) (*types.LiquidityProviderDataRes, error)
- func (k Querier) GetLiquidityProviderList(c context.Context, req *types.LiquidityProviderListReq) (*types.LiquidityProviderListRes, error)
- func (k Querier) GetLiquidityProviders(c context.Context, req *types.LiquidityProvidersReq) (*types.LiquidityProvidersRes, error)
- func (k Querier) GetPool(c context.Context, req *types.PoolReq) (*types.PoolRes, error)
- func (k Querier) GetPools(c context.Context, req *types.PoolsReq) (*types.PoolsRes, error)
Constants ¶
const MaxPageLimit = 200
Variables ¶
This section is empty.
Functions ¶
func CalcLiquidityFee ¶
func CalcSwapResult ¶
func CalculateAllAssetsForLP ¶
func CalculatePoolUnits ¶
func CalculateWithdrawal ¶
func CalculateWithdrawal(poolUnits sdk.Uint, nativeAssetBalance string, externalAssetBalance string, lpUnits string, wBasisPoints string, asymmetry sdk.Int) (sdk.Uint, sdk.Uint, sdk.Uint, sdk.Uint)
More details on the formula https://github.com/Sifchain/sifnode/blob/develop/docs/1.Liquidity%20Pools%20Architecture.md
func GetSwapFee ¶
func NewMsgServerImpl ¶
NewMsgServerImpl returns an implementation of the clp MsgServer interface for the provided Keeper.
func NewQuerier ¶
func NewQuerier(keeper Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier
NewQuerier is the module level router for state queries
func SwapOne ¶
func SwapOne(from types.Asset, sentAmount sdk.Uint, to types.Asset, pool types.Pool, normalizationFactor sdk.Dec, adjustExternalToken bool) (sdk.Uint, sdk.Uint, sdk.Uint, types.Pool, error)
------------------------------------------------------------------------------------------------------------------ More details on the formula https://github.com/Sifchain/sifnode/blob/develop/docs/1.Liquidity%20Pools%20Architecture.md
func ValidateZero ¶
Types ¶
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
Keeper of the clp store
func NewKeeper ¶
func NewKeeper(cdc codec.BinaryCodec, key sdk.StoreKey, bankkeeper types.BankKeeper, accountKeeper types.AuthKeeper, tokenRegistryKeeper tokenregistrytypes.Keeper, ps paramtypes.Subspace) Keeper
NewKeeper creates a clp keeper
func (Keeper) AddLiquidity ¶
func (Keeper) Codec ¶
func (k Keeper) Codec() codec.BinaryCodec
func (Keeper) CreateLiquidityProvider ¶
func (Keeper) CreatePool ¶
func (Keeper) DecommissionPool ¶
func (Keeper) DestroyLiquidityProvider ¶
func (Keeper) FinalizeSwap ¶
func (Keeper) GetAllLiquidityProvidersPaginated ¶
func (k Keeper) GetAllLiquidityProvidersPaginated(ctx sdk.Context, pagination *query.PageRequest) ([]*types.LiquidityProvider, *query.PageResponse, error)
func (Keeper) GetAssetsForLiquidityProviderPaginated ¶
func (k Keeper) GetAssetsForLiquidityProviderPaginated(ctx sdk.Context, lpAddress sdk.AccAddress, pagination *query.PageRequest) ([]*types.Asset, *query.PageResponse, error)
func (Keeper) GetAuthKeeper ¶
func (k Keeper) GetAuthKeeper() types.AuthKeeper
func (Keeper) GetBankKeeper ¶
func (k Keeper) GetBankKeeper() types.BankKeeper
func (Keeper) GetClpWhiteList ¶
func (k Keeper) GetClpWhiteList(ctx sdk.Context) []sdk.AccAddress
func (Keeper) GetLiquidityProvider ¶
func (Keeper) GetLiquidityProviderIterator ¶
func (Keeper) GetLiquidityProvidersForAssetPaginated ¶
func (k Keeper) GetLiquidityProvidersForAssetPaginated(ctx sdk.Context, asset types.Asset, pagination *query.PageRequest) ([]*types.LiquidityProvider, *query.PageResponse, error)
func (Keeper) GetMinCreatePoolThreshold ¶
func (Keeper) GetNormalizationFactor ¶
func (Keeper) GetPoolsPaginated ¶
func (k Keeper) GetPoolsPaginated(ctx sdk.Context, pagination *query.PageRequest) ([]*types.Pool, *query.PageResponse, error)
func (Keeper) HasBalance ¶
func (Keeper) InitiateSwap ¶
func (Keeper) ParseToInt ¶
Use strings instead of Unit/Int in between conventions
func (Keeper) RemoveLiquidity ¶
func (Keeper) RemoveLiquidityProvider ¶
func (Keeper) SendCoins ¶
func (k Keeper) SendCoins(ctx sdk.Context, from sdk.AccAddress, to sdk.AccAddress, coins sdk.Coins) error
func (Keeper) SetClpWhiteList ¶
func (k Keeper) SetClpWhiteList(ctx sdk.Context, validatorList []sdk.AccAddress)
func (Keeper) SetLiquidityProvider ¶
func (k Keeper) SetLiquidityProvider(ctx sdk.Context, lp *types.LiquidityProvider)
func (Keeper) ValidateAddress ¶
type Querier ¶
type Querier struct {
Keeper Keeper
}
Querier is used as Keeper will have duplicate methods if used directly, and gRPC names take precedence over keeper
func (Querier) GetAssetList ¶
func (k Querier) GetAssetList(c context.Context, req *types.AssetListReq) (*types.AssetListRes, error)
func (Querier) GetLiquidityProvider ¶
func (k Querier) GetLiquidityProvider(c context.Context, req *types.LiquidityProviderReq) (*types.LiquidityProviderRes, error)
func (Querier) GetLiquidityProviderData ¶
func (k Querier) GetLiquidityProviderData(c context.Context, req *types.LiquidityProviderDataReq) (*types.LiquidityProviderDataRes, error)
func (Querier) GetLiquidityProviderList ¶
func (k Querier) GetLiquidityProviderList(c context.Context, req *types.LiquidityProviderListReq) (*types.LiquidityProviderListRes, error)
func (Querier) GetLiquidityProviders ¶
func (k Querier) GetLiquidityProviders(c context.Context, req *types.LiquidityProvidersReq) (*types.LiquidityProvidersRes, error)