@haven-fi/solauto-sdk 1.0.632 → 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/services/rebalance/rebalanceValues.d.ts.map +1 -1
- package/dist/services/rebalance/rebalanceValues.js +1 -1
- package/dist/services/transactions/transactionUtils.d.ts.map +1 -1
- package/dist/services/transactions/transactionUtils.js +8 -0
- 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/services/rebalance/rebalanceValues.ts +3 -1
- package/src/services/transactions/transactionUtils.ts +9 -0
- 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) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rebalanceValues.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceValues.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"rebalanceValues.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,cAAc,CAAC;IAC1B,iCAAiC,EAAE,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,yBAAyB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,iCAAiC,EAAE,MAAM,CAAC;CAC3C;AAED,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,MAAM,EACzB,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,gBAAgB,GACtB,yBAAyB,CA8B3B;AAED,wBAAgB,iBAAiB,CAC/B,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,cAAc,EACnB,2BAA2B,EAAE,MAAM,EACnC,IAAI,CAAC,EAAE,gBAAgB,GACtB,cAAc,CAgChB;AA2ED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,iBAAiB,EAClC,SAAS,EAAE,SAAS,EACpB,2BAA2B,CAAC,EAAE,MAAM,EACpC,aAAa,CAAC,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CA2CjB"}
|
@@ -67,7 +67,7 @@ function getTargetLiqUtilizationRateBps(solautoPosition, priceType, targetLiqUti
|
|
67
67
|
// else if (tokenBalanceChange !== null) {
|
68
68
|
// return currentRate;
|
69
69
|
// }
|
70
|
-
throw new
|
70
|
+
throw new generated_1.InvalidRebalanceConditionError((0, generated_1.createSolautoProgram)());
|
71
71
|
}
|
72
72
|
function getAdjustedPositionValues(solautoPosition, priceType, tokenBalanceChange) {
|
73
73
|
let supplyUsd = solautoPosition.supplyUsd(priceType);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactionUtils.d.ts","sourceRoot":"","sources":["../../../src/services/transactions/transactionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAKxE,OAAO,EAIL,kBAAkB,EAClB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAiBlC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA2BjE,OAAO,EAAE,qBAAqB,EAAyB,MAAM,aAAa,CAAC;AAwL3E,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,EACtB,sBAAsB,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAyF7B;AA8LD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,GACrB,OAAO,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CA0BnD;AAED,wBAAsB,gCAAgC,CACpD,eAAe,EAAE,oBAAoB,EACrC,YAAY,EAAE,SAAS,EACvB,eAAe,EAAE,SAAS,GACzB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAuC5C;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,kBAAkB,EAAE,EACzB,KAAK,EAAE,KAAK,EACZ,oBAAoB,CAAC,EAAE,OAAO;;;;
|
1
|
+
{"version":3,"file":"transactionUtils.d.ts","sourceRoot":"","sources":["../../../src/services/transactions/transactionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAKxE,OAAO,EAIL,kBAAkB,EAClB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAiBlC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA2BjE,OAAO,EAAE,qBAAqB,EAAyB,MAAM,aAAa,CAAC;AAwL3E,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,EACtB,sBAAsB,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAyF7B;AA8LD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,GACrB,OAAO,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CA0BnD;AAED,wBAAsB,gCAAgC,CACpD,eAAe,EAAE,oBAAoB,EACrC,YAAY,EAAE,SAAS,EACvB,eAAe,EAAE,SAAS,GACzB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAuC5C;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,kBAAkB,EAAE,EACzB,KAAK,EAAE,KAAK,EACZ,oBAAoB,CAAC,EAAE,OAAO;;;;EAuH/B"}
|
@@ -339,6 +339,14 @@ async function convertReferralFeesToDestination(referralManager, tokenAccount, d
|
|
339
339
|
return { tx, lookupTableAddresses };
|
340
340
|
}
|
341
341
|
function getErrorInfo(umi, txs, error, simulationSuccessful) {
|
342
|
+
if (error instanceof generated_1.InvalidRebalanceConditionError) {
|
343
|
+
return {
|
344
|
+
canBeIgnored: true,
|
345
|
+
errorName: generated_1.InvalidRebalanceConditionError.name,
|
346
|
+
errorInfo: new generated_1.InvalidRebalanceConditionError((0, generated_1.createSolautoProgram)())
|
347
|
+
.message,
|
348
|
+
};
|
349
|
+
}
|
342
350
|
let canBeIgnored = false;
|
343
351
|
let errorName = undefined;
|
344
352
|
let errorInfo = undefined;
|
@@ -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);
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import {
|
2
|
+
createSolautoProgram,
|
3
|
+
InvalidRebalanceConditionError,
|
2
4
|
PriceType,
|
3
5
|
RebalanceDirection,
|
4
6
|
TokenBalanceChange,
|
@@ -142,7 +144,7 @@ function getTargetLiqUtilizationRateBps(
|
|
142
144
|
// return currentRate;
|
143
145
|
// }
|
144
146
|
|
145
|
-
throw new
|
147
|
+
throw new InvalidRebalanceConditionError(createSolautoProgram());
|
146
148
|
}
|
147
149
|
|
148
150
|
function getAdjustedPositionValues(
|
@@ -604,6 +604,15 @@ export function getErrorInfo(
|
|
604
604
|
error: Error,
|
605
605
|
simulationSuccessful?: boolean
|
606
606
|
) {
|
607
|
+
if (error instanceof InvalidRebalanceConditionError) {
|
608
|
+
return {
|
609
|
+
canBeIgnored: true,
|
610
|
+
errorName: InvalidRebalanceConditionError.name,
|
611
|
+
errorInfo: new InvalidRebalanceConditionError(createSolautoProgram())
|
612
|
+
.message,
|
613
|
+
};
|
614
|
+
}
|
615
|
+
|
607
616
|
let canBeIgnored = false;
|
608
617
|
let errorName: string | undefined = undefined;
|
609
618
|
let errorInfo: string | undefined = undefined;
|
@@ -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,
|