injective_cosmwasm/
lib.rs

1pub use exchange::{
2    cancel::CancellationStrategy,
3    derivative::{
4        DerivativeLimitOrder, DerivativeMarketOrder, DerivativeOrder, DerivativePosition, EffectivePosition, Position, TrimmedDerivativeLimitOrder,
5    },
6    derivative_market::{
7        DerivativeMarket, FullDerivativeMarket, FullDerivativeMarketPerpetualInfo, PerpetualMarketFunding, PerpetualMarketInfo, PerpetualMarketState,
8    },
9    market::MarketStatus,
10    order::{GenericOrder, GenericTrimmedOrder, OrderData, OrderInfo, OrderSide, OrderType},
11    response::{
12        DerivativeMarketResponse, ExchangeParamsResponse, MarketMidPriceAndTOBResponse, MarketVolatilityResponse, OracleVolatilityResponse,
13        PerpetualMarketFundingResponse, PerpetualMarketInfoResponse, QueryAggregateMarketVolumeResponse, QueryAggregateVolumeResponse,
14        QueryDenomDecimalResponse, QueryDenomDecimalsResponse, QueryMarketAtomicExecutionFeeMultiplierResponse, SpotMarketResponse,
15        SubaccountDepositResponse, SubaccountEffectivePositionInMarketResponse, SubaccountPositionInMarketResponse, TraderDerivativeOrdersResponse,
16        TraderSpotOrdersResponse,
17    },
18    spot::{MsgCreateSpotMarketOrderResponse, SpotLimitOrder, SpotMarketOrder, SpotOrder, TrimmedSpotLimitOrder},
19    spot_market::SpotMarket,
20    subaccount::{
21        addr_to_bech32, bech32_to_hex, checked_address_to_subaccount_id, get_default_subaccount_id_for_checked_address, is_default_subaccount,
22        subaccount_id_to_ethereum_address, subaccount_id_to_injective_address, subaccount_id_to_unchecked_injective_address,
23    },
24    types::{DenomDecimals, Deposit, Hash, MarketId, MarketType, Params, PriceLevel, ShortSubaccountId, SubaccountId},
25};
26pub use oracle::{
27    response::{OraclePriceResponse, PythPriceResponse},
28    types::{OracleInfo, OracleType, PriceAttestation, PricePairState, PythStatus},
29    volatility::{MetadataStatistics, PriceRecord, TradeHistoryOptions, TradeRecord},
30};
31pub use wasmx::types::FundingMode;
32
33#[cfg(not(target_arch = "wasm32"))]
34pub use exchange_mock_querier::handlers::*;
35
36#[cfg(not(target_arch = "wasm32"))]
37pub use exchange_mock_querier::*;
38
39pub use msg::{
40    cancel_derivative_order_msg, cancel_spot_order_msg, create_activate_contract_msg, create_batch_update_orders_msg, create_burn_tokens_msg,
41    create_deactivate_contract_msg, create_deposit_msg, create_derivative_market_order_msg, create_external_transfer_msg,
42    create_increase_position_margin_msg, create_liquidate_position_msg, create_mint_tokens_msg, create_new_denom_msg,
43    create_privileged_execute_contract_msg, create_relay_pyth_prices_msg, create_rewards_opt_out_msg, create_set_token_metadata_msg,
44    create_spot_market_order_msg, create_subaccount_transfer_msg, create_update_contract_msg, create_withdraw_msg, InjectiveMsg, InjectiveMsgWrapper,
45};
46
47pub use querier::InjectiveQuerier;
48pub use query::{InjectiveQuery, InjectiveQueryWrapper};
49pub use route::InjectiveRoute;
50#[cfg(not(target_arch = "wasm32"))]
51pub use test_helpers::testing_helpers::{
52    create_mock_spot_market, inj_mock_deps, inj_mock_env, test_market_ids, OwnedDepsExt, TEST_MARKET_ID_1, TEST_MARKET_ID_10, TEST_MARKET_ID_2,
53    TEST_MARKET_ID_3, TEST_MARKET_ID_4, TEST_MARKET_ID_5, TEST_MARKET_ID_6, TEST_MARKET_ID_7, TEST_MARKET_ID_8, TEST_MARKET_ID_9,
54};
55
56pub mod authz;
57pub mod exchange;
58pub mod msg;
59pub mod oracle;
60pub mod querier;
61pub mod query;
62pub mod route;
63pub mod tokenfactory;
64pub mod wasmx;
65
66#[cfg(not(target_arch = "wasm32"))]
67mod exchange_mock_querier;
68mod test_helpers;
69
70// This export is added to all contracts that import this package, signifying that they require
71// "injective" support on the chain they run on.
72#[no_mangle]
73extern "C" fn requires_injective() {}