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

  • returns [cw2::ContractVersion]
§

Status

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.

Fields

§price: Option<PriceForQuery>

Price to be used as the current price

§

SpotPrice

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

Fields

§timestamp: Option<Timestamp>

Timestamp when the price should be effective.

None means “give the most recent price.”

§

SpotPriceHistory

Gets a collection of historical spot prices

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

§

OraclePrice

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

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

§

Positions

Maps the given PositionIds into 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

§

LimitOrder

Returns the specified Limit Order

Fields

§order_id: OrderId

Limit order ID to query

§

LimitOrders

Returns the Limit Orders for the specified addr

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

§

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

  • 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

Fields

§nft_msg: QueryMsg

NFT message to process

§

LiquidityTokenProxy

  • 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

Fields

§kind: LiquidityTokenKind

Whether to query LP or xLP tokens

§msg: QueryMsg

Query to run

§

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

Actions taken by a trader.

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

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

§

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

Provides information on triggered limit orders.

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

§

LpInfo

Provides the data needed by the earn page.

Fields

§liquidity_provider: RawAddr

Which provider’s information are we querying?

§

ReferralStats

Returns the referral rewards generated and received by this wallet.

Fields

§addr: RawAddr

Which address to check

§

DeltaNeutralityFee

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

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

§

PriceWouldTrigger

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

Fields

§price: PriceBaseInQuote

The new price of the base asset in terms of quote

§

ListDeferredExecs

Enumerate deferred execution work items for the given trader.

Always begins enumeration from the most recent.

Fields

§addr: RawAddr

Trader wallet address

§start_after: Option<DeferredExecId>

Previously seen final ID.

§limit: Option<u32>

How many items to request per batch.

§

GetDeferredExec

Get a single deferred execution item, if available.

Fields

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 T
where 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) -> T
where 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 T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> DynClone for T
where 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 T
where 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.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> QueryResultExt for T
where T: Serialize,

source§

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 T
where 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 T
where 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 T
where 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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

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