@haven-fi/solauto-sdk 1.0.635 → 1.0.636
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.d.ts +1 -0
- package/dist/services/rebalance/rebalanceTxBuilder.d.ts.map +1 -1
- package/dist/services/rebalance/rebalanceTxBuilder.js +10 -3
- package/dist/solautoPosition/solautoPositionEx.d.ts +1 -1
- package/dist/solautoPosition/solautoPositionEx.d.ts.map +1 -1
- package/dist/solautoPosition/solautoPositionEx.js +4 -4
- package/local/txSandbox.ts +1 -1
- package/package.json +1 -1
- package/src/services/rebalance/rebalanceTxBuilder.ts +13 -5
- package/src/solautoPosition/solautoPositionEx.ts +12 -5
@@ -16,6 +16,7 @@ export declare class RebalanceTxBuilder {
|
|
16
16
|
private getFlashLoanDetails;
|
17
17
|
private setRebalanceType;
|
18
18
|
private realtimeUsdToEmaUsd;
|
19
|
+
private getInitialRebalanceValues;
|
19
20
|
private setRebalanceDetails;
|
20
21
|
private refreshBeforeRebalance;
|
21
22
|
private assembleTransaction;
|
@@ -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;AA0BrB,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,2BAA2B,CAAC;IARtC,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;IAG9C,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,oBAAoB;YAyCd,qBAAqB;IAyCnC,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,mBAAmB;
|
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;AA0BrB,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,2BAA2B,CAAC;IARtC,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;IAG9C,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,oBAAoB;YAyCd,qBAAqB;IAyCnC,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,yBAAyB;YA4BnB,mBAAmB;YAwBnB,sBAAsB;YAyBtB,mBAAmB;IAkEpB,gBAAgB,CAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;CAe9C"}
|
@@ -118,19 +118,26 @@ class RebalanceTxBuilder {
|
|
118
118
|
return ((realtimeAmountUsd / (0, utils_1.safeGetPrice)(mint, generated_1.PriceType.Realtime)) *
|
119
119
|
(0, utils_1.safeGetPrice)(mint, generated_1.PriceType.Ema));
|
120
120
|
}
|
121
|
-
|
121
|
+
getInitialRebalanceValues() {
|
122
122
|
let rebalanceValues = this.getRebalanceValues();
|
123
123
|
if (!rebalanceValues) {
|
124
|
-
return
|
124
|
+
return undefined;
|
125
125
|
}
|
126
126
|
const postRebalanceEmaUtilRateBps = (0, utils_1.getLiqUtilzationRateBps)(this.realtimeUsdToEmaUsd(rebalanceValues.endResult.supplyUsd, this.client.pos.supplyMint), this.realtimeUsdToEmaUsd(rebalanceValues.endResult.debtUsd, this.client.pos.debtMint), this.client.pos.state.liqThresholdBps);
|
127
127
|
if (postRebalanceEmaUtilRateBps > this.client.pos.maxBoostToBps) {
|
128
128
|
this.priceType = generated_1.PriceType.Ema;
|
129
129
|
rebalanceValues = this.getRebalanceValues();
|
130
130
|
if (!rebalanceValues) {
|
131
|
-
return
|
131
|
+
return undefined;
|
132
132
|
}
|
133
133
|
}
|
134
|
+
return rebalanceValues;
|
135
|
+
}
|
136
|
+
async setRebalanceDetails(attemptNum) {
|
137
|
+
const rebalanceValues = this.getInitialRebalanceValues();
|
138
|
+
if (!rebalanceValues) {
|
139
|
+
return false;
|
140
|
+
}
|
134
141
|
this.values = rebalanceValues;
|
135
142
|
this.flRequirements = await this.flashLoanRequirements(attemptNum);
|
136
143
|
if (this.flRequirements?.flFeeBps) {
|
@@ -80,7 +80,7 @@ export declare abstract class SolautoPositionEx {
|
|
80
80
|
updateSupply(newSupplyUsd: number, supplyPrice?: number): void;
|
81
81
|
updateDebt(newDebtUsd: number, debtPrice?: number): void;
|
82
82
|
updateNetWorth(supplyPrice?: number): void;
|
83
|
-
updateLiqUtilizationRate(priceType?: PriceType): void;
|
83
|
+
updateLiqUtilizationRate(supplyUsd?: number, debtUsd?: number, priceType?: PriceType): void;
|
84
84
|
updateWithLatestPrices(data?: {
|
85
85
|
priceType?: PriceType;
|
86
86
|
supplyPrice?: number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"solautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/solautoPositionEx.ts"],"names":[],"mappings":"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"}
|
@@ -201,8 +201,8 @@ class SolautoPositionEx {
|
|
201
201
|
(0, utils_1.toRoundedUsdValue)(netWorthUsd);
|
202
202
|
this._data.state.netWorth.baseUnit = (0, utils_1.toBaseUnit)(netWorthUsd / (supplyPrice ?? (0, utils_1.safeGetPrice)(this.supplyMint) ?? 0), this.supplyMintInfo.decimals);
|
203
203
|
}
|
204
|
-
updateLiqUtilizationRate(priceType) {
|
205
|
-
this._data.state.liqUtilizationRateBps = (0, utils_1.getLiqUtilzationRateBps)(this.supplyUsd(priceType), this.debtUsd(priceType), this.state.liqThresholdBps);
|
204
|
+
updateLiqUtilizationRate(supplyUsd, debtUsd, priceType) {
|
205
|
+
this._data.state.liqUtilizationRateBps = (0, utils_1.getLiqUtilzationRateBps)(supplyUsd ?? this.supplyUsd(priceType), debtUsd ?? this.debtUsd(priceType), this.state.liqThresholdBps);
|
206
206
|
}
|
207
207
|
async updateWithLatestPrices(data) {
|
208
208
|
if (!data) {
|
@@ -216,7 +216,7 @@ class SolautoPositionEx {
|
|
216
216
|
this.updateSupply(supplyUsd, data.supplyPrice);
|
217
217
|
this.updateDebt(debtUsd, data.debtPrice);
|
218
218
|
this.updateNetWorth(data.supplyPrice);
|
219
|
-
this.updateLiqUtilizationRate();
|
219
|
+
this.updateLiqUtilizationRate(this.totalSupply * data.supplyPrice, this.totalDebt * data.debtPrice);
|
220
220
|
}
|
221
221
|
simulateRebalance(unixTime, supplyPrice, debtPrice, targetLiqUtilizationRateBps) {
|
222
222
|
this._data.state.lastRefreshed = BigInt(unixTime);
|
@@ -227,7 +227,7 @@ class SolautoPositionEx {
|
|
227
227
|
this.updateSupply(rebalance.endResult.supplyUsd, supplyPrice);
|
228
228
|
this.updateDebt(rebalance.endResult.debtUsd, debtPrice);
|
229
229
|
this.updateNetWorth(supplyPrice);
|
230
|
-
this.updateLiqUtilizationRate();
|
230
|
+
this.updateLiqUtilizationRate(rebalance.endResult.supplyUsd, rebalance.endResult.debtUsd);
|
231
231
|
}
|
232
232
|
async refetchPositionData() {
|
233
233
|
this._data = await (0, generated_1.fetchSolautoPosition)(this.umi, (0, umi_web3js_adapters_1.fromWeb3JsPublicKey)(this.publicKey));
|
package/local/txSandbox.ts
CHANGED
package/package.json
CHANGED
@@ -210,10 +210,10 @@ export class RebalanceTxBuilder {
|
|
210
210
|
);
|
211
211
|
}
|
212
212
|
|
213
|
-
private
|
213
|
+
private getInitialRebalanceValues() {
|
214
214
|
let rebalanceValues = this.getRebalanceValues();
|
215
215
|
if (!rebalanceValues) {
|
216
|
-
return
|
216
|
+
return undefined;
|
217
217
|
}
|
218
218
|
|
219
219
|
const postRebalanceEmaUtilRateBps = getLiqUtilzationRateBps(
|
@@ -231,13 +231,21 @@ export class RebalanceTxBuilder {
|
|
231
231
|
this.priceType = PriceType.Ema;
|
232
232
|
rebalanceValues = this.getRebalanceValues();
|
233
233
|
if (!rebalanceValues) {
|
234
|
-
return
|
234
|
+
return undefined;
|
235
235
|
}
|
236
236
|
}
|
237
237
|
|
238
|
-
|
239
|
-
|
238
|
+
return rebalanceValues;
|
239
|
+
}
|
240
240
|
|
241
|
+
private async setRebalanceDetails(attemptNum: number): Promise<boolean> {
|
242
|
+
const rebalanceValues = this.getInitialRebalanceValues();
|
243
|
+
if (!rebalanceValues) {
|
244
|
+
return false;
|
245
|
+
}
|
246
|
+
this.values = rebalanceValues;
|
247
|
+
|
248
|
+
this.flRequirements = await this.flashLoanRequirements(attemptNum);
|
241
249
|
if (this.flRequirements?.flFeeBps) {
|
242
250
|
this.values = this.getRebalanceValues(this.flRequirements.flFeeBps)!;
|
243
251
|
}
|
@@ -368,10 +368,14 @@ export abstract class SolautoPositionEx {
|
|
368
368
|
);
|
369
369
|
}
|
370
370
|
|
371
|
-
updateLiqUtilizationRate(
|
371
|
+
updateLiqUtilizationRate(
|
372
|
+
supplyUsd?: number,
|
373
|
+
debtUsd?: number,
|
374
|
+
priceType?: PriceType
|
375
|
+
) {
|
372
376
|
this._data.state.liqUtilizationRateBps = getLiqUtilzationRateBps(
|
373
|
-
this.supplyUsd(priceType),
|
374
|
-
this.debtUsd(priceType),
|
377
|
+
supplyUsd ?? this.supplyUsd(priceType),
|
378
|
+
debtUsd ?? this.debtUsd(priceType),
|
375
379
|
this.state.liqThresholdBps
|
376
380
|
);
|
377
381
|
}
|
@@ -398,7 +402,10 @@ export abstract class SolautoPositionEx {
|
|
398
402
|
this.updateSupply(supplyUsd, data.supplyPrice);
|
399
403
|
this.updateDebt(debtUsd, data.debtPrice);
|
400
404
|
this.updateNetWorth(data.supplyPrice);
|
401
|
-
this.updateLiqUtilizationRate(
|
405
|
+
this.updateLiqUtilizationRate(
|
406
|
+
this.totalSupply * data.supplyPrice,
|
407
|
+
this.totalDebt * data.debtPrice
|
408
|
+
);
|
402
409
|
}
|
403
410
|
|
404
411
|
simulateRebalance(
|
@@ -421,7 +428,7 @@ export abstract class SolautoPositionEx {
|
|
421
428
|
this.updateSupply(rebalance.endResult.supplyUsd, supplyPrice);
|
422
429
|
this.updateDebt(rebalance.endResult.debtUsd, debtPrice);
|
423
430
|
this.updateNetWorth(supplyPrice);
|
424
|
-
this.updateLiqUtilizationRate();
|
431
|
+
this.updateLiqUtilizationRate(rebalance.endResult.supplyUsd, rebalance.endResult.debtUsd);
|
425
432
|
}
|
426
433
|
|
427
434
|
async refetchPositionData() {
|