Skip to content

Commit

Permalink
Condense conceptual information on Data Feed lists
Browse files Browse the repository at this point in the history
  • Loading branch information
dwightjl committed May 10, 2024
1 parent e04531a commit 11576ac
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 25 deletions.
8 changes: 8 additions & 0 deletions src/content/data-feeds/selecting-data-feeds.mdx
Expand Up @@ -241,3 +241,11 @@ These feeds relay a value across blockchains from a specified contract. Chainlin
The best practices above are provided for informational purposes only. You are responsible for reviewing the quality
of the data that you integrate into your smart contracts.
</Aside>

## ETF and Forex feeds

When you use Data Feeds for ETFs or Foreign Exchange (Forex) data, be aware of the following best practices:

- Offchain equity and ETF assets are traded only during [standard market hours](/data-feeds/selecting-data-feeds#market-hours). Do not use these feeds outside those windows.
- Assets on the Forex (Foreign Exchange) markets are traded only during [defined market hours](/data-feeds/selecting-data-feeds#market-hours). Additionally, some currencies might trade only during local banking hours. Do not use Forex feeds outside market hours for the specific currency.
- UK ETF price feed answers are 15 minutes delayed from their original published source. Assets are traded only during [standard market hours](/data-feeds/selecting-data-feeds#market-hours). Do not use these feeds outside their specified hours.
6 changes: 1 addition & 5 deletions src/features/feeds/callouts/FeedsCommonCallout.astro
Expand Up @@ -2,22 +2,18 @@
const feedQuality = await Astro.glob("./feed-quality.mdx")
const FeedQualityComponent = feedQuality[0].Content
const etfBestPractices = await Astro.glob("./etf-best-practices.mdx")
const EtfBestPracticesComponent = etfBestPractices[0].Content
const porVerification = await Astro.glob("./por-verification.mdx")
const PorVerificationComponent = porVerification[0].Content
const porWalletAddressManager = await Astro.glob("./por-wallet-address-manager.mdx")
const PorWalletAddressManagerComponent = porWalletAddressManager[0].Content
export type Props = {
callout?: "quality" | "etfBestPractices" | "porVerification" | "porWalletAddressManager"
callout?: "quality" | "porVerification" | "porWalletAddressManager"
}
const { callout } = Astro.props as Props
---

{callout === "quality" && <FeedQualityComponent />}
{callout === "etfBestPractices" && <EtfBestPracticesComponent />}
{callout === "porVerification" && <PorVerificationComponent />}
{callout === "porWalletAddressManager" && <PorWalletAddressManagerComponent />}
5 changes: 0 additions & 5 deletions src/features/feeds/callouts/etf-best-practices.mdx

This file was deleted.

13 changes: 5 additions & 8 deletions src/features/feeds/callouts/feed-quality.mdx
@@ -1,10 +1,7 @@
### Data feed categories
### Data Feed Best Practices

- 🟢 [**Low Market Risk Feeds**](/data-feeds/selecting-data-feeds/#-low-market-risk-feeds): Feeds that deliver a market price for liquid assets with robust market structure.
- 🟡 [**Medium Market Risk Feeds**](/data-feeds/selecting-data-feeds/#-medium-market-risk-feeds): Feeds that deliver a market price for assets that show signs of liquidity-related risk or other market structure-related risk.
- 🔴 [**High Market Risk Feeds**](/data-feeds/selecting-data-feeds/#-high-market-risk-feeds): Feeds that deliver a heightened degree of some of the risk factors associated with Medium Market Risk Feeds, or a separate risk that makes the market price subject to uncertainty or volatile. In using a high market risk data feed you acknowledge that you understand the risks associated with such a feed and that you are solely responsible for monitoring and mitigating such risks.
- 🟠 [**New Token Feeds**](/data-feeds/selecting-data-feeds/#-new-token-feeds): Tokens without the historical data required to implement a risk assessment framework may be launched in this category. Users must understand the additional market and volatility risks inherent with such assets. Users of New Token Feeds are responsible for independently verifying the liquidity and stability of the assets priced by feeds that they use.
- 🔵 [**Custom Feeds**](/data-feeds/selecting-data-feeds/#-custom-feeds): Feeds built to serve a specific use case or rely on external contracts or data sources. These might not be suitable for general use or your use case's risk parameters. Users must evaluate the properties of a feed to make sure it aligns with their intended use case.
-[**Deprecating**](/data-feeds/deprecating-feeds): These feeds are scheduled for deprecation. See the [Deprecation](/data-feeds/deprecating-feeds) page to learn more.
Before you use Data Feeds, read and understand the best practices on the [Selecting Quality Data Feeds](/data-feeds/selecting-data-feeds) page. For best practices about data for specific asset types, see the following sections:

See the [Selecting Quality Data Feeds](/data-feeds/selecting-data-feeds) page for complete details about each category.
- [Best Practices for ETF and Forex feeds](/data-feeds/selecting-data-feeds#etf-and-forex-feeds)
- [Best Practices for Exchange Rate Feeds](/data-feeds/selecting-data-feeds#exchange-rate-feeds)
- [Risk Categories](/data-feeds/selecting-data-feeds#data-feed-categories)
1 change: 0 additions & 1 deletion src/features/feeds/components/FeedPage.astro
Expand Up @@ -145,7 +145,6 @@ const feedItems: FeedDataItem[] = monitoredFeeds.mainnet
</p>
</Aside>

<FeedsCommonCallout callout="etfBestPractices" />
<FeedsCommonCallout callout="quality" />
</>
)}
Expand Down
12 changes: 6 additions & 6 deletions src/features/feeds/components/Tables.tsx
Expand Up @@ -15,42 +15,42 @@ const verifierProxies = new Map<string, string>([
const feedItems = monitoredFeeds.mainnet
const feedCategories = {
low: (
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="Low Market Risk">
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="Low Market Risk - Feeds that deliver a market price for liquid assets with robust market structure.">
<a href="/data-feeds/selecting-data-feeds#-low-market-risk-feeds" alt="Low Market Risk" target="_blank">
🟢
</a>
</span>
),
medium: (
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="Medium Market Risk">
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="Medium Market Risk - Feeds that deliver a market price for assets that show signs of liquidity-related risk or other market structure-related risk.">
<a href="/data-feeds/selecting-data-feeds#-medium-market-risk-feeds" alt="Medium Market Risk" target="_blank">
🟡
</a>
</span>
),
high: (
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="High Market Risk">
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="High Market Risk - Feeds that deliver a heightened degree of some of the risk factors associated with Medium Market Risk Feeds, or a separate risk that makes the market price subject to uncertainty or volatile. In using a high market risk data feed you acknowledge that you understand the risks associated with such a feed and that you are solely responsible for monitoring and mitigating such risks.">
<a href="/data-feeds/selecting-data-feeds#-high-market-risk-feeds" alt="High Market Risk" target="_blank">
🔴
</a>
</span>
),
new: (
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="New Token">
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="New Token - Tokens without the historical data required to implement a risk assessment framework may be launched in this category. Users must understand the additional market and volatility risks inherent with such assets. Users of New Token Feeds are responsible for independently verifying the liquidity and stability of the assets priced by feeds that they use.">
<a href="/data-feeds/selecting-data-feeds#-new-token-feeds" alt="New Token" target="_blank">
🟠
</a>
</span>
),
custom: (
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="Custom">
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="Custom - Feeds built to serve a specific use case or rely on external contracts or data sources. These might not be suitable for general use or your use case's risk parameters. Users must evaluate the properties of a feed to make sure it aligns with their intended use case.">
<a href="/data-feeds/selecting-data-feeds#-custom-feeds" alt="Custom" target="_blank">
🔵
</a>
</span>
),
deprecating: (
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="Deprecating">
<span className={clsx(feedList.hoverText, tableStyles.statusIcon, "feed-category")} title="Deprecating - These feeds are scheduled for deprecation. See the [Deprecation](/data-feeds/deprecating-feeds) page to learn more.">
<a href="/data-feeds/deprecating-feeds" alt="Deprecating" target="_blank">
</a>
Expand Down

0 comments on commit 11576ac

Please sign in to comment.