updated collateral calculations with referrer rebates
This commit is contained in:
parent
cc7260914f
commit
66e21732a1
|
@ -268,7 +268,7 @@ export class MarginAccount {
|
||||||
const oos = this.openOrdersAccounts[i]
|
const oos = this.openOrdersAccounts[i]
|
||||||
if (oos != undefined) {
|
if (oos != undefined) {
|
||||||
value += nativeToUi(oos.baseTokenTotal.toNumber(), mangoGroup.mintDecimals[i]) * prices[i]
|
value += nativeToUi(oos.baseTokenTotal.toNumber(), mangoGroup.mintDecimals[i]) * prices[i]
|
||||||
value += nativeToUi(oos.quoteTokenTotal.toNumber(), mangoGroup.mintDecimals[NUM_TOKENS-1])
|
value += nativeToUi(oos.quoteTokenTotal.toNumber() + oos['referrerRebatesAccrued'].toNumber(), mangoGroup.mintDecimals[NUM_TOKENS-1])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -306,10 +306,9 @@ export class MarginAccount {
|
||||||
}
|
}
|
||||||
|
|
||||||
assets[i] += nativeToUi(openOrdersAccount.baseTokenTotal.toNumber(), mangoGroup.mintDecimals[i])
|
assets[i] += nativeToUi(openOrdersAccount.baseTokenTotal.toNumber(), mangoGroup.mintDecimals[i])
|
||||||
assets[NUM_TOKENS-1] += nativeToUi(openOrdersAccount.quoteTokenTotal.toNumber(), mangoGroup.mintDecimals[NUM_TOKENS-1])
|
assets[NUM_TOKENS-1] += nativeToUi(openOrdersAccount.quoteTokenTotal.toNumber() + openOrdersAccount['referrerRebatesAccrued'].toNumber(), mangoGroup.mintDecimals[NUM_TOKENS-1])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return assets
|
return assets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,7 +334,7 @@ export class MarginAccount {
|
||||||
}
|
}
|
||||||
|
|
||||||
assetsVal += nativeToUi(openOrdersAccount.baseTokenTotal.toNumber(), mangoGroup.mintDecimals[i]) * prices[i]
|
assetsVal += nativeToUi(openOrdersAccount.baseTokenTotal.toNumber(), mangoGroup.mintDecimals[i]) * prices[i]
|
||||||
assetsVal += nativeToUi(openOrdersAccount.quoteTokenTotal.toNumber(), mangoGroup.mintDecimals[NUM_TOKENS-1])
|
assetsVal += nativeToUi(openOrdersAccount.quoteTokenTotal.toNumber() + openOrdersAccount['referrerRebatesAccrued'].toNumber(), mangoGroup.mintDecimals[NUM_TOKENS-1])
|
||||||
}
|
}
|
||||||
|
|
||||||
return assetsVal
|
return assetsVal
|
||||||
|
@ -755,12 +754,12 @@ export class MangoClient {
|
||||||
const openOrdersAccount = marginAccount.openOrdersAccounts[i]
|
const openOrdersAccount = marginAccount.openOrdersAccounts[i]
|
||||||
if (openOrdersAccount === undefined) {
|
if (openOrdersAccount === undefined) {
|
||||||
continue
|
continue
|
||||||
} else if (openOrdersAccount.quoteTokenFree.toNumber() === 0 && openOrdersAccount.baseTokenFree.toNumber() === 0) {
|
} else if (openOrdersAccount.quoteTokenFree.toNumber() + openOrdersAccount['referrerRebatesAccrued'].toNumber() === 0 && openOrdersAccount.baseTokenFree.toNumber() === 0) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
assetGains[i] += openOrdersAccount.baseTokenFree.toNumber()
|
assetGains[i] += openOrdersAccount.baseTokenFree.toNumber()
|
||||||
assetGains[NUM_TOKENS-1] += openOrdersAccount.quoteTokenFree.toNumber()
|
assetGains[NUM_TOKENS-1] += openOrdersAccount.quoteTokenFree.toNumber() + openOrdersAccount['referrerRebatesAccrued'].toNumber()
|
||||||
|
|
||||||
const spotMarket = markets[i]
|
const spotMarket = markets[i]
|
||||||
const dexSigner = await PublicKey.createProgramAddress(
|
const dexSigner = await PublicKey.createProgramAddress(
|
||||||
|
|
38
src/tests.ts
38
src/tests.ts
|
@ -13,7 +13,7 @@ import {
|
||||||
parseTokenAccountData,
|
parseTokenAccountData,
|
||||||
sleep
|
sleep
|
||||||
} from './utils'
|
} from './utils'
|
||||||
import { NUM_TOKENS } from './layout';
|
import { NUM_MARKETS, NUM_TOKENS } from './layout';
|
||||||
|
|
||||||
async function tests() {
|
async function tests() {
|
||||||
const cluster = "mainnet-beta";
|
const cluster = "mainnet-beta";
|
||||||
|
@ -55,7 +55,7 @@ async function tests() {
|
||||||
|
|
||||||
async function getMarginAccountDetails() {
|
async function getMarginAccountDetails() {
|
||||||
const mangoGroup = await client.getMangoGroup(connection, mangoGroupPk);
|
const mangoGroup = await client.getMangoGroup(connection, mangoGroupPk);
|
||||||
const marginAccountPk = new PublicKey("Ga6xNLmkq3Mw95kUWPip2xnUGGEWnFmeiYFxjaZ1GFse")
|
const marginAccountPk = new PublicKey("AoqCcazWgh1VyDhDmvUEt36UHKt3ujJv57c9YEvaDZLj")
|
||||||
const marginAccount = await client.getMarginAccount(connection, marginAccountPk, mangoGroup.dexProgramId)
|
const marginAccount = await client.getMarginAccount(connection, marginAccountPk, mangoGroup.dexProgramId)
|
||||||
const prices = await mangoGroup.getPrices(connection)
|
const prices = await mangoGroup.getPrices(connection)
|
||||||
|
|
||||||
|
@ -66,24 +66,22 @@ async function tests() {
|
||||||
for (let i = 0; i < NUM_TOKENS; i++) {
|
for (let i = 0; i < NUM_TOKENS; i++) {
|
||||||
console.log(marginAccount.getUiDeposit(mangoGroup, i), marginAccount.getUiBorrow(mangoGroup, i))
|
console.log(marginAccount.getUiDeposit(mangoGroup, i), marginAccount.getUiBorrow(mangoGroup, i))
|
||||||
}
|
}
|
||||||
// for (let i = 0; i < NUM_MARKETS; i++) {
|
for (let i = 0; i < NUM_MARKETS; i++) {
|
||||||
// let openOrdersAccount = marginAccount.openOrdersAccounts[i]
|
let openOrdersAccount = marginAccount.openOrdersAccounts[i]
|
||||||
// if (openOrdersAccount === undefined) {
|
if (openOrdersAccount === undefined) {
|
||||||
// continue
|
continue
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// for (const oid of openOrdersAccount.orders) {
|
console.log('referrer rebates', i, openOrdersAccount['referrerRebatesAccrued'].toNumber())
|
||||||
// console.log(oid.toString())
|
console.log(i,
|
||||||
// }
|
nativeToUi(openOrdersAccount.quoteTokenTotal.toNumber() + openOrdersAccount['referrerRebatesAccrued'].toNumber(), mangoGroup.mintDecimals[NUM_MARKETS]),
|
||||||
// console.log(i,
|
nativeToUi(openOrdersAccount.quoteTokenFree.toNumber(), mangoGroup.mintDecimals[NUM_MARKETS]),
|
||||||
// nativeToUi(openOrdersAccount.quoteTokenTotal.toNumber(), mangoGroup.mintDecimals[NUM_MARKETS]),
|
|
||||||
// nativeToUi(openOrdersAccount.quoteTokenFree.toNumber(), mangoGroup.mintDecimals[NUM_MARKETS]),
|
nativeToUi(openOrdersAccount.baseTokenTotal.toNumber(), mangoGroup.mintDecimals[i]),
|
||||||
//
|
nativeToUi(openOrdersAccount.baseTokenFree.toNumber(), mangoGroup.mintDecimals[i])
|
||||||
// nativeToUi(openOrdersAccount.baseTokenTotal.toNumber(), mangoGroup.mintDecimals[i]),
|
|
||||||
// nativeToUi(openOrdersAccount.baseTokenFree.toNumber(), mangoGroup.mintDecimals[i])
|
)
|
||||||
//
|
}
|
||||||
// )
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue