From 4f72985f2da2728406d25a4c9be890ae7544b336 Mon Sep 17 00:00:00 2001 From: microwavedcola1 <89031858+microwavedcola1@users.noreply.github.com> Date: Sun, 7 Aug 2022 14:16:23 +0200 Subject: [PATCH] also allow editing group insurance fund (#149) Signed-off-by: microwavedcola1 --- programs/mango-v4/src/instructions/token_edit.rs | 5 +++++ programs/mango-v4/src/lib.rs | 2 ++ ts/client/src/client.ts | 8 +++++--- ts/client/src/mango_v4.ts | 12 ++++++++++++ 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/programs/mango-v4/src/instructions/token_edit.rs b/programs/mango-v4/src/instructions/token_edit.rs index 008a8c1c1..dccecc8b6 100644 --- a/programs/mango-v4/src/instructions/token_edit.rs +++ b/programs/mango-v4/src/instructions/token_edit.rs @@ -30,6 +30,7 @@ pub fn token_edit( bank_num: u64, oracle_opt: Option, oracle_config_opt: Option, + group_insurance_fund_opt: Option, interest_rate_params_opt: Option, loan_fee_rate_opt: Option, loan_origination_fee_rate_opt: Option, @@ -62,6 +63,10 @@ pub fn token_edit( 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 - // deposit_index // borrow_index diff --git a/programs/mango-v4/src/lib.rs b/programs/mango-v4/src/lib.rs index d92f5ff5c..be25edab5 100644 --- a/programs/mango-v4/src/lib.rs +++ b/programs/mango-v4/src/lib.rs @@ -96,6 +96,7 @@ pub mod mango_v4 { bank_num: u64, oracle_opt: Option, oracle_config_opt: Option, + group_insurance_fund_opt: Option, interest_rate_params_opt: Option, loan_fee_rate_opt: Option, loan_origination_fee_rate_opt: Option, @@ -110,6 +111,7 @@ pub mod mango_v4 { bank_num, oracle_opt, oracle_config_opt, + group_insurance_fund_opt, interest_rate_params_opt, loan_fee_rate_opt, loan_origination_fee_rate_opt, diff --git a/ts/client/src/client.ts b/ts/client/src/client.ts index 3afaf1000..af37e77c2 100644 --- a/ts/client/src/client.ts +++ b/ts/client/src/client.ts @@ -232,6 +232,7 @@ export class MangoClient { tokenName: string, oracle: PublicKey, oracleConfFilter: number, + groupInsuranceFund: boolean, adjustmentFactor: number, util0: number, rate0: number, @@ -258,6 +259,7 @@ export class MangoClient { val: I80F48.fromNumber(oracleConfFilter).getData(), }, } as any, // future: nested custom types dont typecheck, fix if possible? + groupInsuranceFund, { adjustmentFactor, util0, rate0, util1, rate1, maxRate }, loanFeeRate, loanOriginationFeeRate, @@ -614,7 +616,7 @@ export class MangoClient { mangoAccount: MangoAccount, tokenName: string, amount: number, - ) { + ): Promise { const bank = group.banksMap.get(tokenName)!; const tokenAccountPk = await getAssociatedTokenAddress( @@ -690,7 +692,7 @@ export class MangoClient { tokenName: string, amount: number, allowBorrow: boolean, - ) { + ): Promise { const bank = group.banksMap.get(tokenName)!; const tokenAccountPk = await getAssociatedTokenAddress( @@ -731,7 +733,7 @@ export class MangoClient { tokenName: string, nativeAmount: number, allowBorrow: boolean, - ) { + ): Promise { const bank = group.banksMap.get(tokenName)!; const tokenAccountPk = await getAssociatedTokenAddress( diff --git a/ts/client/src/mango_v4.ts b/ts/client/src/mango_v4.ts index 1e41ac8d2..23685d784 100644 --- a/ts/client/src/mango_v4.ts +++ b/ts/client/src/mango_v4.ts @@ -504,6 +504,12 @@ export type MangoV4 = { } } }, + { + "name": "groupInsuranceFundOpt", + "type": { + "option": "bool" + } + }, { "name": "interestRateParamsOpt", "type": { @@ -5545,6 +5551,12 @@ export const IDL: MangoV4 = { } } }, + { + "name": "groupInsuranceFundOpt", + "type": { + "option": "bool" + } + }, { "name": "interestRateParamsOpt", "type": {