diff --git a/components/SponsoredFeedsTable.tsx b/components/SponsoredFeedsTableWithData.tsx
similarity index 52%
rename from components/SponsoredFeedsTable.tsx
rename to components/SponsoredFeedsTableWithData.tsx
index 87c6ee82..a5e51965 100644
--- a/components/SponsoredFeedsTable.tsx
+++ b/components/SponsoredFeedsTableWithData.tsx
@@ -1,77 +1,149 @@
-import { useState } from "react";
+import { useState, useEffect } from "react";
import CopyIcon from "./icons/CopyIcon";
import { mapValues } from "../utils/ObjectHelpers";
+import { useCopyToClipboard } from "../utils/useCopyToClipboard";
-interface UpdateParameters {
- heartbeatLength: number;
- heartbeatUnit: "second" | "minute" | "hour";
- priceDeviation: number;
-}
+// Import the data for each network. The data is in the form of a yaml file.
+const networkImports = {
+ ethereum_mainnet: () =>
+ import(
+ "../pages/price-feeds/sponsored-feeds/data/evm/ethereum_mainnet.yaml"
+ ),
+ base_mainnet: () =>
+ import("../pages/price-feeds/sponsored-feeds/data/evm/base_mainnet.yaml"),
+ berachain_mainnet: () =>
+ import(
+ "../pages/price-feeds/sponsored-feeds/data/evm/berachain_mainnet.yaml"
+ ),
+ hyperevm_mainnet: () =>
+ import(
+ "../pages/price-feeds/sponsored-feeds/data/evm/hyperevm_mainnet.yaml"
+ ),
+ kraken_mainnet: () =>
+ import("../pages/price-feeds/sponsored-feeds/data/evm/kraken_mainnet.yaml"),
+ unichain_mainnet: () =>
+ import(
+ "../pages/price-feeds/sponsored-feeds/data/evm/unichain_mainnet.yaml"
+ ),
+ sonic_mainnet: () =>
+ import("../pages/price-feeds/sponsored-feeds/data/evm/sonic_mainnet.yaml"),
+ optimism_sepolia: () =>
+ import(
+ "../pages/price-feeds/sponsored-feeds/data/evm/optimism_sepolia.yaml"
+ ),
+ unichain_sepolia: () =>
+ import(
+ "../pages/price-feeds/sponsored-feeds/data/evm/unichain_sepolia.yaml"
+ ),
+};
+// SponsoredFeed interface has the same structure as defined in deployment yaml files
interface SponsoredFeed {
- name: string;
- priceFeedId: string;
- updateParameters: UpdateParameters;
+ alias: string; // name of the feed
+ id: string; // price feed id
+ time_difference: number; // in seconds
+ price_deviation: number;
+ confidence_ratio: number;
}
interface SponsoredFeedsTableProps {
- feeds: SponsoredFeed[];
+ networkKey: string;
networkName: string;
}
/**
* Helper functions
*/
+// Convert time_difference (seconds) to human readable format
+const formatTimeUnit = (seconds: number): { value: number; unit: string } => {
+ if (seconds >= 3600) {
+ return { value: seconds / 3600, unit: "hour" };
+ } else if (seconds >= 60) {
+ return { value: seconds / 60, unit: "minute" };
+ } else {
+ return { value: seconds, unit: "second" };
+ }
+};
// Format update parameters as a string for grouping
-const formatUpdateParams = (params: UpdateParameters): string => {
- return `${params.heartbeatLength} ${params.heartbeatUnit} heartbeat / ${params.priceDeviation}% price deviation`;
+const formatUpdateParams = (feed: SponsoredFeed): string => {
+ const timeFormat = formatTimeUnit(feed.time_difference);
+ const timeStr = `${timeFormat.value} ${timeFormat.unit}${
+ timeFormat.value !== 1 ? "s" : ""
+ }`;
+ return `${timeStr} heartbeat / ${feed.price_deviation}% price deviation`;
};
// Render update parameters with proper styling
-const renderUpdateParams = (params: UpdateParameters, isDefault: boolean) => (
-
-
-
- {params.heartbeatLength} {params.heartbeatUnit} heartbeat
-
- {params.priceDeviation}% price deviation
-
-
-);
+const renderUpdateParams = (feed: SponsoredFeed, isDefault: boolean) => {
+ const timeFormat = formatTimeUnit(feed.time_difference);
+ const timeStr =
+ timeFormat.value === 1 ? timeFormat.unit : `${timeFormat.unit}s`;
+
+ return (
+
+
+
+ {timeFormat.value} {timeStr} heartbeat
+
+ {feed.price_deviation}% price deviation
+
+
+ );
+};
export const SponsoredFeedsTable = ({
- feeds,
+ networkKey,
networkName,
}: SponsoredFeedsTableProps) => {
- const [copiedId, setCopiedId] = useState(null);
+ const [feeds, setFeeds] = useState([]);
+ const { copiedText, copyToClipboard } = useCopyToClipboard();
+
+ useEffect(() => {
+ const loadFeeds = async () => {
+ const importFn =
+ networkImports[networkKey as keyof typeof networkImports];
+ if (importFn) {
+ const feedsModule = await importFn();
+ setFeeds(feedsModule.default || []);
+ }
+ };
+
+ loadFeeds();
+ }, [networkKey]);
- const copyToClipboard = (text: string) => {
- navigator.clipboard.writeText(text).then(() => {
- setCopiedId(text);
- setTimeout(() => setCopiedId(null), 2000);
- });
- };
+ // Handle empty feeds
+ if (feeds.length === 0) {
+ return (
+
+
+ No sponsored price feeds are currently available for{" "}
+ {networkName}.
+
+
+ );
+ }
// Calculate parameter statistics
const paramCounts = mapValues(
- Object.groupBy(feeds, (feed) => formatUpdateParams(feed.updateParameters)),
+ Object.groupBy(feeds, (feed) => formatUpdateParams(feed)),
(feeds: SponsoredFeed[]) => feeds.length
);
- const defaultParams = Object.entries(paramCounts).sort(
+ const paramEntries = Object.entries(paramCounts).sort(
([, a], [, b]) => b - a
- )[0][0];
+ );
+ const defaultParams = paramEntries.length > 0 ? paramEntries[0][0] : "";
return (
@@ -123,33 +195,31 @@ export const SponsoredFeedsTable = ({
- {feeds.map((feed, index) => {
- const formattedParams = formatUpdateParams(
- feed.updateParameters
- );
+ {feeds.map((feed) => {
+ const formattedParams = formatUpdateParams(feed);
const isDefault = formattedParams === defaultParams;
return (
- {feed.name}
+ {feed.alias}
|
- {feed.priceFeedId}
+ {feed.id}
|
- {renderUpdateParams(feed.updateParameters, isDefault)}
+ {renderUpdateParams(feed, isDefault)}
|
);
diff --git a/next.config.js b/next.config.js
index a802bbf2..b236ae65 100644
--- a/next.config.js
+++ b/next.config.js
@@ -143,6 +143,13 @@ const nextConfig = {
},
webpack: (config) => {
config.resolve.fallback = { fs: false, net: false, tls: false };
+
+ // Add YAML loader
+ config.module.rules.push({
+ test: /\.ya?ml$/,
+ use: "yaml-loader",
+ });
+
return config;
},
diff --git a/package-lock.json b/package-lock.json
index 50ed570b..01a1eb3a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -54,7 +54,8 @@
"solc": "^0.8.20",
"tailwindcss": "^3.4.3",
"ts-node": "^10.9.1",
- "typescript": "^5.8.3"
+ "typescript": "^5.8.3",
+ "yaml-loader": "^0.8.1"
}
},
"node_modules/@adobe/css-tools": {
@@ -742,7 +743,6 @@
},
"node_modules/@clack/prompts/node_modules/is-unicode-supported": {
"version": "1.3.0",
- "extraneous": true,
"inBundle": true,
"license": "MIT",
"engines": {
@@ -10470,6 +10470,16 @@
"node": ">=0.6"
}
},
+ "node_modules/big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/bigint-buffer": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz",
@@ -12630,6 +12640,16 @@
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true
},
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/encode-utf8": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
@@ -17382,6 +17402,13 @@
"node": ">=8"
}
},
+ "node_modules/javascript-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz",
+ "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/jayson": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/jayson/-/jayson-4.1.0.tgz",
@@ -20117,6 +20144,34 @@
"@types/trusted-types": "^2.0.2"
}
},
+ "node_modules/loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
+ "node_modules/loader-utils/node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -27724,6 +27779,21 @@
"node": ">= 14"
}
},
+ "node_modules/yaml-loader": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.8.1.tgz",
+ "integrity": "sha512-BCEndnUoi3BaZmePkwGGe93txRxLgMhBa/gE725v1/GHnura8QvNs7c4+4C1yyhhKoj3Dg63M7IqhA++15j6ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "javascript-stringify": "^2.0.1",
+ "loader-utils": "^2.0.0",
+ "yaml": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
@@ -28358,8 +28428,7 @@
"dependencies": {
"is-unicode-supported": {
"version": "1.3.0",
- "bundled": true,
- "extraneous": true
+ "bundled": true
}
}
},
@@ -34989,6 +35058,12 @@
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
"integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg=="
},
+ "big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true
+ },
"bigint-buffer": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz",
@@ -36663,6 +36738,12 @@
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true
},
+ "emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "dev": true
+ },
"encode-utf8": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
@@ -40068,6 +40149,12 @@
"istanbul-lib-report": "^3.0.0"
}
},
+ "javascript-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz",
+ "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==",
+ "dev": true
+ },
"jayson": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/jayson/-/jayson-4.1.0.tgz",
@@ -42124,6 +42211,25 @@
"@types/trusted-types": "^2.0.2"
}
},
+ "loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true
+ }
+ }
+ },
"locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -47489,6 +47595,17 @@
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
"integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ=="
},
+ "yaml-loader": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.8.1.tgz",
+ "integrity": "sha512-BCEndnUoi3BaZmePkwGGe93txRxLgMhBa/gE725v1/GHnura8QvNs7c4+4C1yyhhKoj3Dg63M7IqhA++15j6ww==",
+ "dev": true,
+ "requires": {
+ "javascript-stringify": "^2.0.1",
+ "loader-utils": "^2.0.0",
+ "yaml": "^2.0.0"
+ }
+ },
"yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
diff --git a/package.json b/package.json
index c00a3e26..3c395bc7 100644
--- a/package.json
+++ b/package.json
@@ -56,6 +56,7 @@
"solc": "^0.8.20",
"tailwindcss": "^3.4.3",
"ts-node": "^10.9.1",
- "typescript": "^5.8.3"
+ "typescript": "^5.8.3",
+ "yaml-loader": "^0.8.1"
}
}
diff --git a/pages/price-feeds/sponsored-feeds/data/evm/base_mainnet.yaml b/pages/price-feeds/sponsored-feeds/data/evm/base_mainnet.yaml
new file mode 100644
index 00000000..d00c63c9
--- /dev/null
+++ b/pages/price-feeds/sponsored-feeds/data/evm/base_mainnet.yaml
@@ -0,0 +1,85 @@
+- alias: USDC/USD
+ id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ETH/USD
+ id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WETH/USD
+ id: 9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: PUFETH/USD
+ id: e5801530292c348f322b7b4a48c1c0d59ab629846cce1c816fc27aee2054b560
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WEETH/USD
+ id: 9ee4e7c60b940440a261eb54b6d8149c23b580ed7da3139f7f08f4ea29dad395
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: EZETH/USD
+ id: 06c217a791f5c4f988b36629af4cb88fad827b2485400a358f3b02886b54de92
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: CBETH/USD
+ id: 15ecddd26d49e1a8f1de9376ebebc03916ede873447c1255d2d5891b92ce5717
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTETH/USD
+ id: 6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: RSETH/USD
+ id: 0caec284d34d836ca325cf7b3256c078c597bc052fbd3c0283d52b581d68d71f
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: PYTH/USD
+ id: 0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: SUI/USD
+ id: 23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: XRP/USD
+ id: ec5d399846a9209f3fe5881d70aae9268c94339ff9817e8d18ff19fa05eea1c8
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USR/USD
+ id: 10b013adec14c0fe839ca0fe54cec9e4d0b6c1585ac6d7e70010dac015e57f9c
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USR/USD.RR
+ id: 512a79cc65f49531f0bbb72956353e79ecdc1e4a6e5241847196c1f9a11d8a52
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: RLP/USD
+ id: 7265d5cf8ee0e7b5266f75ff19c42c5b7697a9756c9304aa78b6be4fbb8d823d
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: RLP/USD.RR
+ id: 796bcb684fdfbba2b071c165251511ab61f08c8949afd9e05665a26f69d9a839
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTUSR/USR.RR
+ id: b74c2bc175c2dab850ce5a5451608501c293fe8410cb4aba7449dd1c355ab706
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
diff --git a/pages/price-feeds/sponsored-feeds/data/evm/berachain_mainnet.yaml b/pages/price-feeds/sponsored-feeds/data/evm/berachain_mainnet.yaml
new file mode 100644
index 00000000..3a4ae44c
--- /dev/null
+++ b/pages/price-feeds/sponsored-feeds/data/evm/berachain_mainnet.yaml
@@ -0,0 +1,100 @@
+- alias: BERA/USD
+ id: 962088abcfdbdb6e30db2e340c8cf887d9efb311b1f2f17b155a63dbb6d40265
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: BERASTONE/USD
+ id: 950fe827fa92b73e81cd49043673e9132a8424b24e35989156606073f2385e21
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: BERASTONE/ETH.RR
+ id: b8004b055f64f9e13468e0bff616bb87232c241a962cdf87c7a781ec31194803
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: BTC/USD
+ id: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ETH/USD
+ id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: LIQUIDBERABTC/WBTC.RR
+ id: c869104c9feab6b6b303add2d48fa7443fc119493f8d8cafd4df23890659ed78
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: LIQUIDBERAETH/ETH.RR
+ id: bedaf537ab909117259282b9463b0f54d67dd575d64dcd564bfbdbfc0f57f99d
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDC/USD
+ id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDT/USD
+ id: 2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: PYUSD/USD
+ id: c1da1b73d7f01e7ddd54b3766cf7fcd644395ad14f70aa706ec5384c59e76692
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: SUSDE/USDE.RR
+ id: 271c64ce459937abf721d42552035713b6c58f80eeceab716a624607fda4b10f
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: HONEY/USD
+ id: f67b033925d73d43ba4401e00308d9b0f26ab4fbd1250e8b5407b9eaade7e1f4
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: RSETH/USD
+ id: 0caec284d34d836ca325cf7b3256c078c597bc052fbd3c0283d52b581d68d71f
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: RSETH/ETH.RR
+ id: 56e9b5eb08e62dd4b445f29e4ec7d3b3d49617d64f2d331d36a2101d4904e3c4
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: IBGT/USD
+ id: c929105a1af143cbfc887c4573947f54422a9ca88a9e622d151b8abdf5c2962f
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: STBGT/USD
+ id: ffd5448b844f5e7eeafbf36c47c7d4791a3cb86f5cefe02a7ba7864b22d81137
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: HENLO/USD
+ id: d90813d7fc7f4f5d786f3a6a35701aff4f628db0ecd998de66be0ff8264c67a2
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: IBERA/USD
+ id: eb943c0b5c9e02a529f799ac91070c3b7046f9412f3e5b0a90ba00267b838f34
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: NECT/USD
+ id: ddf0dd319060db4561b5aa8f84a94816d33579f8dc2af2d8f74583bce20cd260
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: HONEY/USD.RR
+ id: 8bb3695875f9c33594097b0e0a1daa881aa81290088f0eac3a07b700fc7612ba
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
diff --git a/pages/price-feeds/sponsored-feeds/data/evm/ethereum_mainnet.yaml b/pages/price-feeds/sponsored-feeds/data/evm/ethereum_mainnet.yaml
new file mode 100644
index 00000000..56a8e999
--- /dev/null
+++ b/pages/price-feeds/sponsored-feeds/data/evm/ethereum_mainnet.yaml
@@ -0,0 +1,35 @@
+- alias: USDC/USD
+ id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
+ time_difference: 3600
+ price_deviation: 2
+ confidence_ratio: 100
+- alias: UNI/USD
+ id: 78d185a741d07edb3412b09008b7c5cfb9bbbd7d568bf00ba737b456ba171501
+ time_difference: 3600
+ price_deviation: 2
+ confidence_ratio: 100
+- alias: PYTH/USD
+ id: 0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff
+ time_difference: 3600
+ price_deviation: 2
+ confidence_ratio: 100
+- alias: USR/USD
+ id: 10b013adec14c0fe839ca0fe54cec9e4d0b6c1585ac6d7e70010dac015e57f9c
+ time_difference: 3600
+ price_deviation: 2
+ confidence_ratio: 100
+- alias: WSTUSR/USR
+ id: b74c2bc175c2dab850ce5a5451608501c293fe8410cb4aba7449dd1c355ab706
+ time_difference: 3600
+ price_deviation: 2
+ confidence_ratio: 100
+- alias: USDTB/NAV
+ id: 967549f1ff4869f41cb354a7116b9e5a9a3091bebe0b2640eeed745ca1f7f90b
+ time_difference: 3600
+ price_deviation: 2
+ confidence_ratio: 100
+- alias: BOLD/USD
+ id: d6134dbb0427240f901e3e596d6e63f7d85088f96cd4cd4ae2f89c0819b5d623
+ time_difference: 3600
+ price_deviation: 0.5
+ confidence_ratio: 100
diff --git a/pages/price-feeds/sponsored-feeds/data/evm/hyperevm_mainnet.yaml b/pages/price-feeds/sponsored-feeds/data/evm/hyperevm_mainnet.yaml
new file mode 100644
index 00000000..c92705dd
--- /dev/null
+++ b/pages/price-feeds/sponsored-feeds/data/evm/hyperevm_mainnet.yaml
@@ -0,0 +1,230 @@
+- alias: BTC/USD
+ id: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ETH/USD
+ id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDC/USD
+ id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDT/USD
+ id: 2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: HYPE/USD
+ id: 4279e31cc369bbcc2faf022b382b080e32a8e689ff20fbc530d2a603eb6cd98b
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: HFUN/USD
+ id: 61db931fcfd322223fb84dc4bfc9c6481bd5610a31403782bc396df213e3ce12
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: PURR/USD
+ id: e0154bf4dfbcf835fad3428c0d8c1078b83f687e4d6afafb827f7f9af70ec326
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: SOL/USD
+ id: ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTETH/USD
+ id: 6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTETH/STETH.RR
+ id: f59ead01ed0faba85332a1e2feae8ddb14a1c94ebac259f1c982c92fc7ce333e
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WEETH/USD
+ id: 9ee4e7c60b940440a261eb54b6d8149c23b580ed7da3139f7f08f4ea29dad395
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WEETH/EETH.RR
+ id: 343558e79f587e098c321218ecb34d031ba709ab3e84133126f3c98511b91f64
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: LBTC/USD
+ id: 8f257aab6e7698bb92b15511915e593d6f8eae914452f781874754b03d0c612b
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: LBTC/BTC.RR
+ id: bade5c63f281d36a13dbb64ed0ae1c532a434b6771b11885f396a41f56cc3bd0
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: CBBTC/USD
+ id: 2817d7bfe5c64b8ea956e9a26f573ef64e72e4d7891f2d6af9bcc93f7aff9a97
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WBTC/USD
+ id: c9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WETH/USD
+ id: 9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDE/USD
+ id: 6ec879b1e9963de5ee97e9c8710b742d6228252a5e2ca12d4ae81d7fe5ee8c5d
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: SUSDE/USD
+ id: ca3ba9a619a4b3755c10ac7d5e760275aa95e9823d38a84fedd416856cdba37c
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: SUSDE/USDE.RR
+ id: 271c64ce459937abf721d42552035713b6c58f80eeceab716a624607fda4b10f
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTHYPE/STHYPE.RR
+ id: 1a78b5829a99f1d2897917dae2a02266c0210535a995a2e9d0692613bbc89e27
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: LHYPE/USD
+ id: 9e3cadc2a8a0ebfd765b34d5ee5de77a4add3114672fc0b8d3ad09ac56940069
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: FHYPE/HYPE.RR
+ id: 8f749681c078ce4ef65cd220994f25735b80264fca4386dd57b31eacf7e4610b
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDXL/USD
+ id: e10593860e9ee1c204e4f9569e877502f098dd1a4d84cc5bad06f23f77dcbfe2
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: MHYPE/HYPE.RR
+ id: e35aebd2d35795acaa2b0e59f3b498510e8ef334986d151d1502adb9e26234f7
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: FEUSD/USD
+ id: 7f2e9a7365eb634c543e9ca72683a9cf778cdc16ee5b8bca73abe6d08c1410d5
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: MHYPE/USD
+ id: a7fb4cdafed5130e8731b8da7c9208881f24e9b671bb92438b1fbf361d578112
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: STHYPE/USD
+ id: 068cd0617cbdd1dda615ed2b5ab4fe07d2e9f46347f5e785484844aa10d22dc5
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: UETH/USD
+ id: 08c73e187b45ecb2ab8375b975865d3c4a225fef1ccc7f326ad6eec66a24567a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: UBTC/USD
+ id: 42bfb26778f3504a9f359a92c731f77d0c24aed9b7745276e3ad0c2d840b74c2
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: CMETH/METH.RR
+ id: cef5ad3be493afef85e77267cb0c07d048f3d54055409a34782996607e48cf0a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: METH/ETH.RR
+ id: ee279eeb2fec830e3f535ad4d6524eb35eb1c6890cb1afc0b64554d08c88727e
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USR/USD.RR
+ id: 512a79cc65f49531f0bbb72956353e79ecdc1e4a6e5241847196c1f9a11d8a52
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USOL/USD
+ id: 974c7a77dbace44d229be17fc176975e06404b004476aeaff37641818cb0c55a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: BUDDY/USD
+ id: ac2adf4571a391da22a2d39e8c5eb32ceecd6ab38c386a9194d669deece74dee
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: XAU/USD
+ id: 765d2ba906dbc32ca17cc11f5310a89e9ee1f6420508c63861f2f8ba4ee34bb2
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDHL/USD
+ id: 1497fb795ae65533d36d147b1b88c8b7226866a201589904c13acd314f694799
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: UFART/USD
+ id: a210f55ff119d315002b5dc4f763b4e4114197028e45d6aca16498ab1433fb6d
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USH/USD
+ id: eaa30c1ef2d9f4fde45d6e699bfda5187b3de200ea4cbab25d676b260ab728c1
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: HWHLP/USDC
+ id: d136d4fd8d5f41c42339bcaf79954cfc2d50a33b129a990f8a2087d73cadade9
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WHLP/USDC
+ id: b94c49af07479932872c63126f6bdee78140be7a953435e3815c8e1b204a0a04
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: STLOOP/LOOP
+ id: 1d99073631da1f959284bae0be4d027cfd41c98f4b6a95d20ccf4208a3a4b1f1
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: HLP0/USDC.RR
+ id: aa388e24e74d5dd12145f74fad3180266f78ed08c0a2f47c60583fdb612587ba
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: KHYPE/HYPE.RR
+ id: 983b7cabc6fab548e15a5b05500da9b99c1682107b3e2ff289344116c10ac02c
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTUSR/USR.RR
+ id: b74c2bc175c2dab850ce5a5451608501c293fe8410cb4aba7449dd1c355ab706
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: RPL/USD.RR
+ id: 796bcb684fdfbba2b071c165251511ab61f08c8949afd9e05665a26f69d9a839
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
diff --git a/pages/price-feeds/sponsored-feeds/data/evm/kraken_mainnet.yaml b/pages/price-feeds/sponsored-feeds/data/evm/kraken_mainnet.yaml
new file mode 100644
index 00000000..feebf1cb
--- /dev/null
+++ b/pages/price-feeds/sponsored-feeds/data/evm/kraken_mainnet.yaml
@@ -0,0 +1,30 @@
+- alias: USDC/USD
+ id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDT/USD
+ id: 2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ETH/USD
+ id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WETH/USD
+ id: 9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTETH/USD
+ id: 6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: BTC/USD
+ id: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
diff --git a/pages/price-feeds/sponsored-feeds/data/evm/optimism_sepolia.yaml b/pages/price-feeds/sponsored-feeds/data/evm/optimism_sepolia.yaml
new file mode 100644
index 00000000..28c91d39
--- /dev/null
+++ b/pages/price-feeds/sponsored-feeds/data/evm/optimism_sepolia.yaml
@@ -0,0 +1,10 @@
+- alias: USDC/USD
+ id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
+ time_difference: 30
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ETH/USD
+ id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
+ time_difference: 30
+ price_deviation: 1
+ confidence_ratio: 100
diff --git a/pages/price-feeds/sponsored-feeds/data/evm/sonic_mainnet.yaml b/pages/price-feeds/sponsored-feeds/data/evm/sonic_mainnet.yaml
new file mode 100644
index 00000000..60f0cff7
--- /dev/null
+++ b/pages/price-feeds/sponsored-feeds/data/evm/sonic_mainnet.yaml
@@ -0,0 +1,95 @@
+- alias: USDC/USD
+ id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ETH/USD
+ id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WETH/USD
+ id: 9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WBTC/USD
+ id: c9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: BTC/USD
+ id: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDT/USD
+ id: 2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: S/USD
+ id: f490b178d0c85683b7a0f2388b40af2e6f7c90cbe0f96b31f315f08d0e5a2d6d
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: SCUSD/USD
+ id: 316b1536978bee10c47b3c74c0b3995aabae973a3351621680a2aa383aca77b8
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: SCETH/USD
+ id: 8bb5e69ed1ab19642a0e7e851b1ed7b3579d0548bc8ddd1077b0d9476bb1dabc
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTKSCETH/SCETH.RR
+ id: b680422b70915df562e4802bd8679112ff0f6b0a29ec2c3762ae2720eda01e58
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTKSCUSD/SCUSD.RR
+ id: caed0964240861da425cf03fae9737473f6f031fb80cbbd73c3fb8cddd7a2204
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: STS/S.RR
+ id: 3b14bd355f182fa3a3feeea6824228e1f71e7c221a37bc91e8307280aee6a803
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ANON/USD
+ id: 7a36855b8a4a6efd701ed82688694bbf67602de9faae509ae28f91065013cb82
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: OS/USD
+ id: 2bcd65e3c1b4580a5f59755ef30e11077238217dd418d301dd7ee4d252987675
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: GOGLZ/USD
+ id: 82465d1155ddbb2c73bf3491457163000f8e8d02dea90c548b1b7e56ae9fe4b1
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: SHADOW/USD
+ id: 6f02ad2b8a307411fc3baedb9876e83efe9fa9f5b752aab8c99f4742c9e5f5d5
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WANS/ANS.RR
+ id: 940b0948d828c46bff5fc3a3204fc032092b5b4239ef9364f33e01d37437ba65
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: STS/USD
+ id: 19f463beb47cb398cf2e2c8037f1d0073583cf18209c91a636f051d755ce0662
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: HLP0/USDC.RR
+ id: aa388e24e74d5dd12145f74fad3180266f78ed08c0a2f47c60583fdb612587ba
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
diff --git a/pages/price-feeds/sponsored-feeds/data/evm/unichain_mainnet.yaml b/pages/price-feeds/sponsored-feeds/data/evm/unichain_mainnet.yaml
new file mode 100644
index 00000000..274429f2
--- /dev/null
+++ b/pages/price-feeds/sponsored-feeds/data/evm/unichain_mainnet.yaml
@@ -0,0 +1,35 @@
+- alias: BTC/USD
+ id: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ETH/USD
+ id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: UNI/USD
+ id: 78d185a741d07edb3412b09008b7c5cfb9bbbd7d568bf00ba737b456ba171501
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDC/USD
+ id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDT/USD
+ id: 2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: PYTH/USD
+ id: 0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ETH/BTC
+ id: c96458d393fe9deb7a7d63a0ac41e2898a67a7750dbd166673279e06c868df0a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
diff --git a/pages/price-feeds/sponsored-feeds/data/evm/unichain_sepolia.yaml b/pages/price-feeds/sponsored-feeds/data/evm/unichain_sepolia.yaml
new file mode 100644
index 00000000..16c7ba78
--- /dev/null
+++ b/pages/price-feeds/sponsored-feeds/data/evm/unichain_sepolia.yaml
@@ -0,0 +1,75 @@
+- alias: BTC/USD
+ id: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: ETH/USD
+ id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: STETH/USD
+ id: 3af6a3098c56f58ff47cc46dee4a5b1910e5c157f7f0b665952445867470d61f
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: UNI/USD
+ id: 78d185a741d07edb3412b09008b7c5cfb9bbbd7d568bf00ba737b456ba171501
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDC/USD
+ id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: USDT/USD
+ id: 2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WSTETH/USD
+ id: 6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: WETH/USD
+ id: 9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: AVAX/USD
+ id: 93da3352f9f1d105fdfe4971cfa80e9dd777bfc5d0f683ebb6e1294b92137bb7
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: POL/USD
+ id: ffd11c5a1cfd42f80afb2df4d9f264c15f956d68153335374ec10722edd70472
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: DOGE/USD
+ id: dcef50dd0a4cd2dcc17e45df1676dcb336a11a61c69df7a0299b0150c672d25c
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: SHIB/USD
+ id: f0d57deca57b3da2fe63a493f4c25925fdfd8edf834b20f93e1f84dbd1504d4a
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: DAI/USD
+ id: b0948a5e5313200c632b51bb5ca32f6de0d36e9950a942d19751e833f70dabfd
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: OP/USD
+ id: 385f64d993f7b77d8182ed5003d97c60aa3361f3cecfe711544d2d59165e9bdf
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
+- alias: PYTH/USD
+ id: 0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff
+ time_difference: 3600
+ price_deviation: 1
+ confidence_ratio: 100
diff --git a/pages/price-feeds/sponsored-feeds/evm.mdx b/pages/price-feeds/sponsored-feeds/evm.mdx
index 355cd551..b5e75d0c 100644
--- a/pages/price-feeds/sponsored-feeds/evm.mdx
+++ b/pages/price-feeds/sponsored-feeds/evm.mdx
@@ -1,4 +1,4 @@
-import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTable";
+import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData";
# Sponsored Feeds on EVM
@@ -17,1461 +17,53 @@ The following EVM chains have sponsored price feeds:
## Ethereum Mainnet
## Base Mainnet
-
+
## Berachain Mainnet
## HyperEVM Mainnet
## Kraken Mainnet
-
+
## Unichain Mainnet
## Sonic Mainnet
-
+
## Optimism Sepolia
## Unichain Sepolia
diff --git a/pages/price-feeds/sponsored-feeds/solana.mdx b/pages/price-feeds/sponsored-feeds/solana.mdx
index 188b52d4..883c4003 100644
--- a/pages/price-feeds/sponsored-feeds/solana.mdx
+++ b/pages/price-feeds/sponsored-feeds/solana.mdx
@@ -55,4 +55,4 @@ The addresses represent the price feed account for shard 0 of the relevant price
| FARTCOIN/USD | `2t8eUbYKjidMs3uSeYM9jXM9uudYZwGkSeTB4TKjmvnC` | `58cd29ef0e714c5affc44f269b2c1899a52da4169d7acc147b9da692e6953608` |
| ACRED/USD | `6gyQ2TKvvV1JB5oWDobndv6BLRWcJzeBNk9PLQ5uPQms` | `40ac3329933a6b5b65cf31496018c5764ac0567316146f7d0de00095886b480d` |
| WTI1M/USD | `nt1JuGVRBJNrvMpdZt9RJnxVSxRuoeVx5LRq3R1bS16` | `eca3fb7e6be5be55a01678ee00f6405b9e4986e32d539ccd2a06a57e0c615880` |
-| PUMP/USD | `HMm3GPbdnqGwbkTnUUqCFsH8AMHDdEC3Lg8gcPD3HJSH` | `7a01fca212788bba7c5bf8c9efd576a8a722f070d2c17596ff7bb609b8d5c3b9` |
+| PUMP/USD | `HMm3GPbdnqGwbkTnUUqCFsH8AMHDdEC3Lg8gcPD3HJSH` | `7a01fca212788bba7c5bf8c9efd576a8a722f070d2c17596ff7bb609b8d5c3b9` |
diff --git a/types/yaml.d.ts b/types/yaml.d.ts
new file mode 100644
index 00000000..0e466a6f
--- /dev/null
+++ b/types/yaml.d.ts
@@ -0,0 +1,9 @@
+declare module "*.yaml" {
+ const content: any;
+ export default content;
+}
+
+declare module "*.yml" {
+ const content: any;
+ export default content;
+}
diff --git a/utils/useCopyToClipboard.tsx b/utils/useCopyToClipboard.tsx
new file mode 100644
index 00000000..a4184b93
--- /dev/null
+++ b/utils/useCopyToClipboard.tsx
@@ -0,0 +1,14 @@
+import { useState } from "react";
+import copy from "copy-to-clipboard";
+
+export const useCopyToClipboard = (timeout: number = 2000) => {
+ const [copiedText, setCopiedText] = useState(null);
+
+ const copyToClipboard = (text: string) => {
+ copy(text);
+ setCopiedText(text);
+ setTimeout(() => setCopiedText(null), timeout);
+ };
+
+ return { copiedText, copyToClipboard };
+};