@haven-fi/solauto-sdk 1.0.115 → 1.0.116

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.
@@ -1 +1 @@
1
- {"version":3,"file":"transactionUtils.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAKxE,OAAO,EAEL,aAAa,EASd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAuMzD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,EACtB,sBAAsB,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CA8G7B;AAkLD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,GACrB,OAAO,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CA4BnD;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IACT,EAAE,EAAE,kBAAkB,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,GACG,SAAS,CACZ,CAwHA;AAED,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,SAAS,GACtB,OAAO,CAAC,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAmCrD"}
1
+ {"version":3,"file":"transactionUtils.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,GAAG,EAGJ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAKxE,OAAO,EAEL,aAAa,EASd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAuMzD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,EACtB,sBAAsB,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CA+G7B;AAkLD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,kBAAkB,GACrB,OAAO,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CA4BnD;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,aAAa,EACrB,2BAA2B,CAAC,EAAE,MAAM,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IACT,EAAE,EAAE,kBAAkB,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,GACG,SAAS,CACZ,CAwHA;AAED,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,SAAS,GACtB,OAAO,CAAC,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAmCrD"}
@@ -149,6 +149,7 @@ async function rebalanceChoresBefore(client, tx, accountsGettingCreated) {
149
149
  }
150
150
  if (checkIntermediaryMfiAccount &&
151
151
  !(0, generalUtils_1.rpcAccountCreated)(intermediaryMarginfiAccount)) {
152
+ client.log("Creating intermediary marginfi account");
152
153
  chores = chores.add(client.createIntermediaryMarginfiAccount());
153
154
  }
