@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.
@@ -381,6 +381,10 @@ Object.fromEntries(
381
381
 
382
382
  // src/viem/abis.ts
383
383
  var VAULT_ABI = [
384
+ // ── Errors (for proper revert decoding) ──
385
+ { type: "error", name: "WithdrawalQueueDisabled", inputs: [] },
386
+ { type: "error", name: "WithdrawalQueueEnabled", inputs: [] },
387
+ { type: "error", name: "RequestWithdrawDisabled", inputs: [] },
384
388
  {
385
389
  type: "function",
386
390
  name: "deposit",
@@ -1195,6 +1199,12 @@ var WhitelistQuotaExhaustedError = class extends MoreVaultsError {
1195
1199
  this.name = "WhitelistQuotaExhaustedError";
1196
1200
  }
1197
1201
  };
1202
+ var WithdrawalQueueDisabledError = class extends MoreVaultsError {
1203
+ constructor(vault) {
1204
+ 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.`);
1205
+ this.name = "WithdrawalQueueDisabledError";
1206
+ }
1207
+ };
1198
1208
  var InsufficientLiquidityError = class extends MoreVaultsError {
1199
1209
  hubLiquid;
1200
1210
  required;
@@ -1951,6 +1961,9 @@ function parseContractError(err, vault, caller) {
1951
1961
  if (msg.includes("EnforcedPause") || msg.includes("Pausable: paused")) {
1952
1962
  throw new VaultPausedError(vault);
1953
1963
  }
1964
+ if (msg.includes("WithdrawalQueueDisabled") || msg.includes("0xdbb22fbf")) {
1965
+ throw new WithdrawalQueueDisabledError(vault);
1966
+ }
1954
1967
  if (msg.includes("NotCurator") || msg.includes("OwnableUnauthorizedAccount")) {
1955
1968
  if (msg.includes("NotCurator")) {
1956
1969
  throw new NotCuratorError(vault, caller ?? "unknown");
@@ -2579,7 +2592,7 @@ async function getCuratorVaultStatus(publicClient, vault) {
2579
2592
  timeLockPeriod,
2580
2593
  maxSlippagePercent,
2581
2594
  currentNonce,
2582
- availableAssets: availableAssets.map(viem.getAddress),
2595
+ availableAssets: availableAssets.map((a) => viem.getAddress(a)),
2583
2596
  lzAdapter: viem.getAddress(lzAdapter),
2584
2597
  paused
2585
2598
  };
@@ -2648,8 +2661,8 @@ async function getVaultAnalysis(publicClient, vault) {
2648
2661
  functionName: "moreVaultsRegistry"
2649
2662
  }).catch(() => null)
2650
2663
  ]);
2651
- const availableAddresses = availableRaw.map(viem.getAddress);
2652
- const depositableAddresses = depositableRaw.map(viem.getAddress);
2664
+ const availableAddresses = availableRaw.map((a) => viem.getAddress(a));
2665
+ const depositableAddresses = depositableRaw.map((a) => viem.getAddress(a));
2653
2666
  const allAddresses = Array.from(/* @__PURE__ */ new Set([...availableAddresses, ...depositableAddresses]));
2654
2667
  const metadataCalls = allAddresses.flatMap((addr) => [
2655
2668
  { address: addr, abi: METADATA_ABI, functionName: "name" },
@@ -2720,7 +2733,7 @@ async function getVaultAssetBreakdown(publicClient, vault) {
2720
2733
  } catch {
2721
2734
  return { assets: [], totalAssets: 0n, totalSupply: 0n, underlyingDecimals: 6 };
2722
2735
  }
2723
- const addresses = availableRaw.map(viem.getAddress);
2736
+ const addresses = availableRaw.map((a) => viem.getAddress(a));
2724
2737
  const results = await publicClient.multicall({
2725
2738
  contracts: [
2726
2739
  // Per-asset: balanceOf, name, symbol, decimals
@@ -2833,7 +2846,7 @@ function encodeCuratorAction(action) {
2833
2846
  return viem.encodeFunctionData({
2834
2847
  abi: ADMIN_WRITE_ABI,
2835
2848
  functionName: "addAvailableAssets",
2836
- args: [action.assets.map(viem.getAddress)]
2849
+ args: [action.assets.map((a) => viem.getAddress(a))]
2837
2850
  });
2838
2851
  case "disableAssetToDeposit":
2839
2852
  return viem.encodeFunctionData({
@@ -3171,7 +3184,7 @@ async function getVaultConfiguration(publicClient, vault) {
3171
3184
  const bigint_ = (i) => results[i].status === "success" ? results[i].result : 0n;
3172
3185
  const bool_ = (i) => results[i].status === "success" ? results[i].result : false;
3173
3186
  const num_ = (i) => results[i].status === "success" ? Number(results[i].result) : 0;
3174
- const addrArray = (i) => results[i].status === "success" ? results[i].result.map(viem.getAddress) : [];
3187
+ const addrArray = (i) => results[i].status === "success" ? results[i].result.map((a) => viem.getAddress(a)) : [];
3175
3188
  return {
3176
3189
  // Roles
3177
3190
  owner: addr(0),
@@ -3227,8 +3240,8 @@ async function getSubVaultPositions(publicClient, vault) {
3227
3240
  args: [ERC7540_ID]
3228
3241
  }).catch(() => [])
3229
3242
  ]);
3230
- const erc4626Vaults = erc4626Raw.map(viem.getAddress);
3231
- const erc7540Vaults = erc7540Raw.map(viem.getAddress);
3243
+ const erc4626Vaults = erc4626Raw.map((a) => viem.getAddress(a));
3244
+ const erc7540Vaults = erc7540Raw.map((a) => viem.getAddress(a));
3232
3245
  const allSubVaults = [
3233
3246
  ...erc4626Vaults.map((a) => ({ address: a, type: "erc4626" })),
3234
3247
  ...erc7540Vaults.map((a) => ({ address: a, type: "erc7540" }))
@@ -3330,7 +3343,7 @@ async function getVaultPortfolio(publicClient, vault) {
3330
3343
  const totalAssets = vaultTotals[0]?.status === "success" ? vaultTotals[0].result : 0n;
3331
3344
  const totalSupply = vaultTotals[1]?.status === "success" ? vaultTotals[1].result : 0n;
3332
3345
  const underlyingAsset = vaultTotals[2]?.status === "success" ? viem.getAddress(vaultTotals[2].result) : viem.zeroAddress;
3333
- const availableAddresses = availableRaw.map(viem.getAddress);
3346
+ const availableAddresses = availableRaw.map((a) => viem.getAddress(a));
3334
3347
  const subVaultAddressSet = new Set(subVaultPositions.map((p) => p.address.toLowerCase()));
3335
3348
  const liquidAddresses = availableAddresses.filter(
3336
3349
  (addr) => !subVaultAddressSet.has(addr.toLowerCase())