@haven-fi/solauto-sdk 1.0.226 → 1.0.228

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,6 +12,7 @@ export type ClaimReferralFeesInstructionAccounts = {
12
12
  signerWsolTa?: PublicKey | Pda;
13
13
  systemProgram?: PublicKey | Pda;
14
14
  tokenProgram?: PublicKey | Pda;
15
+ ataProgram?: PublicKey | Pda;
15
16
  rent?: PublicKey | Pda;
16
17
  referralState: PublicKey | Pda;
17
18
  referralFeesDestTa: PublicKey | Pda;
@@ -1 +1 @@
1
- {"version":3,"file":"claimReferralFees.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/claimReferralFees.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,OAAO,EACP,GAAG,EACH,SAAS,EACT,MAAM,EACN,kBAAkB,EAGnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EAIX,MAAM,sCAAsC,CAAC;AAQ9C,MAAM,MAAM,oCAAoC,GAAG;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IAChC,YAAY,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IAC/B,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IACvB,aAAa,EAAE,SAAS,GAAG,GAAG,CAAC;IAC/B,kBAAkB,EAAE,SAAS,GAAG,GAAG,CAAC;IACpC,oBAAoB,EAAE,SAAS,GAAG,GAAG,CAAC;IACtC,iBAAiB,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IACpC,iBAAiB,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;CACrC,CAAC;AAGF,MAAM,MAAM,gCAAgC,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,oCAAoC,GAAG,EAAE,CAAC;AAEtD,wBAAgB,6CAA6C,IAAI,UAAU,CACzE,oCAAoC,EACpC,gCAAgC,CACjC,CAcA;AAGD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAClC,KAAK,EAAE,oCAAoC,GAC1C,kBAAkB,CAmGpB"}
1
+ {"version":3,"file":"claimReferralFees.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/claimReferralFees.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,OAAO,EACP,GAAG,EACH,SAAS,EACT,MAAM,EACN,kBAAkB,EAGnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EAIX,MAAM,sCAAsC,CAAC;AAQ9C,MAAM,MAAM,oCAAoC,GAAG;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IAChC,YAAY,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IAC7B,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IACvB,aAAa,EAAE,SAAS,GAAG,GAAG,CAAC;IAC/B,kBAAkB,EAAE,SAAS,GAAG,GAAG,CAAC;IACpC,oBAAoB,EAAE,SAAS,GAAG,GAAG,CAAC;IACtC,iBAAiB,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;IACpC,iBAAiB,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;CACrC,CAAC;AAGF,MAAM,MAAM,gCAAgC,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,oCAAoC,GAAG,EAAE,CAAC;AAEtD,wBAAgB,6CAA6C,IAAI,UAAU,CACzE,oCAAoC,EACpC,gCAAgC,CACjC,CAcA;AAGD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAClC,KAAK,EAAE,oCAAoC,GAC1C,kBAAkB,CA+GpB"}
@@ -43,29 +43,34 @@ function claimReferralFees(context, input) {
43
43
  isWritable: false,
44
44
  value: input.tokenProgram ?? null,
45
45
  },
46
- rent: { index: 4, isWritable: false, value: input.rent ?? null },
46
+ ataProgram: {
47
+ index: 4,
48
+ isWritable: false,
49
+ value: input.ataProgram ?? null,
50
+ },
51
+ rent: { index: 5, isWritable: false, value: input.rent ?? null },
47
52
  referralState: {
48
- index: 5,
53
+ index: 6,
49
54
  isWritable: false,
50
55
  value: input.referralState ?? null,
51
56
  },
52
57
  referralFeesDestTa: {
53
- index: 6,
58
+ index: 7,
54
59
  isWritable: true,
55
60
  value: input.referralFeesDestTa ?? null,
56
61
  },
57
62
  referralFeesDestMint: {
58
- index: 7,
63
+ index: 8,
59
64
  isWritable: false,
60
65
  value: input.referralFeesDestMint ?? null,
61
66
  },
62
67
  referralAuthority: {
63
- index: 8,
68
+ index: 9,
64
69
  isWritable: true,
65
70
  value: input.referralAuthority ?? null,
66
71
  },
67
72
  feesDestinationTa: {
68
- index: 9,
73
+ index: 10,
69
74
  isWritable: true,
70
75
  value: input.feesDestinationTa ?? null,
71
76
  },
@@ -79,6 +84,10 @@ function claimReferralFees(context, input) {
79
84
  resolvedAccounts.tokenProgram.value = context.programs.getPublicKey('splToken', 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA');
80
85
  resolvedAccounts.tokenProgram.isWritable = false;
81
86
  }
87
+ if (!resolvedAccounts.ataProgram.value) {
88
+ resolvedAccounts.ataProgram.value = context.programs.getPublicKey('splAssociatedToken', 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL');
89
+ resolvedAccounts.ataProgram.isWritable = false;
90
+ }
82
91
  if (!resolvedAccounts.rent.value) {
83
92
  resolvedAccounts.rent.value = (0, umi_1.publicKey)('SysvarRent111111111111111111111111111111111');
84
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"numberUtils.d.ts","sourceRoot":"","sources":["../../src/utils/numberUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,MAAM,CAMR;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAqBrD;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAejE;AAED,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,2BAA2B,EAAE,MAAM,EACnC,gBAAgB,CAAC,EAAE,MAAM,UAW1B;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,OAAO,EACnB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,mBAAmB,EAAE,MAAM,EAC3B,kBAAkB,EAAE,kBAAkB,GACrC;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAwCA;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAER;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAKzE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAKvE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAKvE"}
1
+ {"version":3,"file":"numberUtils.d.ts","sourceRoot":"","sources":["../../src/utils/numberUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,MAAM,CAMR;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAqBrD;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAejE;AAED,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,2BAA2B,EAAE,MAAM,EACnC,gBAAgB,CAAC,EAAE,MAAM,UAW1B;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,OAAO,EACnB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,mBAAmB,EAAE,MAAM,EAC3B,kBAAkB,EAAE,kBAAkB,GACrC;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAgDA;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAKR;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAKzE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAKvE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAKvE"}
@@ -73,15 +73,17 @@ function getSolautoFeesBps(isReferred, targetLiqUtilizationRateBps, positionNetW
73
73
  const maxFeeBps = 200; // Fee in basis points for minSize (2%)
74
74
  const minFeeBps = 50; // Fee in basis points for maxSize (0.5%)
75
75
  const k = 1.5;
76
- if (targetLiqUtilizationRateBps !== undefined && targetLiqUtilizationRateBps === 0) {
76
+ if (targetLiqUtilizationRateBps !== undefined &&
77
+ targetLiqUtilizationRateBps === 0) {
77
78
  return {
78
79
  solauto: 0,
79
80
  referrer: 0,
80
- total: 0
81
+ total: 0,
81
82
  };
82
83
  }
83
84
  let feeBps = 0;
84
- if (targetLiqUtilizationRateBps !== undefined || rebalanceDirection === generated_1.RebalanceDirection.Repay) {
85
+ if (targetLiqUtilizationRateBps !== undefined ||
86
+ rebalanceDirection === generated_1.RebalanceDirection.Repay) {
85
87
  feeBps = 25;
86
88
  }
87
89
  else if (positionNetWorthUsd <= minSize) {
@@ -106,7 +108,8 @@ function getSolautoFeesBps(isReferred, targetLiqUtilizationRateBps, positionNetW
106
108
  };
107
109
  }
108
110
  function getMaxLiqUtilizationRateBps(maxLtvBps, liqThresholdBps, offsetFromMaxLtv) {
109
- return toBps((fromBps(maxLtvBps) - offsetFromMaxLtv) / fromBps(liqThresholdBps)) - 1; // -1 to account for any rounding issues
111
+ return (toBps((fromBps(maxLtvBps) - offsetFromMaxLtv) / fromBps(liqThresholdBps)) -
112
+ 1); // -1 to account for any rounding issues
110
113
  }
111
114
  function maxRepayFromBps(maxLtvBps, liqThresholdBps) {
112
115
  return Math.min(9000, getMaxLiqUtilizationRateBps(maxLtvBps, liqThresholdBps - 1000, 0.01));
@@ -1 +1 @@
1
- {"version":3,"file":"rebalanceUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/solauto/rebalanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,aAAa,EAEb,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAajD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkI9C,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,kBAAkB,CAAA;CACvC;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,yBAAyB,GAAG,SAAS,EAC/C,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,2BAA2B,CAAC,EAAE,MAAM,GACnC,eAAe,CAgDjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,GACtB,gBAAgB,GAAG,SAAS,CA0D9B;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc,CAyChB"}
1
+ {"version":3,"file":"rebalanceUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/solauto/rebalanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,aAAa,EAEb,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACV,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkI9C,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,kBAAkB,CAAA;CACvC;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,yBAAyB,GAAG,SAAS,EAC/C,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,2BAA2B,CAAC,EAAE,MAAM,GACnC,eAAe,CAgDjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,GACtB,gBAAgB,GAAG,SAAS,CA0D9B;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,EACvB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc,CAyChB"}
@@ -149,7 +149,7 @@ function getJupSwapRebalanceDetails(client, values, targetLiqUtilizationRateBps,
149
149
  ? output.amountUsed.baseUnit +
150
150
  BigInt(Math.round(Number(output.amountUsed.baseUnit) *
151
151
  // Add this small percentage to account for the APR on the debt between now and the transaction
152
- 0.0001))
152
+ 0.00001))
153
153
  : (0, numberUtils_1.toBaseUnit)(usdToSwap / (0, generalUtils_2.safeGetPrice)(output.mint), output.decimals);
154
154
  const exactOut = targetLiqUtilizationRateBps === 0 || values.repayingCloseToMaxLtv;
155
155
  const exactIn = !exactOut;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.226",
3
+ "version": "1.0.228",
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",
@@ -33,6 +33,7 @@ export type ClaimReferralFeesInstructionAccounts = {
33
33
  signerWsolTa?: PublicKey | Pda;
34
34
  systemProgram?: PublicKey | Pda;
35
35
  tokenProgram?: PublicKey | Pda;
36
+ ataProgram?: PublicKey | Pda;
36
37
  rent?: PublicKey | Pda;
37
38
  referralState: PublicKey | Pda;
38
39
  referralFeesDestTa: PublicKey | Pda;
@@ -98,29 +99,34 @@ export function claimReferralFees(
98
99
  isWritable: false as boolean,
99
100
  value: input.tokenProgram ?? null,
100
101
  },
101
- rent: { index: 4, isWritable: false as boolean, value: input.rent ?? null },
102
+ ataProgram: {
103
+ index: 4,
104
+ isWritable: false as boolean,
105
+ value: input.ataProgram ?? null,
106
+ },
107
+ rent: { index: 5, isWritable: false as boolean, value: input.rent ?? null },
102
108
  referralState: {
103
- index: 5,
109
+ index: 6,
104
110
  isWritable: false as boolean,
105
111
  value: input.referralState ?? null,
106
112
  },
107
113
  referralFeesDestTa: {
108
- index: 6,
114
+ index: 7,
109
115
  isWritable: true as boolean,
110
116
  value: input.referralFeesDestTa ?? null,
111
117
  },
112
118
  referralFeesDestMint: {
113
- index: 7,
119
+ index: 8,
114
120
  isWritable: false as boolean,
115
121
  value: input.referralFeesDestMint ?? null,
116
122
  },
117
123
  referralAuthority: {
118
- index: 8,
124
+ index: 9,
119
125
  isWritable: true as boolean,
120
126
  value: input.referralAuthority ?? null,
121
127
  },
122
128
  feesDestinationTa: {
123
- index: 9,
129
+ index: 10,
124
130
  isWritable: true as boolean,
125
131
  value: input.feesDestinationTa ?? null,
126
132
  },
@@ -141,6 +147,13 @@ export function claimReferralFees(
141
147
  );
142
148
  resolvedAccounts.tokenProgram.isWritable = false;
143
149
  }
150
+ if (!resolvedAccounts.ataProgram.value) {
151
+ resolvedAccounts.ataProgram.value = context.programs.getPublicKey(
152
+ 'splAssociatedToken',
153
+ 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'
154
+ );
155
+ resolvedAccounts.ataProgram.isWritable = false;
156
+ }
144
157
  if (!resolvedAccounts.rent.value) {
145
158
  resolvedAccounts.rent.value = publicKey(
146
159
  'SysvarRent111111111111111111111111111111111'
@@ -103,17 +103,23 @@ export function getSolautoFeesBps(
103
103
  const minFeeBps = 50; // Fee in basis points for maxSize (0.5%)
104
104
  const k = 1.5;
105
105
 
106
- if (targetLiqUtilizationRateBps !== undefined && targetLiqUtilizationRateBps === 0) {
106
+ if (
107
+ targetLiqUtilizationRateBps !== undefined &&
108
+ targetLiqUtilizationRateBps === 0
109
+ ) {
107
110
  return {
108
111
  solauto: 0,
109
112
  referrer: 0,
110
- total: 0
111
- }
113
+ total: 0,
114
+ };
112
115
  }
113
116
 
114
117
  let feeBps: number = 0;
115
118
 
116
- if (targetLiqUtilizationRateBps !== undefined || rebalanceDirection === RebalanceDirection.Repay) {
119
+ if (
120
+ targetLiqUtilizationRateBps !== undefined ||
121
+ rebalanceDirection === RebalanceDirection.Repay
122
+ ) {
117
123
  feeBps = 25;
118
124
  } else if (positionNetWorthUsd <= minSize) {
119
125
  feeBps = maxFeeBps;
@@ -123,7 +129,9 @@ export function getSolautoFeesBps(
123
129
  const t =
124
130
  (Math.log(positionNetWorthUsd) - Math.log(minSize)) /
125
131
  (Math.log(maxSize) - Math.log(minSize));
126
- feeBps = Math.round(minFeeBps + (maxFeeBps - minFeeBps) * (1 - Math.pow(t, k)));
132
+ feeBps = Math.round(
133
+ minFeeBps + (maxFeeBps - minFeeBps) * (1 - Math.pow(t, k))
134
+ );
127
135
  }
128
136
 
129
137
  let referrer = 0;
@@ -143,7 +151,10 @@ export function getMaxLiqUtilizationRateBps(
143
151
  liqThresholdBps: number,
144
152
  offsetFromMaxLtv: number
145
153
  ): number {
146
- return toBps((fromBps(maxLtvBps) - offsetFromMaxLtv) / fromBps(liqThresholdBps)) - 1; // -1 to account for any rounding issues
154
+ return (
155
+ toBps((fromBps(maxLtvBps) - offsetFromMaxLtv) / fromBps(liqThresholdBps)) -
156
+ 1
157
+ ); // -1 to account for any rounding issues
147
158
  }
148
159
 
149
160
  export function maxRepayFromBps(maxLtvBps: number, liqThresholdBps: number) {
@@ -165,4 +176,4 @@ export function maxBoostToBps(maxLtvBps: number, liqThresholdBps: number) {
165
176
  maxRepayToBps(maxLtvBps, liqThresholdBps),
166
177
  getMaxLiqUtilizationRateBps(maxLtvBps, liqThresholdBps, 0.01)
167
178
  );
168
- }
179
+ }
@@ -19,7 +19,6 @@ import { JupSwapDetails } from "../jupiterUtils";
19
19
  import { currentUnixSeconds, safeGetPrice } from "../generalUtils";
20
20
  import {
21
21
  fromBaseUnit,
22
- fromBps,
23
22
  getDebtAdjustmentUsd,
24
23
  getLiqUtilzationRateBps,
25
24
  getMaxLiqUtilizationRateBps,
@@ -323,7 +322,7 @@ export function getJupSwapRebalanceDetails(
323
322
  Math.round(
324
323
  Number(output.amountUsed.baseUnit) *
325
324
  // Add this small percentage to account for the APR on the debt between now and the transaction
326
- 0.0001
325
+ 0.00001
327
326
  )
328
327
  )
329
328
  : toBaseUnit(usdToSwap / safeGetPrice(output.mint)!, output.decimals);