Skip to content

Commit a6d6c03

Browse files
committed
chore: refactor use of MOCK BASE AND QUOTE defined on injective testing (test_exchange)
1 parent 81a8e6e commit a6d6c03

File tree

2 files changed

+80
-98
lines changed

2 files changed

+80
-98
lines changed

contracts/injective-cosmwasm-mock/src/testing/test_exchange.rs

Lines changed: 53 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ use crate::{
22
msg::{ExecuteMsg, QueryMsg},
33
utils::{
44
add_spot_initial_liquidity, add_spot_order_as, add_spot_orders, dec_to_proto, execute_all_authorizations,
5-
get_initial_liquidity_orders_vector, get_spot_market_id, human_to_dec, human_to_proto, scale_price_quantity_for_spot_market,
6-
scale_price_quantity_for_spot_market_dec, str_coin, ExchangeType, HumanOrder, Setup, BASE_DECIMALS, BASE_DENOM, QUOTE_DECIMALS, QUOTE_DENOM,
5+
get_initial_liquidity_orders_vector, human_to_dec, human_to_proto, scale_price_quantity_for_spot_market,
6+
scale_price_quantity_for_spot_market_dec, str_coin, ExchangeType, HumanOrder, Setup,
77
},
88
};
99
use cosmwasm_std::{Addr, Coin};
@@ -24,6 +24,10 @@ use injective_test_tube::{
2424
},
2525
Account, Exchange, Module, RunnerResult, Wasm,
2626
};
27+
use injective_testing::{
28+
mocks::{MOCK_BASE_DECIMALS, MOCK_BASE_DENOM, MOCK_QUOTE_DECIMALS, MOCK_QUOTE_DENOM},
29+
test_tube::exchange::get_spot_market_id,
30+
};
2731

