@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.
- package/dist/{chain-utils-CbVFMjwR.d.mts → chain-utils-CpOJcWig.d.mts} +36 -29
- package/dist/{chain-utils-CbVFMjwR.d.ts → chain-utils-CpOJcWig.d.ts} +36 -29
- package/dist/{chunk-7RAFG3NI.mjs → chunk-7JMQWERX.mjs} +88 -43
- package/dist/chunk-7JMQWERX.mjs.map +1 -0
- package/dist/{chunk-L3X5UBG6.mjs → chunk-HV2LE2M6.mjs} +5 -5
- package/dist/{chunk-L3X5UBG6.mjs.map → chunk-HV2LE2M6.mjs.map} +1 -1
- package/dist/{chunk-EHRZFLWL.js → chunk-JTURYJHV.js} +12 -12
- package/dist/{chunk-EHRZFLWL.js.map → chunk-JTURYJHV.js.map} +1 -1
- package/dist/{chunk-4OEL42W2.mjs → chunk-KXU3GSF4.mjs} +9 -5
- package/dist/chunk-KXU3GSF4.mjs.map +1 -0
- package/dist/{chunk-E2HBXOZY.js → chunk-MB6HYA7R.js} +16 -12
- package/dist/chunk-MB6HYA7R.js.map +1 -0
- package/dist/{chunk-R5G6F7RP.js → chunk-PKGFLHZA.js} +88 -43
- package/dist/chunk-PKGFLHZA.js.map +1 -0
- package/dist/{chunk-ZJBJFFBQ.js → chunk-R35K46S5.js} +111 -111
- package/dist/{chunk-ZJBJFFBQ.js.map → chunk-R35K46S5.js.map} +1 -1
- package/dist/{chunk-GSYGURYO.mjs → chunk-UM7S7U45.mjs} +5 -5
- package/dist/{chunk-GSYGURYO.mjs.map → chunk-UM7S7U45.mjs.map} +1 -1
- package/dist/{chunk-HBFBGNRH.mjs → chunk-USF4CU2K.mjs} +3 -3
- package/dist/{chunk-HBFBGNRH.mjs.map → chunk-USF4CU2K.mjs.map} +1 -1
- package/dist/{chunk-WHL5LQRP.js → chunk-YEAWQB72.js} +62 -62
- package/dist/{chunk-WHL5LQRP.js.map → chunk-YEAWQB72.js.map} +1 -1
- package/dist/core.d.mts +2 -2
- package/dist/core.d.ts +2 -2
- package/dist/core.js +16 -16
- package/dist/core.mjs +4 -4
- package/dist/display.d.mts +1 -1
- package/dist/display.d.ts +1 -1
- package/dist/display.js +10 -10
- package/dist/display.mjs +4 -4
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +57 -57
- package/dist/index.mjs +5 -5
- package/dist/utils.d.mts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +7 -7
- package/dist/utils.mjs +2 -2
- package/dist/vaults.d.mts +1 -1
- package/dist/vaults.d.ts +1 -1
- package/dist/vaults.js +25 -25
- package/dist/vaults.mjs +4 -4
- package/package.json +1 -1
- package/dist/chunk-4OEL42W2.mjs.map +0 -1
- package/dist/chunk-7RAFG3NI.mjs.map +0 -1
- package/dist/chunk-E2HBXOZY.js.map +0 -1
- 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:
|
|
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
|
|
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
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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:
|
|
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
|
|
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
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
|
|
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
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
existing
|
|
248
|
-
|
|
249
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
1047
|
-
|
|
1048
|
-
assetVaultMap.
|
|
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-
|
|
1389
|
-
//# sourceMappingURL=chunk-
|
|
1433
|
+
//# sourceMappingURL=chunk-7JMQWERX.mjs.map
|
|
1434
|
+
//# sourceMappingURL=chunk-7JMQWERX.mjs.map
|