@haven-fi/solauto-sdk 1.0.570 → 1.0.572

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"solautoMarginfiClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoMarginfiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solautoMarginfiClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoMarginfiClient.ts"],"names":[],"mappings":"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"}
@@ -460,7 +460,12 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
460
460
  signer: this.signer,
461
461
  signerTokenAccount: (0, umi_1.publicKey)((0, accountUtils_1.getTokenAccount)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.signer.publicKey), flashLoanDetails.mint)),
462
462
  }))
463
- .add(banksRequiringBalanceClose.map((x) => this.closeBalance(this.intermediaryMarginfiAccountPk, new web3_js_1.PublicKey(x))))
463
+ .add(banksRequiringBalanceClose.map((x) => this.closeBalance(this.intermediaryMarginfiAccountPk, new web3_js_1.PublicKey(x)))
464
+ // this.closeBalance(
465
+ // this.intermediaryMarginfiAccountPk,
466
+ // new PublicKey(accounts.data.bank)
467
+ // )
468
+ )
464
469
  .add((0, marginfi_sdk_1.lendingAccountEndFlashloan)(this.umi, {
465
470
  marginfiAccount: (0, umi_1.publicKey)(this.intermediaryMarginfiAccountPk),
466
471
  signer: this.signer,
@@ -322,6 +322,6 @@ function getUpToDateShareValues(bank) {
322
322
  }
323
323
  function marginfiAccountEmpty(marginfiAccount) {
324
324
  return (marginfiAccount.lendingAccount.balances.find((x) => x.bankPk.toString() !== web3_js_1.PublicKey.default.toString() &&
325
- (Math.round((0, numberUtils_1.bytesToI80F48)(x.assetShares.value)) != 0 ||
326
- Math.round((0, numberUtils_1.bytesToI80F48)(x.liabilityShares.value)) != 0)) === undefined);
325
+ ((0, numberUtils_1.bytesToI80F48)(x.assetShares.value) > 0 ||
326
+ (0, numberUtils_1.bytesToI80F48)(x.liabilityShares.value) > 0)) === undefined);
327
327
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.570",
3
+ "version": "1.0.572",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "Typescript SDK for the Solauto program on the Solana blockchain",
@@ -721,6 +721,10 @@ export class SolautoMarginfiClient extends SolautoClient {
721
721
  new PublicKey(x)
722
722
  )
723
723
  )
724
+ // this.closeBalance(
725
+ // this.intermediaryMarginfiAccountPk,
726
+ // new PublicKey(accounts.data.bank)
727
+ // )
724
728
  )
