Skip to content

Commit f579146

Browse files
committed
add borrow rate tests
1 parent e988e8b commit f579146

File tree

1 file changed

+16
-1
lines changed
  • programs/drift/src/controller/spot_balance

1 file changed

+16
-1
lines changed

programs/drift/src/controller/spot_balance/tests.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use crate::controller::spot_balance::*;
88
use crate::controller::spot_position::update_spot_balances_and_cumulative_deposits_with_limits;
99
use crate::create_account_info;
1010
use crate::create_anchor_account_info;
11+
use crate::math::constants::PERCENTAGE_PRECISION;
1112
use crate::math::constants::{
1213
AMM_RESERVE_PRECISION, BASE_PRECISION_I128, BASE_PRECISION_I64, LIQUIDATION_FEE_PRECISION,
1314
PEG_PRECISION, PRICE_PRECISION_I64, PRICE_PRECISION_U64, QUOTE_PRECISION, QUOTE_PRECISION_I128,
@@ -54,7 +55,6 @@ pub fn check_perp_market_valid(
5455
}
5556

5657

57-
5858
#[test]
5959
fn test_meme_interest_rate() {
6060
let perp_market_map = PerpMarketMap::empty();
@@ -104,6 +104,21 @@ pub fn check_perp_market_valid(
104104

105105
assert_eq!(meme_market.cumulative_borrow_interest, 10080236295);
106106

107+
108+
let rate = calculate_borrow_rate(&meme_market, PERCENTAGE_PRECISION/2).unwrap();
109+
assert_eq!(rate, 107_142);
110+
111+
let rate = calculate_borrow_rate(&meme_market, 850_000).unwrap();
112+
assert_eq!(rate, 392_500);
113+
114+
let rate = calculate_borrow_rate(&meme_market, 990_000).unwrap();
115+
assert_eq!(rate, 2_575_000);
116+
117+
let rate = calculate_borrow_rate(&meme_market, PERCENTAGE_PRECISION).unwrap();
118+
assert_eq!(rate, 5_000_000);
119+
120+
assert_eq!(meme_market.max_borrow_rate, 5000000);
121+
107122
}
108123

109124

0 commit comments

Comments
 (0)