@haven-fi/solauto-sdk 1.0.397 → 1.0.399

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.
@@ -190,19 +190,19 @@ exports.MARGINFI_ACCOUNTS = {
190
190
  priceOracle: USDC_PRICE_ORACLE,
191
191
  },
192
192
  },
193
- ["DESG67cExEcw7d6MmENLEzaocR8pLrhfiw9VrNtGWUKD"]: {
194
- [tokens.HMTR]: {
195
- bank: "Br3yzg2WSb81RaFWK9UsKtq8fD5viwooZG34mKqQWxdM",
196
- liquidityVault: "J45Je52qv2rDBuCQWPwp3bjRhf3bGzRWhKZtGDuLooCX",
197
- vaultAuthority: "CKDsAKjNruDSz4tmUairh8PDGD1Rqh9WMTLWERYnnZrH",
198
- priceOracle: switchboardConstants_1.SWITCHBOARD_PRICE_FEED_IDS[tokens.HMTR.toString()],
199
- },
200
- [tokens.USDC]: {
201
- bank: "9yNnhJ8c1vGbu3DMf6eeeUi6TDJ2ddGgaRA88rL2R3rP",
202
- liquidityVault: "4U1UBjXrPrW7JuQ894JbLUBqcb5LFfK9rfkWFwT7EdQ9",
203
- vaultAuthority: "CY74V1r48kuuHA6APD3AaU2oPV1mBqe9srikrQQSHNR6",
204
- priceOracle: USDC_PRICE_ORACLE,
205
- }
206
- }
193
+ // ["DESG67cExEcw7d6MmENLEzaocR8pLrhfiw9VrNtGWUKD"]: {
194
+ // [tokens.HMTR]: {
195
+ // bank: "Br3yzg2WSb81RaFWK9UsKtq8fD5viwooZG34mKqQWxdM",
196
+ // liquidityVault: "J45Je52qv2rDBuCQWPwp3bjRhf3bGzRWhKZtGDuLooCX",
197
+ // vaultAuthority: "CKDsAKjNruDSz4tmUairh8PDGD1Rqh9WMTLWERYnnZrH",
198
+ // priceOracle: SWITCHBOARD_PRICE_FEED_IDS[tokens.HMTR.toString()],
199
+ // },
200
+ // [tokens.USDC]: {
201
+ // bank: "9yNnhJ8c1vGbu3DMf6eeeUi6TDJ2ddGgaRA88rL2R3rP",
202
+ // liquidityVault: "4U1UBjXrPrW7JuQ894JbLUBqcb5LFfK9rfkWFwT7EdQ9",
203
+ // vaultAuthority: "CY74V1r48kuuHA6APD3AaU2oPV1mBqe9srikrQQSHNR6",
204
+ // priceOracle: USDC_PRICE_ORACLE,
205
+ // }
206
+ // }
207
207
  };
208
208
  exports.MARGINFI_ACCOUNTS_LOOKUP_TABLE = "GAjmWmBPcH5Gxbiykasydj6RsCEaCLyHEvK6kHdFigc6";
@@ -49,7 +49,7 @@ exports.ALL_SUPPORTED_TOKENS = [
49
49
  exports.POPCAT,
50
50
  exports.RETARDIO,
51
51
  exports.BILLY,
52
- exports.HMTR,
52
+ // HMTR,
53
53
  ];
