Documentation
¶
Index ¶
- Variables
- func AllCapabilities() []string
- func CustomMessageDecorator(moduleMessengers []ModuleMessenger, amm *ammkeeper.Keeper, ...) func(wasmkeeper.Messenger) wasmkeeper.Messenger
- func CustomQuerier(qp *QueryPlugin) func(ctx sdk.Context, request json.RawMessage) ([]byte, error)
- type AllPriceResponse
- type AssetInfo
- type AssetInfoResponse
- type AssetInfoType
- type CustomMessenger
- type ElysMsg
- type ElysQuery
- type ModuleMessenger
- type ModuleQuerier
- type MsgClose
- type MsgCloseResponse
- type MsgOpen
- type MsgOpenResponse
- type MsgStake
- type MsgSwapExactAmountIn
- type MsgSwapExactAmountInResponse
- type MsgUnstake
- type PriceAll
- type QueryBalanceRequest
- type QueryBalanceResponse
- type QueryPlugin
- type QuerySwapEstimationRequest
- type QuerySwapEstimationResponse
- type RequestResponse
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrCannotHandleMsg = errors.New("cannot handle message")
ErrCannotHandleMsg is returned by a ModuleMsgHandler when it cannot handle a message.
View Source
var ErrCannotHandleQuery = errors.New("cannot handle query")
ErrCannotHandleQuery is returned by a ModuleQuerier when it cannot handle a query.
Functions ¶
func AllCapabilities ¶
func AllCapabilities() []string
AllCapabilities returns all capabilities available with the current wasmvm See https://github.com/CosmWasm/cosmwasm/blob/main/docs/CAPABILITIES-BUILT-IN.md This functionality is going to be moved upstream: https://github.com/CosmWasm/wasmvm/issues/425
func CustomMessageDecorator ¶
func CustomMessageDecorator(moduleMessengers []ModuleMessenger, amm *ammkeeper.Keeper, margin *marginkeeper.Keeper, staking *stakingkeeper.Keeper, commitment *commitmentkeeper.Keeper, incentive *incentivekeeper.Keeper) func(wasmkeeper.Messenger) wasmkeeper.Messenger
func CustomQuerier ¶
func CustomQuerier(qp *QueryPlugin) func(ctx sdk.Context, request json.RawMessage) ([]byte, error)
Types ¶
type AllPriceResponse ¶
type AllPriceResponse struct {
Price []oracletypes.Price `protobuf:"bytes,1,rep,name=price,proto3" json:"price"`
Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
}
type AssetInfo ¶
type AssetInfo struct {
Denom string `protobuf:"bytes,1,opt,name=Denom,proto3" json:"Denom,omitempty"`
}
type AssetInfoResponse ¶
type AssetInfoResponse struct {
AssetInfo *AssetInfoType `protobuf:"bytes,1,opt,name=AssetInfo,proto3" json:"asset_info,omitempty"`
}
type AssetInfoType ¶
type AssetInfoType struct {
Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
Display string `protobuf:"bytes,2,opt,name=display,proto3" json:"display,omitempty"`
BandTicker string `protobuf:"bytes,3,opt,name=bandTicker,proto3" json:"band_ticker,omitempty"`
ElysTicker string `protobuf:"bytes,4,opt,name=elysTicker,proto3" json:"elys_ticker,omitempty"`
Decimal uint64 `protobuf:"varint,5,opt,name=decimal,proto3" json:"decimal,omitempty"`
}
type CustomMessenger ¶
type CustomMessenger struct {
// contains filtered or unexported fields
}
func (*CustomMessenger) DispatchMsg ¶
func (m *CustomMessenger) DispatchMsg(ctx sdk.Context, contractAddr sdk.AccAddress, contractIBCPortID string, msg wasmvmtypes.CosmosMsg) ([]sdk.Event, [][]byte, error)
type ElysMsg ¶
type ElysMsg struct {
MsgSwapExactAmountIn *MsgSwapExactAmountIn `json:"msg_swap_exact_amount_in,omitempty"`
MsgOpen *MsgOpen `json:"msg_open,omitempty"`
MsgClose *MsgClose `json:"msg_close,omitempty"`
MsgStake *MsgStake `json:"msg_stake,omitempty"`
MsgUnstake *MsgUnstake `json:"msg_unstake,omitempty"`
MsgBeginRedelegate *incentiveclientwasmtypes.MsgBeginRedelegate `json:"msg_begin_redelegate,omitempty"`
MsgCancelUnbondingDelegation *incentiveclientwasmtypes.MsgCancelUnbondingDelegation `json:"msg_cancel_unbonding_delegation"`
MsgVest *incentiveclientwasmtypes.MsgVest `json:"msg_vest"`
MsgCancelVest *incentiveclientwasmtypes.MsgCancelVest `json:"msg_cancel_vest"`
MsgWithdrawRewards *incentiveclientwasmtypes.MsgWithdrawRewards `json:"msg_withdraw_rewards"`
MsgWithdrawValidatorCommission *incentiveclientwasmtypes.MsgWithdrawValidatorCommission `json:"msg_withdraw_validator_commission"`
}
type ElysQuery ¶
type ElysQuery struct {
PriceAll *PriceAll `json:"price_all,omitempty"`
QuerySwapEstimation *QuerySwapEstimationRequest `json:"query_swap_estimation,omitempty"`
AssetInfo *AssetInfo `json:"asset_info,omitempty"`
BalanceOfDenom *QueryBalanceRequest `json:"balance_of_denom,omitempty"`
}
type ModuleMessenger ¶
type ModuleMessenger interface {
// HandleMsg processes the message and returns an error if it cannot handle it.
HandleMsg(ctx sdk.Context, contractAddr sdk.AccAddress, contractIBCPortID string, msg ElysMsg) ([]sdk.Event, [][]byte, error)
}
ModuleMsgHandler is an interface that all module messenger should implement.
type ModuleQuerier ¶
type ModuleQuerier interface {
// HandleQuery processes the query and returns an error if it cannot handle it.
HandleQuery(ctx sdk.Context, query ElysQuery) ([]byte, error)
}
ModuleQuerier is an interface that all module queriers should implement.
type MsgCloseResponse ¶
type MsgCloseResponse struct {
MetaData *[]byte `protobuf:"bytes,1,opt,name=tokenData,proto3" json:"meta_data,omitempty"`
}
type MsgOpen ¶
type MsgOpen struct {
Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"`
CollateralAsset string `protobuf:"bytes,2,opt,name=collateralAsset,proto3" json:"collateral_asset,omitempty"`
CollateralAmount sdk.Uint `protobuf:"bytes,3,opt,name=collateralAmount,proto3" json:"collateral_amount,omitempty"`
BorrowAsset string `protobuf:"bytes,4,opt,name=borrowAsset,proto3" json:"borrow_asset,omitempty"`
Position margintypes.Position `protobuf:"bytes,5,opt,name=position,proto3" json:"position,omitempty"`
Leverage sdk.Dec `protobuf:"bytes,6,opt,name=leverage,proto3" json:"leverage,omitempty"`
TakeProfitPrice sdk.Dec `protobuf:"bytes,7,opt,name=takeProfitPrice,proto3" json:"take_profit_price,omitempty"`
MetaData *[]byte `protobuf:"bytes,8,opt,name=tokenData,proto3" json:"meta_data,omitempty"`
}
type MsgOpenResponse ¶
type MsgOpenResponse struct {
MetaData *[]byte `protobuf:"bytes,1,opt,name=tokenData,proto3" json:"meta_data,omitempty"`
}
type MsgStake ¶
type MsgStake struct {
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Amount cosmos_sdk_math.Int `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"`
Asset string `protobuf:"bytes,3,opt,name=asset,proto3" json:"asset,omitempty"`
ValidatorAddress string `protobuf:"bytes,4,opt,name=validator_address,proto3" json:"validator_address,omitempty"`
}
type MsgSwapExactAmountIn ¶
type MsgSwapExactAmountIn struct {
Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
Routes []ammtype.SwapAmountInRoute `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"`
TokenIn sdk.Coin `protobuf:"bytes,3,opt,name=tokenIn,proto3" json:"token_in,omitempty"`
TokenOutMinAmount cosmos_sdk_math.Int `` /* 140-byte string literal not displayed */
MetaData *[]byte `protobuf:"bytes,5,opt,name=tokenData,proto3" json:"meta_data,omitempty"`
}
type MsgSwapExactAmountInResponse ¶
type MsgSwapExactAmountInResponse struct {
TokenOutAmount cosmos_sdk_math.Int `` /* 133-byte string literal not displayed */
MetaData *[]byte `protobuf:"bytes,2,opt,name=tokenData,proto3" json:"meta_data,omitempty"`
}
type MsgUnstake ¶
type MsgUnstake struct {
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Amount cosmos_sdk_math.Int `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"`
Asset string `protobuf:"bytes,3,opt,name=asset,proto3" json:"asset,omitempty"`
ValidatorAddress string `protobuf:"bytes,4,opt,name=validator_address,proto3" json:"validator_address,omitempty"`
}
type PriceAll ¶
type PriceAll struct {
Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
}
type QueryBalanceRequest ¶
type QueryBalanceResponse ¶
type QueryPlugin ¶
type QueryPlugin struct {
// contains filtered or unexported fields
}
func NewQueryPlugin ¶
func NewQueryPlugin( moduleQueriers []ModuleQuerier, amm *ammkeeper.Keeper, oracle *oraclekeeper.Keeper, bank *bankkeeper.BaseKeeper, staking *stakingkeeper.Keeper, commitment *commitmentkeeper.Keeper, margin *marginkeeper.Keeper, incentive *incentivekeeper.Keeper, ) *QueryPlugin
NewQueryPlugin returns a reference to a new QueryPlugin.
type QuerySwapEstimationRequest ¶
type QuerySwapEstimationRequest struct {
TokenIn sdk.Coin `protobuf:"bytes,2,opt,name=tokenIn,proto3" json:"token_in,omitempty"`
Routes []ammtype.SwapAmountInRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"`
}
type RequestResponse ¶
Click to show internal directories.
Click to hide internal directories.