@paxoslabs/amplify-sdk 0.4.3-alpha.0 → 0.4.3-alpha.1

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.
Files changed (47) hide show
  1. package/dist/{chain-utils-CbVFMjwR.d.mts → chain-utils-CpOJcWig.d.mts} +36 -29
  2. package/dist/{chain-utils-CbVFMjwR.d.ts → chain-utils-CpOJcWig.d.ts} +36 -29
  3. package/dist/{chunk-7RAFG3NI.mjs → chunk-7JMQWERX.mjs} +88 -43
  4. package/dist/chunk-7JMQWERX.mjs.map +1 -0
  5. package/dist/{chunk-L3X5UBG6.mjs → chunk-HV2LE2M6.mjs} +5 -5
  6. package/dist/{chunk-L3X5UBG6.mjs.map → chunk-HV2LE2M6.mjs.map} +1 -1
  7. package/dist/{chunk-EHRZFLWL.js → chunk-JTURYJHV.js} +12 -12
  8. package/dist/{chunk-EHRZFLWL.js.map → chunk-JTURYJHV.js.map} +1 -1
  9. package/dist/{chunk-4OEL42W2.mjs → chunk-KXU3GSF4.mjs} +9 -5
  10. package/dist/chunk-KXU3GSF4.mjs.map +1 -0
  11. package/dist/{chunk-E2HBXOZY.js → chunk-MB6HYA7R.js} +16 -12
  12. package/dist/chunk-MB6HYA7R.js.map +1 -0
  13. package/dist/{chunk-R5G6F7RP.js → chunk-PKGFLHZA.js} +88 -43
  14. package/dist/chunk-PKGFLHZA.js.map +1 -0
  15. package/dist/{chunk-ZJBJFFBQ.js → chunk-R35K46S5.js} +111 -111
  16. package/dist/{chunk-ZJBJFFBQ.js.map → chunk-R35K46S5.js.map} +1 -1
  17. package/dist/{chunk-GSYGURYO.mjs → chunk-UM7S7U45.mjs} +5 -5
  18. package/dist/{chunk-GSYGURYO.mjs.map → chunk-UM7S7U45.mjs.map} +1 -1
  19. package/dist/{chunk-HBFBGNRH.mjs → chunk-USF4CU2K.mjs} +3 -3
  20. package/dist/{chunk-HBFBGNRH.mjs.map → chunk-USF4CU2K.mjs.map} +1 -1
  21. package/dist/{chunk-WHL5LQRP.js → chunk-YEAWQB72.js} +62 -62
  22. package/dist/{chunk-WHL5LQRP.js.map → chunk-YEAWQB72.js.map} +1 -1
  23. package/dist/core.d.mts +2 -2
  24. package/dist/core.d.ts +2 -2
  25. package/dist/core.js +16 -16
  26. package/dist/core.mjs +4 -4
  27. package/dist/display.d.mts +1 -1
  28. package/dist/display.d.ts +1 -1
  29. package/dist/display.js +10 -10
  30. package/dist/display.mjs +4 -4
  31. package/dist/index.d.mts +2 -2
  32. package/dist/index.d.ts +2 -2
  33. package/dist/index.js +57 -57
  34. package/dist/index.mjs +5 -5
  35. package/dist/utils.d.mts +1 -1
  36. package/dist/utils.d.ts +1 -1
  37. package/dist/utils.js +7 -7
  38. package/dist/utils.mjs +2 -2
  39. package/dist/vaults.d.mts +1 -1
  40. package/dist/vaults.d.ts +1 -1
  41. package/dist/vaults.js +25 -25
  42. package/dist/vaults.mjs +4 -4
  43. package/package.json +1 -1
  44. package/dist/chunk-4OEL42W2.mjs.map +0 -1
  45. package/dist/chunk-7RAFG3NI.mjs.map +0 -1
  46. package/dist/chunk-E2HBXOZY.js.map +0 -1
  47. package/dist/chunk-R5G6F7RP.js.map +0 -1
