@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.
- package/dist/ethers/index.cjs +20 -0
- package/dist/ethers/index.cjs.map +1 -1
- package/dist/ethers/index.d.cts +5 -2
- package/dist/ethers/index.d.ts +5 -2
- package/dist/ethers/index.js +20 -1
- package/dist/ethers/index.js.map +1 -1
- package/dist/react/index.cjs +22 -9
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.js +22 -9
- package/dist/react/index.js.map +1 -1
- package/dist/viem/index.cjs +34 -12
- package/dist/viem/index.cjs.map +1 -1
- package/dist/viem/index.d.cts +20 -4
- package/dist/viem/index.d.ts +20 -4
- package/dist/viem/index.js +34 -13
- package/dist/viem/index.js.map +1 -1
- package/package.json +1 -1
- package/src/ethers/abis.ts +5 -0
- package/src/ethers/errorParser.ts +8 -0
- package/src/ethers/errors.ts +7 -0
- package/src/ethers/index.ts +1 -0
- package/src/ethers/redeemFlows.ts +11 -1
- package/src/viem/abis.ts +4 -0
- package/src/viem/adminActions.ts +2 -2
- package/src/viem/chains.ts +3 -2
- package/src/viem/curatorMulticall.ts +1 -1
- package/src/viem/curatorStatus.ts +4 -4
- package/src/viem/curatorSubVaults.ts +3 -3
- package/src/viem/curatorSwaps.ts +4 -2
- package/src/viem/errorParser.ts +8 -0
- package/src/viem/errors.ts +7 -0
- package/src/viem/index.ts +1 -0
- package/src/viem/redeemFlows.ts +13 -1
- package/src/viem/vaultConfig.ts +1 -1
package/dist/react/index.cjs
CHANGED
|
@@ -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())
|