@@ -98,6 +98,7 @@ type ActionConfigType = {
9898type SupportType =
9999 | "wrap"
100100 | "unwrap"
101+ | "refreshReserve"
101102 | "refreshReserves"
102103 | "refreshObligation"
103104 | "createObligation"
@@ -121,7 +122,7 @@ const ACTION_SUPPORT_REQUIREMENTS: {
121122 ] ,
122123 repay : [ "wsol" , "wrap" ] ,
123124 mint : [ "wsol" , "wrap" , "cAta" ] ,
124- redeem : [ "wsol" , "ata" , "refreshReserves " , "unwrap" ] ,
125+ redeem : [ "wsol" , "ata" , "refreshReserve " , "unwrap" ] ,
125126 depositCollateral : [ "createObligation" ] ,
126127 withdrawCollateral : [ "cAta" , "refreshReserves" , "refreshObligation" ] ,
127128 forgive : [ "refreshReserves" , "refreshObligation" ] ,
@@ -1157,6 +1158,9 @@ export class SolendActionCore {
11571158 await this . addUnwrapIx ( ) ;
11581159 }
11591160 break ;
1161+ case "refreshReserve" :
1162+ await this . addRefreshReservesIxs ( true ) ;
1163+ break ;
11601164 case "refreshReserves" :
11611165 await this . addRefreshReservesIxs ( ) ;
11621166 break ;
@@ -1468,15 +1472,15 @@ export class SolendActionCore {
14681472 }
14691473 }
14701474
1471- private async addRefreshReservesIxs ( ) {
1475+ private async addRefreshReservesIxs ( singleReserve ?: boolean ) {
14721476 // Union of addresses
14731477 const reserveMap = this . pool . reserves . reduce ( ( acc , reserve ) => {
14741478 acc [ reserve . address ] = reserve ;
14751479 return acc ;
14761480 } , { } as Record < string , ReserveType > ) ;
14771481
14781482 const allReserveAddresses = Array . from (
1479- new Set ( [
1483+ new Set ( singleReserve ? [ this . reserve . address ] : [
14801484 ...this . depositReserves . map ( ( e ) => e . toBase58 ( ) ) ,
14811485 ...this . borrowReserves . map ( ( e ) => e . toBase58 ( ) ) ,
14821486 this . reserve . address ,
0 commit comments