@haven-fi/solauto-sdk 1.0.586 → 1.0.588
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/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/services/rebalance/rebalanceTxBuilder.d.ts.map +1 -1
- package/dist/services/rebalance/rebalanceTxBuilder.js +2 -4
- package/dist/types/solauto.d.ts +1 -1
- package/dist/types/solauto.d.ts.map +1 -1
- package/dist/utils/marginfiUtils.d.ts +1 -1
- package/dist/utils/marginfiUtils.d.ts.map +1 -1
- package/dist/utils/marginfiUtils.js +4 -4
- package/dist/utils/solautoUtils.js +2 -2
- package/package.json +1 -1
- package/src/index.ts +3 -0
- package/src/services/rebalance/rebalanceTxBuilder.ts +2 -5
- package/src/types/solauto.ts +1 -1
- package/src/utils/marginfiUtils.ts +4 -4
- package/src/utils/solautoUtils.ts +2 -2
package/dist/index.d.ts
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
export * from "./constants";
|
2
2
|
export * from "./generated/accounts";
|
3
|
+
export * from "./generated/instructions";
|
3
4
|
export * from "./generated/types";
|
4
5
|
export * from "./marginfi-sdk/accounts";
|
6
|
+
export * from "./marginfi-sdk/instructions";
|
7
|
+
export * from "./marginfi-sdk/types";
|
5
8
|
export * from "./services";
|
6
9
|
export * from "./solautoPosition";
|
7
10
|
export * from "./types";
|
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
@@ -16,8 +16,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
__exportStar(require("./constants"), exports);
|
18
18
|
__exportStar(require("./generated/accounts"), exports);
|
19
|
+
__exportStar(require("./generated/instructions"), exports);
|
19
20
|
__exportStar(require("./generated/types"), exports);
|
20
21
|
__exportStar(require("./marginfi-sdk/accounts"), exports);
|
22
|
+
__exportStar(require("./marginfi-sdk/instructions"), exports);
|
23
|
+
__exportStar(require("./marginfi-sdk/types"), exports);
|
21
24
|
__exportStar(require("./services"), exports);
|
22
25
|
__exportStar(require("./solautoPosition"), exports);
|
23
26
|
__exportStar(require("./types"), exports);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rebalanceTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,qBAAqB,EACtB,MAAM,aAAa,CAAC;AA2BrB,qBAAa,kBAAkB;IAO3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,2BAA2B,CAAC;IAPtC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAwB;gBAGrC,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,YAAA;YAGhC,0BAA0B;IAQxC,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,oBAAoB;YAyCd,qBAAqB;IAyCnC,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,gBAAgB;YAgCV,mBAAmB;YAoBnB,sBAAsB;
|
1
|
+
{"version":3,"file":"rebalanceTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/rebalanceTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,qBAAqB,EACtB,MAAM,aAAa,CAAC;AA2BrB,qBAAa,kBAAkB;IAO3B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,2BAA2B,CAAC;IAPtC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAwB;gBAGrC,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,YAAA;YAGhC,0BAA0B;IAQxC,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,oBAAoB;YAyCd,qBAAqB;IAyCnC,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,gBAAgB;YAgCV,mBAAmB;YAoBnB,sBAAsB;YAyBtB,mBAAmB;IAkEpB,gBAAgB,CAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;CAW9C"}
|
@@ -128,13 +128,11 @@ class RebalanceTxBuilder {
|
|
128
128
|
async refreshBeforeRebalance() {
|
129
129
|
if (this.client.selfManaged ||
|
130
130
|
this.client.contextUpdates.supplyAdjustment > BigInt(0) ||
|
131
|
-
this.client.contextUpdates.debtAdjustment > BigInt(0)
|
131
|
+
this.client.contextUpdates.debtAdjustment > BigInt(0) ||
|
132
|
+
!this.client.solautoPosition.exists()) {
|
132
133
|
return false;
|
133
134
|
}
|
134
135
|
// Rebalance ix will already refresh internally if position is self managed
|
135
|
-
if (!this.client.solautoPosition.data().position) {
|
136
|
-
return true;
|
137
|
-
}
|
138
136
|
const utilizationRateDiff = Math.abs(await this.client.solautoPosition.utilizationRateBpsDrift());
|
139
137
|
(0, utils_1.consoleLog)("Liq utilization rate diff:", utilizationRateDiff);
|
140
138
|
if (utilizationRateDiff >= 10) {
|
package/dist/types/solauto.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solauto.d.ts","sourceRoot":"","sources":["../../src/types/solauto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,
|
1
|
+
{"version":3,"file":"solauto.d.ts","sourceRoot":"","sources":["../../src/types/solauto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,WAAW;IAClB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,wBAAwB,EAEhC,kBAAkB,EAAE,CAAC;AAE1B,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,kBAAkB,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,oBAAoB,CAAC;IACpC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC"}
|
@@ -32,7 +32,7 @@ type BanksCache = {
|
|
32
32
|
[mint: string]: Bank;
|
33
33
|
};
|
34
34
|
};
|
35
|
-
export declare function getMarginfiAccountPositionState(umi: Umi,
|
35
|
+
export declare function getMarginfiAccountPositionState(umi: Umi, lpUserAccount: {
|
36
36
|
pk?: PublicKey;
|
37
37
|
data?: MarginfiAccount | null;
|
38
38
|
}, marginfiGroup?: PublicKey, supply?: BankSelection, debt?: BankSelection, contextUpdates?: ContextUpdates): Promise<{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"marginfiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/marginfiUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,IAAI,EAIJ,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AAczB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,UAAU,wBAAyB,SAAQ,qBAAqB;IAC9D,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,GACd,wBAAwB,CAY1B;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,IAAI,EACd,WAAW,EAAE,MAAM,GAClB,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BlB;AAED,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE;IACN,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,EACD,IAAI,EAAE;IACJ,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,EACD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA4C3B;AAED,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,eAAe,EAAE,CAAC,CA6B5B;AAED,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,CAAC,EAAE,SAAS,EACjB,qBAAqB,CAAC,EAAE,OAAO,GAC9B,OAAO,CACR;IAAE,eAAe,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,EAAE,CAC/E,CAyDA;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,kBAAkB,EAAE,OAAO,UAqB5B;AAsDD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,KAAK,UAAU,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,CAAC;AAsBhE,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,GAAG,EACR,
|
1
|
+
{"version":3,"file":"marginfiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/marginfiUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,IAAI,EAIJ,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AAczB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,UAAU,wBAAyB,SAAQ,qBAAqB;IAC9D,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,GACd,wBAAwB,CAY1B;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,IAAI,EACd,WAAW,EAAE,MAAM,GAClB,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BlB;AAED,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE;IACN,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,EACD,IAAI,EAAE;IACJ,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,EACD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA4C3B;AAED,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,eAAe,EAAE,CAAC,CA6B5B;AAED,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,CAAC,EAAE,SAAS,EACjB,qBAAqB,CAAC,EAAE,OAAO,GAC9B,OAAO,CACR;IAAE,eAAe,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,EAAE,CAC/E,CAyDA;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,kBAAkB,EAAE,OAAO,UAqB5B;AAsDD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,KAAK,UAAU,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,CAAC;AAsBhE,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE;IAAE,EAAE,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,EAChE,aAAa,CAAC,EAAE,SAAS,EACzB,MAAM,CAAC,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,aAAa,EACpB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CACN;IAAE,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GACxE,SAAS,CACZ,CAyKA;AA+DD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,oBAU7C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBnE;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,eAAe,WASpE"}
|
@@ -200,10 +200,10 @@ async function getBank(umi, data, marginfiGroup) {
|
|
200
200
|
? await (0, marginfi_sdk_1.safeFetchBank)(umi, (0, umi_1.publicKey)(marginfiAccounts_1.MARGINFI_ACCOUNTS[marginfiGroup?.toString() ?? ""][data?.mint.toString()].bank), { commitment: "confirmed" })
|
201
201
|
: null;
|
202
202
|
}
|
203
|
-
async function getMarginfiAccountPositionState(umi,
|
204
|
-
let marginfiAccount =
|
205
|
-
(
|
206
|
-
? await (0, marginfi_sdk_1.safeFetchMarginfiAccount)(umi, (0, umi_1.publicKey)(
|
203
|
+
async function getMarginfiAccountPositionState(umi, lpUserAccount, marginfiGroup, supply, debt, contextUpdates) {
|
204
|
+
let marginfiAccount = lpUserAccount.data ??
|
205
|
+
(lpUserAccount.pk
|
206
|
+
? await (0, marginfi_sdk_1.safeFetchMarginfiAccount)(umi, (0, umi_1.publicKey)(lpUserAccount.pk), {
|
207
207
|
commitment: "confirmed",
|
208
208
|
})
|
209
209
|
: null);
|
@@ -131,7 +131,7 @@ async function getSolautoManagedPositions(umi, authority, positionTypeFilter) {
|
|
131
131
|
positionId: position.positionId[0],
|
132
132
|
lendingPlatform: position.position.lendingPlatform,
|
133
133
|
positionType: position.positionType,
|
134
|
-
|
134
|
+
lpUserAccount: (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(position.position.protocolUserAccount),
|
135
135
|
supplyMint: tokens[0],
|
136
136
|
debtMint: tokens[1],
|
137
137
|
};
|
@@ -202,7 +202,7 @@ async function getAllPositionsByAuthority(umi, user, positionTypeFilter) {
|
|
202
202
|
positionId: 0,
|
203
203
|
positionType: generated_1.PositionType.Leverage,
|
204
204
|
lendingPlatform: generated_1.LendingPlatform.Marginfi,
|
205
|
-
|
205
|
+
lpUserAccount: x.marginfiAccount,
|
206
206
|
supplyMint: x.supplyMint,
|
207
207
|
debtMint: x.debtMint,
|
208
208
|
}));
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
export * from "./constants";
|
2
2
|
export * from "./generated/accounts";
|
3
|
+
export * from "./generated/instructions";
|
3
4
|
export * from "./generated/types";
|
4
5
|
export * from "./marginfi-sdk/accounts";
|
6
|
+
export * from "./marginfi-sdk/instructions";
|
7
|
+
export * from "./marginfi-sdk/types";
|
5
8
|
export * from "./services";
|
6
9
|
export * from "./solautoPosition";
|
7
10
|
export * from "./types";
|
@@ -224,16 +224,13 @@ export class RebalanceTxBuilder {
|
|
224
224
|
if (
|
225
225
|
this.client.selfManaged ||
|
226
226
|
this.client.contextUpdates.supplyAdjustment > BigInt(0) ||
|
227
|
-
this.client.contextUpdates.debtAdjustment > BigInt(0)
|
227
|
+
this.client.contextUpdates.debtAdjustment > BigInt(0) ||
|
228
|
+
!this.client.solautoPosition.exists()
|
228
229
|
) {
|
229
230
|
return false;
|
230
231
|
}
|
231
232
|
// Rebalance ix will already refresh internally if position is self managed
|
232
233
|
|
233
|
-
if (!this.client.solautoPosition.data().position) {
|
234
|
-
return true;
|
235
|
-
}
|
236
|
-
|
237
234
|
const utilizationRateDiff = Math.abs(
|
238
235
|
await this.client.solautoPosition.utilizationRateBpsDrift()
|
239
236
|
);
|
package/src/types/solauto.ts
CHANGED
@@ -350,7 +350,7 @@ async function getBank(
|
|
350
350
|
|
351
351
|
export async function getMarginfiAccountPositionState(
|
352
352
|
umi: Umi,
|
353
|
-
|
353
|
+
lpUserAccount: { pk?: PublicKey; data?: MarginfiAccount | null },
|
354
354
|
marginfiGroup?: PublicKey,
|
355
355
|
supply?: BankSelection,
|
356
356
|
debt?: BankSelection,
|
@@ -360,9 +360,9 @@ export async function getMarginfiAccountPositionState(
|
|
360
360
|
| undefined
|
361
361
|
> {
|
362
362
|
let marginfiAccount =
|
363
|
-
|
364
|
-
(
|
365
|
-
? await safeFetchMarginfiAccount(umi, publicKey(
|
363
|
+
lpUserAccount.data ??
|
364
|
+
(lpUserAccount.pk
|
365
|
+
? await safeFetchMarginfiAccount(umi, publicKey(lpUserAccount.pk), {
|
366
366
|
commitment: "confirmed",
|
367
367
|
})
|
368
368
|
: null);
|
@@ -192,7 +192,7 @@ export async function getSolautoManagedPositions(
|
|
192
192
|
positionId: position.positionId[0],
|
193
193
|
lendingPlatform: position.position.lendingPlatform,
|
194
194
|
positionType: position.positionType,
|
195
|
-
|
195
|
+
lpUserAccount: toWeb3JsPublicKey(position.position.protocolUserAccount),
|
196
196
|
supplyMint: tokens![0],
|
197
197
|
debtMint: tokens![1],
|
198
198
|
};
|
@@ -296,7 +296,7 @@ export async function getAllPositionsByAuthority(
|
|
296
296
|
positionId: 0,
|
297
297
|
positionType: PositionType.Leverage,
|
298
298
|
lendingPlatform: LendingPlatform.Marginfi,
|
299
|
-
|
299
|
+
lpUserAccount: x.marginfiAccount,
|
300
300
|
supplyMint: x.supplyMint,
|
301
301
|
debtMint: x.debtMint,
|
302
302
|
}));
|