@haven-fi/solauto-sdk 1.0.751 → 1.0.752

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":"rebalanceSwapManager.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceSwapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAkB,UAAU,EAAa,MAAM,SAAS,CAAC;AAChE,OAAO,EAA0B,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAiC,MAAM,iBAAiB,CAAC;AAY3E,qBAAa,oBAAoB;IAS7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,2BAA2B,CAAC;IACpC,OAAO,CAAC,SAAS,CAAC;IAZb,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAU;gBAGrB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,qBAAqB,YAAA,EACtC,2BAA2B,CAAC,EAAE,MAAM,YAAA,EACpC,SAAS,CAAC,EAAE,SAAS,YAAA;IAU/B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAsCnB,OAAO,CAAC,kCAAkC;YAwE5B,mBAAmB;IAyCjC,OAAO,CAAC,mBAAmB;IAIrB,aAAa,CAAC,UAAU,EAAE,MAAM;IAyEhC,aAAa;;;;;;CAWpB"}
1
+ {"version":3,"file":"rebalanceSwapManager.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceSwapManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAkB,UAAU,EAAa,MAAM,SAAS,CAAC;AAChE,OAAO,EAA0B,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAiC,MAAM,iBAAiB,CAAC;AAY3E,qBAAa,oBAAoB;IAS7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,2BAA2B,CAAC;IACpC,OAAO,CAAC,SAAS,CAAC;IAZb,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAU;gBAGrB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,cAAc,CAAC,EAAE,qBAAqB,YAAA,EACtC,2BAA2B,CAAC,EAAE,MAAM,YAAA,EACpC,SAAS,CAAC,EAAE,SAAS,YAAA;IAU/B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAsCnB,OAAO,CAAC,kCAAkC;YAsE5B,mBAAmB;IA4CjC,OAAO,CAAC,mBAAmB;IAIrB,aAAa,CAAC,UAAU,EAAE,MAAM;IAuEhC,aAAa;;;;;;CAWpB"}
@@ -51,7 +51,7 @@ class RebalanceSwapManager {
51
51
  let supplyUsd = this.client.pos.supplyUsd(this.priceType);
52
52
  let debtUsd = this.client.pos.debtUsd(this.priceType);
53
53
  // TODO: add token balance change
54
- const { input, biasedInputPrice, output, biasedOutputPrice, } = this.swapDetails();
54
+ const { input, biasedInputPrice, output, biasedOutputPrice } = this.swapDetails();
55
55
  const swapInputAmount = swapInputAmountBaseUnit
56
56
  ? (0, utils_1.fromBaseUnit)(swapInputAmountBaseUnit, (0, utils_1.tokenInfo)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(input.mint)).decimals)
57
57
  : undefined;
