also allow editing group insurance fund (#149)

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
This commit is contained in:
microwavedcola1 2022-08-07 14:16:23 +02:00 committed by GitHub
parent e06736660a
commit 4f72985f2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 3 deletions

View File

@ -30,6 +30,7 @@ pub fn token_edit(
bank_num: u64, bank_num: u64,
oracle_opt: Option<Pubkey>, oracle_opt: Option<Pubkey>,
oracle_config_opt: Option<OracleConfig>, oracle_config_opt: Option<OracleConfig>,
group_insurance_fund_opt: Option<bool>,
interest_rate_params_opt: Option<InterestRateParams>, interest_rate_params_opt: Option<InterestRateParams>,
loan_fee_rate_opt: Option<f32>, loan_fee_rate_opt: Option<f32>,
loan_origination_fee_rate_opt: Option<f32>, loan_origination_fee_rate_opt: Option<f32>,
@ -62,6 +63,10 @@ pub fn token_edit(
bank.oracle_config = oracle_config; bank.oracle_config = oracle_config;
}; };
if let Some(group_insurance_fund) = group_insurance_fund_opt {
mint_info.group_insurance_fund = if group_insurance_fund { 1 } else { 0 };
};
// unchanged - // unchanged -
// deposit_index // deposit_index
// borrow_index // borrow_index

View File

@ -96,6 +96,7 @@ pub mod mango_v4 {
bank_num: u64, bank_num: u64,
oracle_opt: Option<Pubkey>, oracle_opt: Option<Pubkey>,
oracle_config_opt: Option<OracleConfig>, oracle_config_opt: Option<OracleConfig>,
group_insurance_fund_opt: Option<bool>,
interest_rate_params_opt: Option<InterestRateParams>, interest_rate_params_opt: Option<InterestRateParams>,
loan_fee_rate_opt: Option<f32>, loan_fee_rate_opt: Option<f32>,
loan_origination_fee_rate_opt: Option<f32>, loan_origination_fee_rate_opt: Option<f32>,
@ -110,6 +111,7 @@ pub mod mango_v4 {
bank_num, bank_num,
oracle_opt, oracle_opt,
oracle_config_opt, oracle_config_opt,
group_insurance_fund_opt,
interest_rate_params_opt, interest_rate_params_opt,
loan_fee_rate_opt, loan_fee_rate_opt,
loan_origination_fee_rate_opt, loan_origination_fee_rate_opt,

View File

@ -232,6 +232,7 @@ export class MangoClient {
tokenName: string, tokenName: string,
oracle: PublicKey, oracle: PublicKey,
oracleConfFilter: number, oracleConfFilter: number,
groupInsuranceFund: boolean,
adjustmentFactor: number, adjustmentFactor: number,
util0: number, util0: number,
rate0: number, rate0: number,
@ -258,6 +259,7 @@ export class MangoClient {
val: I80F48.fromNumber(oracleConfFilter).getData(), val: I80F48.fromNumber(oracleConfFilter).getData(),
}, },
} as any, // future: nested custom types dont typecheck, fix if possible? } as any, // future: nested custom types dont typecheck, fix if possible?
groupInsuranceFund,
{ adjustmentFactor, util0, rate0, util1, rate1, maxRate }, { adjustmentFactor, util0, rate0, util1, rate1, maxRate },
loanFeeRate, loanFeeRate,
loanOriginationFeeRate, loanOriginationFeeRate,
@ -614,7 +616,7 @@ export class MangoClient {
mangoAccount: MangoAccount, mangoAccount: MangoAccount,
tokenName: string, tokenName: string,
amount: number, amount: number,
) { ): Promise<TransactionSignature> {
const bank = group.banksMap.get(tokenName)!; const bank = group.banksMap.get(tokenName)!;
const tokenAccountPk = await getAssociatedTokenAddress( const tokenAccountPk = await getAssociatedTokenAddress(
@ -690,7 +692,7 @@ export class MangoClient {
tokenName: string, tokenName: string,
amount: number, amount: number,
allowBorrow: boolean, allowBorrow: boolean,
) { ): Promise<TransactionSignature> {
const bank = group.banksMap.get(tokenName)!; const bank = group.banksMap.get(tokenName)!;
const tokenAccountPk = await getAssociatedTokenAddress( const tokenAccountPk = await getAssociatedTokenAddress(
@ -731,7 +733,7 @@ export class MangoClient {
tokenName: string, tokenName: string,
nativeAmount: number, nativeAmount: number,
allowBorrow: boolean, allowBorrow: boolean,
) { ): Promise<TransactionSignature> {
const bank = group.banksMap.get(tokenName)!; const bank = group.banksMap.get(tokenName)!;
const tokenAccountPk = await getAssociatedTokenAddress( const tokenAccountPk = await getAssociatedTokenAddress(

View File

@ -504,6 +504,12 @@ export type MangoV4 = {
} }
} }
}, },
{
"name": "groupInsuranceFundOpt",
"type": {
"option": "bool"
}
},
{ {
"name": "interestRateParamsOpt", "name": "interestRateParamsOpt",
"type": { "type": {
@ -5545,6 +5551,12 @@ export const IDL: MangoV4 = {
} }
} }
}, },
{
"name": "groupInsuranceFundOpt",
"type": {
"option": "bool"
}
},
{ {
"name": "interestRateParamsOpt", "name": "interestRateParamsOpt",
"type": { "type": {