Skip to content

Commit f98e5c1

Browse files
committed
exchange-rate-feeds
1 parent b627f9b commit f98e5c1

File tree

6 files changed

+111
-54
lines changed

6 files changed

+111
-54
lines changed

package-lock.json

Lines changed: 46 additions & 46 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/config/sidebar.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,16 @@ export const SIDEBAR: Partial<Record<Sections, SectionEntry[]>> = {
388388
},
389389
],
390390
},
391+
{
392+
title: "Exchange Rate Streams",
393+
url: "data-streams/exchange-rate-streams",
394+
children: [
395+
{
396+
title: "Report Schema v7",
397+
url: "data-streams/reference/report-schema-v7",
398+
},
399+
],
400+
},
391401
{
392402
title: "Real World Asset (RWA) Streams",
393403
url: "data-streams/rwa-streams",
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
section: dataStreams
3+
title: "Data Streams Exchange Rate streams"
4+
datafeedtype: streamsCrypto
5+
metadata:
6+
title: "Data Streams Exchange Rate streams"
7+
description: "A list of available Data Streams exchange rate streams and their ID."
8+
date: Last Modified
9+
isIndex: true
10+
---
11+
12+
import FeedPage from "@features/feeds/components/FeedPage.astro"
13+
14+
<FeedPage dataFeedType="streamsExRate" initialNetwork="arbitrum" />

src/features/feeds/components/FeedList.tsx

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export type DataFeedType =
2323
| "streamsCrypto"
2424
| "streamsRwa"
2525
| "streamsNav"
26+
| "streamsExRate"
2627
| "streamsBacked"
2728
export const FeedList = ({
2829
initialNetwork,
@@ -40,6 +41,7 @@ export const FeedList = ({
4041
dataFeedType === "streamsCrypto" ||
4142
dataFeedType === "streamsRwa" ||
4243
dataFeedType === "streamsNav" ||
44+
dataFeedType === "streamsExRate" ||
4345
dataFeedType === "streamsBacked"
4446
const isSmartData = dataFeedType === "smartdata"
4547
const isUSGovernmentMacroeconomicData = dataFeedType === "usGovernmentMacroeconomicData"
@@ -353,17 +355,21 @@ export const FeedList = ({
353355
? "Mainnet Crypto Streams"
354356
: dataFeedType === "streamsNav"
355357
? "Mainnet NAV Streams"
356-
: dataFeedType === "streamsBacked"
357-
? "Mainnet Backed xStock Streams"
358-
: "Mainnet RWA Streams"
358+
: dataFeedType === "streamsExRate"
359+
? "Mainnet Exchange Rate Streams"
360+
: dataFeedType === "streamsBacked"
361+
? "Mainnet Backed xStock Streams"
362+
: "Mainnet RWA Streams"
359363
const streamsTestnetSectionTitle =
360364
dataFeedType === "streamsCrypto"
361365
? "Testnet Crypto Streams"
362366
: dataFeedType === "streamsNav"
363367
? "Testnet NAV Streams"
364-
: dataFeedType === "streamsBacked"
365-
? "Testnet Backed xStock Streams"
366-
: "Testnet RWA Streams"
368+
: dataFeedType === "streamsExRate"
369+
? "Testnet Exchange Rate Streams"
370+
: dataFeedType === "streamsBacked"
371+
? "Testnet Backed xStock Streams"
372+
: "Testnet RWA Streams"
367373

368374
// Initialize search input fields with URL parameter values
369375
useEffect(() => {
@@ -433,6 +439,7 @@ export const FeedList = ({
433439
dataFeedType === "streamsCrypto" ||
434440
dataFeedType === "streamsRwa" ||
435441
dataFeedType === "streamsNav" ||
442+
dataFeedType === "streamsExRate" ||
436443
dataFeedType === "streamsBacked"
437444
) {
438445
const mainnetFeeds: ChainNetwork[] = []

src/features/feeds/components/FeedPage.astro

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export type Props = {
1111
| "streamsCrypto"
1212
| "streamsRwa"
1313
| "streamsNav"
14+
| "streamsExRate"
1415
| "smartdata"
1516
| "default"
1617
| "rates"
@@ -76,6 +77,7 @@ const feedItems: FeedDataItem[] = monitoredFeeds.mainnet
7677
{dataFeedType === "streamsCrypto" ||
7778
dataFeedType === "streamsRwa" ||
7879
dataFeedType === "streamsNav" ||
80+
dataFeedType === "streamsExRate" ||
7981
dataFeedType === "streamsBacked" ? (
8082
<>
8183
<p>
@@ -183,6 +185,7 @@ const feedItems: FeedDataItem[] = monitoredFeeds.mainnet
183185
) : dataFeedType === "streamsCrypto" ||
184186
dataFeedType === "streamsRwa" ||
185187
dataFeedType === "streamsNav" ||
188+
dataFeedType === "streamsExRate" ||
186189
dataFeedType === "streamsBacked" ||
187190
dataFeedType === "usGovernmentMacroeconomicData" ? (
188191
<> </>

src/features/feeds/components/Tables.tsx

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -889,7 +889,7 @@ const StreamsTr = ({ metadata, isMainnet }) => (
889889
</dd>
890890
</div>
891891
)}
892-
{metadata.feedType === "Crypto" && (
892+
{metadata.feedType === "Crypto" && metadata.docs?.productTypeCode !== "ExRate" && (
893893
<div className={tableStyles.definitionGroup}>
894894
<dt>
895895
<span className="label">Report Schema:</span>
@@ -900,7 +900,7 @@ const StreamsTr = ({ metadata, isMainnet }) => (
900900
</a>
901901
</dd>
902902
</div>
903-
)}{" "}
903+
)}
904904
{metadata.feedType === "Equities" && (
905905
<div className={tableStyles.definitionGroup}>
906906
<dt>
@@ -913,6 +913,18 @@ const StreamsTr = ({ metadata, isMainnet }) => (
913913
</dd>
914914
</div>
915915
)}
916+
{metadata.docs?.productTypeCode === "ExRate" && (
917+
<div className={tableStyles.definitionGroup}>
918+
<dt>
919+
<span className="label">Report Schema:</span>
920+
</dt>
921+
<dd>
922+
<a href="/data-streams/reference/report-schema-v7" rel="noreferrer" target="_blank">
923+
Exchange Rate Schema (v7)
924+
</a>
925+
</dd>
926+
</div>
927+
)}
916928
{metadata.feedType === "Net Asset Value" && (
917929
<div className={tableStyles.definitionGroup}>
918930
<dt>
@@ -982,6 +994,7 @@ export const MainnetTable = ({
982994
dataFeedType === "streamsCrypto" ||
983995
dataFeedType === "streamsRwa" ||
984996
dataFeedType === "streamsNav" ||
997+
dataFeedType === "streamsExRate" ||
985998
dataFeedType === "streamsBacked"
986999
const isSmartData = dataFeedType === "smartdata"
9871000
const isUSGovernmentMacroeconomicData = dataFeedType === "usGovernmentMacroeconomicData"
@@ -1031,6 +1044,10 @@ export const MainnetTable = ({
10311044
return metadata.contractType === "verifier" && metadata.docs.feedType === "Net Asset Value"
10321045
}
10331046

1047+
if (dataFeedType === "streamsExRate") {
1048+
return metadata.contractType === "verifier" && metadata.docs?.productTypeCode === "ExRate"
1049+
}
1050+
10341051
if (dataFeedType === "streamsBacked") {
10351052
return metadata.contractType === "verifier" && metadata.docs.feedType === "Tokenized Equities"
10361053
}
@@ -1221,6 +1238,7 @@ export const TestnetTable = ({
12211238
dataFeedType === "streamsCrypto" ||
12221239
dataFeedType === "streamsRwa" ||
12231240
dataFeedType === "streamsNav" ||
1241+
dataFeedType === "streamsExRate" ||
12241242
dataFeedType === "streamsBacked"
12251243
const isSmartData = dataFeedType === "smartdata"
12261244
const isRates = dataFeedType === "rates"
@@ -1262,6 +1280,11 @@ export const TestnetTable = ({
12621280
return metadata.contractType === "verifier" && metadata.docs.feedType === "Equities"
12631281
}
12641282

1283+
1284+
if (dataFeedType === "streamsExRate") {
1285+
return metadata.contractType === "verifier" && metadata.docs?.productTypeCode === "ExRate"
1286+
}
1287+
12651288
if (dataFeedType === "streamsNav") {
12661289
return metadata.contractType === "verifier" && metadata.docs.feedType === "Net Asset Value"
12671290
}

0 commit comments

Comments
 (0)