pub enum QueryMsg {
Show 22 variants Version {}, Status { price: Option<PriceForQuery>, }, SpotPrice { timestamp: Option<Timestamp>, }, SpotPriceHistory { start_after: Option<Timestamp>, limit: Option<u32>, order: Option<OrderInMessage>, }, OraclePrice { validate_age: bool, }, Positions { position_ids: Vec<PositionId>, skip_calc_pending_fees: Option<bool>, fees: Option<PositionsQueryFeeApproach>, price: Option<PriceForQuery>, }, LimitOrder { order_id: OrderId, }, LimitOrders { owner: RawAddr, start_after: Option<OrderId>, limit: Option<u32>, order: Option<OrderInMessage>, }, ClosedPositionHistory { owner: RawAddr, cursor: Option<ClosedPositionCursor>, limit: Option<u32>, order: Option<OrderInMessage>, }, NftProxy { nft_msg: QueryMsg, }, LiquidityTokenProxy { kind: LiquidityTokenKind, msg: QueryMsg, }, TradeHistorySummary { addr: RawAddr, }, PositionActionHistory { id: PositionId, start_after: Option<String>, limit: Option<u32>, order: Option<OrderInMessage>, }, TraderActionHistory { owner: RawAddr, start_after: Option<String>, limit: Option<u32>, order: Option<OrderInMessage>, }, LpActionHistory { addr: RawAddr, start_after: Option<String>, limit: Option<u32>, order: Option<OrderInMessage>, }, LimitOrderHistory { addr: RawAddr, start_after: Option<String>, limit: Option<u32>, order: Option<OrderInMessage>, }, LpInfo { liquidity_provider: RawAddr, }, ReferralStats { addr: RawAddr, }, DeltaNeutralityFee { notional_delta: Signed<Notional>, pos_delta_neutrality_fee_margin: Option<Collateral>, }, PriceWouldTrigger { price: PriceBaseInQuote, }, ListDeferredExecs { addr: RawAddr, start_after: Option<DeferredExecId>, limit: Option<u32>, }, GetDeferredExec { id: DeferredExecId, },
}
Expand description

Query messages on the market contract

Variants§

§

Version

Fields

  • returns [cw2::ContractVersion]
§

Status

Fields

§price: Option<PriceForQuery>

Price to be used as the current price

Provides overall information about this market.

This is intended as catch-all for protocol wide information, both static (like market ID) and dynamic (like notional interest). The goal is to limit the total number of queries callers have to make to get relevant information.

§

SpotPrice

Fields

§timestamp: Option<Timestamp>

Timestamp when the price should be effective.

None means “give the most recent price.”

Gets the spot price, if no time is supplied, then it’s current This is the spot price as seen by the contract storage i.e. the price that was pushed via execution messages

§

SpotPriceHistory

Fields

§start_after: Option<Timestamp>

Last timestamp we saw

§limit: Option<u32>

How many prices to query

§order: Option<OrderInMessage>

Order to sort by, if None then it will be descending

Gets a collection of historical spot prices

§

OraclePrice

Fields

§validate_age: bool

If true then it will validate the publish_time age as though it were used to push a new spot_price update Otherwise, it just returns the oracle price as-is, even if it’s old

Gets the current price from the oracle (for markets configured with an oracle)

Also returns prices for each feed used to compose the final price

This may be more up-to-date than the spot price which was validated and pushed into the contract storage via execution messages

§

Positions

Fields

§position_ids: Vec<PositionId>

Positions to query.

§skip_calc_pending_fees: Option<bool>

Should we skip calculating pending fees?

This field is ignored if fees is set.

The default for this field is false. The behavior of this field is:

It is recommended not to use this field going forward, and to instead use fees.

§fees: Option<PositionsQueryFeeApproach>

How do we calculate fees for this position?

Any value here will override the skip_calc_pending_fees field.

§price: Option<PriceForQuery>

Price to be used as the current price

Maps the given PositionIds into Positions

§

LimitOrder

Fields

§order_id: OrderId

Limit order ID to query

Returns the specified Limit Order

§

LimitOrders

Fields

§owner: RawAddr

Owner of limit orders

§start_after: Option<OrderId>

Last limit order seen

§limit: Option<u32>

Number of order to return

§order: Option<OrderInMessage>

Whether to return ascending or descending

Returns the Limit Orders for the specified addr

§

ClosedPositionHistory