@@ -39,7 +39,7 @@ type YieldType = (typeof YieldType)[keyof typeof YieldType];
39
39
  * - accountantAddress: Manages accounting logic
40
40
  * - managerAddress: Controls strategy execution
41
41
  * - rolesAuthorityAddress: Enforces role-based access
42
- * - baseTokenAddress: Deposit token address (correlation key with SupportedAsset)
42
+ * - baseTokenAddress: Primary deposit token address
43
43
  * - baseTokenStandIn: Optional stand-in token
44
44
  * - communityCodeDepositorAddress: Optional community depositor contract
45
45
  */
@@ -54,11 +54,31 @@ interface VaultContracts {
54
54
  communityCodeDepositorAddress?: Address;
55
55
  withdrawQueueAddress?: Address;
56
56
  }
57
+ /**
58
+ * A single depositable/withdrawable asset supported by a vault.
59
+ */
60
+ interface VaultSupportedAsset {
61
+ /** Token contract address */
62
+ address: Address;
63
+ /** Token symbol (e.g., USDC, USDT) */
64
+ symbol: string;
65
+ /** Full token name (e.g., USD Coin) */
66
+ name: string;
67
+ /** Number of decimal places (e.g., 6 for USDC, 18 for DAI) */
68
+ decimals: number;
69
+ /** CoinGecko token identifier for price lookups */
70
+ coinGeckoTokenId?: string;
71
+ /** Whether deposits are currently enabled for this vault-asset pair */
72
+ depositable?: boolean;
73
+ /** Whether withdrawals are currently enabled for this vault-asset pair */
74
+ withdrawable?: boolean;
75
+ }
57
76
  /**
58
77
  * Amplify vault configuration
59
78
  *
60
- * Represents a single vault with contract addresses, yield type, and supported deposit asset.
79
+ * Represents a single vault with contract addresses, yield type, and supported deposit assets.
61
80
  * Multiple vaults can share the same baseTokenAddress (different chains/yield types).
81
+ * A single vault can support multiple depositable assets.
62
82
  *
63
83
  * @example
64
84
  * ```typescript
@@ -74,13 +94,15 @@ interface VaultContracts {
74
94
  * rolesAuthorityAddress: "0x4A5B6C7D8E9F0A1B2C3D4E5F6A7B8C9D0E1F2A3B",
75
95
  * baseTokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
76
96
  * },
77
- * supportedAssets: {
78
- * address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
79
- * symbol: "USDC",
80
- * name: "USD Coin",
81
- * decimals: 6,
82
- * coinGeckoTokenId: "usd-coin"
83
- * }
97
+ * supportedAssets: [
98
+ * {
99
+ * address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
100
+ * symbol: "USDC",
101
+ * name: "USD Coin",
102
+ * decimals: 6,
103
+ * coinGeckoTokenId: "usd-coin"
104
+ * }
105
+ * ]
84
106
  * };
85
107
  * ```
86
108
  */
@@ -101,29 +123,14 @@ interface AmplifyVault {
101
123
  vault: VaultContracts;
102
124
  /** SLA data from VaultSLAs table */
103
125
  sla?: VaultSLA;
104
- /** Supported deposit asset for this vault */
105
- supportedAssets: {
106
- /** Token contract address */
107
- address: Address;
108
- /** Token symbol (e.g., USDC, USDT) */
109
- symbol: string;
110
- /** Full token name (e.g., USD Coin) */
111
- name: string;
112
- /** Number of decimal places (e.g., 6 for USDC, 18 for DAI) */
113
- decimals: number;
114
- /** CoinGecko token identifier for price lookups */
115
- coinGeckoTokenId?: string;
116
- /** Whether deposits are currently enabled for this vault-asset pair */
117
- depositable?: boolean;
118
- /** Whether withdrawals are currently enabled for this vault-asset pair */
119
- withdrawable?: boolean;
120
- };
126
+ /** Supported deposit assets for this vault */
127
+ supportedAssets: VaultSupportedAsset[];
121
128
  }
