@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 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.initialize({
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.initialize({
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 >= 10) {
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: [],
@@ -46,7 +46,7 @@ export async function main() {
46
46
  lpEnv,
47
47
  });
48
48
 
49
- await client.initialize({
49
+ await client.initializeExistingSolautoPosition({
50
50
  positionId: 3,
51
51
  authority: new PublicKey("61rtn5tzVkesapo6Cz83SPoShUfAePSxJsqniuF2wRKC"),
52
52
  // lpUserAccount: new PublicKey(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.684",
3
+ "version": "1.0.685",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "Typescript SDK for the Solauto program on the Solana blockchain",
@@ -311,7 +311,7 @@ export class RebalanceTxBuilder {
311
311
  );
312
312
  consoleLog("Liq utilization rate diff:", utilizationRateDiff);
313
313
 
314
- if (utilizationRateDiff >= 10) {
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
 
@@ -198,7 +198,7 @@ export function createFakePositionState(
198
198
  },
199
199
  maxLtvBps,
200
200
  liqThresholdBps,
201
- lastRefreshed: BigInt(currentUnixSeconds()),
201
+ lastRefreshed: BigInt(currentUnixSeconds() - 100),
202
202
  padding1: [],
203
203
  padding2: [],
204
204
  padding: [],
@@ -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.initialize({
44
+ await client.initializeNewSolautoPosition({
45
45
  positionId: 1,
46
46
  lpPoolAccount: getMarginfiAccounts().defaultGroup,
47
47
  supplyMint,