@gearbox-protocol/sdk 1.27.12 → 2.0.0
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/contracts/PriceFeedDataLive.sol +317 -130
- package/contracts/PriceFeedType.sol +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/oracles/priceFeeds.d.ts +2 -2
- package/lib/oracles/priceFeeds.js +459 -218
- package/lib/oracles/priceFeeds.spec.js +35 -33
- package/lib/oracles/{oracles.d.ts → pricefeedType.d.ts} +27 -21
- package/lib/oracles/pricefeedType.js +24 -0
- package/lib/tokens/tokens.spec.js +1 -1
- package/package.json +1 -1
- package/lib/oracles/oracles.js +0 -24
|
@@ -72,133 +72,284 @@ contract PriceFeedDataLive {
|
|
|
72
72
|
|
|
73
73
|
constructor(uint16 _networkId) {
|
|
74
74
|
networkId = _networkId;
|
|
75
|
+
// ------------------------ 1INCH ------------------------
|
|
75
76
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
76
77
|
ChainlinkPriceFeedData({token: Tokens._1INCH, priceFeed: 0xc929ad75B72593967DE83E7F7Cda0493458261D9})
|
|
77
78
|
);
|
|
79
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
80
|
+
ChainlinkPriceFeedData({token: Tokens._1INCH, priceFeed: 0x4bC735Ef24bf286983024CAd5D03f0738865Aaef})
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
// ------------------------ AAVE ------------------------
|
|
78
84
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
79
85
|
ChainlinkPriceFeedData({token: Tokens.AAVE, priceFeed: 0x547a514d5e3769680Ce22B2361c10Ea13619e8a9})
|
|
80
86
|
);
|
|
87
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
88
|
+
ChainlinkPriceFeedData({token: Tokens.AAVE, priceFeed: 0xaD1d5344AaDE45F43E596773Bcc4c423EAbdD034})
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
// ------------------------ COMP ------------------------
|
|
81
92
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
82
93
|
ChainlinkPriceFeedData({token: Tokens.COMP, priceFeed: 0xdbd020CAeF83eFd542f4De03e3cF0C28A4428bd5})
|
|
83
94
|
);
|
|
95
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
96
|
+
ChainlinkPriceFeedData({token: Tokens.COMP, priceFeed: 0xe7C53FFd03Eb6ceF7d208bC4C13446c76d1E5884})
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
// ------------------------ CRV ------------------------
|
|
84
100
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
85
101
|
ChainlinkPriceFeedData({token: Tokens.CRV, priceFeed: 0xCd627aA160A6fA45Eb793D19Ef54f5062F20f33f})
|
|
86
102
|
);
|
|
103
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
104
|
+
ChainlinkPriceFeedData({token: Tokens.CRV, priceFeed: 0xaebDA2c976cfd1eE1977Eac079B4382acb849325})
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
// ------------------------ DAI ------------------------
|
|
87
108
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
88
109
|
ChainlinkPriceFeedData({token: Tokens.DAI, priceFeed: 0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9})
|
|
89
110
|
);
|
|
111
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
112
|
+
ChainlinkPriceFeedData({token: Tokens.DAI, priceFeed: 0xc5C8E77B397E531B8EC06BFb0048328B30E9eCfB})
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
// ------------------------ DPI ------------------------
|
|
90
116
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
91
117
|
ChainlinkPriceFeedData({token: Tokens.DPI, priceFeed: 0xD2A593BF7594aCE1faD597adb697b5645d5edDB2})
|
|
92
118
|
);
|
|
119
|
+
|
|
120
|
+
// ------------------------ FEI ------------------------
|
|
93
121
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
94
122
|
ChainlinkPriceFeedData({token: Tokens.FEI, priceFeed: 0x31e0a88fecB6eC0a411DBe0e9E76391498296EE9})
|
|
95
123
|
);
|
|
124
|
+
|
|
125
|
+
// ------------------------ GUSD ------------------------
|
|
96
126
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
97
127
|
ChainlinkPriceFeedData({token: Tokens.GUSD, priceFeed: 0xa89f5d2365ce98B3cD68012b6f503ab1416245Fc})
|
|
98
128
|
);
|
|
129
|
+
|
|
130
|
+
// ------------------------ LINK ------------------------
|
|
99
131
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
100
132
|
ChainlinkPriceFeedData({token: Tokens.LINK, priceFeed: 0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c})
|
|
101
133
|
);
|
|
134
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
135
|
+
ChainlinkPriceFeedData({token: Tokens.LINK, priceFeed: 0x86E53CF1B870786351Da77A57575e79CB55812CB})
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
// ------------------------ SNX ------------------------
|
|
102
139
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
103
140
|
ChainlinkPriceFeedData({token: Tokens.SNX, priceFeed: 0xDC3EA94CD0AC27d9A86C180091e7f78C683d3699})
|
|
104
141
|
);
|
|
105
|
-
chainlinkPriceFeedsByNetwork[
|
|
106
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
142
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
143
|
+
ChainlinkPriceFeedData({token: Tokens.SNX, priceFeed: 0x054296f0D036b95531B4E14aFB578B80CFb41252})
|
|
107
144
|
);
|
|
145
|
+
|
|
146
|
+
// ------------------------ UNI ------------------------
|
|
108
147
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
109
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
148
|
+
ChainlinkPriceFeedData({token: Tokens.UNI, priceFeed: 0x553303d460EE0afB37EdFf9bE42922D8FF63220e})
|
|
110
149
|
);
|
|
111
|
-
chainlinkPriceFeedsByNetwork[
|
|
112
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
150
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
151
|
+
ChainlinkPriceFeedData({token: Tokens.UNI, priceFeed: 0x9C917083fDb403ab5ADbEC26Ee294f6EcAda2720})
|
|
113
152
|
);
|
|
153
|
+
|
|
154
|
+
// ------------------------ USDC ------------------------
|
|
114
155
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
115
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
156
|
+
ChainlinkPriceFeedData({token: Tokens.USDC, priceFeed: 0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6})
|
|
116
157
|
);
|
|
117
|
-
chainlinkPriceFeedsByNetwork[
|
|
118
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
158
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
159
|
+
ChainlinkPriceFeedData({token: Tokens.USDC, priceFeed: 0x50834F3163758fcC1Df9973b6e91f0F0F0434aD3})
|
|
119
160
|
);
|
|
161
|
+
|
|
162
|
+
// ------------------------ USDT ------------------------
|
|
120
163
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
121
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
164
|
+
ChainlinkPriceFeedData({token: Tokens.USDT, priceFeed: 0x3E7d1eAB13ad0104d2750B8863b489D65364e32D})
|
|
122
165
|
);
|
|
123
|
-
chainlinkPriceFeedsByNetwork[
|
|
124
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
166
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
167
|
+
ChainlinkPriceFeedData({token: Tokens.USDT, priceFeed: 0x3f3f5dF88dC9F13eac63DF89EC16ef6e7E25DdE7})
|
|
125
168
|
);
|
|
126
|
-
|
|
127
|
-
|
|
169
|
+
|
|
170
|
+
// ------------------------ WBTC ------------------------
|
|
171
|
+
compositePriceFeedsByNetwork[1].push(
|
|
172
|
+
CompositePriceFeedData({
|
|
173
|
+
token: Tokens.WBTC,
|
|
174
|
+
targetToBaseFeed: 0xfdFD9C85aD200c506Cf9e21F1FD8dd01932FBB23,
|
|
175
|
+
baseToUSDFeed: 0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c
|
|
176
|
+
})
|
|
128
177
|
);
|
|
129
|
-
|
|
130
|
-
|
|
178
|
+
compositePriceFeedsByNetwork[42161].push(
|
|
179
|
+
CompositePriceFeedData({
|
|
180
|
+
token: Tokens.WBTC,
|
|
181
|
+
targetToBaseFeed: 0x0017abAc5b6f291F9164e35B1234CA1D697f9CF4,
|
|
182
|
+
baseToUSDFeed: 0x6ce185860a4963106506C203335A2910413708e9
|
|
183
|
+
})
|
|
131
184
|
);
|
|
185
|
+
|
|
186
|
+
// ------------------------ WETH ------------------------
|
|
132
187
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
133
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
188
|
+
ChainlinkPriceFeedData({token: Tokens.WETH, priceFeed: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419})
|
|
134
189
|
);
|
|
135
|
-
chainlinkPriceFeedsByNetwork[
|
|
136
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
190
|
+
chainlinkPriceFeedsByNetwork[42161].push(
|
|
191
|
+
ChainlinkPriceFeedData({token: Tokens.WETH, priceFeed: 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612})
|
|
137
192
|
);
|
|
193
|
+
|
|
194
|
+
// ------------------------ YFI ------------------------
|
|
138
195
|
chainlinkPriceFeedsByNetwork[1].push(
|
|
139
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
196
|
+
ChainlinkPriceFeedData({token: Tokens.YFI, priceFeed: 0xA027702dbb89fbd58938e4324ac03B58d812b0E1})
|
|
140
197
|
);
|
|
141
198
|
chainlinkPriceFeedsByNetwork[42161].push(
|
|
142
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
199
|
+
ChainlinkPriceFeedData({token: Tokens.YFI, priceFeed: 0x745Ab5b69E01E2BE1104Ca84937Bb71f96f5fB21})
|
|
143
200
|
);
|
|
144
|
-
|
|
145
|
-
|
|
201
|
+
|
|
202
|
+
// ------------------------ STETH ------------------------
|
|
203
|
+
compositePriceFeedsByNetwork[1].push(
|
|
204
|
+
CompositePriceFeedData({
|
|
205
|
+
token: Tokens.STETH,
|
|
206
|
+
targetToBaseFeed: 0x86392dC19c0b719886221c78AB11eb8Cf5c52812,
|
|
207
|
+
baseToUSDFeed: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
|
|
208
|
+
})
|
|
146
209
|
);
|
|
147
|
-
|
|
148
|
-
|
|
210
|
+
|
|
211
|
+
// ------------------------ wstETH ------------------------
|
|
212
|
+
wstethPriceFeed = SingeTokenPriceFeedData({token: Tokens.wstETH});
|
|
213
|
+
|
|
214
|
+
// ------------------------ CVX ------------------------
|
|
215
|
+
chainlinkPriceFeedsByNetwork[1].push(
|
|
216
|
+
ChainlinkPriceFeedData({token: Tokens.CVX, priceFeed: 0xd962fC30A72A84cE50161031391756Bf2876Af5D})
|
|
149
217
|
);
|
|
150
218
|
chainlinkPriceFeedsByNetwork[42161].push(
|
|
151
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
219
|
+
ChainlinkPriceFeedData({token: Tokens.CVX, priceFeed: 0x851175a919f36c8e30197c09a9A49dA932c2CC00})
|
|
152
220
|
);
|
|
153
|
-
|
|
154
|
-
|
|
221
|
+
|
|
222
|
+
// ------------------------ FRAX ------------------------
|
|
223
|
+
chainlinkPriceFeedsByNetwork[1].push(
|
|
224
|
+
ChainlinkPriceFeedData({token: Tokens.FRAX, priceFeed: 0xB9E1E3A9feFf48998E45Fa90847ed4D467E8BcfD})
|
|
155
225
|
);
|
|
156
226
|
chainlinkPriceFeedsByNetwork[42161].push(
|
|
157
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
227
|
+
ChainlinkPriceFeedData({token: Tokens.FRAX, priceFeed: 0x0809E3d38d1B4214958faf06D8b1B1a2b73f2ab8})
|
|
158
228
|
);
|
|
159
|
-
|
|
160
|
-
|
|
229
|
+
|
|
230
|
+
// ------------------------ LUSD ------------------------
|
|
231
|
+
boundedPriceFeedsByNetwork[1].push(
|
|
232
|
+
BoundedPriceFeedData({
|
|
233
|
+
token: Tokens.LUSD,
|
|
234
|
+
priceFeed: 0x3D7aE7E594f2f2091Ad8798313450130d0Aba3a0,
|
|
235
|
+
upperBound: 110000000
|
|
236
|
+
})
|
|
161
237
|
);
|
|
162
|
-
|
|
163
|
-
|
|
238
|
+
boundedPriceFeedsByNetwork[42161].push(
|
|
239
|
+
BoundedPriceFeedData({
|
|
240
|
+
token: Tokens.LUSD,
|
|
241
|
+
priceFeed: 0x0411D28c94d85A36bC72Cb0f875dfA8371D8fFfF,
|
|
242
|
+
upperBound: 110000000
|
|
243
|
+
})
|
|
164
244
|
);
|
|
165
|
-
|
|
166
|
-
|
|
245
|
+
|
|
246
|
+
// ------------------------ sUSD ------------------------
|
|
247
|
+
chainlinkPriceFeedsByNetwork[1].push(
|
|
248
|
+
ChainlinkPriceFeedData({token: Tokens.sUSD, priceFeed: 0xad35Bd71b9aFE6e4bDc266B345c198eaDEf9Ad94})
|
|
167
249
|
);
|
|
168
|
-
|
|
169
|
-
|
|
250
|
+
|
|
251
|
+
// ------------------------ FXS ------------------------
|
|
252
|
+
chainlinkPriceFeedsByNetwork[1].push(
|
|
253
|
+
ChainlinkPriceFeedData({token: Tokens.FXS, priceFeed: 0x6Ebc52C8C1089be9eB3945C4350B68B8E4C2233f})
|
|
170
254
|
);
|
|
171
255
|
chainlinkPriceFeedsByNetwork[42161].push(
|
|
172
|
-
ChainlinkPriceFeedData({token: Tokens.
|
|
256
|
+
ChainlinkPriceFeedData({token: Tokens.FXS, priceFeed: 0x36a121448D74Fa81450c992A1a44B9b7377CD3a5})
|
|
173
257
|
);
|
|
174
|
-
|
|
175
|
-
|
|
258
|
+
|
|
259
|
+
// ------------------------ LDO ------------------------
|
|
260
|
+
compositePriceFeedsByNetwork[1].push(
|
|
261
|
+
CompositePriceFeedData({
|
|
262
|
+
token: Tokens.LDO,
|
|
263
|
+
targetToBaseFeed: 0x4e844125952D32AcdF339BE976c98E22F6F318dB,
|
|
264
|
+
baseToUSDFeed: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
|
|
265
|
+
})
|
|
176
266
|
);
|
|
177
|
-
|
|
178
|
-
|
|
267
|
+
zeroPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.LDO}));
|
|
268
|
+
|
|
269
|
+
// ------------------------ LQTY ------------------------
|
|
270
|
+
zeroPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.LQTY}));
|
|
271
|
+
|
|
272
|
+
// ------------------------ OHM ------------------------
|
|
273
|
+
compositePriceFeedsByNetwork[1].push(
|
|
274
|
+
CompositePriceFeedData({
|
|
275
|
+
token: Tokens.OHM,
|
|
276
|
+
targetToBaseFeed: 0x9a72298ae3886221820B1c878d12D872087D3a23,
|
|
277
|
+
baseToUSDFeed: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
|
|
278
|
+
})
|
|
179
279
|
);
|
|
180
|
-
|
|
181
|
-
|
|
280
|
+
zeroPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.OHM}));
|
|
281
|
+
|
|
282
|
+
// ------------------------ MIM ------------------------
|
|
283
|
+
chainlinkPriceFeedsByNetwork[1].push(
|
|
284
|
+
ChainlinkPriceFeedData({token: Tokens.MIM, priceFeed: 0x7A364e8770418566e3eb2001A96116E6138Eb32F})
|
|
182
285
|
);
|
|
183
|
-
|
|
184
|
-
|
|
286
|
+
|
|
287
|
+
// ------------------------ SPELL ------------------------
|
|
288
|
+
chainlinkPriceFeedsByNetwork[1].push(
|
|
289
|
+
ChainlinkPriceFeedData({token: Tokens.SPELL, priceFeed: 0x8c110B94C5f1d347fAcF5E1E938AB2db60E3c9a8})
|
|
185
290
|
);
|
|
186
291
|
chainlinkPriceFeedsByNetwork[42161].push(
|
|
187
292
|
ChainlinkPriceFeedData({token: Tokens.SPELL, priceFeed: 0x383b3624478124697BEF675F07cA37570b73992f})
|
|
188
293
|
);
|
|
294
|
+
|
|
295
|
+
// ------------------------ GMX ------------------------
|
|
189
296
|
chainlinkPriceFeedsByNetwork[42161].push(
|
|
190
297
|
ChainlinkPriceFeedData({token: Tokens.GMX, priceFeed: 0xDB98056FecFff59D032aB628337A4887110df3dB})
|
|
191
298
|
);
|
|
299
|
+
|
|
300
|
+
// ------------------------ ARB ------------------------
|
|
192
301
|
chainlinkPriceFeedsByNetwork[42161].push(
|
|
193
302
|
ChainlinkPriceFeedData({token: Tokens.ARB, priceFeed: 0xb2A824043730FE05F3DA2efaFa1CBbe83fa548D6})
|
|
194
303
|
);
|
|
304
|
+
|
|
305
|
+
// ------------------------ SHIB ------------------------
|
|
306
|
+
redStonePriceFeeds.push(
|
|
307
|
+
RedStonePriceFeedData({
|
|
308
|
+
token: Tokens.SHIB,
|
|
309
|
+
tokenSymbol: "SHIB",
|
|
310
|
+
dataFeedId: "redstone-main-demo",
|
|
311
|
+
signers: [
|
|
312
|
+
0x0C39486f770B26F5527BBBf942726537986Cd7eb,
|
|
313
|
+
address(0),
|
|
314
|
+
address(0),
|
|
315
|
+
address(0),
|
|
316
|
+
address(0),
|
|
317
|
+
address(0),
|
|
318
|
+
address(0),
|
|
319
|
+
address(0),
|
|
320
|
+
address(0),
|
|
321
|
+
address(0)
|
|
322
|
+
],
|
|
323
|
+
signersThreshold: 1
|
|
324
|
+
})
|
|
325
|
+
);
|
|
326
|
+
|
|
327
|
+
// ------------------------ RDNT ------------------------
|
|
195
328
|
chainlinkPriceFeedsByNetwork[42161].push(
|
|
196
329
|
ChainlinkPriceFeedData({token: Tokens.RDNT, priceFeed: 0x20d0Fcab0ECFD078B036b6CAf1FaC69A6453b352})
|
|
197
330
|
);
|
|
331
|
+
|
|
332
|
+
// ------------------------ BAL ------------------------
|
|
333
|
+
chainlinkPriceFeedsByNetwork[1].push(
|
|
334
|
+
ChainlinkPriceFeedData({token: Tokens.BAL, priceFeed: 0xdF2917806E30300537aEB49A7663062F4d1F2b5F})
|
|
335
|
+
);
|
|
198
336
|
chainlinkPriceFeedsByNetwork[42161].push(
|
|
199
337
|
ChainlinkPriceFeedData({token: Tokens.BAL, priceFeed: 0xBE5eA816870D11239c543F84b71439511D70B94f})
|
|
200
338
|
);
|
|
201
|
-
|
|
339
|
+
|
|
340
|
+
// ------------------------ yvDAI ------------------------
|
|
341
|
+
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvDAI}));
|
|
342
|
+
|
|
343
|
+
// ------------------------ yvUSDC ------------------------
|
|
344
|
+
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvUSDC}));
|
|
345
|
+
|
|
346
|
+
// ------------------------ yvWETH ------------------------
|
|
347
|
+
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvWETH}));
|
|
348
|
+
|
|
349
|
+
// ------------------------ yvWBTC ------------------------
|
|
350
|
+
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvWBTC}));
|
|
351
|
+
|
|
352
|
+
// ------------------------ 3Crv ------------------------
|
|
202
353
|
curvePriceFeeds.push(
|
|
203
354
|
CurvePriceFeedData({
|
|
204
355
|
lpToken: Tokens._3Crv,
|
|
@@ -206,6 +357,8 @@ contract PriceFeedDataLive {
|
|
|
206
357
|
pool: Contracts.CURVE_3CRV_POOL
|
|
207
358
|
})
|
|
208
359
|
);
|
|
360
|
+
|
|
361
|
+
// ------------------------ crvFRAX ------------------------
|
|
209
362
|
curvePriceFeeds.push(
|
|
210
363
|
CurvePriceFeedData({
|
|
211
364
|
lpToken: Tokens.crvFRAX,
|
|
@@ -213,6 +366,8 @@ contract PriceFeedDataLive {
|
|
|
213
366
|
pool: Contracts.CURVE_FRAX_USDC_POOL
|
|
214
367
|
})
|
|
215
368
|
);
|
|
369
|
+
|
|
370
|
+
// ------------------------ steCRV ------------------------
|
|
216
371
|
curvePriceFeeds.push(
|
|
217
372
|
CurvePriceFeedData({
|
|
218
373
|
lpToken: Tokens.steCRV,
|
|
@@ -220,6 +375,8 @@ contract PriceFeedDataLive {
|
|
|
220
375
|
pool: Contracts.CURVE_STETH_GATEWAY
|
|
221
376
|
})
|
|
222
377
|
);
|
|
378
|
+
|
|
379
|
+
// ------------------------ FRAX3CRV ------------------------
|
|
223
380
|
curvePriceFeeds.push(
|
|
224
381
|
CurvePriceFeedData({
|
|
225
382
|
lpToken: Tokens.FRAX3CRV,
|
|
@@ -227,6 +384,8 @@ contract PriceFeedDataLive {
|
|
|
227
384
|
pool: Contracts.CURVE_FRAX_POOL
|
|
228
385
|
})
|
|
229
386
|
);
|
|
387
|
+
|
|
388
|
+
// ------------------------ LUSD3CRV ------------------------
|
|
230
389
|
curvePriceFeeds.push(
|
|
231
390
|
CurvePriceFeedData({
|
|
232
391
|
lpToken: Tokens.LUSD3CRV,
|
|
@@ -234,6 +393,8 @@ contract PriceFeedDataLive {
|
|
|
234
393
|
pool: Contracts.CURVE_LUSD_POOL
|
|
235
394
|
})
|
|
236
395
|
);
|
|
396
|
+
|
|
397
|
+
// ------------------------ crvPlain3andSUSD ------------------------
|
|
237
398
|
curvePriceFeeds.push(
|
|
238
399
|
CurvePriceFeedData({
|
|
239
400
|
lpToken: Tokens.crvPlain3andSUSD,
|
|
@@ -241,6 +402,8 @@ contract PriceFeedDataLive {
|
|
|
241
402
|
pool: Contracts.CURVE_SUSD_POOL
|
|
242
403
|
})
|
|
243
404
|
);
|
|
405
|
+
|
|
406
|
+
// ------------------------ gusd3CRV ------------------------
|
|
244
407
|
curvePriceFeeds.push(
|
|
245
408
|
CurvePriceFeedData({
|
|
246
409
|
lpToken: Tokens.gusd3CRV,
|
|
@@ -248,6 +411,8 @@ contract PriceFeedDataLive {
|
|
|
248
411
|
pool: Contracts.CURVE_GUSD_POOL
|
|
249
412
|
})
|
|
250
413
|
);
|
|
414
|
+
|
|
415
|
+
// ------------------------ MIM_3LP3CRV ------------------------
|
|
251
416
|
curvePriceFeeds.push(
|
|
252
417
|
CurvePriceFeedData({
|
|
253
418
|
lpToken: Tokens.MIM_3LP3CRV,
|
|
@@ -255,6 +420,8 @@ contract PriceFeedDataLive {
|
|
|
255
420
|
pool: Contracts.CURVE_MIM_POOL
|
|
256
421
|
})
|
|
257
422
|
);
|
|
423
|
+
|
|
424
|
+
// ------------------------ OHMFRAXBP ------------------------
|
|
258
425
|
curveCryptoPriceFeeds.push(
|
|
259
426
|
CurvePriceFeedData({
|
|
260
427
|
lpToken: Tokens.OHMFRAXBP,
|
|
@@ -262,6 +429,8 @@ contract PriceFeedDataLive {
|
|
|
262
429
|
pool: Contracts.CURVE_OHMFRAXBP_POOL
|
|
263
430
|
})
|
|
264
431
|
);
|
|
432
|
+
|
|
433
|
+
// ------------------------ crvCRVETH ------------------------
|
|
265
434
|
curveCryptoPriceFeeds.push(
|
|
266
435
|
CurvePriceFeedData({
|
|
267
436
|
lpToken: Tokens.crvCRVETH,
|
|
@@ -269,6 +438,8 @@ contract PriceFeedDataLive {
|
|
|
269
438
|
pool: Contracts.CURVE_CRVETH_POOL
|
|
270
439
|
})
|
|
271
440
|
);
|
|
441
|
+
|
|
442
|
+
// ------------------------ crvCVXETH ------------------------
|
|
272
443
|
curveCryptoPriceFeeds.push(
|
|
273
444
|
CurvePriceFeedData({
|
|
274
445
|
lpToken: Tokens.crvCVXETH,
|
|
@@ -276,6 +447,8 @@ contract PriceFeedDataLive {
|
|
|
276
447
|
pool: Contracts.CURVE_CVXETH_POOL
|
|
277
448
|
})
|
|
278
449
|
);
|
|
450
|
+
|
|
451
|
+
// ------------------------ crvUSDTWBTCWETH ------------------------
|
|
279
452
|
curveCryptoPriceFeeds.push(
|
|
280
453
|
CurvePriceFeedData({
|
|
281
454
|
lpToken: Tokens.crvUSDTWBTCWETH,
|
|
@@ -283,6 +456,8 @@ contract PriceFeedDataLive {
|
|
|
283
456
|
pool: Contracts.CURVE_3CRYPTO_POOL
|
|
284
457
|
})
|
|
285
458
|
);
|
|
459
|
+
|
|
460
|
+
// ------------------------ LDOETH ------------------------
|
|
286
461
|
curveCryptoPriceFeeds.push(
|
|
287
462
|
CurvePriceFeedData({
|
|
288
463
|
lpToken: Tokens.LDOETH,
|
|
@@ -290,166 +465,178 @@ contract PriceFeedDataLive {
|
|
|
290
465
|
pool: Contracts.CURVE_LDOETH_POOL
|
|
291
466
|
})
|
|
292
467
|
);
|
|
468
|
+
|
|
469
|
+
// ------------------------ yvCurve_stETH ------------------------
|
|
470
|
+
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvCurve_stETH}));
|
|
471
|
+
|
|
472
|
+
// ------------------------ yvCurve_FRAX ------------------------
|
|
473
|
+
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvCurve_FRAX}));
|
|
474
|
+
|
|
475
|
+
// ------------------------ cvx3Crv ------------------------
|
|
293
476
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.cvx3Crv, tokenHasSamePriceFeed: Tokens._3Crv}));
|
|
477
|
+
|
|
478
|
+
// ------------------------ cvxcrvFRAX ------------------------
|
|
294
479
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.cvxcrvFRAX, tokenHasSamePriceFeed: Tokens.crvFRAX}));
|
|
480
|
+
|
|
481
|
+
// ------------------------ cvxsteCRV ------------------------
|
|
295
482
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.cvxsteCRV, tokenHasSamePriceFeed: Tokens.steCRV}));
|
|
483
|
+
|
|
484
|
+
// ------------------------ cvxFRAX3CRV ------------------------
|
|
296
485
|
theSamePriceFeeds.push(
|
|
297
486
|
TheSamePriceFeedData({token: Tokens.cvxFRAX3CRV, tokenHasSamePriceFeed: Tokens.FRAX3CRV})
|
|
298
487
|
);
|
|
488
|
+
|
|
489
|
+
// ------------------------ cvxLUSD3CRV ------------------------
|
|
299
490
|
theSamePriceFeeds.push(
|
|
300
491
|
TheSamePriceFeedData({token: Tokens.cvxLUSD3CRV, tokenHasSamePriceFeed: Tokens.LUSD3CRV})
|
|
301
492
|
);
|
|
493
|
+
|
|
494
|
+
// ------------------------ cvxcrvPlain3andSUSD ------------------------
|
|
302
495
|
theSamePriceFeeds.push(
|
|
303
496
|
TheSamePriceFeedData({token: Tokens.cvxcrvPlain3andSUSD, tokenHasSamePriceFeed: Tokens.crvPlain3andSUSD})
|
|
304
497
|
);
|
|
498
|
+
|
|
499
|
+
// ------------------------ cvxgusd3CRV ------------------------
|
|
305
500
|
theSamePriceFeeds.push(
|
|
306
501
|
TheSamePriceFeedData({token: Tokens.cvxgusd3CRV, tokenHasSamePriceFeed: Tokens.gusd3CRV})
|
|
307
502
|
);
|
|
503
|
+
|
|
504
|
+
// ------------------------ cvxOHMFRAXBP ------------------------
|
|
308
505
|
theSamePriceFeeds.push(
|
|
309
506
|
TheSamePriceFeedData({token: Tokens.cvxOHMFRAXBP, tokenHasSamePriceFeed: Tokens.OHMFRAXBP})
|
|
310
507
|
);
|
|
508
|
+
|
|
509
|
+
// ------------------------ cvxMIM_3LP3CRV ------------------------
|
|
311
510
|
theSamePriceFeeds.push(
|
|
312
511
|
TheSamePriceFeedData({token: Tokens.cvxMIM_3LP3CRV, tokenHasSamePriceFeed: Tokens.MIM_3LP3CRV})
|
|
313
512
|
);
|
|
513
|
+
|
|
514
|
+
// ------------------------ cvxcrvCRVETH ------------------------
|
|
314
515
|
theSamePriceFeeds.push(
|
|
315
516
|
TheSamePriceFeedData({token: Tokens.cvxcrvCRVETH, tokenHasSamePriceFeed: Tokens.crvCRVETH})
|
|
316
517
|
);
|
|
518
|
+
|
|
519
|
+
// ------------------------ cvxcrvCVXETH ------------------------
|
|
317
520
|
theSamePriceFeeds.push(
|
|
318
521
|
TheSamePriceFeedData({token: Tokens.cvxcrvCVXETH, tokenHasSamePriceFeed: Tokens.crvCVXETH})
|
|
319
522
|
);
|
|
523
|
+
|
|
524
|
+
// ------------------------ cvxcrvUSDTWBTCWETH ------------------------
|
|
320
525
|
theSamePriceFeeds.push(
|
|
321
526
|
TheSamePriceFeedData({token: Tokens.cvxcrvUSDTWBTCWETH, tokenHasSamePriceFeed: Tokens.crvUSDTWBTCWETH})
|
|
322
527
|
);
|
|
528
|
+
|
|
529
|
+
// ------------------------ cvxLDOETH ------------------------
|
|
323
530
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.cvxLDOETH, tokenHasSamePriceFeed: Tokens.LDOETH}));
|
|
531
|
+
|
|
532
|
+
// ------------------------ stkcvx3Crv ------------------------
|
|
324
533
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.stkcvx3Crv, tokenHasSamePriceFeed: Tokens._3Crv}));
|
|
534
|
+
|
|
535
|
+
// ------------------------ stkcvxcrvFRAX ------------------------
|
|
325
536
|
theSamePriceFeeds.push(
|
|
326
537
|
TheSamePriceFeedData({token: Tokens.stkcvxcrvFRAX, tokenHasSamePriceFeed: Tokens.crvFRAX})
|
|
327
538
|
);
|
|
539
|
+
|
|
540
|
+
// ------------------------ stkcvxsteCRV ------------------------
|
|
328
541
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.stkcvxsteCRV, tokenHasSamePriceFeed: Tokens.steCRV}));
|
|
542
|
+
|
|
543
|
+
// ------------------------ stkcvxFRAX3CRV ------------------------
|
|
329
544
|
theSamePriceFeeds.push(
|
|
330
545
|
TheSamePriceFeedData({token: Tokens.stkcvxFRAX3CRV, tokenHasSamePriceFeed: Tokens.FRAX3CRV})
|
|
331
546
|
);
|
|
547
|
+
|
|
548
|
+
// ------------------------ stkcvxLUSD3CRV ------------------------
|
|
332
549
|
theSamePriceFeeds.push(
|
|
333
550
|
TheSamePriceFeedData({token: Tokens.stkcvxLUSD3CRV, tokenHasSamePriceFeed: Tokens.LUSD3CRV})
|
|
334
551
|
);
|
|
552
|
+
|
|
553
|
+
// ------------------------ stkcvxcrvPlain3andSUSD ------------------------
|
|
335
554
|
theSamePriceFeeds.push(
|
|
336
555
|
TheSamePriceFeedData({token: Tokens.stkcvxcrvPlain3andSUSD, tokenHasSamePriceFeed: Tokens.crvPlain3andSUSD})
|
|
337
556
|
);
|
|
557
|
+
|
|
558
|
+
// ------------------------ stkcvxgusd3CRV ------------------------
|
|
338
559
|
theSamePriceFeeds.push(
|
|
339
560
|
TheSamePriceFeedData({token: Tokens.stkcvxgusd3CRV, tokenHasSamePriceFeed: Tokens.gusd3CRV})
|
|
340
561
|
);
|
|
562
|
+
|
|
563
|
+
// ------------------------ stkcvxOHMFRAXBP ------------------------
|
|
341
564
|
theSamePriceFeeds.push(
|
|
342
565
|
TheSamePriceFeedData({token: Tokens.stkcvxOHMFRAXBP, tokenHasSamePriceFeed: Tokens.OHMFRAXBP})
|
|
343
566
|
);
|
|
567
|
+
|
|
568
|
+
// ------------------------ stkcvxMIM_3LP3CRV ------------------------
|
|
344
569
|
theSamePriceFeeds.push(
|
|
345
570
|
TheSamePriceFeedData({token: Tokens.stkcvxMIM_3LP3CRV, tokenHasSamePriceFeed: Tokens.MIM_3LP3CRV})
|
|
346
571
|
);
|
|
572
|
+
|
|
573
|
+
// ------------------------ stkcvxcrvCRVETH ------------------------
|
|
347
574
|
theSamePriceFeeds.push(
|
|
348
575
|
TheSamePriceFeedData({token: Tokens.stkcvxcrvCRVETH, tokenHasSamePriceFeed: Tokens.crvCRVETH})
|
|
349
576
|
);
|
|
577
|
+
|
|
578
|
+
// ------------------------ stkcvxcrvCVXETH ------------------------
|
|
350
579
|
theSamePriceFeeds.push(
|
|
351
580
|
TheSamePriceFeedData({token: Tokens.stkcvxcrvCVXETH, tokenHasSamePriceFeed: Tokens.crvCVXETH})
|
|
352
581
|
);
|
|
582
|
+
|
|
583
|
+
// ------------------------ stkcvxcrvUSDTWBTCWETH ------------------------
|
|
353
584
|
theSamePriceFeeds.push(
|
|
354
585
|
TheSamePriceFeedData({token: Tokens.stkcvxcrvUSDTWBTCWETH, tokenHasSamePriceFeed: Tokens.crvUSDTWBTCWETH})
|
|
355
586
|
);
|
|
587
|
+
|
|
588
|
+
// ------------------------ stkcvxLDOETH ------------------------
|
|
356
589
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.stkcvxLDOETH, tokenHasSamePriceFeed: Tokens.LDOETH}));
|
|
590
|
+
|
|
591
|
+
// ------------------------ dDAI ------------------------
|
|
592
|
+
|
|
593
|
+
// ------------------------ dUSDC ------------------------
|
|
594
|
+
|
|
595
|
+
// ------------------------ dWBTC ------------------------
|
|
596
|
+
|
|
597
|
+
// ------------------------ dWETH ------------------------
|
|
598
|
+
|
|
599
|
+
// ------------------------ dwstETH ------------------------
|
|
600
|
+
|
|
601
|
+
// ------------------------ dFRAX ------------------------
|
|
602
|
+
|
|
603
|
+
// ------------------------ GEAR ------------------------
|
|
604
|
+
|
|
605
|
+
// ------------------------ aDAI ------------------------
|
|
357
606
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.aDAI, tokenHasSamePriceFeed: Tokens.DAI}));
|
|
607
|
+
|
|
608
|
+
// ------------------------ aUSDC ------------------------
|
|
358
609
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.aUSDC, tokenHasSamePriceFeed: Tokens.USDC}));
|
|
610
|
+
|
|
611
|
+
// ------------------------ aUSDT ------------------------
|
|
359
612
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.aUSDT, tokenHasSamePriceFeed: Tokens.USDT}));
|
|
613
|
+
|
|
614
|
+
// ------------------------ aWETH ------------------------
|
|
360
615
|
theSamePriceFeeds.push(TheSamePriceFeedData({token: Tokens.aWETH, tokenHasSamePriceFeed: Tokens.WETH}));
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
token: Tokens.LUSD,
|
|
364
|
-
priceFeed: 0x3D7aE7E594f2f2091Ad8798313450130d0Aba3a0,
|
|
365
|
-
upperBound: 110000000
|
|
366
|
-
})
|
|
367
|
-
);
|
|
368
|
-
boundedPriceFeedsByNetwork[42161].push(
|
|
369
|
-
BoundedPriceFeedData({
|
|
370
|
-
token: Tokens.LUSD,
|
|
371
|
-
priceFeed: 0x0411D28c94d85A36bC72Cb0f875dfA8371D8fFfF,
|
|
372
|
-
upperBound: 110000000
|
|
373
|
-
})
|
|
374
|
-
);
|
|
375
|
-
compositePriceFeedsByNetwork[1].push(
|
|
376
|
-
CompositePriceFeedData({
|
|
377
|
-
token: Tokens.WBTC,
|
|
378
|
-
targetToBaseFeed: 0xfdFD9C85aD200c506Cf9e21F1FD8dd01932FBB23,
|
|
379
|
-
baseToUSDFeed: 0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c
|
|
380
|
-
})
|
|
381
|
-
);
|
|
382
|
-
compositePriceFeedsByNetwork[1].push(
|
|
383
|
-
CompositePriceFeedData({
|
|
384
|
-
token: Tokens.STETH,
|
|
385
|
-
targetToBaseFeed: 0x86392dC19c0b719886221c78AB11eb8Cf5c52812,
|
|
386
|
-
baseToUSDFeed: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
|
|
387
|
-
})
|
|
388
|
-
);
|
|
389
|
-
compositePriceFeedsByNetwork[1].push(
|
|
390
|
-
CompositePriceFeedData({
|
|
391
|
-
token: Tokens.LDO,
|
|
392
|
-
targetToBaseFeed: 0x4e844125952D32AcdF339BE976c98E22F6F318dB,
|
|
393
|
-
baseToUSDFeed: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
|
|
394
|
-
})
|
|
395
|
-
);
|
|
396
|
-
compositePriceFeedsByNetwork[1].push(
|
|
397
|
-
CompositePriceFeedData({
|
|
398
|
-
token: Tokens.OHM,
|
|
399
|
-
targetToBaseFeed: 0x9a72298ae3886221820B1c878d12D872087D3a23,
|
|
400
|
-
baseToUSDFeed: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
|
|
401
|
-
})
|
|
402
|
-
);
|
|
403
|
-
compositePriceFeedsByNetwork[42161].push(
|
|
404
|
-
CompositePriceFeedData({
|
|
405
|
-
token: Tokens.WBTC,
|
|
406
|
-
targetToBaseFeed: 0x0017abAc5b6f291F9164e35B1234CA1D697f9CF4,
|
|
407
|
-
baseToUSDFeed: 0x6ce185860a4963106506C203335A2910413708e9
|
|
408
|
-
})
|
|
409
|
-
);
|
|
410
|
-
compositePriceFeedsByNetwork[42161].push(
|
|
411
|
-
CompositePriceFeedData({
|
|
412
|
-
token: Tokens.STETH,
|
|
413
|
-
targetToBaseFeed: 0xded2c52b75B24732e9107377B7Ba93eC1fFa4BAf,
|
|
414
|
-
baseToUSDFeed: 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612
|
|
415
|
-
})
|
|
416
|
-
);
|
|
417
|
-
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvDAI}));
|
|
418
|
-
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvUSDC}));
|
|
419
|
-
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvWETH}));
|
|
420
|
-
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvWBTC}));
|
|
421
|
-
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvCurve_stETH}));
|
|
422
|
-
yearnPriceFeeds.push(SingeTokenPriceFeedData({token: Tokens.yvCurve_FRAX}));
|
|
423
|
-
wstethPriceFeed = SingeTokenPriceFeedData({token: Tokens.wstETH});
|
|
616
|
+
|
|
617
|
+
// ------------------------ waDAI ------------------------
|
|
424
618
|
wrappedAaveV2PriceFeeds.push(GenericLPPriceFeedData({lpToken: Tokens.waDAI, underlying: Tokens.aDAI}));
|
|
619
|
+
|
|
620
|
+
// ------------------------ waUSDC ------------------------
|
|
425
621
|
wrappedAaveV2PriceFeeds.push(GenericLPPriceFeedData({lpToken: Tokens.waUSDC, underlying: Tokens.aUSDC}));
|
|
622
|
+
|
|
623
|
+
// ------------------------ waUSDT ------------------------
|
|
426
624
|
wrappedAaveV2PriceFeeds.push(GenericLPPriceFeedData({lpToken: Tokens.waUSDT, underlying: Tokens.aUSDT}));
|
|
625
|
+
|
|
626
|
+
// ------------------------ waWETH ------------------------
|
|
427
627
|
wrappedAaveV2PriceFeeds.push(GenericLPPriceFeedData({lpToken: Tokens.waWETH, underlying: Tokens.aWETH}));
|
|
628
|
+
|
|
629
|
+
// ------------------------ cDAI ------------------------
|
|
428
630
|
compoundV2PriceFeeds.push(GenericLPPriceFeedData({lpToken: Tokens.cDAI, underlying: Tokens.DAI}));
|
|
631
|
+
|
|
632
|
+
// ------------------------ cUSDC ------------------------
|
|
429
633
|
compoundV2PriceFeeds.push(GenericLPPriceFeedData({lpToken: Tokens.cUSDC, underlying: Tokens.USDC}));
|
|
634
|
+
|
|
635
|
+
// ------------------------ cUSDT ------------------------
|
|
430
636
|
compoundV2PriceFeeds.push(GenericLPPriceFeedData({lpToken: Tokens.cUSDT, underlying: Tokens.USDT}));
|
|
431
|
-
compoundV2PriceFeeds.push(GenericLPPriceFeedData({lpToken: Tokens.cWETH, underlying: Tokens.WETH}));
|
|
432
637
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
token: Tokens.SHIB,
|
|
436
|
-
tokenSymbol: "SHIB",
|
|
437
|
-
dataFeedId: "redstone-main-demo",
|
|
438
|
-
signers: [
|
|
439
|
-
0x0C39486f770B26F5527BBBf942726537986Cd7eb,
|
|
440
|
-
address(0),
|
|
441
|
-
address(0),
|
|
442
|
-
address(0),
|
|
443
|
-
address(0),
|
|
444
|
-
address(0),
|
|
445
|
-
address(0),
|
|
446
|
-
address(0),
|
|
447
|
-
address(0),
|
|
448
|
-
address(0)
|
|
449
|
-
],
|
|
450
|
-
signersThreshold: 1
|
|
451
|
-
})
|
|
452
|
-
);
|
|
638
|
+
// ------------------------ cWETH ------------------------
|
|
639
|
+
compoundV2PriceFeeds.push(GenericLPPriceFeedData({lpToken: Tokens.cWETH, underlying: Tokens.WETH}));
|
|
453
640
|
}
|
|
454
641
|
|
|
455
642
|
function chainlinkPriceFeeds(uint256 index) external view returns (ChainlinkPriceFeedData memory) {
|