122
129
  /**
123
130
  * Supported asset (token) metadata
124
131
  *
125
132
  * Represents a cryptocurrency token with metadata and chain support.
126
- * Joins with AmplifyVault via address == AmplifyVault.vault.baseTokenAddress
133
+ * Can be correlated with AmplifyVault via the vault's supportedAssets array.
127
134
  *
128
135
  * @example
129
136
  * ```typescript
@@ -138,7 +145,7 @@ interface AmplifyVault {
138
145
  * ```
139
146
  */
140
147
  interface SupportedAsset {
141
- /** Token contract address (correlation key with AmplifyVault.vault.baseTokenAddress) */
148
+ /** Token contract address */
142
149
  address: Address;
143
150
  /** Token symbol (e.g., USDC, USDT) */
144
151
  symbol: string;
@@ -312,4 +319,4 @@ declare function getChainFromConfig(chainId: number, config?: AmplifyVault[]): P
312
319
  */
313
320
  declare function clearChainsCache(): void;
314
321
 
315
- export { type AmplifyVault as A, type ChainId as C, type SupportedAsset as S, type VaultFilterOptions as V, type WithdrawSupportedAsset as W, YieldType as Y, type AssetFilterOptions as a, APIError as b, clearChainsCache as c, type VaultSLA as d, getChainFromConfig as g, toChainId as t };
322
+ export { type AmplifyVault as A, type ChainId as C, type SupportedAsset as S, type VaultFilterOptions as V, type WithdrawSupportedAsset as W, YieldType as Y, type AssetFilterOptions as a, APIError as b, clearChainsCache as c, type VaultSLA as d, type VaultSupportedAsset as e, getChainFromConfig as g, toChainId as t };
@@ -39,7 +39,7 @@ type YieldType = (typeof YieldType)[keyof typeof YieldType];
39
39
  * - accountantAddress: Manages accounting logic
40
40
  * - managerAddress: Controls strategy execution
41
41
  * - rolesAuthorityAddress: Enforces role-based access
42
- * - baseTokenAddress: Deposit token address (correlation key with SupportedAsset)
42
+ * - baseTokenAddress: Primary deposit token address
43
43
  * - baseTokenStandIn: Optional stand-in token
44
44
  * - communityCodeDepositorAddress: Optional community depositor contract
45
45
  */
@@ -54,11 +54,31 @@ interface VaultContracts {
54
54
  communityCodeDepositorAddress?: Address;
55
55
  withdrawQueueAddress?: Address;
56
56
  }
57
+ /**
58
+ * A single depositable/withdrawable asset supported by a vault.
59
+ */
60
+ interface VaultSupportedAsset {
61
+ /** Token contract address */
62
+ address: Address;
63
+ /** Token symbol (e.g., USDC, USDT) */
64
+ symbol: string;
65
+ /** Full token name (e.g., USD Coin) */
66
+ name: string;
67
+ /** Number of decimal places (e.g., 6 for USDC, 18 for DAI) */
68
+ decimals: number;
69
+ /** CoinGecko token identifier for price lookups */
70
+ coinGeckoTokenId?: string;
71
+ /** Whether deposits are currently enabled for this vault-asset pair */
72
+ depositable?: boolean;
73
+ /** Whether withdrawals are currently enabled for this vault-asset pair */
74
+ withdrawable?: boolean;
75
+ }
57
76
  /**
58
77
  * Amplify vault configuration
59
78
  *
60
- * Represents a single vault with contract addresses, yield type, and supported deposit asset.
79
+ * Represents a single vault with contract addresses, yield type, and supported deposit assets.
61
80
  * Multiple vaults can share the same baseTokenAddress (different chains/yield types).
81
+ * A single vault can support multiple depositable assets.
62
82
  *
63
83
  * @example
64
84
  * ```typescript
@@ -74,13 +94,15 @@ interface VaultContracts {
74
94
  * rolesAuthorityAddress: "0x4A5B6C7D8E9F0A1B2C3D4E5F6A7B8C9D0E1F2A3B",
75
95
  * baseTokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
76
96
  * },
77
- * supportedAssets: {
78
- * address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
79
- * symbol: "USDC",
80
- * name: "USD Coin",
81
- * decimals: 6,
82
- * coinGeckoTokenId: "usd-coin"
83
- * }
97
+ * supportedAssets: [
98
+ * {
99
+ * address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
100
+ * symbol: "USDC",
101
+ * name: "USD Coin",
102
+ * decimals: 6,
103
+ * coinGeckoTokenId: "usd-coin"
104
+ * }
105
+ * ]
84
106
  * };
85
107
  * ```
86
108
  */
@@ -101,29 +123,14 @@ interface AmplifyVault {
101
123
  vault: VaultContracts;
102
124
  /** SLA data from VaultSLAs table */
103
125
  sla?: VaultSLA;
104
- /** Supported deposit asset for this vault */
105
- supportedAssets: {
106
- /** Token contract address */
107
- address: Address;
108
- /** Token symbol (e.g., USDC, USDT) */
109
- symbol: string;
110
- /** Full token name (e.g., USD Coin) */
111
- name: string;
112
- /** Number of decimal places (e.g., 6 for USDC, 18 for DAI) */
113
- decimals: number;
114
- /** CoinGecko token identifier for price lookups */
115
- coinGeckoTokenId?: string;
116
- /** Whether deposits are currently enabled for this vault-asset pair */
117
- depositable?: boolean;
118
- /** Whether withdrawals are currently enabled for this vault-asset pair */
119
- withdrawable?: boolean;
120
- };
126
+ /** Supported deposit assets for this vault */
127
+ supportedAssets: VaultSupportedAsset[];
121
128
  }
122
129
  /**
123
130
  * Supported asset (token) metadata
124
131
  *
125
132
  * Represents a cryptocurrency token with metadata and chain support.
126
- * Joins with AmplifyVault via address == AmplifyVault.vault.baseTokenAddress
133
+ * Can be correlated with AmplifyVault via the vault's supportedAssets array.
127
134
  *
128
135
  * @example
129
136
  * ```typescript
@@ -138,7 +145,7 @@ interface AmplifyVault {
138
145
  * ```
139
146
  */
140
147
  interface SupportedAsset {
141
- /** Token contract address (correlation key with AmplifyVault.vault.baseTokenAddress) */
148
+ /** Token contract address */
142
149
  address: Address;
143
150
  /** Token symbol (e.g., USDC, USDT) */
144
151
  symbol: string;
@@ -312,4 +319,4 @@ declare function getChainFromConfig(chainId: number, config?: AmplifyVault[]): P
312
319
  */
313
320
  declare function clearChainsCache(): void;
314
321
 
315
- export { type AmplifyVault as A, type ChainId as C, type SupportedAsset as S, type VaultFilterOptions as V, type WithdrawSupportedAsset as W, YieldType as Y, type AssetFilterOptions as a, APIError as b, clearChainsCache as c, type VaultSLA as d, getChainFromConfig as g, toChainId as t };
322
+ export { type AmplifyVault as A, type ChainId as C, type SupportedAsset as S, type VaultFilterOptions as V, type WithdrawSupportedAsset as W, YieldType as Y, type AssetFilterOptions as a, APIError as b, clearChainsCache as c, type VaultSLA as d, type VaultSupportedAsset as e, getChainFromConfig as g, toChainId as t };
@@ -159,9 +159,15 @@ var VaultCache = class {
159
159
  * @returns Array of all AmplifyVault objects
160
160
  */
161
161
  getAllVaults() {
162
+ const seen = /* @__PURE__ */ new Set();
162
163
  const allVaults = [];
163
164
  for (const vaultArray of this.vaults.values()) {
164
- allVaults.push(...vaultArray);
165
+ for (const vault of vaultArray) {
166
+ if (!seen.has(vault.id)) {
167
+ seen.add(vault.id);
168
+ allVaults.push(vault);
169
+ }
170
+ }
165
171
  }
166
172
  return allVaults;
167
173
  }
@@ -241,12 +247,16 @@ var VaultCache = class {
241
247
  this.vaultsByAddress.clear();
242
248
  this.vaultsByName.clear();
243
249
  for (const vault of vaults) {
244
- const tokenAddress = vault.vault.baseTokenAddress;
245
- const existing = this.vaults.get(tokenAddress);
246
- if (existing) {
247
- existing.push(vault);
248
- } else {
249
- this.vaults.set(tokenAddress, [vault]);
250
+ for (const asset of vault.supportedAssets) {
251
+ const tokenAddress = asset.address;
252
+ const existing = this.vaults.get(tokenAddress);
253
+ if (existing) {
254
+ if (!existing.includes(vault)) {
255
+ existing.push(vault);
256
+ }
257
+ } else {
258
+ this.vaults.set(tokenAddress, [vault]);
259
+ }
250
260
  }
251
261
  this.vaultsByAddress.set(
252
262
  vault.vault.boringVaultAddress.toLowerCase(),
@@ -536,6 +546,15 @@ var VAULT_FIELDS = `
536
546
  externalWithdrawalQueueDelaySLA
537
547
  externalAccountantRateUpdateSLA
538
548
  }
549
+ supportedAssets {
550
+ address
551
+ chainId
552
+ depositable
553
+ withdrawable
554
+ symbol
555
+ tokenName
556
+ decimals
557
+ }
539
558
  `;
540
559
  var DEPOSIT_TOKEN_FIELDS = `
541
560
  id
@@ -712,6 +731,25 @@ function mapGraphQLConfigToVault(config) {
712
731
  return null;
713
732
  }
714
733
  const { vault, depositTokenAddress } = config;
734
+ const indexerAssets = vault.supportedAssets && vault.supportedAssets.length > 0 ? vault.supportedAssets.map((a) => ({
735
+ address: a.address,
736
+ symbol: a.symbol ?? a.address,
737
+ name: a.tokenName ?? a.symbol ?? a.address,
738
+ decimals: a.decimals ?? 0,
739
+ depositable: a.depositable,
740
+ withdrawable: a.withdrawable
741
+ })) : [
742
+ {
743
+ address: depositTokenAddress.address,
744
+ symbol: config.tokenMetadata?.symbol ?? depositTokenAddress.name,
745
+ name: config.tokenMetadata?.tokenName ?? depositTokenAddress.name,
746
+ decimals: config.tokenMetadata?.decimals ?? 0,
747
+ ...config.vaultAssetFlags && {
748
+ depositable: config.vaultAssetFlags.depositable,
749
+ withdrawable: config.vaultAssetFlags.withdrawable
750
+ }
751
+ }
752
+ ];
715
753
  return {
716
754
  id: config.id,
717
755
  chainId: config.chainId,
@@ -728,22 +766,25 @@ function mapGraphQLConfigToVault(config) {
728
766
  withdrawQueueAddress: vault.withdrawQueueModuleId ? vault.withdrawQueueModuleId : void 0,
729
767
  communityCodeDepositorAddress: vault.communityCodeDepositorModuleId ? vault.communityCodeDepositorModuleId : void 0
730
768
  },
731
- supportedAssets: {
732
- address: depositTokenAddress.address,
733
- symbol: config.tokenMetadata?.symbol ?? depositTokenAddress.name,
734
- name: config.tokenMetadata?.tokenName ?? depositTokenAddress.name,
735
- decimals: config.tokenMetadata?.decimals ?? 0,
736
- ...config.vaultAssetFlags && {
737
- depositable: config.vaultAssetFlags.depositable,
738
- withdrawable: config.vaultAssetFlags.withdrawable
739
- }
740
- },
769
+ supportedAssets: indexerAssets,
741
770
  sla: vault.withdrawalSla && vault.withdrawalSla.length > 0 ? {
742
771
  externalWithdrawalQueueDelaySLA: vault.withdrawalSla[0].externalWithdrawalQueueDelaySLA,
743
772
  externalAccountantRateUpdateSLA: vault.withdrawalSla[0].externalAccountantRateUpdateSLA
744
773
  } : void 0
745
774
  };
746
775
  }
776
+ function aggregateVaultConfigs(configs) {
777
+ const vaultMap = /* @__PURE__ */ new Map();
778
+ for (const config of configs) {
779
+ if (!config.vault || !config.depositTokenAddress) continue;
780
+ if (vaultMap.has(config.vaultId)) continue;
781
+ const mapped = mapGraphQLConfigToVault(config);
782
+ if (mapped) {
783
+ vaultMap.set(config.vaultId, mapped);
784
+ }
785
+ }
786
+ return Array.from(vaultMap.values());
787
+ }
747
788
  function extractSupportedAssetsFromConfigs(configs) {
748
789
  const assetMap = /* @__PURE__ */ new Map();
749
790
  for (const config of configs) {
@@ -838,16 +879,7 @@ async function fetchVaultDataFromGraphQL() {
838
879
  const endpoint = getGraphQLEndpoint();
839
880
  const response = await fetchAmplifySdkConfigs(endpoint);
840
881
  const configs = response.amplifySdkConfigs;
841
- const vaults = [];
842
- const seenVaultIds = /* @__PURE__ */ new Set();
843
- for (const config of configs) {
844
- if (seenVaultIds.has(config.vaultId)) continue;
845
- const vault = mapGraphQLConfigToVault(config);
846
- if (vault) {
847
- seenVaultIds.add(config.vaultId);
848
- vaults.push(vault);
849
- }
850
- }
882
+ const vaults = aggregateVaultConfigs(configs);
851
883
  const assets = extractSupportedAssetsFromConfigs(configs);
852
884
  return { vaults, assets };
853
885
  }
@@ -861,8 +893,11 @@ function applyVaultFilters(vaults, options) {
861
893
  filtered = filtered.filter((v) => v.yieldType === options.yieldType);
862
894
  }
863
895
  if (options.depositTokenAddress) {
896
+ const normalized = options.depositTokenAddress.toLowerCase();
864
897
  filtered = filtered.filter(
865
- (v) => v.vault.baseTokenAddress === options.depositTokenAddress
898
+ (v) => v.supportedAssets.some(
899
+ (a) => a.address.toLowerCase() === normalized
900
+ )
866
901
  );
867
902
  }
868
903
  return filtered;
@@ -955,7 +990,9 @@ async function findVaultByConfig(params) {
955
990
  if (!vaultsByToken) {
956
991
  const allVaults = cache.getAllVaults();
957
992
  const matchingVaults = allVaults.filter(
958
- (vault) => vault.vault.baseTokenAddress.toLowerCase() === normalizedAddress
993
+ (vault) => vault.supportedAssets.some(
994
+ (a) => a.address.toLowerCase() === normalizedAddress
995
+ )
959
996
  );
960
997
  vaultsByToken = matchingVaults.length > 0 ? matchingVaults : void 0;
961
998
  }
@@ -1000,7 +1037,9 @@ async function getVaultsByConfig(params) {
1000
1037
  }
1001
1038
  const normalized = params.depositAssetAddress.toLowerCase();
1002
1039
  vaults = vaults.filter(
1003
- (v) => v.vault.baseTokenAddress.toLowerCase() === normalized
1040
+ (v) => v.supportedAssets.some(
1041
+ (a) => a.address.toLowerCase() === normalized
1042
+ )
1004
1043
  );
1005
1044
  }
1006
1045
  if (params?.withdrawAssetAddress) {
@@ -1012,7 +1051,9 @@ async function getVaultsByConfig(params) {
1012
1051
  }
1013
1052
  const normalized = params.withdrawAssetAddress.toLowerCase();
1014
1053
  vaults = vaults.filter(
1015
- (v) => v.supportedAssets.withdrawable !== false && v.supportedAssets.address.toLowerCase() === normalized
1054
+ (v) => v.supportedAssets.some(
1055
+ (a) => a.withdrawable !== false && a.address.toLowerCase() === normalized
1056
+ )
1016
1057
  );
1017
1058
  }
1018
1059
  if (params?.settlementAssetAddress) {
@@ -1024,7 +1065,9 @@ async function getVaultsByConfig(params) {
1024
1065
  }
1025
1066
  const normalized = params.settlementAssetAddress.toLowerCase();
1026
1067
  vaults = vaults.filter(
1027
- (v) => v.vault.baseTokenAddress.toLowerCase() === normalized
1068
+ (v) => v.supportedAssets.some(
1069
+ (a) => a.address.toLowerCase() === normalized
1070
+ )
1028
1071
  );
1029
1072
  }
1030
1073
  return vaults;
@@ -1043,16 +1086,18 @@ async function getWithdrawSupportedAssets() {
1043
1086
  }
1044
1087
  const assetVaultMap = /* @__PURE__ */ new Map();
1045
1088
  for (const vault of vaults) {
1046
- const assetAddress = vault.vault.baseTokenAddress.toLowerCase();
1047
- if (!assetVaultMap.has(assetAddress)) {
1048
- assetVaultMap.set(assetAddress, []);
1089
+ for (const asset of vault.supportedAssets) {
1090
+ const assetAddress = asset.address.toLowerCase();
1091
+ if (!assetVaultMap.has(assetAddress)) {
1092
+ assetVaultMap.set(assetAddress, []);
1093
+ }
1094
+ assetVaultMap.get(assetAddress)?.push({
1095
+ id: vault.id,
1096
+ yieldType: vault.yieldType,
1097
+ chainId: vault.chainId,
1098
+ vaultId: vault.id
1099
+ });
1049
1100
  }
1050
- assetVaultMap.get(assetAddress)?.push({
1051
- id: vault.id,
1052
- yieldType: vault.yieldType,
1053
- chainId: vault.chainId,
1054
- vaultId: vault.id
1055
- });
1056
1101
  }
1057
1102
  for (const [assetAddress, vaultsData] of assetVaultMap.entries()) {
1058
1103
  const asset = assetMap.get(assetAddress);
@@ -1385,5 +1430,5 @@ async function initAmplifySDK(apiKey, options) {
1385
1430
  }
1386
1431
 
1387
1432
  export { APIError, API_BASE_URL, CHAINLINK_ADDRESS, DEFAULT_APPROVAL_AMOUNT, DEFAULT_DEADLINE, DEFAULT_SLIPPAGE_BPS, DEFAULT_TIMEOUT, LogLevel, YieldType, clearChainsCache, createTimeoutSignal, fetchSupportedAssets, fetchVaults, findVaultByConfig, getAssetsFromCache, getCache, getChainFromConfig, getClient, getLogger, getRequestHeaders, getRestV2BaseURL, getVaultsByConfig, getWithdrawSupportedAssets, initAmplifySDK, initializeCache, isCacheReady, isValidAddress, isValidChainId, refreshVaultCache, setLogLevel, setLogger, toChainId, waitForCacheReady };
1388
- //# sourceMappingURL=chunk-7RAFG3NI.mjs.map
1389
- //# sourceMappingURL=chunk-7RAFG3NI.mjs.map
1433
+ //# sourceMappingURL=chunk-7JMQWERX.mjs.map
1434
+ //# sourceMappingURL=chunk-7JMQWERX.mjs.map