154
155
  if (checkSignerSupplyTa &&
@@ -1,7 +1,7 @@
1
1
  import { AddressLookupTableInput, TransactionBuilder, Umi } from "@metaplex-foundation/umi";
2
2
  import { SolautoClient } from "../clients/solautoClient";
3
3
  import { ErrorsToThrow } from "../utils/generalUtils";
4
- import { PriorityFeeSetting } from "../types";
4
+ import { PriorityFeeSetting, TransactionRunType } from "../types";
5
5
  import { ReferralStateManager, TxHandler } from "../clients";
6
6
  declare class LookupTables {
7
7
  defaultLuts: string[];
@@ -39,11 +39,11 @@ declare class TransactionSet {
39
39
  name(): string;
40
40
  }
41
41
  export declare enum TransactionStatus {
42
- Skipped = 0,
43
- Processing = 1,
44
- AwaitingSignature = 2,
45
- Queued = 3,
46
- Successful = 4
42
+ Skipped = "Skipped",
43
+ Processing = "Processing",
44
+ AwaitingSignature = "Awaiting Signature",
45
+ Queued = "Queued",
46
+ Successful = "Successful"
47
47
  }
48
48
  export type TransactionManagerStatuses = {
49
49
  name: string;
@@ -53,12 +53,12 @@ export type TransactionManagerStatuses = {
53
53
  export declare class TransactionsManager {
54
54
  private txHandler;
55
55
  private statusCallback?;
56
- private simulateOnly?;
56
+ private txType?;
57
57
  private mustBeAtomic?;
58
58
  private errorsToThrow?;
59
59
  private statuses;
60
60
  private lookupTables;
61
- constructor(txHandler: SolautoClient | ReferralStateManager, statusCallback?: ((statuses: TransactionManagerStatuses) => void) | undefined, simulateOnly?: boolean | undefined, mustBeAtomic?: boolean | undefined, errorsToThrow?: ErrorsToThrow | undefined);
61
+ constructor(txHandler: SolautoClient | ReferralStateManager, statusCallback?: ((statuses: TransactionManagerStatuses) => void) | undefined, txType?: TransactionRunType | undefined, mustBeAtomic?: boolean | undefined, errorsToThrow?: ErrorsToThrow | undefined);
62
62
  private assembleTransactionSets;
63
63
  updateStatus(name: string, status: TransactionStatus, txSig?: string): void;
64
64
  debugAccounts(itemSet: TransactionSet, tx: TransactionBuilder): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionsManager.ts"],"names":[],"mappings":"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"}
@@ -109,17 +109,17 @@ class TransactionSet {
109
109
  }
110
110
  var TransactionStatus;
111
111
  (function (TransactionStatus) {
112
- TransactionStatus[TransactionStatus["Skipped"] = 0] = "Skipped";
113
- TransactionStatus[TransactionStatus["Processing"] = 1] = "Processing";
114
- TransactionStatus[TransactionStatus["AwaitingSignature"] = 2] = "AwaitingSignature";
115
- TransactionStatus[TransactionStatus["Queued"] = 3] = "Queued";
116
- TransactionStatus[TransactionStatus["Successful"] = 4] = "Successful";
112
+ TransactionStatus["Skipped"] = "Skipped";
113
+ TransactionStatus["Processing"] = "Processing";
114
+ TransactionStatus["AwaitingSignature"] = "Awaiting Signature";
115
+ TransactionStatus["Queued"] = "Queued";
116
+ TransactionStatus["Successful"] = "Successful";
117
117
  })(TransactionStatus || (exports.TransactionStatus = TransactionStatus = {}));
118
118
  class TransactionsManager {
119
- constructor(txHandler, statusCallback, simulateOnly, mustBeAtomic, errorsToThrow) {
119
+ constructor(txHandler, statusCallback, txType, mustBeAtomic, errorsToThrow) {
120
120
  this.txHandler = txHandler;
121
121
  this.statusCallback = statusCallback;
122
- this.simulateOnly = simulateOnly;
122
+ this.txType = txType;
123
123
  this.mustBeAtomic = mustBeAtomic;
124
124
  this.errorsToThrow = errorsToThrow;
125
125
  this.statuses = [];
@@ -197,7 +197,7 @@ class TransactionsManager {
197
197
  updateLookupTable.updateLutTx.getInstructions().length > 0 &&
198
198
  updateLookupTable?.needsToBeIsolated) {
199
199
  this.updateStatus(updateLutTxName, TransactionStatus.Processing);
200
- await (0, generalUtils_1.retryWithExponentialBackoff)(async (attemptNum) => await (0, solanaUtils_1.sendSingleOptimizedTransaction)(this.txHandler.umi, this.txHandler.connection, updateLookupTable.updateLutTx, this.simulateOnly, attemptNum, prioritySetting, () => this.updateStatus(updateLutTxName, TransactionStatus.AwaitingSignature)), 3, 150, this.errorsToThrow);
200
+ await (0, generalUtils_1.retryWithExponentialBackoff)(async (attemptNum) => await (0, solanaUtils_1.sendSingleOptimizedTransaction)(this.txHandler.umi, this.txHandler.connection, updateLookupTable.updateLutTx, this.txType, attemptNum, prioritySetting, () => this.updateStatus(updateLutTxName, TransactionStatus.AwaitingSignature)), 3, 150, this.errorsToThrow);
201
201
  this.updateStatus(updateLutTxName, TransactionStatus.Successful);
202
202
  }
203
203
  this.lookupTables.defaultLuts = client.defaultLookupTables();
@@ -226,7 +226,7 @@ class TransactionsManager {
226
226
  client.resetLiveTxUpdates(false);
227
227
  throw e;
228
228
  });
229
- if (!this.simulateOnly) {
229
+ if (this.txType !== "only-simulate") {
230
230
  await client.resetLiveTxUpdates();
231
231
  }
232
232
  }
@@ -256,7 +256,7 @@ class TransactionsManager {
256
256
  // this.updateStatus(set.name(), TransactionStatus.Successful);
257
257
  // });
258
258
  }
259
- else if (!this.simulateOnly || itemSets.length === 1) {
259
+ else if (this.txType !== "only-simulate" || itemSets.length === 1) {
260
260
  for (let i = 0; i < itemSets.length; i++) {
261
261
  const getFreshItemSet = async (itemSet, attemptNum) => {
262
262
  await itemSet.refetchAll(attemptNum);
@@ -295,7 +295,7 @@ class TransactionsManager {
295
295
  if (this.txHandler.localTest) {
296
296
  await this.debugAccounts(itemSet, tx);
297
297
  }
298
- const txSig = await (0, solanaUtils_1.sendSingleOptimizedTransaction)(this.txHandler.umi, this.txHandler.connection, tx, this.simulateOnly, attemptNum, prioritySetting, () => this.updateStatus(itemSet.name(), TransactionStatus.AwaitingSignature));
298
+ const txSig = await (0, solanaUtils_1.sendSingleOptimizedTransaction)(this.txHandler.umi, this.txHandler.connection, tx, this.txType, attemptNum, prioritySetting, () => this.updateStatus(itemSet.name(), TransactionStatus.AwaitingSignature));
299
299
  this.updateStatus(itemSet.name(), TransactionStatus.Successful, txSig ? bs58_1.default.encode(txSig) : undefined);
300
300
  }
301
301
  }, 4, 150, this.errorsToThrow);
@@ -14,4 +14,5 @@ export declare enum PriorityFeeSetting {
14
14
  High = "High"
15
15
  }
16
16
  export type RebalanceAction = "boost" | "repay" | "dca";
17
+ export type TransactionRunType = "skip-simulation" | "only-simulate" | "normal";
17
18
  //# sourceMappingURL=solauto.d.ts.map
@@ -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,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,oBAAY,kBAAkB;IAC5B,OAAO,WAAW;IAClB,IAAI,SAAS;CACd;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC"}
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,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,oBAAY,kBAAkB;IAC5B,OAAO,WAAW;IAClB,IAAI,SAAS;CACd;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { AddressLookupTableInput, Signer, TransactionBuilder, Umi, WrappedInstruction } from "@metaplex-foundation/umi";
2
2
  import { Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
3
- import { PriorityFeeSetting } from "../types";
3
+ import { PriorityFeeSetting, TransactionRunType } from "../types";
4
4
  export declare function getSolanaRpcConnection(heliusApiKey: string): [Connection, Umi];
5
5
  export declare function currentUnixSecondsSolana(umi: Umi): Promise<number>;
6
6
  export declare function getWrappedInstruction(signer: Signer, ix: TransactionInstruction): WrappedInstruction;
@@ -13,5 +13,5 @@ export declare function splTokenTransferUmiIx(signer: Signer, fromTa: PublicKey,
13
13
  export declare function getAdressLookupInputs(umi: Umi, lookupTableAddresses: string[]): Promise<AddressLookupTableInput[]>;
14
14
  export declare function assembleFinalTransaction(signer: Signer, tx: TransactionBuilder, computeUnitPrice: number, computeUnitLimit?: number): TransactionBuilder;
15
15
  export declare function getComputeUnitPriceEstimate(umi: Umi, tx: TransactionBuilder, prioritySetting: PriorityFeeSetting): Promise<number>;
16
- export declare function sendSingleOptimizedTransaction(umi: Umi, connection: Connection, tx: TransactionBuilder, simulateOnly?: boolean, attemptNum?: number, prioritySetting?: PriorityFeeSetting, onAwaitingSign?: () => void): Promise<Uint8Array | undefined>;
16
+ export declare function sendSingleOptimizedTransaction(umi: Umi, connection: Connection, tx: TransactionBuilder, txType?: TransactionRunType, attemptNum?: number, prioritySetting?: PriorityFeeSetting, onAwaitingSign?: () => void): Promise<Uint8Array | undefined>;
17
17
  //# sourceMappingURL=solanaUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solanaUtils.d.ts","sourceRoot":"","sources":["../../src/utils/solanaUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,GAAG,EACH,kBAAkB,EAGnB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAGL,UAAU,EACV,SAAS,EAIT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAYzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,GACnB,CAAC,UAAU,EAAE,GAAG,CAAC,CAOnB;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,sBAAsB,GACzB,kBAAkB,CAMpB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,kBAAkB,CAOpB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,kBAAkB,CAOpB;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,GACd,kBAAkB,CAUpB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,EACtB,QAAQ,EAAE,MAAM,GACf,kBAAkB,CASpB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,SAAS,GACnB,kBAAkB,CAKpB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAKpB;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,GAAG,EACR,oBAAoB,EAAE,MAAM,EAAE,GAC7B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAkBpC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,kBAAkB,EACtB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,CAAC,EAAE,MAAM,sBA4D1B;AAmBD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,kBAAkB,EACtB,eAAe,EAAE,kBAAkB,GAClC,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,kBAAkB,EACtB,YAAY,CAAC,EAAE,OAAO,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,GAAE,kBAA+C,EAChE,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CA0DjC"}
1
+ {"version":3,"file":"solanaUtils.d.ts","sourceRoot":"","sources":["../../src/utils/solanaUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,GAAG,EACH,kBAAkB,EAGnB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAGL,UAAU,EACV,SAAS,EAIT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAYzB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAElE,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,GACnB,CAAC,UAAU,EAAE,GAAG,CAAC,CAOnB;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,sBAAsB,GACzB,kBAAkB,CAMpB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,kBAAkB,CAOpB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,kBAAkB,CAOpB;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,GACd,kBAAkB,CAUpB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,EACtB,QAAQ,EAAE,MAAM,GACf,kBAAkB,CASpB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,SAAS,GACnB,kBAAkB,CAKpB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAKpB;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,GAAG,EACR,oBAAoB,EAAE,MAAM,EAAE,GAC7B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAkBpC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,kBAAkB,EACtB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,CAAC,EAAE,MAAM,sBA4D1B;AAmBD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,kBAAkB,EACtB,eAAe,EAAE,kBAAkB,GAClC,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,kBAAkB,EACtB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,GAAE,kBAA+C,EAChE,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CA4DjC"}
@@ -154,17 +154,19 @@ async function getComputeUnitPriceEstimate(umi, tx, prioritySetting) {
154
154
  const feeEstimate = Math.round(resp.priorityFeeEstimate);
155
155
  return feeEstimate;
156
156
  }
157
- async function sendSingleOptimizedTransaction(umi, connection, tx, simulateOnly, attemptNum, prioritySetting = types_1.PriorityFeeSetting.Default, onAwaitingSign) {
157
+ async function sendSingleOptimizedTransaction(umi, connection, tx, txType, attemptNum, prioritySetting = types_1.PriorityFeeSetting.Default, onAwaitingSign) {
158
158
  console.log("Sending single optimized transaction...");
159
159
  console.log("Instructions: ", tx.getInstructions().length);
160
160
  console.log("Serialized transaction size: ", tx.getTransactionSize(umi));
161
161
  const feeEstimate = await getComputeUnitPriceEstimate(umi, tx, prioritySetting);
162
162
  console.log("Compute unit price: ", feeEstimate);
163
- // TODO: we should only retry simulation if it's not a solauto error
164
- const simulationResult = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => await simulateTransaction(connection, (0, umi_web3js_adapters_1.toWeb3JsTransaction)(await (await assembleFinalTransaction(umi.identity, tx, feeEstimate, 1400000).setLatestBlockhash(umi)).build(umi))), 3);
165
- const computeUnitLimit = Math.round(simulationResult.value.unitsConsumed * 1.1);
166
- console.log("Compute unit limit: ", computeUnitLimit);
167
- if (!simulateOnly) {
163
+ if (txType !== "skip-simulation") {
164
+ // TODO: we should only retry simulation if it's not a solauto error
165
+ const simulationResult = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => await simulateTransaction(connection, (0, umi_web3js_adapters_1.toWeb3JsTransaction)(await (await assembleFinalTransaction(umi.identity, tx, feeEstimate, 1400000).setLatestBlockhash(umi)).build(umi))), 3);
166
+ const computeUnitLimit = Math.round(simulationResult.value.unitsConsumed * 1.1);
167
+ console.log("Compute unit limit: ", computeUnitLimit);
168
+ }
169
+ if (txType !== "only-simulate") {
168
170
  onAwaitingSign?.();
169
171
  const result = await assembleFinalTransaction(umi.identity, tx, feeEstimate, 800000).sendAndConfirm(umi, {
170
172
  send: {
@@ -1,18 +1,20 @@
1
1
  import { PublicKey } from "@solana/web3.js";
2
2
  import { getTokenAccounts } from "../src/utils/accountUtils";
3
- import { SOLAUTO_MANAGER } from "../src/constants/generalAccounts";
3
+ import { SOLAUTO_FEES_WALLET, SOLAUTO_MANAGER } from "../src/constants/generalAccounts";
4
4
  import { ALL_SUPPORTED_TOKENS } from "../src/constants/tokenConstants";
5
5
  import { updateLookupTable } from "./shared";
6
6
  import { SOLAUTO_LUT, STANDARD_LUT_ACCOUNTS } from "../src/constants/solautoConstants";
7
7
 
8
8
  const LOOKUP_TABLE_ADDRESS = new PublicKey(SOLAUTO_LUT);
9
9
  const solautoManagerTokenAccounts = getTokenAccounts(SOLAUTO_MANAGER, ALL_SUPPORTED_TOKENS.map((x) => new PublicKey(x)));
10
+ const solautoFeeWalletTokenAccounts = getTokenAccounts(SOLAUTO_FEES_WALLET, ALL_SUPPORTED_TOKENS.map((x) => new PublicKey(x)));
10
11
 
11
12
  export async function updateSolautoLut(additionalAccounts?: string[]) {
12
13
  return updateLookupTable(
13
14
  [
14
15
  ...STANDARD_LUT_ACCOUNTS,
15
16
  ...solautoManagerTokenAccounts.map((x) => x.toString()),
17
+ ...solautoFeeWalletTokenAccounts.map(x => x.toString()),
16
18
  ...(additionalAccounts ?? [])
17
19
  ],
18
20
  LOOKUP_TABLE_ADDRESS
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.115",
3
+ "version": "1.0.116",
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",
@@ -298,6 +298,7 @@ export async function rebalanceChoresBefore(
298
298
  checkIntermediaryMfiAccount &&
299
299
  !rpcAccountCreated(intermediaryMarginfiAccount)
300
300
  ) {
301
+ client.log("Creating intermediary marginfi account");
301
302
  chores = chores.add(
302
303
  (client as SolautoMarginfiClient).createIntermediaryMarginfiAccount()
303
304
  );
@@ -15,7 +15,7 @@ import {
15
15
  retryWithExponentialBackoff,
16
16
  } from "../utils/generalUtils";
17
17
  import { getTransactionChores } from "./transactionUtils";
18
- import { PriorityFeeSetting } from "../types";
18
+ import { PriorityFeeSetting, TransactionRunType } from "../types";
19
19
  import { ReferralStateManager, TxHandler } from "../clients";
20
20
  // import { sendJitoBundledTransactions } from "../utils/jitoUtils";
21
21
 
@@ -164,11 +164,11 @@ class TransactionSet {
164
164
  }
165
165
 
166
166
  export enum TransactionStatus {
167
- Skipped,
168
- Processing,
169
- AwaitingSignature,
170
- Queued,
171
- Successful,
167
+ Skipped = "Skipped",
168
+ Processing = "Processing",
169
+ AwaitingSignature = "Awaiting Signature",
170
+ Queued = "Queued",
171
+ Successful = "Successful",
172
172
  }
173
173
 
174
174
  export type TransactionManagerStatuses = {
@@ -184,7 +184,7 @@ export class TransactionsManager {
184
184
  constructor(
185
185
  private txHandler: SolautoClient | ReferralStateManager,
186
186
  private statusCallback?: (statuses: TransactionManagerStatuses) => void,
187
- private simulateOnly?: boolean,
187
+ private txType?: TransactionRunType,
188
188
  private mustBeAtomic?: boolean,
189
189
  private errorsToThrow?: ErrorsToThrow
190
190
  ) {
@@ -291,7 +291,7 @@ export class TransactionsManager {
291
291
  this.txHandler.umi,
292
292
  this.txHandler.connection,
293
293
  updateLookupTable.updateLutTx,
294
- this.simulateOnly,
294
+ this.txType,
295
295
  attemptNum,
296
296
  prioritySetting,
297
297
  () =>
@@ -351,7 +351,7 @@ export class TransactionsManager {
351
351
  throw e;
352
352
  });
353
353
 
354
- if (!this.simulateOnly) {
354
+ if (this.txType !== "only-simulate") {
355
355
  await client.resetLiveTxUpdates();
356
356
  }
357
357
  }
@@ -389,7 +389,7 @@ export class TransactionsManager {
389
389
  // itemSets.forEach((set) => {
390
390
  // this.updateStatus(set.name(), TransactionStatus.Successful);
391
391
  // });
392
- } else if (!this.simulateOnly || itemSets.length === 1) {
392
+ } else if (this.txType !== "only-simulate" || itemSets.length === 1) {
393
393
  for (let i = 0; i < itemSets.length; i++) {
394
394
  const getFreshItemSet = async (
395
395
  itemSet: TransactionSet,
@@ -447,7 +447,7 @@ export class TransactionsManager {
447
447
  this.txHandler.umi,
448
448
  this.txHandler.connection,
449
449
  tx,
450
- this.simulateOnly,
450
+ this.txType,
451
451
  attemptNum,
452
452
  prioritySetting,
453
453
  () =>
@@ -16,4 +16,6 @@ export enum PriorityFeeSetting {
16
16
  High = "High"
17
17
  }
18
18
 
19
- export type RebalanceAction = "boost" | "repay" | "dca";
19
+ export type RebalanceAction = "boost" | "repay" | "dca";
20
+
21
+ export type TransactionRunType = "skip-simulation" | "only-simulate" | "normal";
@@ -36,7 +36,7 @@ import {
36
36
  getLendingAccountEndFlashloanInstructionDataSerializer,
37
37
  getLendingAccountStartFlashloanInstructionDataSerializer,
38
38
  } from "../marginfi-sdk";
39
- import { PriorityFeeSetting } from "../types";
39
+ import { PriorityFeeSetting, TransactionRunType } from "../types";
40
40
 
41
41
  export function getSolanaRpcConnection(
42
42
  heliusApiKey: string
@@ -281,7 +281,7 @@ export async function sendSingleOptimizedTransaction(
281
281
  umi: Umi,
282
282
  connection: Connection,
283
283
  tx: TransactionBuilder,
284
- simulateOnly?: boolean,
284
+ txType?: TransactionRunType,
285
285
  attemptNum?: number,
286
286
  prioritySetting: PriorityFeeSetting = PriorityFeeSetting.Default,
287
287
  onAwaitingSign?: () => void
@@ -297,31 +297,33 @@ export async function sendSingleOptimizedTransaction(
297
297
  );
298
298
  console.log("Compute unit price: ", feeEstimate);
299
299
 
300
- // TODO: we should only retry simulation if it's not a solauto error
301
- const simulationResult = await retryWithExponentialBackoff(
302
- async () =>
303
- await simulateTransaction(
304
- connection,
305
- toWeb3JsTransaction(
306
- await (
307
- await assembleFinalTransaction(
308
- umi.identity,
309
- tx,
310
- feeEstimate,
311
- 1_400_000
312
- ).setLatestBlockhash(umi)
313
- ).build(umi)
314
- )
315
- ),
316
- 3
317
- );
318
-
319
- const computeUnitLimit = Math.round(
320
- simulationResult.value.unitsConsumed! * 1.1
321
- );
322
- console.log("Compute unit limit: ", computeUnitLimit);
300
+ if (txType !== "skip-simulation") {
301
+ // TODO: we should only retry simulation if it's not a solauto error
302
+ const simulationResult = await retryWithExponentialBackoff(
303
+ async () =>
304
+ await simulateTransaction(
305
+ connection,
306
+ toWeb3JsTransaction(
307
+ await (
308
+ await assembleFinalTransaction(
309
+ umi.identity,
310
+ tx,
311
+ feeEstimate,
312
+ 1_400_000
313
+ ).setLatestBlockhash(umi)
314
+ ).build(umi)
315
+ )
316
+ ),
317
+ 3
318
+ );
319
+
320
+ const computeUnitLimit = Math.round(
321
+ simulationResult.value.unitsConsumed! * 1.1
322
+ );
323
+ console.log("Compute unit limit: ", computeUnitLimit);
324
+ }
323
325
 
324
- if (!simulateOnly) {
326
+ if (txType !== "only-simulate") {
325
327
  onAwaitingSign?.();
326
328
  const result = await assembleFinalTransaction(
327
329
  umi.identity,
@@ -1,18 +1,15 @@
1
1
  import { describe, it } from "mocha";
2
2
  import { none, publicKey, some } from "@metaplex-foundation/umi";
3
3
  import { setupTest } from "../shared";
4
- import { SolautoMarginfiClient } from "../../src/clients/solautoMarginfiClient";
4
+ import {
5
+ SolautoMarginfiClient,
6
+ } from "../../src/clients/solautoMarginfiClient";
5
7
  import {
6
8
  solautoAction,
7
9
  SolautoSettingsParametersInpArgs,
8
10
  } from "../../src/generated";
9
11
  import { buildSolautoRebalanceTransaction } from "../../src/transactions/transactionUtils";
10
- import {
11
- maxBoostToBps,
12
- maxRepayFromBps,
13
- maxRepayToBps,
14
- toBaseUnit,
15
- } from "../../src/utils/numberUtils";
12
+ import { maxBoostToBps, maxRepayFromBps, maxRepayToBps, toBaseUnit } from "../../src/utils/numberUtils";
16
13
  import { NATIVE_MINT } from "@solana/spl-token";
17
14
  import { getTokenPrices } from "../../src/utils/generalUtils";
18
15
  import {
@@ -21,6 +18,9 @@ import {
21
18
  } from "../../src/transactions/transactionsManager";
22
19
  import { PublicKey } from "@solana/web3.js";
23
20
  import { USDC_MINT } from "../../src/constants";
21
+ import {
22
+ ACCOUNT_SIZE as TOKEN_ACCOUNT_SIZE,
23
+ } from "@solana/spl-token";
24
24
 
25
25
  describe("Solauto Marginfi tests", async () => {
26
26
  const signer = setupTest();
@@ -31,22 +31,25 @@ describe("Solauto Marginfi tests", async () => {
31
31
  const positionId = 1;
32
32
 
33
33
  it("open - deposit - borrow - rebalance to 0 - withdraw - close", async () => {
34
+
34
35
  const client = new SolautoMarginfiClient(process.env.HELIUS_API_KEY!, true);
35
36
 
36
37
  const supply = NATIVE_MINT;
37
38
  const supplyDecimals = 9;
38
39
  const debtDecimals = 6;
39
40
 
40
- await client.initialize({
41
- signer,
42
- positionId,
43
- // authority: new PublicKey("92xmP49BQycn3t2HkGxLAweN3jjrExxSNpywA3xF7mYY")
44
- // marginfiAccount: new PublicKey(
45
- // "4nNvUXF5YqHFcH2nGweSiuvy1ct7V5FXfoCLKFYUN36z"
46
- // ),
47
- // supplyMint: NATIVE_MINT,
48
- // debtMint: new PublicKey(USDC_MINT),
49
- });
41
+ await client.initialize(
42
+ {
43
+ signer,
44
+ positionId,
45
+ // authority: new PublicKey("92xmP49BQycn3t2HkGxLAweN3jjrExxSNpywA3xF7mYY")
46
+ // marginfiAccount: new PublicKey(
47
+ // "4nNvUXF5YqHFcH2nGweSiuvy1ct7V5FXfoCLKFYUN36z"
48
+ // ),
49
+ // supplyMint: NATIVE_MINT,
50
+ // debtMint: new PublicKey(USDC_MINT),
51
+ }
52
+ );
50
53
 
51
54
  const transactionItems: TransactionItem[] = [];
52
55
  const settingParams: SolautoSettingsParametersInpArgs = {
@@ -67,19 +70,19 @@ describe("Solauto Marginfi tests", async () => {
67
70
  // }, "open position")
68
71
  // );
69
72
 
70
- const initialSupplyUsd = 150;
71
- transactionItems.push(
72
- new TransactionItem(async () => {
73
- const [supplyPrice] = await getTokenPrices([supply]);
74
- return {
75
- tx: client.protocolInteraction(
76
- solautoAction("Deposit", [
77
- toBaseUnit(initialSupplyUsd / supplyPrice, supplyDecimals),
78
- ])
79
- ),
80
- };
81
- }, "deposit")
82
- );
73
+ // const initialSupplyUsd = 150;
74
+ // transactionItems.push(
75
+ // new TransactionItem(async () => {
76
+ // const [supplyPrice] = await getTokenPrices([supply]);
77
+ // return {
78
+ // tx: client.protocolInteraction(
79
+ // solautoAction("Deposit", [
80
+ // toBaseUnit(initialSupplyUsd / supplyPrice, supplyDecimals),
81
+ // ])
82
+ // ),
83
+ // };
84
+ // }, "deposit")
85
+ // );
83
86
  // }
84
87
 
85
88
  // const maxLtvBps = client.solautoPositionState!.maxLtvBps;
@@ -120,13 +123,13 @@ describe("Solauto Marginfi tests", async () => {
120
123
  // }, "deposit")
121
124
  // );
122
125
 
123
- // transactionItems.push(
124
- // new TransactionItem(
125
- // async (attemptNum) =>
126
- // await buildSolautoRebalanceTransaction(client, 1500, attemptNum),
127
- // "rebalance"
128
- // )
129
- // );
126
+ transactionItems.push(
127
+ new TransactionItem(
128
+ async (attemptNum) =>
129
+ await buildSolautoRebalanceTransaction(client, 1500, attemptNum),
130
+ "rebalance"
131
+ )
132
+ );
130
133
 
131
134
  // transactionItems.push(
132
135
  // new TransactionItem(
@@ -155,11 +158,13 @@ describe("Solauto Marginfi tests", async () => {
155
158
  // )
156
159
  // );
157
160
 
158
- await new TransactionsManager(
159
- client,
160
- undefined,
161
- !payForTransactions,
162
- useJitoBundle
163
- ).clientSend(transactionItems);
161
+ // await new TransactionsManager(
162
+ // client,
163
+ // undefined,
164
+ // !payForTransactions ? "only-simulate" : "normal",
165
+ // useJitoBundle
166
+ // ).clientSend(transactionItems);
167
+
168
+ console.log((await client.umi.rpc.getRent(TOKEN_ACCOUNT_SIZE)).basisPoints);
164
169
  });
165
170
  });