@oydual31/more-vaults-sdk 1.1.21 → 1.1.23

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.
@@ -379,6 +379,10 @@ Object.fromEntries(
379
379
 
380
380
  // src/viem/abis.ts
381
381
  var VAULT_ABI = [
382
+ // ── Errors (for proper revert decoding) ──
383
+ { type: "error", name: "WithdrawalQueueDisabled", inputs: [] },
384
+ { type: "error", name: "WithdrawalQueueEnabled", inputs: [] },
385
+ { type: "error", name: "RequestWithdrawDisabled", inputs: [] },
382
386
  {
383
387
  type: "function",
384
388
  name: "deposit",
@@ -1193,6 +1197,12 @@ var WhitelistQuotaExhaustedError = class extends MoreVaultsError {
1193
1197
  this.name = "WhitelistQuotaExhaustedError";
1194
1198
  }
1195
1199
  };
1200
+ var WithdrawalQueueDisabledError = class extends MoreVaultsError {
1201
+ constructor(vault) {
1202
+ super(`[MoreVaults] Withdrawal queue is disabled on vault ${vault}. Cannot call requestRedeem/requestWithdraw \u2014 use redeemShares/withdrawAssets directly, or smartRedeem which auto-selects the correct flow.`);
1203
+ this.name = "WithdrawalQueueDisabledError";
1204
+ }
1205
+ };
1196
1206
  var InsufficientLiquidityError = class extends MoreVaultsError {
1197
1207
  hubLiquid;
1198
1208
  required;
@@ -1949,6 +1959,9 @@ function parseContractError(err, vault, caller) {
1949
1959
  if (msg.includes("EnforcedPause") || msg.includes("Pausable: paused")) {
1950
1960
  throw new VaultPausedError(vault);
1951
1961
  }
1962
+ if (msg.includes("WithdrawalQueueDisabled") || msg.includes("0xdbb22fbf")) {
1963
+ throw new WithdrawalQueueDisabledError(vault);
1964
+ }
1952
1965
  if (msg.includes("NotCurator") || msg.includes("OwnableUnauthorizedAccount")) {
1953
1966
  if (msg.includes("NotCurator")) {
1954
1967
  throw new NotCuratorError(vault, caller ?? "unknown");
@@ -2577,7 +2590,7 @@ async function getCuratorVaultStatus(publicClient, vault) {
2577
2590
  timeLockPeriod,
2578
2591
  maxSlippagePercent,
2579
2592
  currentNonce,
2580
- availableAssets: availableAssets.map(getAddress),
2593
+ availableAssets: availableAssets.map((a) => getAddress(a)),
2581
2594
  lzAdapter: getAddress(lzAdapter),
2582
2595
  paused
2583
2596
  };
@@ -2646,8 +2659,8 @@ async function getVaultAnalysis(publicClient, vault) {
2646
2659
  functionName: "moreVaultsRegistry"
2647
2660
  }).catch(() => null)
2648
2661
  ]);
2649
- const availableAddresses = availableRaw.map(getAddress);
2650
- const depositableAddresses = depositableRaw.map(getAddress);
2662
+ const availableAddresses = availableRaw.map((a) => getAddress(a));
2663
+ const depositableAddresses = depositableRaw.map((a) => getAddress(a));
2651
2664
  const allAddresses = Array.from(/* @__PURE__ */ new Set([...availableAddresses, ...depositableAddresses]));
2652
2665
  const metadataCalls = allAddresses.flatMap((addr) => [
2653
2666
  { address: addr, abi: METADATA_ABI, functionName: "name" },
@@ -2718,7 +2731,7 @@ async function getVaultAssetBreakdown(publicClient, vault) {
2718
2731
  } catch {
2719
2732
  return { assets: [], totalAssets: 0n, totalSupply: 0n, underlyingDecimals: 6 };
2720
2733
  }
2721
- const addresses = availableRaw.map(getAddress);
2734
+ const addresses = availableRaw.map((a) => getAddress(a));
2722
2735
  const results = await publicClient.multicall({
2723
2736
  contracts: [
2724
2737
  // Per-asset: balanceOf, name, symbol, decimals
@@ -2831,7 +2844,7 @@ function encodeCuratorAction(action) {
2831
2844
  return encodeFunctionData({
2832
2845
  abi: ADMIN_WRITE_ABI,
2833
2846
  functionName: "addAvailableAssets",
2834
- args: [action.assets.map(getAddress)]
2847
+ args: [action.assets.map((a) => getAddress(a))]
2835
2848
  });
2836
2849
  case "disableAssetToDeposit":
2837
2850
  return encodeFunctionData({
@@ -3169,7 +3182,7 @@ async function getVaultConfiguration(publicClient, vault) {
3169
3182
  const bigint_ = (i) => results[i].status === "success" ? results[i].result : 0n;
3170
3183
  const bool_ = (i) => results[i].status === "success" ? results[i].result : false;
3171
3184
  const num_ = (i) => results[i].status === "success" ? Number(results[i].result) : 0;
3172
- const addrArray = (i) => results[i].status === "success" ? results[i].result.map(getAddress) : [];
3185
+ const addrArray = (i) => results[i].status === "success" ? results[i].result.map((a) => getAddress(a)) : [];
3173
3186
  return {
3174
3187
  // Roles
3175
3188
  owner: addr(0),
@@ -3225,8 +3238,8 @@ async function getSubVaultPositions(publicClient, vault) {
3225
3238
  args: [ERC7540_ID]
3226
3239
  }).catch(() => [])
3227
3240
  ]);
3228
- const erc4626Vaults = erc4626Raw.map(getAddress);
3229
- const erc7540Vaults = erc7540Raw.map(getAddress);
3241
+ const erc4626Vaults = erc4626Raw.map((a) => getAddress(a));
3242
+ const erc7540Vaults = erc7540Raw.map((a) => getAddress(a));
3230
3243
  const allSubVaults = [
3231
3244
  ...erc4626Vaults.map((a) => ({ address: a, type: "erc4626" })),
3232
3245
  ...erc7540Vaults.map((a) => ({ address: a, type: "erc7540" }))
@@ -3328,7 +3341,7 @@ async function getVaultPortfolio(publicClient, vault) {
3328
3341
  const totalAssets = vaultTotals[0]?.status === "success" ? vaultTotals[0].result : 0n;
3329
3342
  const totalSupply = vaultTotals[1]?.status === "success" ? vaultTotals[1].result : 0n;
3330
3343
  const underlyingAsset = vaultTotals[2]?.status === "success" ? getAddress(vaultTotals[2].result) : zeroAddress;
3331
- const availableAddresses = availableRaw.map(getAddress);
3344
+ const availableAddresses = availableRaw.map((a) => getAddress(a));
3332
3345
  const subVaultAddressSet = new Set(subVaultPositions.map((p) => p.address.toLowerCase()));
3333
3346
  const liquidAddresses = availableAddresses.filter(
3334
3347
  (addr) => !subVaultAddressSet.has(addr.toLowerCase())