725
729
  .add(
726
730
  lendingAccountEndFlashloan(this.umi, {
@@ -591,8 +591,8 @@ export function marginfiAccountEmpty(marginfiAccount: MarginfiAccount) {
591
591
  marginfiAccount.lendingAccount.balances.find(
592
592
  (x) =>
593
593
  x.bankPk.toString() !== PublicKey.default.toString() &&
594
- (Math.round(bytesToI80F48(x.assetShares.value)) != 0 ||
595
- Math.round(bytesToI80F48(x.liabilityShares.value)) != 0)
594
+ (bytesToI80F48(x.assetShares.value) > 0 ||
595
+ bytesToI80F48(x.liabilityShares.value) > 0)
596
596
  ) === undefined
597
597
  );
598
598
  }
@@ -5,6 +5,7 @@ import {
5
5
  some,
6
6
  transactionBuilder,
7
7
  Umi,
8
+ UmiError,
8
9
  } from "@metaplex-foundation/umi";
9
10
  import { setupTest } from "../shared";
10
11
  import { SolautoMarginfiClient } from "../../src/clients/solautoMarginfiClient";
@@ -50,6 +51,7 @@ import {
50
51
  getQnComputeUnitPriceEstimate,
51
52
  getSolautoManagedPositions,
52
53
  getSolautoPositionAccount,
54
+ marginfiAccountEmpty,
53
55
  retryWithExponentialBackoff,
54
56
  safeGetPrice,
55
57
  } from "../../src/utils";
@@ -61,6 +63,7 @@ import {
61
63
  USD_DECIMALS,
62
64
  } from "../../dist";
63
65
  import {
66
+ lendingPoolAccrueBankInterest,
64
67
  safeFetchBank,
65
68
  safeFetchMarginfiAccount,
66
69
  } from "../../src/marginfi-sdk";
@@ -117,16 +120,16 @@ async function test(
117
120
  console.log(
118
121
  bytesToI80F48(
119
122
  imfiAccount.lendingAccount.balances[0].liabilityShares.value
120
- ) *
121
- bytesToI80F48(supplyBank.liabilityShareValue.value) *
122
- safeGetPrice(supplyMint)
123
+ ) * bytesToI80F48(supplyBank.liabilityShareValue.value),
124
+ bytesToI80F48(imfiAccount.lendingAccount.balances[0].assetShares.value) *
125
+ bytesToI80F48(supplyBank.assetShareValue.value)
123
126
  );
124
127
  console.log(
125
128
  bytesToI80F48(
126
129
  imfiAccount.lendingAccount.balances[1].liabilityShares.value
127
- ) *
128
- bytesToI80F48(debtBank.liabilityShareValue.value) *
129
- safeGetPrice(debtMint)
130
+ ) * bytesToI80F48(debtBank.liabilityShareValue.value),
131
+ bytesToI80F48(imfiAccount.lendingAccount.balances[1].assetShares.value) *
132
+ bytesToI80F48(debtBank.assetShareValue.value)
130
133
  );
131
134
 
132
135
  console.log(
@@ -183,16 +186,17 @@ describe("Solauto Marginfi tests", async () => {
183
186
  // debtMint: new PublicKey(USDC),
184
187
  });
185
188
 
186
- // await test(
187
- // client.umi,
188
- // undefined,
189
- // new PublicKey(RETARDIO),
190
- // new PublicKey("3J5rKmCi7JXG6qmiobFJyAidVTnnNAMGj4jomfBxKGRM"),
191
- // 6,
192
- // new PublicKey(USDC),
193
- // new PublicKey("6cgYhBFWCc5sNHxkvSRhd5H9AdAHR41zKwuF37HmLry5"),
194
- // 6
195
- // );
189
+ await test(
190
+ client.umi,
191
+ // new PublicKey("E8oukAkTMW4YsAPymMzWQHWb8egmGq9yjDtmMi6gfY18"),
192
+ undefined,
193
+ new PublicKey(RETARDIO),
194
+ new PublicKey("3J5rKmCi7JXG6qmiobFJyAidVTnnNAMGj4jomfBxKGRM"),
195
+ 6,
196
+ new PublicKey(USDC),
197
+ new PublicKey("6cgYhBFWCc5sNHxkvSRhd5H9AdAHR41zKwuF37HmLry5"),
198
+ 6
199
+ );
196
200
  // await test(
197
201
  // client.umi,
198
202
  // new PublicKey("EcdfYZCtaePaDWVy9Cz6eiS5QbLbhThau1fHLhQTEZqs"),
@@ -208,7 +212,7 @@ describe("Solauto Marginfi tests", async () => {
208
212
  // client.umi,
209
213
  // publicKey("E8oukAkTMW4YsAPymMzWQHWb8egmGq9yjDtmMi6gfY18")
210
214
  // );
211
- // console.log(mfiAccount.lendingAccount.balances);
215
+ // // console.log(mfiAccount.lendingAccount.balances);
212
216
  // console.log(
213
217
  // mfiAccount.lendingAccount.balances.map((x) =>
214
218
  // bytesToI80F48(x.liabilityShares.value)
@@ -295,15 +299,41 @@ describe("Solauto Marginfi tests", async () => {
295
299
 
296
300
  const imfiAccount = await safeFetchMarginfiAccount(
297
301
  client.umi,
298
- publicKey(client.intermediaryMarginfiAccountPk)
302
+ // publicKey(client.intermediaryMarginfiAccountPk)
303
+ publicKey("E8oukAkTMW4YsAPymMzWQHWb8egmGq9yjDtmMi6gfY18")
299
304
  );
300
305
 
301
306
  console.log(imfiAccount.lendingAccount.balances);
302
307
  console.log(
303
- imfiAccount.lendingAccount.balances.map((x) => x.bankPk.toString())
308
+ imfiAccount.lendingAccount.balances.map((x) => [
309
+ x.bankPk.toString(),
310
+ x.liabilityShares.value,
311
+ bytesToI80F48(x.liabilityShares.value),
312
+ ])
304
313
  );
314
+
315
+ console.log(marginfiAccountEmpty(imfiAccount));
305
316
  return;
306
317
 
318
+ // transactionItems.push(
319
+ // new TransactionItem(async () => ({
320
+ // tx: transactionBuilder().add([
321
+ // lendingPoolAccrueBankInterest(client.umi, {
322
+ // bank: publicKey("3J5rKmCi7JXG6qmiobFJyAidVTnnNAMGj4jomfBxKGRM"),
323
+ // marginfiGroup: publicKey(
324
+ // "EpzY5EYF1A5eFDRfjtsPXSYMPmEx1FXKaXPnouTMF4dm"
325
+ // ),
326
+ // }),
327
+ // lendingPoolAccrueBankInterest(client.umi, {
328
+ // bank: publicKey("6cgYhBFWCc5sNHxkvSRhd5H9AdAHR41zKwuF37HmLry5"),
329
+ // marginfiGroup: publicKey(
330
+ // "EpzY5EYF1A5eFDRfjtsPXSYMPmEx1FXKaXPnouTMF4dm"
331
+ // ),
332
+ // }),
333
+ // ]),
334
+ // }))
335
+ // );
336
+
307
337
  // transactionItems.push(
308
338
  // new TransactionItem(async () => ({
309
339
  // tx: transactionBuilder().add(