Add market index to Serum3OpenOrdersBalanceLog (#429)
This commit is contained in:
parent
df1f7418af
commit
4c93a2740a
|
@ -2,7 +2,7 @@ use anchor_lang::prelude::*;
|
|||
|
||||
use super::{OpenOrdersAmounts, OpenOrdersSlim};
|
||||
use crate::error::*;
|
||||
use crate::logs::Serum3OpenOrdersBalanceLog;
|
||||
use crate::logs::Serum3OpenOrdersBalanceLogV2;
|
||||
use crate::serum3_cpi::load_open_orders_ref;
|
||||
use crate::state::*;
|
||||
|
||||
|
@ -83,9 +83,10 @@ pub fn serum3_cancel_all_orders(ctx: Context<Serum3CancelAllOrders>, limit: u8)
|
|||
let oo_ai = &ctx.accounts.open_orders.as_ref();
|
||||
let open_orders = load_open_orders_ref(oo_ai)?;
|
||||
let after_oo = OpenOrdersSlim::from_oo(&open_orders);
|
||||
emit!(Serum3OpenOrdersBalanceLog {
|
||||
emit!(Serum3OpenOrdersBalanceLogV2 {
|
||||
mango_group: ctx.accounts.group.key(),
|
||||
mango_account: ctx.accounts.account.key(),
|
||||
market_index: serum_market.market_index,
|
||||
base_token_index: serum_market.base_token_index,
|
||||
quote_token_index: serum_market.quote_token_index,
|
||||
base_total: after_oo.native_base_total(),
|
||||
|
|
|
@ -8,7 +8,7 @@ use crate::state::*;
|
|||
use super::Serum3Side;
|
||||
|
||||
use super::{OpenOrdersAmounts, OpenOrdersSlim};
|
||||
use crate::logs::Serum3OpenOrdersBalanceLog;
|
||||
use crate::logs::Serum3OpenOrdersBalanceLogV2;
|
||||
use crate::serum3_cpi::load_open_orders_ref;
|
||||
|
||||
#[derive(Accounts)]
|
||||
|
@ -96,9 +96,10 @@ pub fn serum3_cancel_order(
|
|||
let oo_ai = &ctx.accounts.open_orders.as_ref();
|
||||
let open_orders = load_open_orders_ref(oo_ai)?;
|
||||
let after_oo = OpenOrdersSlim::from_oo(&open_orders);
|
||||
emit!(Serum3OpenOrdersBalanceLog {
|
||||
emit!(Serum3OpenOrdersBalanceLogV2 {
|
||||
mango_group: ctx.accounts.group.key(),
|
||||
mango_account: ctx.accounts.account.key(),
|
||||
market_index: serum_market.market_index,
|
||||
base_token_index: serum_market.base_token_index,
|
||||
quote_token_index: serum_market.quote_token_index,
|
||||
base_total: after_oo.native_base_total(),
|
||||
|
|
|
@ -7,7 +7,7 @@ use crate::instructions::{
|
|||
apply_vault_difference, charge_loan_origination_fees, OODifference, OpenOrdersAmounts,
|
||||
OpenOrdersSlim,
|
||||
};
|
||||
use crate::logs::Serum3OpenOrdersBalanceLog;
|
||||
use crate::logs::Serum3OpenOrdersBalanceLogV2;
|
||||
use crate::serum3_cpi::load_open_orders_ref;
|
||||
use crate::state::*;
|
||||
|
||||
|
@ -187,9 +187,10 @@ pub fn serum3_liq_force_cancel_orders(
|
|||
let open_orders = load_open_orders_ref(oo_ai)?;
|
||||
let after_oo = OpenOrdersSlim::from_oo(&open_orders);
|
||||
|
||||
emit!(Serum3OpenOrdersBalanceLog {
|
||||
emit!(Serum3OpenOrdersBalanceLogV2 {
|
||||
mango_group: ctx.accounts.group.key(),
|
||||
mango_account: ctx.accounts.account.key(),
|
||||
market_index: serum_market.market_index,
|
||||
base_token_index: serum_market.base_token_index,
|
||||
quote_token_index: serum_market.quote_token_index,
|
||||
base_total: after_oo.native_base_total(),
|
||||
|
|
|
@ -3,7 +3,7 @@ use crate::error::*;
|
|||
use crate::health::*;
|
||||
use crate::state::*;
|
||||
|
||||
use crate::logs::{Serum3OpenOrdersBalanceLog, TokenBalanceLog};
|
||||
use crate::logs::{Serum3OpenOrdersBalanceLogV2, TokenBalanceLog};
|
||||
use crate::serum3_cpi::{load_market_state, load_open_orders_ref};
|
||||
use anchor_lang::prelude::*;
|
||||
use anchor_spl::token::{Token, TokenAccount};
|
||||
|
@ -328,9 +328,10 @@ pub fn serum3_place_order(
|
|||
let open_orders = load_open_orders_ref(oo_ai)?;
|
||||
let after_oo = OpenOrdersSlim::from_oo(&open_orders);
|
||||
|
||||
emit!(Serum3OpenOrdersBalanceLog {
|
||||
emit!(Serum3OpenOrdersBalanceLogV2 {
|
||||
mango_group: ctx.accounts.group.key(),
|
||||
mango_account: ctx.accounts.account.key(),
|
||||
market_index: serum_market.market_index,
|
||||
base_token_index: serum_market.base_token_index,
|
||||
quote_token_index: serum_market.quote_token_index,
|
||||
base_total: after_oo.native_coin_total,
|
||||
|
|
|
@ -8,7 +8,7 @@ use crate::serum3_cpi::load_open_orders_ref;
|
|||
use crate::state::*;
|
||||
|
||||
use super::{apply_vault_difference, OpenOrdersAmounts, OpenOrdersSlim};
|
||||
use crate::logs::Serum3OpenOrdersBalanceLog;
|
||||
use crate::logs::Serum3OpenOrdersBalanceLogV2;
|
||||
use crate::logs::{LoanOriginationFeeInstruction, WithdrawLoanOriginationFeeLog};
|
||||
|
||||
#[derive(Accounts)]
|
||||
|
@ -188,9 +188,10 @@ pub fn serum3_settle_funds(ctx: Context<Serum3SettleFunds>) -> Result<()> {
|
|||
let oo_ai = &ctx.accounts.open_orders.as_ref();
|
||||
let open_orders = load_open_orders_ref(oo_ai)?;
|
||||
let after_oo = OpenOrdersSlim::from_oo(&open_orders);
|
||||
emit!(Serum3OpenOrdersBalanceLog {
|
||||
emit!(Serum3OpenOrdersBalanceLogV2 {
|
||||
mango_group: ctx.accounts.group.key(),
|
||||
mango_account: ctx.accounts.account.key(),
|
||||
market_index: serum_market.market_index,
|
||||
base_token_index: serum_market.base_token_index,
|
||||
quote_token_index: serum_market.quote_token_index,
|
||||
base_total: after_oo.native_base_total(),
|
||||
|
|
|
@ -204,6 +204,21 @@ pub struct Serum3OpenOrdersBalanceLog {
|
|||
pub referrer_rebates_accrued: u64,
|
||||
}
|
||||
|
||||
#[event]
|
||||
pub struct Serum3OpenOrdersBalanceLogV2 {
|
||||
pub mango_group: Pubkey,
|
||||
pub mango_account: Pubkey,
|
||||
pub market_index: u16,
|
||||
pub base_token_index: u16,
|
||||
pub quote_token_index: u16,
|
||||
pub base_total: u64,
|
||||
pub base_free: u64,
|
||||
/// this field does not include the referrer_rebates; need to add that in to get true total
|
||||
pub quote_total: u64,
|
||||
pub quote_free: u64,
|
||||
pub referrer_rebates_accrued: u64,
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Copy, Clone, Debug, AnchorSerialize, AnchorDeserialize)]
|
||||
#[repr(u8)]
|
||||
pub enum LoanOriginationFeeInstruction {
|
||||
|
|
|
@ -7580,6 +7580,61 @@ export type MangoV4 = {
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Serum3OpenOrdersBalanceLogV2",
|
||||
"fields": [
|
||||
{
|
||||
"name": "mangoGroup",
|
||||
"type": "publicKey",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "mangoAccount",
|
||||
"type": "publicKey",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "marketIndex",
|
||||
"type": "u16",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "baseTokenIndex",
|
||||
"type": "u16",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "quoteTokenIndex",
|
||||
"type": "u16",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "baseTotal",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "baseFree",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "quoteTotal",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "quoteFree",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "referrerRebatesAccrued",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "WithdrawLoanOriginationFeeLog",
|
||||
"fields": [
|
||||
|
@ -15869,6 +15924,61 @@ export const IDL: MangoV4 = {
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Serum3OpenOrdersBalanceLogV2",
|
||||
"fields": [
|
||||
{
|
||||
"name": "mangoGroup",
|
||||
"type": "publicKey",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "mangoAccount",
|
||||
"type": "publicKey",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "marketIndex",
|
||||
"type": "u16",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "baseTokenIndex",
|
||||
"type": "u16",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "quoteTokenIndex",
|
||||
"type": "u16",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "baseTotal",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "baseFree",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "quoteTotal",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "quoteFree",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
},
|
||||
{
|
||||
"name": "referrerRebatesAccrued",
|
||||
"type": "u64",
|
||||
"index": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "WithdrawLoanOriginationFeeLog",
|
||||
"fields": [
|
||||
|
|
Loading…
Reference in New Issue