@@ -66,7 +66,9 @@ class RebalanceSwapManager {
66
66
  : this.usdToSwap();
67
67
  const res = (0, rebalanceValues_1.applyDebtAdjustmentUsd)({
68
68
  debtAdjustmentUsd: this.isBoost() ? swapInputUsd : swapInputUsd * -1,
69
- debtAdjustmentUsdOutput: this.isBoost() ? swapOutputUsd : swapOutputUsd * -1,
69
+ debtAdjustmentUsdOutput: this.isBoost()
70
+ ? swapOutputUsd
71
+ : swapOutputUsd * -1,
70
72
  }, { supplyUsd, debtUsd }, (0, utils_1.fromBps)(this.client.pos.state.liqThresholdBps), {
71
73
  solauto: this.solautoFeeBps,
72
74
  flashLoan: this.flRequirements?.flFeeBps ?? 0,
@@ -96,8 +98,11 @@ class RebalanceSwapManager {
96
98
  const outputAmount = parseInt(swapQuote.outAmount);
97
99
  const postRebalanceRate = this.postRebalanceLiqUtilizationRateBps(BigInt(outputAmount), BigInt(parseInt(swapQuote.inAmount)));
98
100
  const exceedsMinOutput = criteria.minOutputAmount
99
- ? outputAmount < Number(criteria.minOutputAmount) : false;
100
- const exceedsMaxRate = criteria.maxLiqUtilizationRateBps ? postRebalanceRate > criteria.maxLiqUtilizationRateBps : false;
101
+ ? outputAmount < Number(criteria.minOutputAmount)
102
+ : false;
103
+ const exceedsMaxRate = criteria.maxLiqUtilizationRateBps
104
+ ? postRebalanceRate > criteria.maxLiqUtilizationRateBps
105
+ : false;
101
106
  insufficient = exceedsMinOutput || exceedsMaxRate;
102
107
  (0, utils_1.consoleLog)(postRebalanceRate, criteria.maxLiqUtilizationRateBps);
103
108
  if (insufficient) {
@@ -119,9 +124,7 @@ class RebalanceSwapManager {
119
124
  let { input, output, biasedOutputPrice, inputAmount } = this.swapDetails();
120
125
  let outputAmount = rebalanceToZero
121
126
  ? output.amountUsed.baseUnit +
122
- BigInt(Math.round(Number(output.amountUsed.baseUnit) *
123
- // Add this small percentage to account for the APR on the debt between now and the transaction
124
- 0.0001))
127
+ BigInt(Math.round(Number(output.amountUsed.baseUnit) * (0, utils_1.fromBps)(this.solautoFeeBps)))
125
128
  : (0, utils_1.toBaseUnit)(this.usdToSwap() / biasedOutputPrice, output.decimals);
126
129
  const flashLoanRepayFromDebt = !this.isBoost() &&
127
130
  this.flRequirements &&
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../../../src/services/transactions/manager/transactionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../../../src/services/transactions/manager/transactionsManager.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,6 @@ class TransactionsManager {
48
48
  let transactionSets = [];
49
49
  (0, utils_1.consoleLog)(`Reassembling ${items.length} items`);
50
50
  const txItems = items.sort((a, b) => a.orderPrio - b.orderPrio);
51
- const splitTxsGenerously = this.statuses.find((x) => x.moreInfo === "ProgramFailedToComplete");
52
51
  for (let i = txItems.length - 1; i >= 0;) {
53
52
  let item = txItems[i];
54
53
  i--;
@@ -65,10 +64,7 @@ class TransactionsManager {
65
64
  ]);
66
65
  for (let j = i; j >= 0; j--) {
67
66
  const tx = txItems[j];
68
- const separateTx = splitTxsGenerously &&
69
- j < i &&
70
- txItems[j + 1].name?.toLowerCase() === "rebalance";
71
- if ((await newSet.fitsWith(tx)) && !separateTx) {
67
+ if ((await newSet.fitsWith(tx))) {
72
68
  newSet.prepend(tx);
73
69
  i--;
74
70
  }
@@ -22,7 +22,7 @@ import {
22
22
  } from "../src";
23
23
  import { getSecretKey } from "./shared";
24
24
 
25
- const payForTransaction = true;
25
+ const payForTransaction = false;
26
26
  const testProgram = false;
27
27
  const lpEnv: ProgramEnv = "Prod";
28
28
 
@@ -47,8 +47,8 @@ export async function main() {
47
47
  });
48
48
 
49
49
  await client.initializeExistingSolautoPosition({
50
- positionId: 3,
51
- authority: new PublicKey("61rtn5tzVkesapo6Cz83SPoShUfAePSxJsqniuF2wRKC"),
50
+ positionId: 2,
51
+ authority: new PublicKey("EBhRj7jbF2EVE21i19JSuCX1BAbnZFYhoKW64HnaZ3kf"),
52
52
  // lpUserAccount: new PublicKey(
53
53
  // "GEokw9jqbh6d1xUNA3qaeYFFetbSR5Y1nt7C3chwwgSz"
54
54
  // ),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.751",
3
+ "version": "1.0.752",
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",
@@ -93,12 +93,8 @@ export class RebalanceSwapManager {
93
93
  let debtUsd = this.client.pos.debtUsd(this.priceType);
94
94
  // TODO: add token balance change
95
95
 
96
- const {
97
- input,
98
- biasedInputPrice,
99
- output,
100
- biasedOutputPrice,
101
- } = this.swapDetails();
96
+ const { input, biasedInputPrice, output, biasedOutputPrice } =
97
+ this.swapDetails();
102
98
 
103
99
  const swapInputAmount = swapInputAmountBaseUnit
104
100
  ? fromBaseUnit(
@@ -125,7 +121,9 @@ export class RebalanceSwapManager {
125
121
  const res = applyDebtAdjustmentUsd(
126
122
  {
127
123
  debtAdjustmentUsd: this.isBoost() ? swapInputUsd : swapInputUsd * -1,
128
- debtAdjustmentUsdOutput: this.isBoost() ? swapOutputUsd : swapOutputUsd * -1,
124
+ debtAdjustmentUsdOutput: this.isBoost()
125
+ ? swapOutputUsd
126
+ : swapOutputUsd * -1,
129
127
  },
130
128
  { supplyUsd, debtUsd },
131
129
  fromBps(this.client.pos.state.liqThresholdBps),
@@ -177,8 +175,11 @@ export class RebalanceSwapManager {
177
175
  BigInt(parseInt(swapQuote.inAmount))
178
176
  );
179
177
  const exceedsMinOutput = criteria.minOutputAmount
180
- ? outputAmount < Number(criteria.minOutputAmount) : false;
181
- const exceedsMaxRate = criteria.maxLiqUtilizationRateBps ? postRebalanceRate > criteria.maxLiqUtilizationRateBps : false;
178
+ ? outputAmount < Number(criteria.minOutputAmount)
179
+ : false;
180
+ const exceedsMaxRate = criteria.maxLiqUtilizationRateBps
181
+ ? postRebalanceRate > criteria.maxLiqUtilizationRateBps
182
+ : false;
182
183
  insufficient = exceedsMinOutput || exceedsMaxRate;
183
184
 
184
185
  consoleLog(postRebalanceRate, criteria.maxLiqUtilizationRateBps);
@@ -210,9 +211,7 @@ export class RebalanceSwapManager {
210
211
  ? output.amountUsed.baseUnit +
211
212
  BigInt(
212
213
  Math.round(
213
- Number(output.amountUsed.baseUnit) *
214
- // Add this small percentage to account for the APR on the debt between now and the transaction
215
- 0.0001
214
+ Number(output.amountUsed.baseUnit) * fromBps(this.solautoFeeBps)
216
215
  )
217
216
  )
218
217
  : toBaseUnit(this.usdToSwap() / biasedOutputPrice, output.decimals);
@@ -104,9 +104,6 @@ export class TransactionsManager<T extends TxHandler> {
104
104
  consoleLog(`Reassembling ${items.length} items`);
105
105
 
106
106
  const txItems = items.sort((a, b) => a.orderPrio - b.orderPrio);
107
- const splitTxsGenerously = this.statuses.find(
108
- (x) => x.moreInfo === "ProgramFailedToComplete"
109
- );
110
107
 
111
108
  for (let i = txItems.length - 1; i >= 0; ) {
112
109
  let item = txItems[i];
@@ -129,12 +126,7 @@ export class TransactionsManager<T extends TxHandler> {
129
126
  ]);
130
127
  for (let j = i; j >= 0; j--) {
131
128
  const tx = txItems[j];
132
- const separateTx =
133
- splitTxsGenerously &&
134
- j < i &&
135
- txItems[j + 1].name?.toLowerCase() === "rebalance";
136
-
137
- if ((await newSet.fitsWith(tx)) && !separateTx) {
129
+ if ((await newSet.fitsWith(tx))) {
138
130
  newSet.prepend(tx);
139
131
  i--;
140
132
  } else {