Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Condense conceptual information on Data Feed lists #1939

Merged
merged 6 commits into from
Jun 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/content/data-feeds/selecting-data-feeds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -248,3 +248,11 @@ Exchange rate feeds are useful in circumstances such as:
relating to feed selection. To learn more about how best to leverage Chainlink Data Feeds for your project, contact us
[here](https://chain.link/contact).
</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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@ const feedItems: FeedDataItem[] = monitoredFeeds.mainnet
</p>
</Aside>

<FeedsCommonCallout callout="etfBestPractices" />
<FeedsCommonCallout callout="quality" />
</>
)}
Expand Down
30 changes: 24 additions & 6 deletions src/features/feeds/components/Tables.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,42 +15,60 @@ 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