@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.js
CHANGED
|
@@ -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())
|