@haven-fi/solauto-sdk 1.0.675 → 1.0.676
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.map +1 -1
- package/dist/services/rebalance/rebalanceTxBuilder.js +2 -2
- package/dist/utils/solautoUtils.d.ts +2 -0
- package/dist/utils/solautoUtils.d.ts.map +1 -1
- package/dist/utils/solautoUtils.js +7 -2
- package/package.json +1 -1
- package/src/services/rebalance/rebalanceTxBuilder.ts +2 -8
- package/src/utils/solautoUtils.ts +18 -4
@@ -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;IAS3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,2BAA2B,CAAC;IATtC,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;IAClD,OAAO,CAAC,QAAQ,CAAC,CAAS;gBAGhB,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,YAAA;IAG9C,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,iCAAiC;
|
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;IAS3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,2BAA2B,CAAC;IATtC,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;IAClD,OAAO,CAAC,QAAQ,CAAC,CAAS;gBAGhB,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,YAAA;IAG9C,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,iCAAiC;YAgC3B,qBAAqB;IA0CnC,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,yBAAyB;YAqBnB,mBAAmB;YAwBnB,sBAAsB;YAyBtB,mBAAmB;IAmEpB,gBAAgB,CAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;CAe9C"}
|
@@ -53,8 +53,8 @@ class RebalanceTxBuilder {
|
|
53
53
|
}
|
54
54
|
const fees = new solautoFees_1.SolautoFeesBps(this.client.isReferred, this.targetLiqUtilizationRateBps, this.client.pos.netWorthUsd(generated_1.PriceType.Realtime));
|
55
55
|
const { intermediaryLiqUtilizationRateBps } = (0, rebalanceValues_1.applyDebtAdjustmentUsd)(this.values.debtAdjustmentUsd, {
|
56
|
-
supplyUsd:
|
57
|
-
debtUsd:
|
56
|
+
supplyUsd: this.client.pos.supplyUsd(generated_1.PriceType.Ema),
|
57
|
+
debtUsd: this.client.pos.debtUsd(generated_1.PriceType.Ema),
|
58
58
|
}, (0, utils_1.fromBps)(this.client.pos.state.liqThresholdBps), {
|
59
59
|
solauto: fees.getSolautoFeesBps(this.values.rebalanceDirection).total,
|
60
60
|
lpBorrow: this.client.pos.state.debt.borrowFeeBps,
|
@@ -4,6 +4,7 @@ import { QuoteResponse } from "@jup-ag/api";
|
|
4
4
|
import { AutomationSettings, DCASettings, DCASettingsInpArgs, LendingPlatform, PositionState, PositionType, SolautoRebalanceType, SolautoSettingsParameters, SolautoSettingsParametersInpArgs, TokenType } from "../generated";
|
5
5
|
import { SolautoPositionDetails } from "../types";
|
6
6
|
import { SolautoClient, SolautoMarginfiClient, TxHandlerProps } from "../services";
|
7
|
+
import { MarginfiSolautoPositionEx, SolautoPositionEx } from "../solautoPosition";
|
7
8
|
export declare function createDynamicSolautoProgram(programId?: PublicKey): Program;
|
8
9
|
export declare function nextAutomationPeriodTimestamp(automation: AutomationSettings): number;
|
9
10
|
export declare function eligibleForNextAutomationPeriod(automation: AutomationSettings, currentUnixTime: number): boolean;
|
@@ -55,6 +56,7 @@ export declare class ContextUpdates {
|
|
55
56
|
}
|
56
57
|
export declare function getClient(lendingPlatform: LendingPlatform, txHandlerProps: TxHandlerProps): SolautoMarginfiClient;
|
57
58
|
export declare function isMarginfiClient(client: SolautoClient): client is SolautoMarginfiClient;
|
59
|
+
export declare function isMarginfiPosition(pos: SolautoPositionEx): pos is MarginfiSolautoPositionEx;
|
58
60
|
export declare function hasFirstRebalance(rebalanceType: SolautoRebalanceType): boolean;
|
59
61
|
export declare function hasLastRebalance(rebalanceType: SolautoRebalanceType): boolean;
|
60
62
|
export {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/solautoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,gCAAgC,EAChC,SAAS,EAMV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACf,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"solautoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/solautoUtils.ts"],"names":[],"mappings":"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"}
|
@@ -12,6 +12,7 @@ exports.getAllPositionsByAuthority = getAllPositionsByAuthority;
|
|
12
12
|
exports.positionStateWithLatestPrices = positionStateWithLatestPrices;
|
13
13
|
exports.getClient = getClient;
|
14
14
|
exports.isMarginfiClient = isMarginfiClient;
|
15
|
+
exports.isMarginfiPosition = isMarginfiPosition;
|
15
16
|
exports.hasFirstRebalance = hasFirstRebalance;
|
16
17
|
exports.hasLastRebalance = hasLastRebalance;
|
17
18
|
const umi_1 = require("@metaplex-foundation/umi");
|
@@ -318,13 +319,17 @@ function getClient(lendingPlatform, txHandlerProps) {
|
|
318
319
|
}
|
319
320
|
else {
|
320
321
|
throw new Error("Lending platform not yet supported");
|
321
|
-
// TODO:
|
322
|
+
// TODO: LP
|
322
323
|
}
|
323
324
|
}
|
325
|
+
// TODO: LP
|
324
326
|
function isMarginfiClient(client) {
|
325
327
|
return client.lendingPlatform === generated_1.LendingPlatform.Marginfi;
|
326
328
|
}
|
327
|
-
// TODO:
|
329
|
+
// TODO: LP
|
330
|
+
function isMarginfiPosition(pos) {
|
331
|
+
return pos.lendingPlatform === generated_1.LendingPlatform.Marginfi;
|
332
|
+
}
|
328
333
|
function hasFirstRebalance(rebalanceType) {
|
329
334
|
return [
|
330
335
|
generated_1.SolautoRebalanceType.Regular,
|
package/package.json
CHANGED
@@ -138,14 +138,8 @@ export class RebalanceTxBuilder {
|
|
138
138
|
const { intermediaryLiqUtilizationRateBps } = applyDebtAdjustmentUsd(
|
139
139
|
this.values.debtAdjustmentUsd,
|
140
140
|
{
|
141
|
-
supplyUsd:
|
142
|
-
|
143
|
-
this.client.pos.supplyMint
|
144
|
-
),
|
145
|
-
debtUsd: realtimeUsdToEmaUsd(
|
146
|
-
this.client.pos.debtUsd(PriceType.Realtime),
|
147
|
-
this.client.pos.debtMint
|
148
|
-
),
|
141
|
+
supplyUsd: this.client.pos.supplyUsd(PriceType.Ema),
|
142
|
+
debtUsd: this.client.pos.debtUsd(PriceType.Ema),
|
149
143
|
},
|
150
144
|
fromBps(this.client.pos.state.liqThresholdBps),
|
151
145
|
{
|
@@ -26,7 +26,11 @@ import {
|
|
26
26
|
SolautoMarginfiClient,
|
27
27
|
TxHandlerProps,
|
28
28
|
} from "../services";
|
29
|
-
import {
|
29
|
+
import {
|
30
|
+
createSolautoSettings,
|
31
|
+
MarginfiSolautoPositionEx,
|
32
|
+
SolautoPositionEx,
|
33
|
+
} from "../solautoPosition";
|
30
34
|
import { getReferralState } from "./accountUtils";
|
31
35
|
import {
|
32
36
|
calcTotalDebt,
|
@@ -38,7 +42,10 @@ import {
|
|
38
42
|
} from "./numberUtils";
|
39
43
|
import { fetchTokenPrices } from "./priceUtils";
|
40
44
|
import { validPubkey } from "./generalUtils";
|
41
|
-
import {
|
45
|
+
import {
|
46
|
+
findMarginfiAccounts,
|
47
|
+
getAllMarginfiAccountsByAuthority,
|
48
|
+
} from "./marginfi";
|
42
49
|
|
43
50
|
export function createDynamicSolautoProgram(programId?: PublicKey): Program {
|
44
51
|
return {
|
@@ -440,16 +447,23 @@ export function getClient(
|
|
440
447
|
return new SolautoMarginfiClient(txHandlerProps);
|
441
448
|
} else {
|
442
449
|
throw new Error("Lending platform not yet supported");
|
443
|
-
// TODO:
|
450
|
+
// TODO: LP
|
444
451
|
}
|
445
452
|
}
|
446
453
|
|
454
|
+
// TODO: LP
|
447
455
|
export function isMarginfiClient(
|
448
456
|
client: SolautoClient
|
449
457
|
): client is SolautoMarginfiClient {
|
450
458
|
return client.lendingPlatform === LendingPlatform.Marginfi;
|
451
459
|
}
|
452
|
-
|
460
|
+
|
461
|
+
// TODO: LP
|
462
|
+
export function isMarginfiPosition(
|
463
|
+
pos: SolautoPositionEx
|
464
|
+
): pos is MarginfiSolautoPositionEx {
|
465
|
+
return pos.lendingPlatform === LendingPlatform.Marginfi;
|
466
|
+
}
|
453
467
|
|
454
468
|
export function hasFirstRebalance(rebalanceType: SolautoRebalanceType) {
|
455
469
|
return [
|