@haven-fi/solauto-sdk 1.0.757 → 1.0.759

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;YAsE5B,mBAAmB;IA4CjC,OAAO,CAAC,mBAAmB;IAIrB,aAAa,CAAC,UAAU,EAAE,MAAM;IAwEhC,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"}
@@ -122,16 +122,16 @@ class RebalanceSwapManager {
122
122
  async setSwapParams(attemptNum) {
123
123
  const rebalanceToZero = this.targetLiqUtilizationRateBps === 0;
124
124
  let { input, output, biasedOutputPrice, inputAmount } = this.swapDetails();
125
- let outputAmount = rebalanceToZero
126
- ? output.amountUsed.baseUnit +
127
- BigInt(Math.round(Number(output.amountUsed.baseUnit) *
128
- ((0, utils_1.fromBps)(this.solautoFeeBps) + 0.0001)))
129
- : (0, utils_1.toBaseUnit)(this.usdToSwap() / biasedOutputPrice, output.decimals);
130
125
  const flashLoanRepayFromDebt = !this.isBoost() &&
131
126
  this.flRequirements &&
132
127
  this.flRequirements.liquiditySource === generated_1.TokenType.Debt;
133
128
  const exactOut = flashLoanRepayFromDebt;
134
129
  const exactIn = !exactOut;
130
+ const outputPaddingPct = (exactOut ? (0, utils_1.fromBps)(this.solautoFeeBps) : 0) + 0.0001;
131
+ let outputAmount = rebalanceToZero
132
+ ? output.amountUsed.baseUnit +
133
+ BigInt(Math.round(Number(output.amountUsed.baseUnit) * outputPaddingPct))
134
+ : (0, utils_1.toBaseUnit)(this.usdToSwap() / biasedOutputPrice, output.decimals);
135
135
  if (exactIn && (rebalanceToZero || this.values.repayingCloseToMaxLtv)) {
136
136
  inputAmount = this.bigIntWithIncrement(inputAmount, 0.005);
137
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rebalanceTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceTxBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAgCrB,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,2BAA2B,CAAC;IACpC,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,wBAAwB,CAAC;IAVnC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAwB;IAC/C,OAAO,CAAC,SAAS,CAAiC;gBAGxC,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,YAAA,EACpC,YAAY,CAAC,EAAE,OAAO,YAAA,EACtB,wBAAwB,CAAC,EAAE,MAAM,YAAA;IAG3C,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,iCAAiC;YAgC3B,qBAAqB;IAmDnC,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,yBAAyB;YAqBnB,mBAAmB;YAyBnB,sBAAsB;YAyBtB,mBAAmB;IAsFpB,gBAAgB,CAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;CAe9C"}
1
+ {"version":3,"file":"rebalanceTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceTxBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAgCrB,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,2BAA2B,CAAC;IACpC,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,wBAAwB,CAAC;IAVnC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAwB;IAC/C,OAAO,CAAC,SAAS,CAAiC;gBAGxC,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,YAAA,EACpC,YAAY,CAAC,EAAE,OAAO,YAAA,EACtB,wBAAwB,CAAC,EAAE,MAAM,YAAA;IAG3C,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,iCAAiC;YAgC3B,qBAAqB;IA4CnC,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,yBAAyB;YAqBnB,mBAAmB;YAyBnB,sBAAsB;YAyBtB,mBAAmB;IAsFpB,gBAAgB,CAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;CAe9C"}
@@ -71,12 +71,9 @@ class RebalanceTxBuilder {
71
71
  return undefined;
72
72
  }
73
73
  const stdFlLiquiditySource = this.getFlLiquiditySource(attemptNum, this.client.flProvider.liquidityAvailable(generated_1.TokenType.Supply), this.client.flProvider.liquidityAvailable(generated_1.TokenType.Debt));
74
- console.log(this.client.flProvider.liquidityAvailable(generated_1.TokenType.Supply), this.client.flProvider.liquidityAvailable(generated_1.TokenType.Debt));
75
- console.log("std", stdFlLiquiditySource);
76
74
  if (stdFlLiquiditySource === undefined || this.optimizeSize) {
77
75
  const { supplyBalance, debtBalance } = await this.client.signerBalances();
78
76
  const signerFlLiquiditySource = this.getFlLiquiditySource(attemptNum, supplyBalance, debtBalance);
79
- console.log("signer", signerFlLiquiditySource);
80
77
  if (signerFlLiquiditySource) {
81
78
  return {
82
79
  liquiditySource: signerFlLiquiditySource,
@@ -20,7 +20,7 @@ class SolautoFeesBps {
20
20
  const k = 1.5;
21
21
  let feeBps = 0;
22
22
  if (this.targetLiqUtilizationRateBps !== undefined) {
23
- feeBps = 15;
23
+ feeBps = 10;
24
24
  }
25
25
  else if (rebalanceDirection === generated_1.RebalanceDirection.Repay) {
26
26
  feeBps = 25;
@@ -1,17 +1,14 @@
1
1
  import { Keypair, PublicKey } from "@solana/web3.js";
2
- import { createSignerFromKeypair, publicKey } from "@metaplex-foundation/umi";
2
+ import { createSignerFromKeypair } from "@metaplex-foundation/umi";
3
3
  import { fromWeb3JsKeypair } from "@metaplex-foundation/umi-web3js-adapters";
4
4
  import {
5
5
  ClientTransactionsManager,
6
6
  consoleLog,
7
- fetchSolautoPosition,
8
7
  getBatches,
9
8
  getClient,
10
9
  getPositionExBulk,
11
10
  getSolanaRpcConnection,
12
11
  getSolautoManagedPositions,
13
- getTokenAccount,
14
- JUP,
15
12
  LendingPlatform,
16
13
  LOCAL_IRONFORGE_API_URL,
17
14
  PriceType,
@@ -22,7 +19,6 @@ import {
22
19
  SOLAUTO_TEST_PROGRAM,
23
20
  SolautoClient,
24
21
  TransactionItem,
25
- USDT,
26
22
  } from "../src";
27
23
  import { getSecretKey } from "./shared";
28
24
 
@@ -50,27 +46,24 @@ export async function main() {
50
46
  lpEnv,
51
47
  });
52
48
 
53
- // await client.initializeExistingSolautoPosition({
54
- // positionId: 1,
55
- // authority: new PublicKey("HqpPtE5WbBh3xU9C1Tzz125iYDQyoyodvFCRpwHwQpNc"),
56
- // // lpUserAccount: new PublicKey(
57
- // // "GEokw9jqbh6d1xUNA3qaeYFFetbSR5Y1nt7C3chwwgSz"
58
- // // ),
59
- // });
60
-
61
- // const transactionItems = [rebalance(client, undefined, 150)];
49
+ await client.initializeExistingSolautoPosition({
50
+ positionId: 2,
51
+ authority: new PublicKey("EBhRj7jbF2EVE21i19JSuCX1BAbnZFYhoKW64HnaZ3kf"),
52
+ // lpUserAccount: new PublicKey(
53
+ // "GEokw9jqbh6d1xUNA3qaeYFFetbSR5Y1nt7C3chwwgSz"
54
+ // ),
55
+ });
62
56
 
63
- // const txManager = new ClientTransactionsManager({
64
- // txHandler: client,
65
- // txRunType: payForTransaction ? "normal" : "only-simulate",
66
- // priorityFeeSetting: PriorityFeeSetting.Default,
67
- // retryConfig: { totalRetries: 2 },
68
- // });
69
- // const statuses = await txManager.send(transactionItems);
70
- // consoleLog(statuses);
57
+ const transactionItems = [rebalance(client)];
71
58
 
72
- console.log(getTokenAccount(new PublicKey("Gex8CJNhmRFYGkMZJRUAy6Qs7vo57RkX2ejYqD2kanTo"), new PublicKey(JUP)));
73
- console.log(getTokenAccount(new PublicKey("Gex8CJNhmRFYGkMZJRUAy6Qs7vo57RkX2ejYqD2kanTo"), new PublicKey(USDT)));
59
+ const txManager = new ClientTransactionsManager({
60
+ txHandler: client,
61
+ txRunType: payForTransaction ? "normal" : "only-simulate",
62
+ priorityFeeSetting: PriorityFeeSetting.Default,
63
+ retryConfig: { totalRetries: 2 },
64
+ });
65
+ const statuses = await txManager.send(transactionItems);
66
+ consoleLog(statuses);
74
67
  }
75
68
 
76
69
  async function refreshAll() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.757",
3
+ "version": "1.0.759",
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",
@@ -207,16 +207,6 @@ export class RebalanceSwapManager {
207
207
  const rebalanceToZero = this.targetLiqUtilizationRateBps === 0;
208
208
  let { input, output, biasedOutputPrice, inputAmount } = this.swapDetails();
209
209
 
210
- let outputAmount = rebalanceToZero
211
- ? output.amountUsed.baseUnit +
212
- BigInt(
213
- Math.round(
214
- Number(output.amountUsed.baseUnit) *
215
- (fromBps(this.solautoFeeBps) + 0.0001)
216
- )
217
- )
218
- : toBaseUnit(this.usdToSwap() / biasedOutputPrice, output.decimals);
219
-
220
210
  const flashLoanRepayFromDebt =
221
211
  !this.isBoost() &&
222
212
  this.flRequirements &&
@@ -225,6 +215,15 @@ export class RebalanceSwapManager {
225
215
  const exactOut = flashLoanRepayFromDebt;
226
216
  const exactIn = !exactOut;
227
217
 
218
+ const outputPaddingPct =
219
+ (exactOut ? fromBps(this.solautoFeeBps) : 0) + 0.0001;
220
+ let outputAmount = rebalanceToZero
221
+ ? output.amountUsed.baseUnit +
222
+ BigInt(
223
+ Math.round(Number(output.amountUsed.baseUnit) * outputPaddingPct)
224
+ )
225
+ : toBaseUnit(this.usdToSwap() / biasedOutputPrice, output.decimals);
226
+
228
227
  if (exactIn && (rebalanceToZero || this.values.repayingCloseToMaxLtv)) {
229
228
  inputAmount = this.bigIntWithIncrement(inputAmount, 0.005);
230
229
  }
@@ -174,12 +174,6 @@ export class RebalanceTxBuilder {
174
174
  this.client.flProvider.liquidityAvailable(TokenType.Debt)
175
175
  );
176
176
 
177
- console.log(
178
- this.client.flProvider.liquidityAvailable(TokenType.Supply),
179
- this.client.flProvider.liquidityAvailable(TokenType.Debt)
180
- );
181
- console.log("std", stdFlLiquiditySource);
182
-
183
177
  if (stdFlLiquiditySource === undefined || this.optimizeSize) {
184
178
  const { supplyBalance, debtBalance } = await this.client.signerBalances();
185
179
  const signerFlLiquiditySource = this.getFlLiquiditySource(
@@ -188,7 +182,6 @@ export class RebalanceTxBuilder {
188
182
  debtBalance
189
183
  );
190
184
 
191
- console.log("signer", signerFlLiquiditySource)
192
185
  if (signerFlLiquiditySource) {
193
186
  return {
194
187
  liquiditySource: signerFlLiquiditySource,
@@ -29,7 +29,7 @@ export class SolautoFeesBps {
29
29
 
30
30
  let feeBps: number = 0;
31
31
  if (this.targetLiqUtilizationRateBps !== undefined) {
32
- feeBps = 15;
32
+ feeBps = 10;
33
33
  } else if (rebalanceDirection === RebalanceDirection.Repay) {
34
34
  feeBps = 25;
35
35
  } else if (this.positionNetWorthUsd <= minSize) {