Fields

§owner: RawAddr

Owner of the positions to get history for

§cursor: Option<ClosedPositionCursor>

Cursor to start from, for pagination

§limit: Option<u32>

limit pagination

§order: Option<OrderInMessage>

order is default Descending

§

NftProxy

Fields

§nft_msg: QueryMsg

NFT message to process

  • returns [cosmwasm_std::QueryResponse]

Nft proxy messages. Not meant to be called directly but rather for internal cross-contract calls

however, these are merely queries, and can be called by anyone and clients may take advantage of this to save query gas by calling the market directly

§

LiquidityTokenProxy

Fields

§kind: LiquidityTokenKind

Whether to query LP or xLP tokens

§msg: QueryMsg

Query to run

  • returns [cosmwasm_std::QueryResponse]

Liquidity token cw20 proxy messages. Not meant to be called directly but rather for internal cross-contract calls

however, these are merely queries, and can be called by anyone and clients may take advantage of this to save query gas by calling the market directly

§

TradeHistorySummary

Fields

§addr: RawAddr

Which wallet’s history are we querying?

§

PositionActionHistory

Fields

§id: PositionId

Which position’s history are we querying?

§start_after: Option<String>

Last action ID we saw

§limit: Option<u32>

How many actions to query

§order: Option<OrderInMessage>

Order to sort by

§

TraderActionHistory

Fields

§owner: RawAddr

Which trader’s history are we querying?

§start_after: Option<String>

Last action ID we saw

§limit: Option<u32>

How many actions to query

§order: Option<OrderInMessage>

Order to sort by

Actions taken by a trader.

Similar to Self::PositionActionHistory, but provides all details for an individual trader, not an individual position.

§

LpActionHistory

Fields

§addr: RawAddr

Which provider’s history are we querying?

§start_after: Option<String>

Last action ID we saw

§limit: Option<u32>

How many actions to query

§order: Option<OrderInMessage>

Order to sort by

§

LimitOrderHistory

Fields

§addr: RawAddr

Trader’s address for history we are querying

§start_after: Option<String>

Last order ID we saw

§limit: Option<u32>

How many orders to query

§order: Option<OrderInMessage>

Order to sort the order IDs by

Provides information on triggered limit orders.

§

LpInfo

Fields

§liquidity_provider: RawAddr

Which provider’s information are we querying?

Provides the data needed by the earn page.

§

ReferralStats

Fields

§addr: RawAddr

Which address to check

Returns the referral rewards generated and received by this wallet.

§

DeltaNeutralityFee

Fields

§notional_delta: Signed<Notional>

the amount of notional that would be changed

§pos_delta_neutrality_fee_margin: Option<Collateral>

for real delta neutrality fees, this is calculated internally should only be supplied if querying the fee for close or update

Gets the delta neutrality fee at the current price, for a given change in terms of net notional

§

PriceWouldTrigger

Fields

§price: PriceBaseInQuote

The new price of the base asset in terms of quote

Check if a price update would trigger a liquidation/take profit/etc.

§

ListDeferredExecs

Fields

§addr: RawAddr

Trader wallet address

§start_after: Option<DeferredExecId>

Previously seen final ID.

§limit: Option<u32>

How many items to request per batch.

Enumerate deferred execution work items for the given trader.

Always begins enumeration from the most recent.

  • returns [ListDeferredExecsResp]
§

GetDeferredExec

Fields

Get a single deferred execution item, if available.

  • returns [GetDeferredExecResp]

Trait Implementations§

source§

impl Clone for QueryMsg

source§

fn clone(&self) -> QueryMsg

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for QueryMsg

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for QueryMsg

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl JsonSchema for QueryMsg

source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
source§

fn json_schema(gen: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
source§

impl PartialEq for QueryMsg

source§

fn eq(&self, other: &QueryMsg) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl QueryResponses for QueryMsg

source§

fn response_schemas_impl() -> BTreeMap<String, RootSchema>

§

fn response_schemas() -> Result<BTreeMap<String, RootSchema>, IntegrityError>

source§

impl Serialize for QueryMsg

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for QueryMsg

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<U> As for U

§

fn as_<T>(self) -> Twhere T: CastFrom<U>,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> DynClone for Twhere T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> QueryResultExt for Twhere T: Serialize,

§

fn query_result(&self) -> Result<Binary, Error>

Convert the value to its JSON representation
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,