@haven-fi/solauto-sdk 1.0.633 → 1.0.634
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.
- package/dist/services/rebalance/rebalanceTxBuilder.js +4 -4
- package/dist/solautoPosition/solautoPositionEx.d.ts +2 -2
- package/dist/solautoPosition/solautoPositionEx.d.ts.map +1 -1
- package/local/txSandbox.ts +4 -0
- package/package.json +1 -1
- package/src/services/rebalance/rebalanceTxBuilder.ts +4 -4
- package/src/solautoPosition/solautoPositionEx.ts +3 -2
- package/tests/transactions/shared.ts +1 -1
@@ -19,8 +19,8 @@ class RebalanceTxBuilder {
|
|
19
19
|
(this.targetLiqUtilizationRateBps !== undefined ||
|
20
20
|
this.client.pos.eligibleForRebalance()));
|
21
21
|
}
|
22
|
-
getRebalanceValues(
|
23
|
-
return (0, rebalanceValues_1.getRebalanceValues)(this.client.pos, priceType, this.targetLiqUtilizationRateBps, solautoFees_1.SolautoFeesBps.create(this.client.isReferred(), this.targetLiqUtilizationRateBps, this.client.pos.netWorthUsd), flFee ?? 0);
|
22
|
+
getRebalanceValues(flFee) {
|
23
|
+
return (0, rebalanceValues_1.getRebalanceValues)(this.client.pos, this.priceType, this.targetLiqUtilizationRateBps, solautoFees_1.SolautoFeesBps.create(this.client.isReferred(), this.targetLiqUtilizationRateBps, this.client.pos.netWorthUsd), flFee ?? 0);
|
24
24
|
}
|
25
25
|
getFlLiquiditySource(supplyLiquidityAvailable, debtLiquidityAvailable) {
|
26
26
|
const debtAdjustmentUsd = Math.abs(this.values.debtAdjustmentUsd);
|
@@ -119,11 +119,11 @@ class RebalanceTxBuilder {
|
|
119
119
|
}
|
120
120
|
async setRebalanceDetails(attemptNum) {
|
121
121
|
this.priceType = generated_1.PriceType.Realtime;
|
122
|
-
this.values = this.getRebalanceValues(
|
122
|
+
this.values = this.getRebalanceValues();
|
123
123
|
const postRebalanceEmaUtilRateBps = (0, utils_1.getLiqUtilzationRateBps)(this.realtimeUsdToEmaUsd(this.values.endResult.supplyUsd, this.client.pos.supplyMint), this.realtimeUsdToEmaUsd(this.values.endResult.debtUsd, this.client.pos.debtMint), this.client.pos.state.liqThresholdBps);
|
124
124
|
if (postRebalanceEmaUtilRateBps > this.client.pos.maxBoostToBps) {
|
125
125
|
this.priceType = generated_1.PriceType.Ema;
|
126
|
-
this.values = this.getRebalanceValues(
|
126
|
+
this.values = this.getRebalanceValues();
|
127
127
|
}
|
128
128
|
this.flRequirements = await this.flashLoanRequirements(attemptNum);
|
129
129
|
if (this.flRequirements?.flFeeBps) {
|
@@ -23,14 +23,14 @@ interface PositionExArgs {
|
|
23
23
|
contextUpdates?: ContextUpdates;
|
24
24
|
}
|
25
25
|
export declare abstract class SolautoPositionEx {
|
26
|
-
lendingPlatform: LendingPlatform;
|
27
26
|
umi: Umi;
|
27
|
+
protected contextUpdates?: ContextUpdates;
|
28
28
|
publicKey: PublicKey;
|
29
|
+
lendingPlatform: LendingPlatform;
|
29
30
|
protected _data: SolautoPositionExData;
|
30
31
|
protected lp?: PublicKey;
|
31
32
|
protected lpEnv: ProgramEnv;
|
32
33
|
lpUserAccount?: PublicKey;
|
33
|
-
protected contextUpdates?: ContextUpdates;
|
34
34
|
private readonly firstState;
|
35
35
|
constructor(args: PositionExArgs);
|
36
36
|
abstract lendingPool(): Promise<PublicKey>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAK/C,OAAO,EACL,WAAW,EAEX,eAAe,EACf,aAAa,EACb,SAAS,EACT,eAAe,EACf,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAQL,cAAc,EAiBf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMvD,OAAO,EAAqC,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5E,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,UAAU,qBAAsB,SAAQ,OAAO,CAAC,eAAe,CAAC;IAC9D,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,8BAAsB,iBAAiB;IAC9B,
|
1
|
+
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"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"}
|
package/local/txSandbox.ts
CHANGED
@@ -8,8 +8,10 @@ import {
|
|
8
8
|
getSolanaRpcConnection,
|
9
9
|
LendingPlatform,
|
10
10
|
LOCAL_IRONFORGE_API_URL,
|
11
|
+
PriceType,
|
11
12
|
PriorityFeeSetting,
|
12
13
|
rebalance,
|
14
|
+
safeGetPrice,
|
13
15
|
SOLAUTO_PROD_PROGRAM,
|
14
16
|
SOLAUTO_TEST_PROGRAM,
|
15
17
|
TransactionsManager,
|
@@ -33,6 +35,8 @@ export async function main() {
|
|
33
35
|
|
34
36
|
await fetchTokenPrices([NATIVE_MINT]);
|
35
37
|
|
38
|
+
console.log(safeGetPrice(NATIVE_MINT), safeGetPrice(NATIVE_MINT, PriceType.Ema));
|
39
|
+
|
36
40
|
// const client = getClient(LendingPlatform.Marginfi, {
|
37
41
|
// signer,
|
38
42
|
// showLogs: true,
|
package/package.json
CHANGED
@@ -52,10 +52,10 @@ export class RebalanceTxBuilder {
|
|
52
52
|
);
|
53
53
|
}
|
54
54
|
|
55
|
-
private getRebalanceValues(
|
55
|
+
private getRebalanceValues(flFee?: number) {
|
56
56
|
return getRebalanceValues(
|
57
57
|
this.client.pos,
|
58
|
-
priceType,
|
58
|
+
this.priceType,
|
59
59
|
this.targetLiqUtilizationRateBps,
|
60
60
|
SolautoFeesBps.create(
|
61
61
|
this.client.isReferred(),
|
@@ -212,7 +212,7 @@ export class RebalanceTxBuilder {
|
|
212
212
|
|
213
213
|
private async setRebalanceDetails(attemptNum: number) {
|
214
214
|
this.priceType = PriceType.Realtime;
|
215
|
-
this.values = this.getRebalanceValues(
|
215
|
+
this.values = this.getRebalanceValues();
|
216
216
|
|
217
217
|
const postRebalanceEmaUtilRateBps = getLiqUtilzationRateBps(
|
218
218
|
this.realtimeUsdToEmaUsd(
|
@@ -227,7 +227,7 @@ export class RebalanceTxBuilder {
|
|
227
227
|
);
|
228
228
|
if (postRebalanceEmaUtilRateBps > this.client.pos.maxBoostToBps) {
|
229
229
|
this.priceType = PriceType.Ema;
|
230
|
-
this.values = this.getRebalanceValues(
|
230
|
+
this.values = this.getRebalanceValues();
|
231
231
|
}
|
232
232
|
|
233
233
|
this.flRequirements = await this.flashLoanRequirements(attemptNum);
|
@@ -69,14 +69,15 @@ interface PositionExArgs {
|
|
69
69
|
}
|
70
70
|
|
71
71
|
export abstract class SolautoPositionEx {
|
72
|
-
public lendingPlatform!: LendingPlatform;
|
73
72
|
public umi!: Umi;
|
73
|
+
protected contextUpdates?: ContextUpdates;
|
74
|
+
|
74
75
|
public publicKey!: PublicKey;
|
76
|
+
public lendingPlatform!: LendingPlatform;
|
75
77
|
protected _data!: SolautoPositionExData;
|
76
78
|
protected lp?: PublicKey = undefined;
|
77
79
|
protected lpEnv!: ProgramEnv;
|
78
80
|
public lpUserAccount?: PublicKey = undefined;
|
79
|
-
protected contextUpdates?: ContextUpdates;
|
80
81
|
|
81
82
|
private readonly firstState!: PositionState;
|
82
83
|
|
@@ -48,7 +48,7 @@ export async function e2eTransactionTest(
|
|
48
48
|
const [maxLtvBps, liqThresholdBps] =
|
49
49
|
await client.pos.maxLtvAndLiqThresholdBps();
|
50
50
|
const settings: SolautoSettingsParametersInpArgs = {
|
51
|
-
boostToBps: maxBoostToBps(maxLtvBps, liqThresholdBps)
|
51
|
+
boostToBps: maxBoostToBps(maxLtvBps, liqThresholdBps),
|
52
52
|
boostGap: 50,
|
53
53
|
repayToBps: maxRepayToBps(maxLtvBps, liqThresholdBps),
|
54
54
|
repayGap: 50,
|