@haven-fi/solauto-sdk 1.0.684 → 1.0.685
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/README.md +2 -3
- package/dist/services/rebalance/rebalanceTxBuilder.js +1 -1
- package/dist/services/solauto/solautoClient.d.ts +8 -0
- package/dist/services/solauto/solautoClient.d.ts.map +1 -1
- package/dist/services/solauto/solautoClient.js +12 -0
- package/dist/solautoPosition/positionUtils.js +1 -1
- package/local/txSandbox.ts +1 -1
- package/package.json +1 -1
- package/src/services/rebalance/rebalanceTxBuilder.ts +1 -1
- package/src/services/solauto/solautoClient.ts +38 -0
- package/src/solautoPosition/positionUtils.ts +1 -1
- package/tests/transactions/shared.ts +1 -1
package/README.md
CHANGED
@@ -17,7 +17,7 @@ const client = solauto.getClient(solauto.LendingPlatform.MARGINFI, {
|
|
17
17
|
// Initialize the client
|
18
18
|
const supplyMint = new PublicKey(NATIVE_MINT);
|
19
19
|
const debtMint = new PublicKey(USDC);
|
20
|
-
await client.
|
20
|
+
await client.initializeNewSolautoPosition({
|
21
21
|
positionId: 1,
|
22
22
|
lpPoolAccount: solauto.getMarginfiAccounts().defaultGroup,
|
23
23
|
supplyMint,
|
@@ -84,9 +84,8 @@ const client = solauto.getClient(solauto.LendingPlatform.MARGINFI, {
|
|
84
84
|
});
|
85
85
|
|
86
86
|
// Initialize the client
|
87
|
-
await client.
|
87
|
+
await client.initializeExistingSolautoPosition({
|
88
88
|
positionId: myPositionId,
|
89
|
-
authority: "[POSITION AUTHORITY]",
|
90
89
|
});
|
91
90
|
|
92
91
|
const transactionItems = [
|
@@ -178,7 +178,7 @@ class RebalanceTxBuilder {
|
|
178
178
|
// Rebalance ix will already refresh internally if position is self managed
|
179
179
|
const utilizationRateDiff = Math.abs(await this.client.pos.utilizationRateBpsDrift(this.priceType));
|
180
180
|
(0, utils_1.consoleLog)("Liq utilization rate diff:", utilizationRateDiff);
|
181
|
-
if (utilizationRateDiff >=
|
181
|
+
if (utilizationRateDiff >= 5) {
|
182
182
|
(0, utils_1.consoleLog)("Refreshing before rebalance");
|
183
183
|
return true;
|
184
184
|
}
|
@@ -14,6 +14,10 @@ export interface SolautoClientArgs extends ReferralStateManagerArgs {
|
|
14
14
|
lpPoolAccount?: PublicKey;
|
15
15
|
lpUserAccount?: PublicKey;
|
16
16
|
}
|
17
|
+
export type ExistingSolautoPositionArgs = Required<Pick<SolautoClientArgs, "positionId">> & Partial<Pick<SolautoClientArgs, "authority">>;
|
18
|
+
export type NewSolautoPositionArgs = Required<Pick<SolautoClientArgs, "positionId" | "supplyMint" | "debtMint" | "lpPoolAccount">>;
|
19
|
+
export type ExistingSelfManagedPositionArgs = Required<Pick<SolautoClientArgs, "lpUserAccount">>;
|
20
|
+
export type NewSelfManagedPositionArgs = Required<Pick<SolautoClientArgs, "supplyMint" | "debtMint" | "lpPoolAccount">>;
|
17
21
|
export declare abstract class SolautoClient extends ReferralStateManager {
|
18
22
|
lendingPlatform: LendingPlatform;
|
19
23
|
lpEnv: ProgramEnv;
|
@@ -30,6 +34,10 @@ export declare abstract class SolautoClient extends ReferralStateManager {
|
|
30
34
|
contextUpdates: ContextUpdates;
|
31
35
|
private signerSupplyBalance;
|
32
36
|
private signerDebtBalance;
|
37
|
+
initializeExistingSolautoPosition(args: ExistingSolautoPositionArgs): Promise<void>;
|
38
|
+
initializeNewSolautoPosition(args: NewSolautoPositionArgs): Promise<void>;
|
39
|
+
initializeExistingSelfManagedPosition(args: ExistingSelfManagedPositionArgs): Promise<void>;
|
40
|
+
initializeNewSelfManagedPosition(args: NewSelfManagedPositionArgs): Promise<void>;
|
33
41
|
initialize(args: SolautoClientArgs): Promise<void>;
|
34
42
|
referredBySupplyTa(): PublicKey | undefined;
|
35
43
|
referredByDebtTa(): PublicKey | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoClient.d.ts","sourceRoot":"","sources":["../../../src/services/solauto/solautoClient.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAA6B,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAMnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,gCAAgC,EAEhC,sBAAsB,EAGvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKL,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,8BAAsB,aAAc,SAAQ,oBAAoB;IACvD,eAAe,EAAG,eAAe,CAAC;IAClC,KAAK,EAAG,UAAU,CAAC;IAEnB,SAAS,EAAG,SAAS,CAAC;IAEtB,GAAG,EAAG,iBAAiB,CAAC;IAExB,gBAAgB,EAAG,SAAS,CAAC;IAC7B,cAAc,EAAG,SAAS,CAAC;IAE3B,cAAc,EAAG,SAAS,CAAC;IAC3B,YAAY,EAAG,SAAS,CAAC;IAEzB,mBAAmB,EAAG,SAAS,CAAC;IAChC,iBAAiB,EAAG,SAAS,CAAC;IAE9B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAEhC,UAAU,EAAG,oBAAoB,CAAC;IAClC,cAAc,EAAE,cAAc,CAAwB;IAE7D,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,iBAAiB,CAAqB;IAExC,UAAU,CAAC,IAAI,EAAE,iBAAiB;IAyExC,kBAAkB,IAAI,SAAS,GAAG,SAAS;IAO3C,gBAAgB,IAAI,SAAS,GAAG,SAAS;IAOnC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO;IAe1C,mBAAmB,IAAI,MAAM,EAAE;IAS/B,gBAAgB,IAAI,SAAS,EAAE;IAezB,iCAAiC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAUzD,iBAAiB,IAAI,OAAO,CAC9B;QACE,EAAE,EAAE,kBAAkB,CAAC;QACvB,GAAG,EAAE,OAAO,CAAC;QACb,aAAa,EAAE,SAAS,EAAE,CAAC;KAC5B,GACD,SAAS,CACZ;IAgEK,cAAc,IAAI,OAAO,CAAC;QAC9B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAgBF,cAAc,CACZ,QAAQ,CAAC,EAAE,gCAAgC,EAC3C,GAAG,CAAC,EAAE,kBAAkB,GACvB,kBAAkB;IA0BrB,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB;IAsDlE,QAAQ,CAAC,eAAe,IAAI,kBAAkB;IAE9C,WAAW,IAAI,kBAAkB;IAcjC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;IAE5D,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB;IAqFlE,QAAQ,CAAC,WAAW,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,gBAAgB,GACrB,kBAAkB;CACtB"}
|
1
|
+
{"version":3,"file":"solautoClient.d.ts","sourceRoot":"","sources":["../../../src/services/solauto/solautoClient.ts"],"names":[],"mappings":"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"}
|
@@ -16,6 +16,18 @@ class SolautoClient extends referralStateManager_1.ReferralStateManager {
|
|
16
16
|
super(...arguments);
|
17
17
|
this.contextUpdates = new utils_1.ContextUpdates();
|
18
18
|
}
|
19
|
+
async initializeExistingSolautoPosition(args) {
|
20
|
+
await this.initialize(args);
|
21
|
+
}
|
22
|
+
async initializeNewSolautoPosition(args) {
|
23
|
+
await this.initialize(args);
|
24
|
+
}
|
25
|
+
async initializeExistingSelfManagedPosition(args) {
|
26
|
+
await this.initialize(args);
|
27
|
+
}
|
28
|
+
async initializeNewSelfManagedPosition(args) {
|
29
|
+
await this.initialize(args);
|
30
|
+
}
|
19
31
|
async initialize(args) {
|
20
32
|
await super.initialize(args);
|
21
33
|
const positionId = args.positionId ?? 0;
|
@@ -115,7 +115,7 @@ function createFakePositionState(supply, debt, maxLtvBps, liqThresholdBps) {
|
|
115
115
|
},
|
116
116
|
maxLtvBps,
|
117
117
|
liqThresholdBps,
|
118
|
-
lastRefreshed: BigInt((0, utils_1.currentUnixSeconds)()),
|
118
|
+
lastRefreshed: BigInt((0, utils_1.currentUnixSeconds)() - 100),
|
119
119
|
padding1: [],
|
120
120
|
padding2: [],
|
121
121
|
padding: [],
|
package/local/txSandbox.ts
CHANGED
@@ -46,7 +46,7 @@ export async function main() {
|
|
46
46
|
lpEnv,
|
47
47
|
});
|
48
48
|
|
49
|
-
await client.
|
49
|
+
await client.initializeExistingSolautoPosition({
|
50
50
|
positionId: 3,
|
51
51
|
authority: new PublicKey("61rtn5tzVkesapo6Cz83SPoShUfAePSxJsqniuF2wRKC"),
|
52
52
|
// lpUserAccount: new PublicKey(
|
package/package.json
CHANGED
@@ -311,7 +311,7 @@ export class RebalanceTxBuilder {
|
|
311
311
|
);
|
312
312
|
consoleLog("Liq utilization rate diff:", utilizationRateDiff);
|
313
313
|
|
314
|
-
if (utilizationRateDiff >=
|
314
|
+
if (utilizationRateDiff >= 5) {
|
315
315
|
consoleLog("Refreshing before rebalance");
|
316
316
|
return true;
|
317
317
|
}
|
@@ -48,6 +48,26 @@ export interface SolautoClientArgs extends ReferralStateManagerArgs {
|
|
48
48
|
lpUserAccount?: PublicKey;
|
49
49
|
}
|
50
50
|
|
51
|
+
export type ExistingSolautoPositionArgs = Required<
|
52
|
+
Pick<SolautoClientArgs, "positionId">
|
53
|
+
> &
|
54
|
+
Partial<Pick<SolautoClientArgs, "authority">>;
|
55
|
+
|
56
|
+
export type NewSolautoPositionArgs = Required<
|
57
|
+
Pick<
|
58
|
+
SolautoClientArgs,
|
59
|
+
"positionId" | "supplyMint" | "debtMint" | "lpPoolAccount"
|
60
|
+
>
|
61
|
+
>;
|
62
|
+
|
63
|
+
export type ExistingSelfManagedPositionArgs = Required<
|
64
|
+
Pick<SolautoClientArgs, "lpUserAccount">
|
65
|
+
>;
|
66
|
+
|
67
|
+
export type NewSelfManagedPositionArgs = Required<
|
68
|
+
Pick<SolautoClientArgs, "supplyMint" | "debtMint" | "lpPoolAccount">
|
69
|
+
>;
|
70
|
+
|
51
71
|
export abstract class SolautoClient extends ReferralStateManager {
|
52
72
|
public lendingPlatform!: LendingPlatform;
|
53
73
|
public lpEnv!: ProgramEnv;
|
@@ -73,6 +93,24 @@ export abstract class SolautoClient extends ReferralStateManager {
|
|
73
93
|
private signerSupplyBalance: bigint | undefined;
|
74
94
|
private signerDebtBalance: bigint | undefined;
|
75
95
|
|
96
|
+
async initializeExistingSolautoPosition(args: ExistingSolautoPositionArgs) {
|
97
|
+
await this.initialize(args);
|
98
|
+
}
|
99
|
+
|
100
|
+
async initializeNewSolautoPosition(args: NewSolautoPositionArgs) {
|
101
|
+
await this.initialize(args);
|
102
|
+
}
|
103
|
+
|
104
|
+
async initializeExistingSelfManagedPosition(
|
105
|
+
args: ExistingSelfManagedPositionArgs
|
106
|
+
) {
|
107
|
+
await this.initialize(args);
|
108
|
+
}
|
109
|
+
|
110
|
+
async initializeNewSelfManagedPosition(args: NewSelfManagedPositionArgs) {
|
111
|
+
await this.initialize(args);
|
112
|
+
}
|
113
|
+
|
76
114
|
async initialize(args: SolautoClientArgs) {
|
77
115
|
await super.initialize(args);
|
78
116
|
|
@@ -41,7 +41,7 @@ export async function e2eTransactionTest(
|
|
41
41
|
const supplyMint = new PublicKey(NATIVE_MINT);
|
42
42
|
const debtMint = new PublicKey(USDC);
|
43
43
|
|
44
|
-
await client.
|
44
|
+
await client.initializeNewSolautoPosition({
|
45
45
|
positionId: 1,
|
46
46
|
lpPoolAccount: getMarginfiAccounts().defaultGroup,
|
47
47
|
supplyMint,
|