diff --git a/lib/client/src/client.rs b/lib/client/src/client.rs index d84ffda3..aefe9758 100644 --- a/lib/client/src/client.rs +++ b/lib/client/src/client.rs @@ -268,8 +268,7 @@ impl OpenBookClient { expiry_timestamp: u64, limit: u8, token_deposit_account: Pubkey, - base_vault: Pubkey, - quote_vault: Pubkey, + market_vault: Pubkey, self_trade_behavior: SelfTradeBehavior, ) -> anyhow::Result { let market = self.context.context(market_index); @@ -288,8 +287,7 @@ impl OpenBookClient { event_queue: market.market.event_queue, oracle: market.market.oracle, token_deposit_account, - base_vault, - quote_vault, + market_vault, system_program: System::id(), token_program: Token::id(), }, @@ -325,8 +323,7 @@ impl OpenBookClient { expiry_timestamp: u64, limit: u8, token_deposit_account: Pubkey, - base_vault: Pubkey, - quote_vault: Pubkey, + market_vault: Pubkey, self_trade_behavior: SelfTradeBehavior, max_oracle_staleness_slots: i32, ) -> anyhow::Result { @@ -346,8 +343,7 @@ impl OpenBookClient { event_queue: market.market.event_queue, oracle: market.market.oracle, token_deposit_account, - base_vault, - quote_vault, + market_vault, system_program: System::id(), token_program: Token::id(), }, diff --git a/programs/openbook-v2/src/accounts_ix/place_order.rs b/programs/openbook-v2/src/accounts_ix/place_order.rs index e8ac4fa9..226ad4bc 100644 --- a/programs/openbook-v2/src/accounts_ix/place_order.rs +++ b/programs/openbook-v2/src/accounts_ix/place_order.rs @@ -15,7 +15,7 @@ pub struct PlaceOrder<'info> { #[account( mut, - constraint = token_deposit_account.mint == base_vault.mint || token_deposit_account.mint == quote_vault.mint + constraint = token_deposit_account.mint == market_vault.mint )] pub token_deposit_account: Account<'info, TokenAccount>, @@ -25,8 +25,6 @@ pub struct PlaceOrder<'info> { has_one = asks, has_one = event_queue, has_one = oracle, - has_one = base_vault, - has_one = quote_vault, )] pub market: AccountLoader<'info, Market>, #[account(mut)] @@ -35,10 +33,11 @@ pub struct PlaceOrder<'info> { pub asks: AccountLoader<'info, BookSide>, #[account(mut)] pub event_queue: AccountLoader<'info, EventQueue>, - #[account(mut)] - pub base_vault: Account<'info, TokenAccount>, - #[account(mut)] - pub quote_vault: Account<'info, TokenAccount>, + #[account( + mut, + constraint = market.load()?.is_market_vault(market_vault.key()) + )] + pub market_vault: Account<'info, TokenAccount>, /// CHECK: The oracle can be one of several different account types and the pubkey is checked above pub oracle: UncheckedAccount<'info>, diff --git a/programs/openbook-v2/src/instructions/place_order.rs b/programs/openbook-v2/src/instructions/place_order.rs index 3897f179..feda78ed 100644 --- a/programs/openbook-v2/src/instructions/place_order.rs +++ b/programs/openbook-v2/src/instructions/place_order.rs @@ -66,22 +66,20 @@ pub fn place_order(ctx: Context, order: Order, limit: u8) -> Result< )?; let position = &mut open_orders_account.position; - let (to_vault, deposit_amount) = match order.side { + let deposit_amount = match order.side { Side::Bid => { let free_quote = position.quote_free_native; - let max_quote_including_fees = total_quote_taken_native + posted_quote_native as u64 + maker_fees; let free_qty_to_lock = cmp::min(max_quote_including_fees, free_quote); - position.quote_free_native -= free_qty_to_lock; - let deposit_amount = max_quote_including_fees - free_qty_to_lock; // Update market deposit total + position.quote_free_native -= free_qty_to_lock; market.quote_deposit_total += deposit_amount; - (ctx.accounts.quote_vault.to_account_info(), deposit_amount) + deposit_amount } Side::Ask => { @@ -89,27 +87,27 @@ pub fn place_order(ctx: Context, order: Order, limit: u8) -> Result< let max_base_native = total_base_taken_native + posted_base_native as u64; let free_qty_to_lock = cmp::min(max_base_native, free_assets_native); - position.base_free_native -= free_qty_to_lock; - let deposit_amount = max_base_native - free_qty_to_lock; + // Update market deposit total + position.base_free_native -= free_qty_to_lock; market.base_deposit_total += deposit_amount; - (ctx.accounts.base_vault.to_account_info(), deposit_amount) + deposit_amount } }; - // Transfer funds if deposit_amount > 0 { let cpi_context = CpiContext::new( ctx.accounts.token_program.to_account_info(), Transfer { from: ctx.accounts.token_deposit_account.to_account_info(), - to: to_vault, + to: ctx.accounts.market_vault.to_account_info(), authority: ctx.accounts.owner_or_delegate.to_account_info(), }, ); token::transfer(cpi_context, deposit_amount)?; } + Ok(order_id) } diff --git a/programs/openbook-v2/src/state/market.rs b/programs/openbook-v2/src/state/market.rs index 139cf4f7..d0e4fc94 100644 --- a/programs/openbook-v2/src/state/market.rs +++ b/programs/openbook-v2/src/state/market.rs @@ -154,6 +154,10 @@ impl Market { .trim_matches(char::from(0)) } + pub fn is_market_vault(&self, pubkey: Pubkey) -> bool { + pubkey == self.quote_vault || pubkey == self.base_vault + } + pub fn gen_order_id(&mut self, side: Side, price_data: u64) -> u128 { self.seq_num += 1; orderbook::new_node_key(side, price_data, self.seq_num) diff --git a/programs/openbook-v2/tests/cases/test.rs b/programs/openbook-v2/tests/cases/test.rs index bc631677..69554105 100644 --- a/programs/openbook-v2/tests/cases/test.rs +++ b/programs/openbook-v2/tests/cases/test.rs @@ -71,8 +71,7 @@ async fn test_simple_settle() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -96,8 +95,7 @@ async fn test_simple_settle() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -247,8 +245,7 @@ async fn test_cancel_orders() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -272,8 +269,7 @@ async fn test_cancel_orders() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -362,8 +358,7 @@ async fn test_cancel_orders() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -456,8 +451,7 @@ async fn test_cancel_orders() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -537,8 +531,7 @@ async fn test_expired_orders() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -574,8 +567,7 @@ async fn test_expired_orders() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, diff --git a/programs/openbook-v2/tests/cases/test_crank.rs b/programs/openbook-v2/tests/cases/test_crank.rs index 6051eb17..4a8f26fc 100644 --- a/programs/openbook-v2/tests/cases/test_crank.rs +++ b/programs/openbook-v2/tests/cases/test_crank.rs @@ -74,8 +74,7 @@ async fn test_skip_missing_accounts() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -98,8 +97,7 @@ async fn test_skip_missing_accounts() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -122,8 +120,7 @@ async fn test_skip_missing_accounts() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -146,8 +143,7 @@ async fn test_skip_missing_accounts() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 3, @@ -263,8 +259,7 @@ async fn test_crank_given_events() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -287,8 +282,7 @@ async fn test_crank_given_events() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -311,8 +305,7 @@ async fn test_crank_given_events() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -335,8 +328,7 @@ async fn test_crank_given_events() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 3, diff --git a/programs/openbook-v2/tests/cases/test_fees.rs b/programs/openbook-v2/tests/cases/test_fees.rs index 30130478..11b84d04 100644 --- a/programs/openbook-v2/tests/cases/test_fees.rs +++ b/programs/openbook-v2/tests/cases/test_fees.rs @@ -38,8 +38,7 @@ async fn test_fees_accrued() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -62,8 +61,7 @@ async fn test_fees_accrued() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -174,8 +172,7 @@ async fn test_fees_accrued() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots: price_lots - 1000, max_base_lots: 1, @@ -240,8 +237,7 @@ async fn test_maker_fees() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -285,8 +281,7 @@ async fn test_maker_fees() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -318,8 +313,7 @@ async fn test_maker_fees() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -479,8 +473,7 @@ async fn test_no_maker_fees_ask() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -512,8 +505,7 @@ async fn test_no_maker_fees_ask() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -673,8 +665,7 @@ async fn test_maker_fees_ask() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -706,8 +697,7 @@ async fn test_maker_fees_ask() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -868,8 +858,7 @@ async fn test_fees_half() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -892,8 +881,7 @@ async fn test_fees_half() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -1031,8 +1019,7 @@ async fn test_fees_half() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -1055,8 +1042,7 @@ async fn test_fees_half() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -1190,8 +1176,7 @@ async fn test_locked_maker_fees() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_quote_ata, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots: 1_000, max_base_lots: 5, @@ -1205,6 +1190,7 @@ async fn test_locked_maker_fees() -> Result<(), TransportError> { let place_taker_ask = PlaceOrderInstruction { side: Side::Ask, + market_vault: base_vault, open_orders_account: taker, token_deposit_account: owner_base_ata, max_base_lots: 3, diff --git a/programs/openbook-v2/tests/cases/test_ioc.rs b/programs/openbook-v2/tests/cases/test_ioc.rs index cb34122a..02f1f9dd 100644 --- a/programs/openbook-v2/tests/cases/test_ioc.rs +++ b/programs/openbook-v2/tests/cases/test_ioc.rs @@ -34,8 +34,7 @@ async fn test_ioc() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -57,8 +56,7 @@ async fn test_ioc() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, diff --git a/programs/openbook-v2/tests/cases/test_oracle_peg.rs b/programs/openbook-v2/tests/cases/test_oracle_peg.rs index a1ae4057..129d5a36 100644 --- a/programs/openbook-v2/tests/cases/test_oracle_peg.rs +++ b/programs/openbook-v2/tests/cases/test_oracle_peg.rs @@ -43,8 +43,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_offset: -1, peg_limit: 1, @@ -90,8 +89,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_offset: 0, peg_limit: price_lots, @@ -122,8 +120,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -145,8 +142,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_offset: 0, peg_limit: price_lots, @@ -179,8 +175,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_offset: -1, peg_limit: 1, @@ -201,8 +196,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -239,8 +233,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 2, @@ -278,8 +271,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_offset: -1, peg_limit: price_lots + 2, @@ -301,8 +293,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots: price_lots + 2, max_base_lots: 1, @@ -339,8 +330,7 @@ async fn test_oracle_peg() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots: price_lots + 3, max_base_lots: 1, @@ -401,7 +391,6 @@ async fn test_oracle_peg_limit() -> Result<(), TransportError> { owner, owner_token_1, market, - base_vault, quote_vault, account_0, bids, @@ -433,8 +422,7 @@ async fn test_oracle_peg_limit() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_offset: -100, peg_limit: price_lots + 100_000, @@ -457,8 +445,7 @@ async fn test_oracle_peg_limit() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_offset: -100, peg_limit: price_lots + 100_000, @@ -519,8 +506,7 @@ async fn test_locked_amounts() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_quote_ata, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_offset: 0, peg_limit: 30, @@ -531,6 +517,7 @@ async fn test_locked_amounts() -> Result<(), TransportError> { let place_ask_1_ix = PlaceOrderPeggedInstruction { side: Side::Ask, + market_vault: base_vault, token_deposit_account: owner_base_ata, open_orders_account: account_1, ..place_bid_0_ix.clone() diff --git a/programs/openbook-v2/tests/cases/test_order_types.rs b/programs/openbook-v2/tests/cases/test_order_types.rs index fb185972..dc94365f 100644 --- a/programs/openbook-v2/tests/cases/test_order_types.rs +++ b/programs/openbook-v2/tests/cases/test_order_types.rs @@ -30,8 +30,7 @@ async fn test_inmediate_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -58,8 +57,7 @@ async fn test_inmediate_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 2, @@ -153,8 +151,7 @@ async fn test_inmediate_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -182,8 +179,7 @@ async fn test_inmediate_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -275,8 +271,7 @@ async fn test_inmediate_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, diff --git a/programs/openbook-v2/tests/cases/test_permissioned.rs b/programs/openbook-v2/tests/cases/test_permissioned.rs index 485fdc13..6c132bb9 100644 --- a/programs/openbook-v2/tests/cases/test_permissioned.rs +++ b/programs/openbook-v2/tests/cases/test_permissioned.rs @@ -8,7 +8,6 @@ async fn test_permissioned_open_order() -> Result<(), TransportError> { owner, owner_token_1, market, - base_vault, quote_vault, tokens, account_0, @@ -38,8 +37,7 @@ async fn test_permissioned_open_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -64,8 +62,7 @@ async fn test_permissioned_open_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -92,7 +89,6 @@ async fn test_permissioned_open_take_order() -> Result<(), TransportError> { owner, owner_token_1, market, - base_vault, quote_vault, price_lots, tokens, @@ -116,8 +112,7 @@ async fn test_permissioned_open_take_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -142,8 +137,7 @@ async fn test_permissioned_open_take_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -197,8 +191,7 @@ async fn test_consume_events_admin() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -222,8 +215,7 @@ async fn test_consume_events_admin() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -300,8 +292,7 @@ async fn test_close_market_admin() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -326,8 +317,7 @@ async fn test_close_market_admin() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -352,8 +342,7 @@ async fn test_close_market_admin() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -406,8 +395,7 @@ async fn test_close_market_admin() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -481,7 +469,6 @@ async fn test_delegate() -> Result<(), TransportError> { collect_fee_admin, owner, market, - base_vault, quote_vault, price_lots, tokens, @@ -516,8 +503,7 @@ async fn test_delegate() -> Result<(), TransportError> { market, owner: account_0_delegate, token_deposit_account: delegate_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -565,8 +551,7 @@ async fn test_delegate() -> Result<(), TransportError> { market, owner: account_0_delegate, token_deposit_account: delegate_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, diff --git a/programs/openbook-v2/tests/cases/test_place_order_remaining.rs b/programs/openbook-v2/tests/cases/test_place_order_remaining.rs index d5a87285..de4971fb 100644 --- a/programs/openbook-v2/tests/cases/test_place_order_remaining.rs +++ b/programs/openbook-v2/tests/cases/test_place_order_remaining.rs @@ -31,8 +31,7 @@ async fn test_place_cancel_order_remaining() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -62,8 +61,7 @@ async fn test_place_cancel_order_remaining() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -118,8 +116,7 @@ async fn test_place_cancel_order_remaining() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -156,8 +153,7 @@ async fn test_place_cancel_order_remaining() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, @@ -226,8 +222,7 @@ async fn test_cancel_order_yourself() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -260,8 +255,7 @@ async fn test_cancel_order_yourself() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, diff --git a/programs/openbook-v2/tests/cases/test_self_trade.rs b/programs/openbook-v2/tests/cases/test_self_trade.rs index d581d6f1..31553ae0 100644 --- a/programs/openbook-v2/tests/cases/test_self_trade.rs +++ b/programs/openbook-v2/tests/cases/test_self_trade.rs @@ -27,8 +27,7 @@ async fn test_self_trade_decrement_take() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_base_ata, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots: 1000, max_base_lots: 2, @@ -52,8 +51,7 @@ async fn test_self_trade_decrement_take() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_base_ata, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots: 1000, max_base_lots: 2, @@ -77,8 +75,7 @@ async fn test_self_trade_decrement_take() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_quote_ata, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots: 1000, max_base_lots: 1, @@ -142,8 +139,7 @@ async fn test_self_trade_decrement_take() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_quote_ata, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots: 1000, max_base_lots: 2, @@ -227,8 +223,7 @@ async fn test_self_trade_cancel_provide() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_base_ata, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots: 1000, max_base_lots: 1, @@ -252,8 +247,7 @@ async fn test_self_trade_cancel_provide() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_base_ata, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots: 1000, max_base_lots: 2, @@ -292,8 +286,7 @@ async fn test_self_trade_cancel_provide() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_quote_ata, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots: 1000, max_base_lots: 1, @@ -332,8 +325,7 @@ async fn test_self_trade_cancel_provide() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_quote_ata, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots: 1000, max_base_lots: 1, @@ -416,8 +408,7 @@ async fn test_self_abort_transaction() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_base_ata, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots: 1000, max_base_lots: 1, @@ -441,8 +432,7 @@ async fn test_self_abort_transaction() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_quote_ata, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots: 1000, max_base_lots: 1, @@ -481,8 +471,7 @@ async fn test_self_trade_no_fees() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_quote_ata, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots: 1000, max_base_lots: 1, @@ -496,6 +485,7 @@ async fn test_self_trade_no_fees() -> Result<(), TransportError> { let place_ask_ix = PlaceOrderInstruction { side: Side::Ask, + market_vault: base_vault, token_deposit_account: owner_base_ata, ..place_bid_ix.clone() }; diff --git a/programs/openbook-v2/tests/cases/test_take_order.rs b/programs/openbook-v2/tests/cases/test_take_order.rs index e10f8d3b..1b6d8090 100644 --- a/programs/openbook-v2/tests/cases/test_take_order.rs +++ b/programs/openbook-v2/tests/cases/test_take_order.rs @@ -30,8 +30,7 @@ async fn test_take_ask_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_1, - base_vault, - quote_vault, + market_vault: quote_vault, side: Side::Bid, price_lots, max_base_lots: 1, @@ -180,8 +179,7 @@ async fn test_take_bid_order() -> Result<(), TransportError> { market, owner, token_deposit_account: owner_token_0, - base_vault, - quote_vault, + market_vault: base_vault, side: Side::Ask, price_lots, max_base_lots: 1, diff --git a/programs/openbook-v2/tests/program_test/client.rs b/programs/openbook-v2/tests/program_test/client.rs index 494397ef..66789750 100644 --- a/programs/openbook-v2/tests/program_test/client.rs +++ b/programs/openbook-v2/tests/program_test/client.rs @@ -304,8 +304,7 @@ pub struct PlaceOrderInstruction { pub open_orders_admin: Option, pub market: Pubkey, pub owner: TestKeypair, - pub base_vault: Pubkey, - pub quote_vault: Pubkey, + pub market_vault: Pubkey, pub token_deposit_account: Pubkey, pub side: Side, pub price_lots: i64, @@ -351,8 +350,7 @@ impl ClientInstruction for PlaceOrderInstruction { oracle: market.oracle, owner_or_delegate: self.owner.pubkey(), token_deposit_account: self.token_deposit_account, - base_vault: self.base_vault, - quote_vault: self.quote_vault, + market_vault: self.market_vault, token_program: Token::id(), system_program: System::id(), }; @@ -385,8 +383,7 @@ pub struct PlaceOrderPeggedInstruction { pub market: Pubkey, pub owner: TestKeypair, pub token_deposit_account: Pubkey, - pub base_vault: Pubkey, - pub quote_vault: Pubkey, + pub market_vault: Pubkey, pub side: Side, pub price_offset: i64, pub max_base_lots: i64, @@ -429,8 +426,7 @@ impl ClientInstruction for PlaceOrderPeggedInstruction { oracle: market.oracle, owner_or_delegate: self.owner.pubkey(), token_deposit_account: self.token_deposit_account, - base_vault: self.base_vault, - quote_vault: self.quote_vault, + market_vault: self.market_vault, token_program: Token::id(), system_program: System::id(), };