2832
#[test]
2933
#[cfg_attr(not(feature = "integration"), ignore)]
@@ -57,7 +61,7 @@ fn test_exchange_params() {
5761
assert!(res.params.is_some());
5862
let params = res.params.unwrap();
5963

60-
let listing_fee_coin = str_coin("20", BASE_DENOM, BASE_DECIMALS);
64+
let listing_fee_coin = str_coin("20", MOCK_BASE_DENOM, MOCK_BASE_DECIMALS);
6165
assert_eq!(params.spot_market_instant_listing_fee, listing_fee_coin);
6266
assert_eq!(params.derivative_market_instant_listing_fee, listing_fee_coin);
6367
assert_eq!(params.trading_rewards_vesting_duration, 604800);
@@ -102,31 +106,31 @@ fn test_query_subaccount_deposit() {
102106
assert_eq!(
103107
response.deposits[&env.denoms["base"].clone()],
104108
Deposit {
105-
available_balance: human_to_proto("10.0", BASE_DECIMALS),
106-
total_balance: human_to_proto("10.0", BASE_DECIMALS),
109+
available_balance: human_to_proto("10.0", MOCK_BASE_DECIMALS),
110+
total_balance: human_to_proto("10.0", MOCK_BASE_DECIMALS),
107111
}
108112
);
109113
assert_eq!(
110114
response.deposits[&env.denoms["quote"].clone()],
111115
Deposit {
112-
available_balance: human_to_proto("100.0", QUOTE_DECIMALS),
113-
total_balance: human_to_proto("100.0", QUOTE_DECIMALS),
116+
available_balance: human_to_proto("100.0", MOCK_QUOTE_DECIMALS),
117+
total_balance: human_to_proto("100.0", MOCK_QUOTE_DECIMALS),
114118
}
115119
);
116120

117121
let query_msg = QueryMsg::TestSubAccountDepositQuery {
118122
subaccount_id: subaccount_id.clone(),
119-
denom: BASE_DENOM.to_string(),
123+
denom: MOCK_BASE_DENOM.to_string(),
120124
};
121125
let contract_response: SubaccountDepositResponse = wasm.query(&env.contract_address, &query_msg).unwrap();
122-
assert_eq!(contract_response.deposits.total_balance, human_to_dec("10.0", BASE_DECIMALS));
126+
assert_eq!(contract_response.deposits.total_balance, human_to_dec("10.0", MOCK_BASE_DECIMALS));
123127

124128
let query_msg = QueryMsg::TestSubAccountDepositQuery {
125129
subaccount_id: subaccount_id.clone(),
126-
denom: QUOTE_DENOM.to_string(),
130+
denom: MOCK_QUOTE_DENOM.to_string(),
127131
};
128132
let contract_response: SubaccountDepositResponse = wasm.query(&env.contract_address, &query_msg).unwrap();
129-
assert_eq!(contract_response.deposits.available_balance, human_to_dec("100.0", QUOTE_DECIMALS));
133+
assert_eq!(contract_response.deposits.available_balance, human_to_dec("100.0", MOCK_QUOTE_DECIMALS));
130134
}
131135

132136
#[test]
@@ -160,13 +164,13 @@ fn test_query_spot_market() {
160164
MsgInstantSpotMarketLaunch {
161165
sender: env.signer.address(),
162166
ticker: ticker.clone(),
163-
base_denom: BASE_DENOM.to_string(),
164-
quote_denom: QUOTE_DENOM.to_string(),
167+
base_denom: MOCK_BASE_DENOM.to_string(),
168+
quote_denom: MOCK_QUOTE_DENOM.to_string(),
165169
min_price_tick_size: dec_to_proto(min_price_tick_size),
166170
min_quantity_tick_size: dec_to_proto(min_quantity_tick_size),
167171
min_notional: dec_to_proto(min_notional),
168-
base_decimals: BASE_DECIMALS as u32,
169-
quote_decimals: QUOTE_DECIMALS as u32,
172+
base_decimals: MOCK_QUOTE_DECIMALS as u32,
173+
quote_decimals: MOCK_QUOTE_DECIMALS as u32,
170174
},
171175
&env.signer,
172176
)
@@ -182,8 +186,8 @@ fn test_query_spot_market() {
182186
let response_market = res.market.unwrap();
183187
assert_eq!(response_market.market_id.as_str(), spot_market_id);
184188
assert_eq!(response_market.ticker.as_str(), ticker);
185-
assert_eq!(response_market.base_denom.as_str(), BASE_DENOM);
186-
assert_eq!(response_market.quote_denom.as_str(), QUOTE_DENOM);
189+
assert_eq!(response_market.base_denom.as_str(), MOCK_BASE_DENOM);
190+
assert_eq!(response_market.quote_denom.as_str(), MOCK_QUOTE_DENOM);
187191
assert_eq!(response_market.min_price_tick_size.clone().to_string(), min_price_tick_size.to_string());
188192
assert_eq!(response_market.min_quantity_tick_size.to_string(), min_quantity_tick_size.to_string());
189193
}
@@ -205,17 +209,17 @@ fn test_query_trader_spot_orders() {
205209
};
206210

207211
{
208-
let (price, quantity) = scale_price_quantity_for_spot_market("10.01", "5.1", &BASE_DECIMALS, &QUOTE_DECIMALS);
212+
let (price, quantity) = scale_price_quantity_for_spot_market("10.01", "5.1", &MOCK_BASE_DECIMALS, &MOCK_QUOTE_DECIMALS);
209213
add_spot_order_as(&env.app, market_id.to_owned(), &env.users[0], price, quantity, OrderType::Sell);
210214

211215
let res: TraderSpotOrdersResponse = wasm.query(&env.contract_address, &query_msg).unwrap();
212216
let orders = res.orders.clone().unwrap();
213217

214218
assert_eq!(orders.len(), 1, "Expected exactly one order in the response");
215219
let expected_orders = TrimmedSpotLimitOrder {
216-
price: human_to_dec("10.01", QUOTE_DECIMALS - BASE_DECIMALS),
217-
quantity: human_to_dec("5.1", BASE_DECIMALS),
218-
fillable: human_to_dec("5.1", BASE_DECIMALS),
220+
price: human_to_dec("10.01", MOCK_BASE_DECIMALS - MOCK_BASE_DECIMALS),
221+
quantity: human_to_dec("5.1", MOCK_BASE_DECIMALS),
222+
fillable: human_to_dec("5.1", MOCK_BASE_DECIMALS),
219223
isBuy: false,
220224
order_hash: "".to_string(),
221225
};
@@ -226,17 +230,17 @@ fn test_query_trader_spot_orders() {
226230
}
227231

228232
{
229-
let (price, quantity) = scale_price_quantity_for_spot_market("9.90", "0.5", &BASE_DECIMALS, &QUOTE_DECIMALS);
233+
let (price, quantity) = scale_price_quantity_for_spot_market("9.90", "0.5", &MOCK_BASE_DECIMALS, &MOCK_QUOTE_DECIMALS);
230234
add_spot_order_as(&env.app, market_id.to_owned(), &env.users[0], price, quantity, OrderType::Buy);
231235

232236
let res: TraderSpotOrdersResponse = wasm.query(&env.contract_address, &query_msg).unwrap();
233237
let orders = res.orders.clone().unwrap();
234238

235239
assert_eq!(orders.len(), 2);
236240
let expected_order = TrimmedSpotLimitOrder {
237-
price: human_to_dec("9.90", QUOTE_DECIMALS - BASE_DECIMALS),
238-
quantity: human_to_dec("0.5", BASE_DECIMALS),
239-
fillable: human_to_dec("0.5", BASE_DECIMALS),
241+
price: human_to_dec("9.90", MOCK_QUOTE_DECIMALS - MOCK_BASE_DECIMALS),
242+
quantity: human_to_dec("0.5", MOCK_BASE_DECIMALS),
243+
fillable: human_to_dec("0.5", MOCK_BASE_DECIMALS),
240244
isBuy: true,
241245
order_hash: "".to_string(),
242246
};
@@ -261,9 +265,9 @@ fn test_query_spot_market_mid_price_and_tob() {
261265
};
262266

263267
let res: MarketMidPriceAndTOBResponse = wasm.query(&env.contract_address, &query_msg).unwrap();
264-
assert_eq!(res.mid_price, Some(human_to_dec("10", QUOTE_DECIMALS - BASE_DECIMALS)));
265-
assert_eq!(res.best_buy_price, Some(human_to_dec("9.9", QUOTE_DECIMALS - BASE_DECIMALS)));
266-
assert_eq!(res.best_sell_price, Some(human_to_dec("10.1", QUOTE_DECIMALS - BASE_DECIMALS)));
268+
assert_eq!(res.mid_price, Some(human_to_dec("10", MOCK_QUOTE_DECIMALS - MOCK_BASE_DECIMALS)));
269+
assert_eq!(res.best_buy_price, Some(human_to_dec("9.9", MOCK_QUOTE_DECIMALS - MOCK_BASE_DECIMALS)));
270+
assert_eq!(res.best_sell_price, Some(human_to_dec("10.1", MOCK_QUOTE_DECIMALS - MOCK_BASE_DECIMALS)));
267271
}
268272

269273
#[test]
@@ -291,18 +295,21 @@ fn test_query_spot_market_orderbook() {
291295
assert_eq!(
292296
buys_price_level[0],
293297
PriceLevel {
294-
p: human_to_dec(liquidity_orders[sells_price_level.len()].price.as_str(), QUOTE_DECIMALS - BASE_DECIMALS),
295-
q: human_to_dec(liquidity_orders[sells_price_level.len()].quantity.as_str(), BASE_DECIMALS),
298+
p: human_to_dec(
299+
liquidity_orders[sells_price_level.len()].price.as_str(),
300+
MOCK_QUOTE_DECIMALS - MOCK_BASE_DECIMALS
301+
),
302+
q: human_to_dec(liquidity_orders[sells_price_level.len()].quantity.as_str(), MOCK_BASE_DECIMALS),
296303
}
297304
);
298305
assert_eq!(
299306
buys_price_level[1],
300307
PriceLevel {
301308
p: human_to_dec(
302309
liquidity_orders[sells_price_level.len() + 1].price.as_str(),
303-
QUOTE_DECIMALS - BASE_DECIMALS
310+
MOCK_QUOTE_DECIMALS - MOCK_BASE_DECIMALS
304311
),
305-
q: human_to_dec(liquidity_orders[sells_price_level.len() + 1].quantity.as_str(), BASE_DECIMALS),
312+
q: human_to_dec(liquidity_orders[sells_price_level.len() + 1].quantity.as_str(), MOCK_BASE_DECIMALS),
306313
}
307314
);
308315

@@ -311,19 +318,19 @@ fn test_query_spot_market_orderbook() {
311318
PriceLevel {
312319
p: human_to_dec(
313320
liquidity_orders[sells_price_level.len() - 1].price.as_str(),
314-
QUOTE_DECIMALS - BASE_DECIMALS
321+
MOCK_QUOTE_DECIMALS - MOCK_BASE_DECIMALS
315322
),
316-
q: human_to_dec(liquidity_orders[sells_price_level.len() - 1].quantity.as_str(), BASE_DECIMALS),
323+
q: human_to_dec(liquidity_orders[sells_price_level.len() - 1].quantity.as_str(), MOCK_BASE_DECIMALS),
317324
}
318325
);
319326
assert_eq!(
320327
sells_price_level[1],
321328
PriceLevel {
322329
p: human_to_dec(
323330
liquidity_orders[sells_price_level.len() - 2].price.as_str(),
324-
QUOTE_DECIMALS - BASE_DECIMALS
331+
MOCK_QUOTE_DECIMALS - MOCK_BASE_DECIMALS
325332
),
326-
q: human_to_dec(liquidity_orders[sells_price_level.len() - 2].quantity.as_str(), BASE_DECIMALS),
333+
q: human_to_dec(liquidity_orders[sells_price_level.len() - 2].quantity.as_str(), MOCK_BASE_DECIMALS),
327334
}
328335
);
329336
}
@@ -419,13 +426,13 @@ fn test_query_aggregate_account_volume() {
419426
let res: QueryAggregateVolumeResponse = wasm.query(&env.contract_address, &query_msg).unwrap();
420427
assert!(res.aggregate_volumes.is_none());
421428

422-
let (price, quantity) = scale_price_quantity_for_spot_market("9.9", "1", &BASE_DECIMALS, &QUOTE_DECIMALS);
429+
let (price, quantity) = scale_price_quantity_for_spot_market("9.9", "1", &MOCK_BASE_DECIMALS, &MOCK_QUOTE_DECIMALS);
423430
add_spot_order_as(&env.app, market_id.clone(), &env.users[1], price, quantity, OrderType::Sell);
424431

425432
let res: QueryAggregateVolumeResponse = wasm.query(&env.contract_address, &query_msg).unwrap();
426433
let volume: &VolumeByType = &res.aggregate_volumes.unwrap()[0].volume;
427434
assert_eq!(volume.maker_volume, FPDecimal::ZERO);
428-
assert_eq!(volume.taker_volume, human_to_dec("9.9", QUOTE_DECIMALS));
435+
assert_eq!(volume.taker_volume, human_to_dec("9.9", MOCK_QUOTE_DECIMALS));
429436
}
430437

431438
#[test]
@@ -438,7 +445,7 @@ fn test_query_market_atomic_execution_fee_multiplier() {
438445
market_id: MarketId::new(market_id.clone()).unwrap(),
439446
};
440447
let res: QueryMarketAtomicExecutionFeeMultiplierResponse = wasm.query(&env.contract_address, &query_msg).unwrap();
441-
assert_eq!(res.multiplier, human_to_dec("0.0000025", QUOTE_DECIMALS));
448+
assert_eq!(res.multiplier, human_to_dec("0.0000025", MOCK_QUOTE_DECIMALS));
442449
}
443450

444451
#[test]
@@ -458,16 +465,16 @@ fn test_query_spot_orders_to_cancel_up_to_amount() {
458465
};
459466

460467
{
461-
let (price, quantity) = scale_price_quantity_for_spot_market("9.90", "1", &BASE_DECIMALS, &QUOTE_DECIMALS);
468+
let (price, quantity) = scale_price_quantity_for_spot_market("9.90", "1", &MOCK_BASE_DECIMALS, &MOCK_QUOTE_DECIMALS);
462469
add_spot_order_as(&env.app, market_id.to_owned(), &env.users[0], price, quantity, OrderType::Buy);
463470

464471
let res: TraderSpotOrdersResponse = wasm.query(&env.contract_address, &query_spot_msg).unwrap();
465472
let orders = res.orders.clone().unwrap();
466473

467474
let expected_order = TrimmedSpotLimitOrder {
468-
price: human_to_dec("9.90", QUOTE_DECIMALS - BASE_DECIMALS),
469-
quantity: human_to_dec("1", BASE_DECIMALS),
470-
fillable: human_to_dec("1", BASE_DECIMALS),
475+
price: human_to_dec("9.90", MOCK_QUOTE_DECIMALS - MOCK_BASE_DECIMALS),
476+
quantity: human_to_dec("1", MOCK_BASE_DECIMALS),
477+
fillable: human_to_dec("1", MOCK_BASE_DECIMALS),
471478
isBuy: true,
472479
order_hash: "".to_string(),
473480
};
@@ -481,8 +488,8 @@ fn test_query_spot_orders_to_cancel_up_to_amount() {
481488
let query_spot_cancel_msg = QueryMsg::TestSpotOrdersToCancelUpToAmount {
482489
market_id: MarketId::new(market_id.clone()).unwrap(),
483490
subaccount_id: SubaccountId::new(subaccount_id).unwrap(),
484-
base_amount: human_to_dec("0", BASE_DECIMALS),
485-
quote_amount: human_to_dec("0.2", QUOTE_DECIMALS),
491+
base_amount: human_to_dec("0", MOCK_BASE_DECIMALS),
492+
quote_amount: human_to_dec("0.2", MOCK_QUOTE_DECIMALS),
486493
strategy: CancellationStrategy::UnspecifiedOrder,
487494
reference_price: None,
488495
};
@@ -504,7 +511,7 @@ fn test_query_trader_transient_spot_orders() {
504511
execute_all_authorizations(&env.app, &env.users[0].account, env.contract_address.clone());
505512
add_spot_initial_liquidity(&env.app, market_id.clone());
506513

507-
let (scale_price, scale_quantity) = scale_price_quantity_for_spot_market_dec("9.8", "1", &BASE_DECIMALS, &QUOTE_DECIMALS);
514+
let (scale_price, scale_quantity) = scale_price_quantity_for_spot_market_dec("9.8", "1", &MOCK_BASE_DECIMALS, &MOCK_QUOTE_DECIMALS);
508515

509516
let res = wasm
510517
.execute(

0 commit comments

Comments
 (0)