@haven-fi/solauto-sdk 1.0.118 → 1.0.119

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"solautoClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solautoClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoClient.ts"],"names":[],"mappings":"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"}
@@ -42,20 +42,24 @@ class SolautoClient extends txHandler_1.TxHandler {
42
42
  this.solautoPositionData = await (0, generated_1.safeFetchSolautoPosition)(this.umi, (0, umi_1.publicKey)(this.solautoPosition), { commitment: "confirmed" });
43
43
  this.solautoPositionState = this.solautoPositionData?.state;
44
44
  this.supplyMint =
45
- (args.supplyMint ??
46
- this.solautoPositionData) ? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.solautoPositionData.position.supplyMint) : web3_js_1.PublicKey.default;
45
+ args.supplyMint ??
46
+ (this.solautoPositionData
47
+ ? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.solautoPositionData.position.supplyMint)
48
+ : web3_js_1.PublicKey.default);
47
49
  this.positionSupplyTa = (0, accountUtils_1.getTokenAccount)(this.solautoPosition, this.supplyMint);
48
50
  this.signerSupplyTa = (0, accountUtils_1.getTokenAccount)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.signer.publicKey), this.supplyMint);
49
51
  this.debtMint =
50
- (args.debtMint ??
51
- this.solautoPositionData) ? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.solautoPositionData.position.debtMint) : web3_js_1.PublicKey.default;
52
+ args.debtMint ??
53
+ (this.solautoPositionData
54
+ ? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.solautoPositionData.position.debtMint)
55
+ : web3_js_1.PublicKey.default);
52
56
  this.positionDebtTa = (0, accountUtils_1.getTokenAccount)(this.solautoPosition, this.debtMint);
53
57
  this.signerDebtTa = (0, accountUtils_1.getTokenAccount)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.signer.publicKey), this.debtMint);
54
58
  this.referralStateManager = new referralStateManager_1.ReferralStateManager(this.heliusApiKey);
55
59
  await this.referralStateManager.initialize({
56
60
  referralAuthority: this.authority,
57
61
  signer: args.signer,
58
- wallet: args.wallet
62
+ wallet: args.wallet,
59
63
  });
60
64
  const authorityReferralStateData = this.referralStateManager.referralStateData;
61
65
  const hasReferredBy = authorityReferralStateData &&
@@ -77,9 +81,11 @@ class SolautoClient extends txHandler_1.TxHandler {
77
81
  }
78
82
  this.solautoFeesWallet = generalAccounts_1.SOLAUTO_FEES_WALLET;
79
83
  this.solautoFeesSupplyTa = (0, accountUtils_1.getTokenAccount)(this.solautoFeesWallet, this.supplyMint);
80
- this.authorityLutAddress = authorityReferralStateData?.lookupTable && !(0, umi_web3js_adapters_1.toWeb3JsPublicKey)(authorityReferralStateData.lookupTable).equals(web3_js_1.PublicKey.default)
81
- ? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(authorityReferralStateData.lookupTable)
82
- : undefined;
84
+ this.authorityLutAddress =
85
+ authorityReferralStateData?.lookupTable &&
86
+ !(0, umi_web3js_adapters_1.toWeb3JsPublicKey)(authorityReferralStateData.lookupTable).equals(web3_js_1.PublicKey.default)
87
+ ? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(authorityReferralStateData.lookupTable)
88
+ : undefined;
83
89
  this.log("Position state: ", this.solautoPositionState);
84
90
  this.log("Position settings: ", this.solautoPositionData?.position?.settingParams);
