@oydual31/more-vaults-sdk 1.1.22 → 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.
@@ -390,6 +390,10 @@ var ActionType = {
390
390
 
391
391
  // src/ethers/abis.ts
392
392
  var VAULT_ABI = [
393
+ // Errors (for proper revert decoding)
394
+ "error WithdrawalQueueDisabled()",
395
+ "error WithdrawalQueueEnabled()",
396
+ "error RequestWithdrawDisabled()",
393
397
  // ERC4626 core
394
398
  "function deposit(uint256 assets, address receiver) returns (uint256 shares)",
395
399
  "function mint(uint256 shares, address receiver) returns (uint256 assets)",
@@ -606,6 +610,12 @@ var WhitelistQuotaExhaustedError = class extends MoreVaultsError {
606
610
  this.name = "WhitelistQuotaExhaustedError";
607
611
  }
608
612
  };
613
+ var WithdrawalQueueDisabledError = class extends MoreVaultsError {
614
+ constructor(vault) {
615
+ 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.`);
616
+ this.name = "WithdrawalQueueDisabledError";
617
+ }
618
+ };
609
619
  var InsufficientLiquidityError = class extends MoreVaultsError {
610
620
  hubLiquid;
611
621
  required;
@@ -1449,6 +1459,9 @@ function parseContractError(err, vault, caller) {
1449
1459
  if (msg.includes("EnforcedPause") || msg.includes("Pausable: paused")) {
1450
1460
  throw new VaultPausedError(vault);
1451
1461
  }
1462
+ if (msg.includes("WithdrawalQueueDisabled") || msg.includes("0xdbb22fbf")) {
1463
+ throw new WithdrawalQueueDisabledError(vault);
1464
+ }
1452
1465
  if (msg.includes("NotCurator") || msg.includes("OwnableUnauthorizedAccount")) {
1453
1466
  if (msg.includes("NotCurator")) {
1454
1467
  throw new NotCuratorError(vault, "unknown");
@@ -1798,6 +1811,12 @@ async function withdrawAssets(signer, addresses, assets, receiver, owner) {
1798
1811
  async function requestRedeem(signer, addresses, shares, owner) {
1799
1812
  if (shares === 0n) throw new InvalidInputError("shares amount must be greater than zero");
1800
1813
  await validateWalletChain(signer, addresses.hubChainId);
1814
+ const provider = signer.provider;
1815
+ const configRead = new ethers.Contract(addresses.vault, ["function getWithdrawalQueueStatus() view returns (bool)"], provider);
1816
+ const queueEnabled = await configRead.getWithdrawalQueueStatus();
1817
+ if (!queueEnabled) {
1818
+ throw new WithdrawalQueueDisabledError(addresses.vault);
1819
+ }
1801
1820
  let useLegacy = false;
1802
1821
  const vaultNew = new ethers.Contract(addresses.vault, VAULT_ABI, signer);
1803
1822
  try {
@@ -3781,6 +3800,7 @@ exports.VAULT_ABI = VAULT_ABI;
3781
3800
  exports.VAULT_ANALYSIS_ABI = VAULT_ANALYSIS_ABI;
3782
3801
  exports.VaultPausedError = VaultPausedError;
3783
3802
  exports.WhitelistQuotaExhaustedError = WhitelistQuotaExhaustedError;
3803
+ exports.WithdrawalQueueDisabledError = WithdrawalQueueDisabledError;
3784
3804
  exports.WithdrawalTimelockActiveError = WithdrawalTimelockActiveError;
3785
3805
  exports.WrongChainError = WrongChainError;
3786
3806
  exports.acceptOwnership = acceptOwnership;