diff --git a/src/content/data-feeds/solana/index.mdx b/src/content/data-feeds/solana/index.mdx index 2b85505efed..d8517393603 100644 --- a/src/content/data-feeds/solana/index.mdx +++ b/src/content/data-feeds/solana/index.mdx @@ -13,6 +13,12 @@ whatsnext: import { Aside } from "@components" + + Chainlink provides data feeds on the [Solana](https://solana.com/) network. Chainlink data feeds on Solana employ [Offchain Reporting (OCR)](/architecture-overview/off-chain-reporting?parent=dataFeeds) to aggregate data from data providers who pull from both centralized and decentralized exchanges. Chainlink’s Solana deployment has no dependencies on external blockchain networks such as Ethereum. In Solana, storage and smart contract logic are separate. Programs store all the logic similar to an EVM (Ethereum) smart contract. The accounts store all the data. Compared to Solidity, the combination of an account and a program is equivalent to a smart contract on an EVM chain. State and logic are separate in Solana. Solana programs are stateless, so you don't always need to deploy your program to the network to test it. You can deploy and test your programs on a [Solana Test Validator](https://docs.solana.com/developing/test-validator). However, to use Chainlink products on Solana, you must deploy your contract onchain to one of the [supported Solana clusters](#chainlink-products-and-solana-clusters). diff --git a/src/content/data-feeds/solana/using-data-feeds-off-chain.mdx b/src/content/data-feeds/solana/using-data-feeds-off-chain.mdx index b80709fa890..a49de654fe7 100644 --- a/src/content/data-feeds/solana/using-data-feeds-off-chain.mdx +++ b/src/content/data-feeds/solana/using-data-feeds-off-chain.mdx @@ -15,7 +15,16 @@ metadata: import { Aside, CodeSample, PackageManagerTabs } from "@components" import { Tabs } from "@components/Tabs" -Chainlink Data Feeds are the quickest way to access market prices for real-world assets. This guide demonstrates how to read Chainlink Data Feeds on the Solana Devnet using offchain examples in the [Chainlink Solana Starter Kit](https://github.com/smartcontractkit/solana-starter-kit). To learn how to use Data Feeds in your onchain Solana programs, see the [Using Data Feeds onchain](/data-feeds/solana/using-data-feeds-solana) guide. + + +Chainlink Data Feeds are the quickest way to access market prices for real-world assets. This guide demonstrates how to +read Chainlink Data Feeds on the Solana Devnet using offchain examples in the [Chainlink Solana Starter +Kit](https://github.com/smartcontractkit/solana-starter-kit). To learn how to use Data Feeds in your onchain Solana +programs, see the [Using Data Feeds onchain](/data-feeds/solana/using-data-feeds-solana) guide. To get the full list of Chainlink Data Feeds on Solana, see the [Solana Feeds](/data-feeds/price-feeds/addresses?network=solana) page. diff --git a/src/content/data-feeds/solana/using-data-feeds-solana.mdx b/src/content/data-feeds/solana/using-data-feeds-solana.mdx index 4716186007f..264b504ac30 100644 --- a/src/content/data-feeds/solana/using-data-feeds-solana.mdx +++ b/src/content/data-feeds/solana/using-data-feeds-solana.mdx @@ -15,6 +15,12 @@ metadata: import { Aside, CodeSample } from "@components" import { Tabs } from "@components/Tabs" + + Chainlink Data Feeds are the quickest way to connect your smart contracts to the real-world market prices of assets. This guide demonstrates how to deploy a program to the Solana Devnet cluster and access Data Feeds onchain using the [Chainlink Solana Starter Kit](https://github.com/smartcontractkit/solana-starter-kit). To learn how to read price feed data using offchain applications, see the [Using Data Feeds Offchain](/solana/using-data-feeds-off-chain) guide. To get the full list of available Chainlink Data Feeds on Solana, see the [Solana Feeds](/data-feeds/price-feeds/addresses?network=solana) page. View the program that owns the Chainlink Data Feeds in the [Solana Devnet Explorer](https://solscan.io/account/HEvSKofvBgfaexv23kMabbYqxasxU3mQ4ibBMEmJWHny?cluster=devnet), or the [Solana Mainnet Explorer](https://solscan.io/account/HEvSKofvBgfaexv23kMabbYqxasxU3mQ4ibBMEmJWHny). diff --git a/src/features/feeds/components/FeedList.tsx b/src/features/feeds/components/FeedList.tsx index c3822e2ca1e..e3a72e1fd0f 100644 --- a/src/features/feeds/components/FeedList.tsx +++ b/src/features/feeds/components/FeedList.tsx @@ -12,6 +12,7 @@ import { RefObject } from "preact" import SectionWrapper from "~/components/SectionWrapper/SectionWrapper.tsx" import button from "@chainlink/design-system/button.module.css" import { updateTableOfContents } from "~/components/TableOfContents/tocStore.ts" +import alertIcon from "../../../components/Alert/Assets/alert-icon.svg" export type DataFeedType = | "default" @@ -656,281 +657,227 @@ export const FeedList = ({ {chainMetadata.loading && !chainMetadata.processedData &&
Loading...
} - {chainMetadata.processedData?.networks - .filter((network: { metadata: unknown[]; tags: string | string[] }) => { - if (isDeprecating) { - let foundDeprecated = false - network.metadata?.forEach((feed: { docs: { shutdownDate: unknown } }) => { - if (feed.docs?.shutdownDate) { - foundDeprecated = true + {(() => { + // Handle deprecating feeds from initialCache if available + if (isDeprecating && initialCache && initialCache.deprecated && (initialCache.deprecated as any).networks) { + return (initialCache.deprecated as any).networks + .filter((network: any) => { + let foundDeprecated = false + network.metadata?.forEach((feed: any) => { + if (feed.feedCategory === "deprecating") { + foundDeprecated = true + } + }) + if (foundDeprecated) { netCount++ } + return foundDeprecated }) - return foundDeprecated - } - - if (isStreams) return network.tags?.includes("streams") - - if (isSmartData) return network.tags?.includes("smartData") - - if (isRates) return network.tags?.includes("rates") - - if (isUSGovernmentMacroeconomicData) return network.tags?.includes("usGovernmentMacroeconomicData") - - return true - }) - .map((network: ChainNetwork) => { - return ( - <> + .map((network: any) => (- {network.name} is an L2 network. As a best practice, use the L2 sequencer feed to verify the - status of the sequencer when running applications on L2 networks. See the{" "} - L2 Sequencer Uptime Feeds page for examples. -
- )} - {network.name === "Aptos Mainnet" && ( - <> ++ Solana Data Feeds Deprecation +
++ Several Data Feeds on Solana{" "} + + are being deprecated + {" "} + as Chainlink migrates support to Data Streams' pull-based model. See{" "} + + this page + {" "} + for the complete list of Data Streams available on Solana. +
+- Chainlink Data Feeds on Aptos provides data through a single price feed contract that handles - multiple data feeds. You interact with this contract by passing the specific feed ID(s) for - the data you need. For more details, refer to the{" "} - Using Data Feeds on Aptos guide. + {network.name} is an L2 network. As a best practice, use the L2 sequencer feed to verify the + status of the sequencer when running applications on L2 networks. See the{" "} + L2 Sequencer Uptime Feeds page for + examples.
-+ Chainlink Data Feeds on Aptos provides data through a single price feed contract that + handles multiple data feeds. You interact with this contract by passing the specific feed + ID(s) for the data you need. For more details, refer to the{" "} + Using Data Feeds on Aptos guide. +
+