From 5762dfaaae48d5fc7195bd282a7701cae9300c93 Mon Sep 17 00:00:00 2001 From: 0xodia <0xodia@solend.fi> Date: Thu, 8 Feb 2024 17:35:23 -0500 Subject: [PATCH] fix set obligation closeable --- solend-sdk/package.json | 2 +- .../setObligationCloseabilityStatus.ts | 36 ++++++------------- 2 files changed, 11 insertions(+), 27 deletions(-) diff --git a/solend-sdk/package.json b/solend-sdk/package.json index cf2b4d80..5085caf0 100644 --- a/solend-sdk/package.json +++ b/solend-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@solendprotocol/solend-sdk", - "version": "0.8.10-beta", + "version": "0.8.11-beta", "private": true, "main": "src/index.ts", "module": "src/index.ts", diff --git a/solend-sdk/src/instructions/setObligationCloseabilityStatus.ts b/solend-sdk/src/instructions/setObligationCloseabilityStatus.ts index 0aa8a917..d3009c8a 100644 --- a/solend-sdk/src/instructions/setObligationCloseabilityStatus.ts +++ b/solend-sdk/src/instructions/setObligationCloseabilityStatus.ts @@ -10,48 +10,32 @@ import { LendingInstruction } from "./instruction"; const BufferLayout = require("buffer-layout"); export const setObligationCloseabilityStatus = ( +obligation: PublicKey, lendingMarket: PublicKey, - lendingMarketOwner: PublicKey, + reserve: PublicKey, + riskAuthority: PublicKey, + closeable: boolean, lendingProgramId: PublicKey, - marketName: string, - marketDescription: string, - marketImageUrl: string ): TransactionInstruction => { const dataLayout = BufferLayout.struct([ BufferLayout.u8("instruction"), - BufferLayout.blob(50, "marketName"), - BufferLayout.blob(250, "marketDescription"), - BufferLayout.blob(250, "marketImageUrl"), - BufferLayout.blob(200, "padding"), - BufferLayout.u8("bumpSeed"), + BufferLayout.u8("closeable"), ]); - const [lendingMarketMetadata, _] = findProgramAddressSync( - [ - lendingMarket.toBytes(), - Buffer.from(anchor.utils.bytes.utf8.encode("MetaData")), - ], - - lendingProgramId - ); - const data = Buffer.alloc(dataLayout.span); dataLayout.encode( { - instruction: LendingInstruction.UpdateMetadata, - marketName, - marketDescription, - marketImageUrl, - padding: Buffer.alloc(200), + instruction: LendingInstruction.SetObligationCloseabilityStatus, + closeable: closeable ? 1 : 0, }, data ); const keys = [ + { pubkey: obligation, isSigner: false, isWritable: true }, { pubkey: lendingMarket, isSigner: false, isWritable: false }, - { pubkey: lendingMarketOwner, isSigner: true, isWritable: false }, - { pubkey: lendingMarketMetadata, isSigner: false, isWritable: true }, - { pubkey: SystemProgram.programId, isSigner: false, isWritable: false }, + { pubkey: reserve, isSigner: false, isWritable: false }, + { pubkey: riskAuthority, isSigner: true, isWritable: true }, ]; return new TransactionInstruction({