@pyron-finance/pyron-client 1.0.11 → 2.0.1

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.
@@ -147,9 +147,9 @@ function median(values) {
147
147
  if (values.length === 0) {
148
148
  throw new Error("Input array is empty");
149
149
  }
150
- values = [...values].sort((a, b) => a - b);
151
- const half = Math.floor(values.length / 2);
152
- return values.length % 2 ? values[half] : (values[half - 1] + values[half]) / 2;
150
+ const sortedValues = [...values].sort((a, b) => a - b);
151
+ const half = Math.floor(sortedValues.length / 2);
152
+ return sortedValues.length % 2 ? sortedValues[half] : (sortedValues[half - 1] + sortedValues[half]) / 2;
153
153
  }
154
154
 
155
155
  //#endregion
@@ -198,7 +198,7 @@ async function chunkedGetRawMultipleAccountInfos(connection, pks, batchChunkSize
198
198
  }, []);
199
199
  return accounts;
200
200
  });
201
- } catch (error) {
201
+ } catch (_error) {
202
202
  retries++;
203
203
  }
204
204
  }
@@ -239,7 +239,7 @@ async function chunkedGetRawMultipleAccountInfoOrderedWithNulls(connection, pks,
239
239
  }, []);
240
240
  return accounts;
241
241
  });
242
- } catch (error) {
242
+ } catch (_error) {
243
243
  retries++;
244
244
  }
245
245
  }
@@ -281,7 +281,7 @@ async function chunkedGetRawMultipleAccountInfoOrdered(connection, pks, batchChu
281
281
  }, []);
282
282
  return accounts;
283
283
  });
284
- } catch (error) {
284
+ } catch (_error) {
285
285
  retries++;
286
286
  }
287
287
  }