85
91
  this.log("Position DCA: ", (this.solautoPositionData?.position?.dca?.automation?.targetPeriods ??
@@ -107,7 +113,12 @@ class SolautoClient extends txHandler_1.TxHandler {
107
113
  this.livePositionUpdates.reset();
108
114
  }
109
115
  defaultLookupTables() {
110
- return [solautoConstants_1.SOLAUTO_LUT, ...(this.authorityLutAddress ? [this.authorityLutAddress.toString()] : [])];
116
+ return [
117
+ solautoConstants_1.SOLAUTO_LUT,
118
+ ...(this.authorityLutAddress
119
+ ? [this.authorityLutAddress.toString()]
120
+ : []),
121
+ ];
111
122
  }
112
123
  lutAccountsToAdd() {
113
124
  return [
@@ -255,7 +266,7 @@ class SolautoClient extends txHandler_1.TxHandler {
255
266
  positionSupplyTa: (0, umi_1.publicKey)(this.positionSupplyTa),
256
267
  positionDebtTa: (0, umi_1.publicKey)(this.positionDebtTa),
257
268
  signerDebtTa: (0, umi_1.publicKey)(this.signerDebtTa),
258
- protocolAccount: (0, umi_1.publicKey)(this.protocolAccount())
269
+ protocolAccount: (0, umi_1.publicKey)(this.protocolAccount()),
259
270
  });
260
271
  }
261
272
  cancelDCAIx() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.118",
3
+ "version": "1.0.119",
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",
@@ -1,8 +1,5 @@
1
1
  import "rpc-websockets/dist/lib/client";
2
- import {
3
- AddressLookupTableProgram,
4
- PublicKey,
5
- } from "@solana/web3.js";
2
+ import { AddressLookupTableProgram, PublicKey } from "@solana/web3.js";
6
3
  import {
7
4
  Signer,
8
5
  TransactionBuilder,
@@ -40,9 +37,7 @@ import {
40
37
  getSolautoPositionAccount,
41
38
  getTokenAccount,
42
39
  } from "../utils/accountUtils";
43
- import {
44
- SOLAUTO_FEES_WALLET,
45
- } from "../constants/generalAccounts";
40
+ import { SOLAUTO_FEES_WALLET } from "../constants/generalAccounts";
46
41
  import { JupSwapDetails } from "../utils/jupiterUtils";
47
42
  import {
48
43
  getWrappedInstruction,
@@ -145,7 +140,9 @@ export abstract class SolautoClient extends TxHandler {
145
140
 
146
141
  this.supplyMint =
147
142
  args.supplyMint ??
148
- this.solautoPositionData ? toWeb3JsPublicKey(this.solautoPositionData!.position.supplyMint) : PublicKey.default;
143
+ (this.solautoPositionData
144
+ ? toWeb3JsPublicKey(this.solautoPositionData!.position.supplyMint)
145
+ : PublicKey.default);
149
146
  this.positionSupplyTa = getTokenAccount(
150
147
  this.solautoPosition,
151
148
  this.supplyMint
@@ -157,29 +154,32 @@ export abstract class SolautoClient extends TxHandler {
157
154
 
158
155
  this.debtMint =
159
156
  args.debtMint ??
160
- this.solautoPositionData ? toWeb3JsPublicKey(this.solautoPositionData!.position.debtMint) : PublicKey.default;
157
+ (this.solautoPositionData
158
+ ? toWeb3JsPublicKey(this.solautoPositionData!.position.debtMint)
159
+ : PublicKey.default);
161
160
  this.positionDebtTa = getTokenAccount(this.solautoPosition, this.debtMint);
162
161
  this.signerDebtTa = getTokenAccount(
163
162
  toWeb3JsPublicKey(this.signer.publicKey),
164
163
  this.debtMint
165
164
  );
166
165
 
167
- this.referralStateManager = new ReferralStateManager(this.heliusApiKey)
166
+ this.referralStateManager = new ReferralStateManager(this.heliusApiKey);
168
167
  await this.referralStateManager.initialize({
169
168
  referralAuthority: this.authority,
170
169
  signer: args.signer,
171
- wallet: args.wallet
170
+ wallet: args.wallet,
172
171
  });
173
172
 
174
- const authorityReferralStateData = this.referralStateManager.referralStateData;
173
+ const authorityReferralStateData =
174
+ this.referralStateManager.referralStateData;
175
175
  const hasReferredBy =
176
176
  authorityReferralStateData &&
177
177
  authorityReferralStateData.referredByState !==
178
- publicKey(PublicKey.default);
178
+ publicKey(PublicKey.default);
179
179
  const referredByAuthority =
180
180
  !hasReferredBy &&
181
- args.referredByAuthority &&
182
- !args.referredByAuthority.equals(toWeb3JsPublicKey(this.signer.publicKey))
181
+ args.referredByAuthority &&
182
+ !args.referredByAuthority.equals(toWeb3JsPublicKey(this.signer.publicKey))
183
183
  ? args.referredByAuthority
184
184
  : undefined;
185
185
  this.referredByState = hasReferredBy
@@ -201,9 +201,13 @@ export abstract class SolautoClient extends TxHandler {
201
201
  this.supplyMint
202
202
  );
203
203
 
204
- this.authorityLutAddress = authorityReferralStateData?.lookupTable && !toWeb3JsPublicKey(authorityReferralStateData.lookupTable).equals(PublicKey.default)
205
- ? toWeb3JsPublicKey(authorityReferralStateData.lookupTable)
206
- : undefined;
204
+ this.authorityLutAddress =
205
+ authorityReferralStateData?.lookupTable &&
206
+ !toWeb3JsPublicKey(authorityReferralStateData.lookupTable).equals(
207
+ PublicKey.default
208
+ )
209
+ ? toWeb3JsPublicKey(authorityReferralStateData.lookupTable)
210
+ : undefined;
207
211
 
208
212
  this.log("Position state: ", this.solautoPositionState);
209
213
  this.log(
@@ -244,7 +248,12 @@ export abstract class SolautoClient extends TxHandler {
244
248
  abstract protocolAccount(): PublicKey;
245
249
 
246
250
  defaultLookupTables(): string[] {
247
- return [SOLAUTO_LUT, ...(this.authorityLutAddress ? [this.authorityLutAddress.toString()] : [])];
251
+ return [
252
+ SOLAUTO_LUT,
253
+ ...(this.authorityLutAddress
254
+ ? [this.authorityLutAddress.toString()]
255
+ : []),
256
+ ];
248
257
  }
249
258
 
250
259
  lutAccountsToAdd(): PublicKey[] {
@@ -324,7 +333,7 @@ export abstract class SolautoClient extends TxHandler {
324
333
  const addingReferredBy =
325
334
  accountsToAdd.length === 1 &&
326
335
  accountsToAdd[0].toString().toLowerCase() ===
327
- this.referredBySupplyTa?.toString().toLowerCase();
336
+ this.referredBySupplyTa?.toString().toLowerCase();
328
337
 
329
338
  if (tx.getInstructions().length > 0) {
330
339
  this.log("Updating authority lookup table...");
@@ -440,7 +449,7 @@ export abstract class SolautoClient extends TxHandler {
440
449
  positionSupplyTa: publicKey(this.positionSupplyTa),
441
450
  positionDebtTa: publicKey(this.positionDebtTa),
442
451
  signerDebtTa: publicKey(this.signerDebtTa),
443
- protocolAccount: publicKey(this.protocolAccount())
452
+ protocolAccount: publicKey(this.protocolAccount()),
444
453
  });
445
454
  }
446
455
 
@@ -509,7 +518,7 @@ export abstract class SolautoClient extends TxHandler {
509
518
  BigInt(
510
519
  Math.round(
511
520
  Number(this.solautoPositionState!.debt.amountUsed.baseUnit) *
512
- 1.01
521
+ 1.01
513
522
  )
514
523
  )
515
524
  )
@@ -582,7 +591,7 @@ export abstract class SolautoClient extends TxHandler {
582
591
  Boolean(this.solautoPositionData) &&
583
592
  Boolean(this.solautoPositionState) &&
584
593
  Number(this.solautoPositionState!.lastUpdated) >
585
- currentUnixSeconds() - MIN_POSITION_STATE_FRESHNESS_SECS &&
594
+ currentUnixSeconds() - MIN_POSITION_STATE_FRESHNESS_SECS &&
586
595
  !this.livePositionUpdates.hasUpdates()
587
596
  ) {
588
597
  return this.solautoPositionState;