54
54
  exports.TOKEN_INFO = {
55
55
  [web3_js_1.PublicKey.default.toString()]: {
@@ -161,9 +161,9 @@ exports.TOKEN_INFO = {
161
161
  decimals: 6,
162
162
  isMeme: true,
163
163
  },
164
- [exports.HMTR]: {
165
- ticker: "HMTR",
166
- decimals: 0,
167
- isMeme: true,
168
- },
164
+ // [HMTR]: {
165
+ // ticker: "HMTR",
166
+ // decimals: 0,
167
+ // isMeme: true,
168
+ // },
169
169
  };
@@ -1 +1 @@
1
- {"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEJ,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKlE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC,CAa9D;AA2MD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,kBAAkB,EAAE,EACzB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAwE/B"}
1
+ {"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEJ,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKlE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC,CAa9D;AAiND,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,kBAAkB,EAAE,EACzB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAwE/B"}
@@ -89,7 +89,7 @@ async function simulateJitoBundle(umi, txs) {
89
89
  if (txFailure) {
90
90
  const info = parseJitoErrorMessage(txFailure[1]);
91
91
  if (info) {
92
- throw new transactions_1.BundleSimulationError("Failed to simulate transaction", 400, {
92
+ throw new transactions_1.BundleSimulationError(`Failed to simulate transaction: TX: ${failedTxIdx}, IX: ${info.instructionIndex}, Error: ${info.errorCode}`, 400, {
93
93
  transactionIdx: failedTxIdx,
94
94
  instructionIdx: info.instructionIndex,
95
95
  errorCode: info.errorCode,
@@ -1 +1 @@
1
- {"version":3,"file":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA0B,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAGL,aAAa,EACd,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,EAAE,kBAAkB,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,cAAc,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAsF7B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO;;GAY5E"}
1
+ {"version":3,"file":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA0B,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAGL,aAAa,EACd,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,EAAE,kBAAkB,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,cAAc,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAsF7B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO;;GAiB5E"}
@@ -74,8 +74,13 @@ async function getJupSwapTransaction(signer, swapDetails, attemptNum) {
74
74
  async function getJupPriceData(mints, extraInfo) {
75
75
  const data = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => {
76
76
  const res = await (await fetch("https://api.jup.ag/price/v2?ids=" +
77
- mints.map((x) => x.toString()).join(",") + (extraInfo ? "&showExtraInfo=true" : ""))).json();
78
- return res;
77
+ mints.map((x) => x.toString()).join(",") +
78
+ (extraInfo ? "&showExtraInfo=true" : ""))).json();
79
+ const result = res.data;
80
+ if (!result) {
81
+ throw new Error("Failed to get token prices using Jupiter");
82
+ }
83
+ return result;
79
84
  }, 6);
80
- return data.data;
85
+ return data;
81
86
  }
@@ -14,6 +14,6 @@ export declare function splTokenTransferUmiIx(signer: Signer, fromTa: PublicKey,
14
14
  export declare function getAddressLookupInputs(umi: Umi, lookupTableAddresses: string[]): Promise<AddressLookupTableInput[]>;
15
15
  export declare function addTxOptimizations(signer: Signer, transaction: TransactionBuilder, computeUnitPrice?: number, computeUnitLimit?: number): TransactionBuilder;
16
16
  export declare function assembleFinalTransaction(signer: Signer, transaction: TransactionBuilder, computeUnitPrice?: number, computeUnitLimit?: number): TransactionBuilder;
17
- export declare function getComputeUnitPriceEstimate(umi: Umi, tx: TransactionBuilder, prioritySetting: PriorityFeeSetting): Promise<number | undefined>;
17
+ export declare function getComputeUnitPriceEstimate(umi: Umi, tx: TransactionBuilder, prioritySetting: PriorityFeeSetting, useAccounts?: boolean): Promise<number | undefined>;
18
18
  export declare function sendSingleOptimizedTransaction(umi: Umi, connection: Connection, tx: TransactionBuilder, txType?: TransactionRunType, prioritySetting?: PriorityFeeSetting, onAwaitingSign?: () => void): Promise<Uint8Array | undefined>;
19
19
  //# 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,EAIL,UAAU,EACV,SAAS,EAKT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAgBzB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAIlE,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,UAErD;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,UAE3D;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAgC,GAC1C,CAAC,UAAU,EAAE,GAAG,CAAC,CAQnB;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,sBAAsB,CAC1C,GAAG,EAAE,GAAG,EACR,oBAAoB,EAAE,MAAM,EAAE,GAC7B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAkBpC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,sBAa1B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,sBA2D1B;AAuBD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,kBAAkB,EACtB,eAAe,EAAE,kBAAkB,GAClC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmC7B;AAiDD,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,kBAAkB,EACtB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,eAAe,GAAE,kBAA2C,EAC5D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAoEjC"}
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,EAIL,UAAU,EACV,SAAS,EAKT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAgBzB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAIlE,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,UAErD;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,UAE3D;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAgC,GAC1C,CAAC,UAAU,EAAE,GAAG,CAAC,CAQnB;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,sBAAsB,CAC1C,GAAG,EAAE,GAAG,EACR,oBAAoB,EAAE,MAAM,EAAE,GAC7B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAkBpC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,sBAa1B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,sBA2D1B;AAuBD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,kBAAkB,EACtB,eAAe,EAAE,kBAAkB,EACnC,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAwC7B;AAiDD,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,kBAAkB,EACtB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,eAAe,GAAE,kBAA2C,EAC5D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAoEjC"}
@@ -150,13 +150,19 @@ async function simulateTransaction(umi, connection, transaction) {
150
150
  }
151
151
  return simulationResult;
152
152
  }
153
- async function getComputeUnitPriceEstimate(umi, tx, prioritySetting) {
153
+ async function getComputeUnitPriceEstimate(umi, tx, prioritySetting, useAccounts) {
154
154
  const web3Transaction = (0, umi_web3js_adapters_1.toWeb3JsTransaction)((await tx.setLatestBlockhash(umi, { commitment: "finalized" })).build(umi));
155
+ const accountKeys = tx
156
+ .getInstructions()
157
+ .flatMap((x) => x.keys.flatMap((x) => x.pubkey.toString()));
155
158
  let feeEstimate;
156
159
  try {
157
160
  const resp = await umi.rpc.call("getPriorityFeeEstimate", [
158
161
  {
159
- transaction: bs58_1.default.encode(web3Transaction.serialize()),
162
+ transaction: !useAccounts
163
+ ? bs58_1.default.encode(web3Transaction.serialize())
164
+ : undefined,
165
+ accountKeys: useAccounts ? accountKeys : undefined,
160
166
  options: {
161
167
  priorityLevel: prioritySetting.toString(),
162
168
  },
@@ -168,9 +174,7 @@ async function getComputeUnitPriceEstimate(umi, tx, prioritySetting) {
168
174
  try {
169
175
  const resp = await umi.rpc.call("getPriorityFeeEstimate", [
170
176
  {
171
- accountKeys: tx
172
- .getInstructions()
173
- .flatMap((x) => x.keys.flatMap((x) => x.pubkey.toString())),
177
+ accountKeys,
174
178
  options: {
175
179
  priorityLevel: prioritySetting.toString(),
176
180
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.397",
3
+ "version": "1.0.399",
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",
@@ -172,20 +172,20 @@ export const MARGINFI_ACCOUNTS: {
172
172
  priceOracle: USDC_PRICE_ORACLE,
173
173
  },
174
174
  },
175
- ["DESG67cExEcw7d6MmENLEzaocR8pLrhfiw9VrNtGWUKD"]: {
176
- [tokens.HMTR]: {
177
- bank: "Br3yzg2WSb81RaFWK9UsKtq8fD5viwooZG34mKqQWxdM",
178
- liquidityVault: "J45Je52qv2rDBuCQWPwp3bjRhf3bGzRWhKZtGDuLooCX",
179
- vaultAuthority: "CKDsAKjNruDSz4tmUairh8PDGD1Rqh9WMTLWERYnnZrH",
180
- priceOracle: SWITCHBOARD_PRICE_FEED_IDS[tokens.HMTR.toString()],
181
- },
182
- [tokens.USDC]: {
183
- bank: "9yNnhJ8c1vGbu3DMf6eeeUi6TDJ2ddGgaRA88rL2R3rP",
184
- liquidityVault: "4U1UBjXrPrW7JuQ894JbLUBqcb5LFfK9rfkWFwT7EdQ9",
185
- vaultAuthority: "CY74V1r48kuuHA6APD3AaU2oPV1mBqe9srikrQQSHNR6",
186
- priceOracle: USDC_PRICE_ORACLE,
187
- }
188
- }
175
+ // ["DESG67cExEcw7d6MmENLEzaocR8pLrhfiw9VrNtGWUKD"]: {
176
+ // [tokens.HMTR]: {
177
+ // bank: "Br3yzg2WSb81RaFWK9UsKtq8fD5viwooZG34mKqQWxdM",
178
+ // liquidityVault: "J45Je52qv2rDBuCQWPwp3bjRhf3bGzRWhKZtGDuLooCX",
179
+ // vaultAuthority: "CKDsAKjNruDSz4tmUairh8PDGD1Rqh9WMTLWERYnnZrH",
180
+ // priceOracle: SWITCHBOARD_PRICE_FEED_IDS[tokens.HMTR.toString()],
181
+ // },
182
+ // [tokens.USDC]: {
183
+ // bank: "9yNnhJ8c1vGbu3DMf6eeeUi6TDJ2ddGgaRA88rL2R3rP",
184
+ // liquidityVault: "4U1UBjXrPrW7JuQ894JbLUBqcb5LFfK9rfkWFwT7EdQ9",
185
+ // vaultAuthority: "CY74V1r48kuuHA6APD3AaU2oPV1mBqe9srikrQQSHNR6",
186
+ // priceOracle: USDC_PRICE_ORACLE,
187
+ // }
188
+ // }
189
189
  };
190
190
 
191
191
  export const MARGINFI_ACCOUNTS_LOOKUP_TABLE =
@@ -48,7 +48,7 @@ export const ALL_SUPPORTED_TOKENS = [
48
48
  POPCAT,
49
49
  RETARDIO,
50
50
  BILLY,
51
- HMTR,
51
+ // HMTR,
52
52
  ];
53
53
 
54
54
  interface TokenInfo {
@@ -170,9 +170,9 @@ export const TOKEN_INFO: { [key: string]: TokenInfo } = {
170
170
  decimals: 6,
171
171
  isMeme: true,
172
172
  },
173
- [HMTR]: {
174
- ticker: "HMTR",
175
- decimals: 0,
176
- isMeme: true,
177
- },
173
+ // [HMTR]: {
174
+ // ticker: "HMTR",
175
+ // decimals: 0,
176
+ // isMeme: true,
177
+ // },
178
178
  };
@@ -121,15 +121,21 @@ async function simulateJitoBundle(umi: Umi, txs: VersionedTransaction[]) {
121
121
  if (txFailure) {
122
122
  const info = parseJitoErrorMessage(txFailure[1] as string);
123
123
  if (info) {
124
- throw new BundleSimulationError("Failed to simulate transaction", 400, {
125
- transactionIdx: failedTxIdx,
126
- instructionIdx: info.instructionIndex,
127
- errorCode: info.errorCode,
128
- });
124
+ throw new BundleSimulationError(
125
+ `Failed to simulate transaction: TX: ${failedTxIdx}, IX: ${info.instructionIndex}, Error: ${info.errorCode}`,
126
+ 400,
127
+ {
128
+ transactionIdx: failedTxIdx,
129
+ instructionIdx: info.instructionIndex,
130
+ errorCode: info.errorCode,
131
+ }
132
+ );
129
133
  }
130
134
  }
131
135
 
132
- throw new Error(txFailure ? txFailure[1] : resValue.summary.failed.toString());
136
+ throw new Error(
137
+ txFailure ? txFailure[1] : resValue.summary.failed.toString()
138
+ );
133
139
  } else if (res.error && res.error.message) {
134
140
  throw new Error(res.error.message);
135
141
  }
@@ -213,18 +219,18 @@ async function pollBundleStatus(
213
219
  );
214
220
  }
215
221
 
216
- async function sendJitoBundle(umi: Umi, transactions: string[]): Promise<string[]> {
222
+ async function sendJitoBundle(
223
+ umi: Umi,
224
+ transactions: string[]
225
+ ): Promise<string[]> {
217
226
  let resp: any;
218
227
  try {
219
- resp = await axios.post<{ result: string }>(
220
- umi.rpc.getEndpoint(),
221
- {
222
- jsonrpc: "2.0",
223
- id: 1,
224
- method: "sendBundle",
225
- params: [transactions],
226
- }
227
- );
228
+ resp = await axios.post<{ result: string }>(umi.rpc.getEndpoint(), {
229
+ jsonrpc: "2.0",
230
+ id: 1,
231
+ method: "sendBundle",
232
+ params: [transactions],
233
+ });
228
234
  } catch (e: any) {
229
235
  if (e.response.data.error) {
230
236
  console.error("Jito send bundle error:", e.response.data.error);
@@ -147,11 +147,16 @@ export async function getJupPriceData(mints: PublicKey[], extraInfo?: boolean) {
147
147
  const res = await (
148
148
  await fetch(
149
149
  "https://api.jup.ag/price/v2?ids=" +
150
- mints.map((x) => x.toString()).join(",") + (extraInfo ? "&showExtraInfo=true" : "")
150
+ mints.map((x) => x.toString()).join(",") +
151
+ (extraInfo ? "&showExtraInfo=true" : "")
151
152
  )
152
153
  ).json();
153
- return res;
154
+ const result = res.data;
155
+ if (!result) {
156
+ throw new Error("Failed to get token prices using Jupiter");
157
+ }
158
+ return result;
154
159
  }, 6);
155
160
 
156
- return data.data as { [key: string]: any };
161
+ return data as { [key: string]: any };
157
162
  }
@@ -288,17 +288,25 @@ async function simulateTransaction(
288
288
  export async function getComputeUnitPriceEstimate(
289
289
  umi: Umi,
290
290
  tx: TransactionBuilder,
291
- prioritySetting: PriorityFeeSetting
291
+ prioritySetting: PriorityFeeSetting,
292
+ useAccounts?: boolean
292
293
  ): Promise<number | undefined> {
293
294
  const web3Transaction = toWeb3JsTransaction(
294
295
  (await tx.setLatestBlockhash(umi, { commitment: "finalized" })).build(umi)
295
296
  );
296
297
 
298
+ const accountKeys = tx
299
+ .getInstructions()
300
+ .flatMap((x) => x.keys.flatMap((x) => x.pubkey.toString()));
301
+
297
302
  let feeEstimate: number | undefined;
298
303
  try {
299
304
  const resp = await umi.rpc.call("getPriorityFeeEstimate", [
300
305
  {
301
- transaction: bs58.encode(web3Transaction.serialize()),
306
+ transaction: !useAccounts
307
+ ? bs58.encode(web3Transaction.serialize())
308
+ : undefined,
309
+ accountKeys: useAccounts ? accountKeys : undefined,
302
310
  options: {
303
311
  priorityLevel: prioritySetting.toString(),
304
312
  },
@@ -309,9 +317,7 @@ export async function getComputeUnitPriceEstimate(
309
317
  try {
310
318
  const resp = await umi.rpc.call("getPriorityFeeEstimate", [
311
319
  {
312
- accountKeys: tx
313
- .getInstructions()
314
- .flatMap((x) => x.keys.flatMap((x) => x.pubkey.toString())),
320
+ accountKeys,
315
321
  options: {
316
322
  priorityLevel: prioritySetting.toString(),
317
323
  },