@@ -366,7 +366,7 @@ const TransactionConfigMap = {
366
366
  [TransactionType.MOVE_POSITION_DEPOSIT]: { label: ({ destinationAccountAddress } = {}) => `Move position to ${destinationAccountAddress}` },
367
367
  [TransactionType.TRANSFER_AUTH]: { label: () => "Authorize account transfer" },
368
368
  [TransactionType.DEPOSIT_STAKE]: { label: ({ amount, token } = {}) => amount && token ? `Authorize stake account and deposit ${amount} ${token}` : "Authorize stake and deposit" },
369
- [TransactionType.WITHDRAW_STAKE]: { label: ({ amount, token } = {}) => "Authorize stake account" },
369
+ [TransactionType.WITHDRAW_STAKE]: { label: () => "Authorize stake account" },
370
370
  [TransactionType.INITIALIZE_STAKED_POOL]: { label: () => "Initialize stake pool" },
371
371
  [TransactionType.ADD_STAKED_BANK]: { label: () => "Create staked asset bank" },
372
372
  [TransactionType.MERGE_STAKE_ACCOUNTS]: { label: () => "Merge stake accounts" },
@@ -401,41 +401,6 @@ const PDA_BANK_LIQUIDITY_VAULT_SEED = Buffer.from("liquidity_vault");
401
401
  const PDA_BANK_INSURANCE_VAULT_SEED = Buffer.from("insurance_vault");
402
402
  const PDA_BANK_FEE_VAULT_SEED = Buffer.from("fee_vault");
403
403
 
404
- //#endregion
405
- //#region src/constants/misc.ts
406
- const HOURS_PER_YEAR = 365.25 * 24;
407
- const MAX_U64 = BigInt("18446744073709551615").toString();
408
- const PYTH_PRICE_CONF_INTERVALS = new bignumber_js.default(2.12);
409
- const SWB_PRICE_CONF_INTERVALS = new bignumber_js.default(1.96);
410
- const MAX_CONFIDENCE_INTERVAL_RATIO = new bignumber_js.default(.05);
411
- const PYTH_PUSH_ORACLE_ID = new __solana_web3_js.PublicKey("pythWSnswVUd12oZpeFP8e9CVaEqJg25g1Vtc2biRsT");
412
- const GROUP_PK = new __solana_web3_js.PublicKey(process.env.LENDR_GROUP_PK ?? "4vDRNkXaeAcwJULZCQFFdNBM295sD8hSKQt3RaMwsRFc");
413
- const PROGRAM_ID = new __solana_web3_js.PublicKey(process.env.LENDR_PROGRAM_ID ?? "89ZQeCPwkzSPJyTpktCKWNY6hBWMKuYt47R85Jo36yyh");
414
- const DEFAULT_CLUSTER = process.env.LENDR_CLUSTER_OVERRIDE ?? "mainnet";
415
-
416
- //#endregion
417
- //#region src/constants/flags.ts
418
- const DISABLED_FLAG = 1 << 0;
419
- const FLASHLOAN_ENABLED_FLAG = 1 << 2;
420
- const TRANSFER_ACCOUNT_AUTHORITY_FLAG = 1 << 3;
421
-
422
- //#endregion
423
- //#region src/constants/tokens.ts
424
- const WSOL_MINT = new __solana_web3_js.PublicKey("So11111111111111111111111111111111111111112");
425
- const WSOL_EXTENDED_METADATA = {
426
- symbol: "wSOL",
427
- name: "Wrapped SOL",
428
- address: "D7zkaUgFUDkhQHExySRxokL3Fa1GFnnuiVDTs9yMrFHY",
429
- logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/So11111111111111111111111111111111111111112/logo.png",
430
- additionalMetadata: [],
431
- uri: "",
432
- mint: WSOL_MINT.toBase58()
433
- };
434
- const LST_MINT = new __solana_web3_js.PublicKey("LSTxxxnJzKDFSLr4dUkPcmCf5VyryEqzPLz5j4bpxFp");
435
- const USDC_MINT = new __solana_web3_js.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
436
- const DUMMY_USDC_MINT = new __solana_web3_js.PublicKey("JAiSLhTCvAhGM4SojCYGoTPuqjw7KaCsopvRuNryzbML");
437
- const USDC_DECIMALS = 6;
438
-
439
404
  //#endregion
440
405
  //#region src/constants/defaults.ts
441
406
  const DEFAULT_COMMITMENT = "processed";
@@ -454,6 +419,24 @@ const PRIORITY_TX_SIZE = 44;
454
419
  const SKIP_SIMULATION = false;
455
420
  const DEFAULT_ORACLE_MAX_AGE = 60;
456
421
 
422
+ //#endregion
423
+ //#region src/constants/flags.ts
424
+ const DISABLED_FLAG = 1 << 0;
425
+ const FLASHLOAN_ENABLED_FLAG = 1 << 2;
426
+ const TRANSFER_ACCOUNT_AUTHORITY_FLAG = 1 << 3;
427
+
428
+ //#endregion
429
+ //#region src/constants/misc.ts
430
+ const HOURS_PER_YEAR = 365.25 * 24;
431
+ const MAX_U64 = BigInt("18446744073709551615").toString();
432
+ const PYTH_PRICE_CONF_INTERVALS = new bignumber_js.default(2.12);
433
+ const SWB_PRICE_CONF_INTERVALS = new bignumber_js.default(1.96);
434
+ const MAX_CONFIDENCE_INTERVAL_RATIO = new bignumber_js.default(.05);
435
+ const PYTH_PUSH_ORACLE_ID = new __solana_web3_js.PublicKey("pythWSnswVUd12oZpeFP8e9CVaEqJg25g1Vtc2biRsT");
436
+ const GROUP_PK = new __solana_web3_js.PublicKey(process.env.LENDR_GROUP_PK ?? "4vDRNkXaeAcwJULZCQFFdNBM295sD8hSKQt3RaMwsRFc");
437
+ const PROGRAM_ID = new __solana_web3_js.PublicKey(process.env.LENDR_PROGRAM_ID ?? "89ZQeCPwkzSPJyTpktCKWNY6hBWMKuYt47R85Jo36yyh");
438
+ const DEFAULT_CLUSTER = process.env.LENDR_CLUSTER_OVERRIDE ?? "mainnet";
439
+
457
440
  //#endregion
458
441
  //#region src/constants/programs.ts
459
442
  const LUT_PROGRAM_AUTHORITY_INDEX = 5;
@@ -468,6 +451,23 @@ const SYSVAR_CLOCK_ID = new __solana_web3_js.PublicKey("SysvarC1ock1111111111111
468
451
  const SYSVAR_STAKE_HISTORY_ID = new __solana_web3_js.PublicKey("SysvarStakeHistory1111111111111111111111111");
469
452
  const STAKE_CONFIG_ID = new __solana_web3_js.PublicKey("StakeConfig11111111111111111111111111111111");
470
453
 
454
+ //#endregion
455
+ //#region src/constants/tokens.ts
456
+ const WSOL_MINT = new __solana_web3_js.PublicKey("So11111111111111111111111111111111111111112");
457
+ const WSOL_EXTENDED_METADATA = {
458
+ symbol: "wSOL",
459
+ name: "Wrapped SOL",
460
+ address: "D7zkaUgFUDkhQHExySRxokL3Fa1GFnnuiVDTs9yMrFHY",
461
+ logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/So11111111111111111111111111111111111111112/logo.png",
462
+ additionalMetadata: [],
463
+ uri: "",
464
+ mint: WSOL_MINT.toBase58()
465
+ };
466
+ const LST_MINT = new __solana_web3_js.PublicKey("LSTxxxnJzKDFSLr4dUkPcmCf5VyryEqzPLz5j4bpxFp");
467
+ const USDC_MINT = new __solana_web3_js.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
468
+ const DUMMY_USDC_MINT = new __solana_web3_js.PublicKey("JAiSLhTCvAhGM4SojCYGoTPuqjw7KaCsopvRuNryzbML");
469
+ const USDC_DECIMALS = 6;
470
+
471
471
  //#endregion
472
472
  //#region src/common/modules/transactions/transaction.utils.ts
473
473
  /**
@@ -500,7 +500,7 @@ function getTxSize(tx) {
500
500
  verifySignatures: false
501
501
  }).length;
502
502
  return baseTxSize + feePayerSize + signaturesSize;
503
- } catch (error) {
503
+ } catch (_error) {
504
504
  return 9999;
505
505
  }
506
506
  }
@@ -513,7 +513,7 @@ function getAccountKeys(tx, lookupTableAccounts) {
513
513
  } else {
514
514
  return tx.compileMessage().getAccountKeys().length;
515
515
  }
516
- } catch (error) {
516
+ } catch (_error) {
517
517
  return 9999;
518
518
  }
519
519
  }
@@ -881,7 +881,7 @@ const getRecentPrioritizationFeesFromRpc = async (config, rpcRequest) => {
881
881
  };
882
882
  const getRecentPrioritizationFeesByPercentile = async (connection, config, slotsToReturn) => {
883
883
  const { fallback = true, lockedWritableAccounts = [] } = config || {};
884
- slotsToReturn = slotsToReturn && Number.isInteger(slotsToReturn) ? slotsToReturn : -1;
884
+ const validSlotsToReturn = slotsToReturn && Number.isInteger(slotsToReturn) ? slotsToReturn : -1;
885
885
  const promises = [];
886
886
  let tritonRpcResponse;
887
887
  let fallbackRpcResponse;
@@ -911,7 +911,7 @@ const getRecentPrioritizationFeesByPercentile = async (connection, config, slots
911
911
  return tritonGRPFResponse.error;
912
912
  }
913
913
  recentPrioritizationFees.sort((a, b) => a.slot - b.slot);
914
- if (slotsToReturn > 0) return recentPrioritizationFees.slice(0, slotsToReturn);
914
+ if (validSlotsToReturn > 0) return recentPrioritizationFees.slice(0, validSlotsToReturn);
915
915
  return recentPrioritizationFees;
916
916
  };
917
917
 
@@ -959,7 +959,7 @@ function wrappedI80F48toBigNumber(wrapped) {
959
959
  signChar = "-";
960
960
  bytesBE = bytesBE.map((v) => ~v & 255);
961
961
  }
962
- const hex = signChar + "0x" + bytesBE.map((v) => v.toString(16).padStart(2, "0")).join("");
962
+ const hex = `${signChar}0x${bytesBE.map((v) => v.toString(16).padStart(2, "0")).join("")}`;
963
963
  const decoded = new decimal_js.Decimal(hex).dividedBy(I80F48_DIVISOR);
964
964
  return new bignumber_js.default(decoded.toString());
965
965
  }
@@ -1065,9 +1065,6 @@ const composeRemainingAccounts = (banksAndOracles) => {
1065
1065
  //#endregion
1066
1066
  //#region src/common/utils/formatters.utils.ts
1067
1067
  var CustomNumberFormat = class extends Intl.NumberFormat {
1068
- constructor(locale, options) {
1069
- super(locale, options);
1070
- }
1071
1068
  format(value) {
1072
1069
  if (value === 0) {
1073
1070
  return "-";
@@ -1090,7 +1087,7 @@ const numeralFormatter = (value) => {
1090
1087
  };
1091
1088
  const dynamicNumeralFormatter = (value, options = {}) => {
1092
1089
  const { minDisplay = 1e-5, maxDisplay = 1e4, tokenPrice, logging = false, ignoreMinDisplay = false, forceDecimals } = options;
1093
- if (value === 0 || isNaN(value)) return "0";
1090
+ if (value === 0 || Number.isNaN(value)) return "0";
1094
1091
  const absValue = Math.abs(value);
1095
1092
  if (logging) {
1096
1093
  console.log({