Skip to content

Commit bc00d71

Browse files
committed
individual yaml file for each chain for easy of use
1 parent cf9d95f commit bc00d71

12 files changed

+764
-733
lines changed

components/SponsoredFeedsTableWithData.tsx

Lines changed: 55 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,44 @@
1-
import { useState } from "react";
1+
import { useState, useEffect } from "react";
22
import CopyIcon from "./icons/CopyIcon";
33
import { mapValues } from "../utils/ObjectHelpers";
4-
// Direct YAML import with webpack yaml-loader
5-
import sponsoredFeedsData from "../pages/price-feeds/sponsored-feeds/data/sponsored_feeds_by_network.yaml";
4+
import { useCopyToClipboard } from "../utils/useCopyToClipboard";
5+
6+
// Import the data for each network. The data is in the form of a yaml file.
7+
const networkImports = {
8+
ethereum_mainnet: () =>
9+
import(
10+
"../pages/price-feeds/sponsored-feeds/data/evm/ethereum_mainnet.yaml"
11+
),
12+
base_mainnet: () =>
13+
import("../pages/price-feeds/sponsored-feeds/data/evm/base_mainnet.yaml"),
14+
berachain_mainnet: () =>
15+
import(
16+
"../pages/price-feeds/sponsored-feeds/data/evm/berachain_mainnet.yaml"
17+
),
18+
hyperevm_mainnet: () =>
19+
import(
20+
"../pages/price-feeds/sponsored-feeds/data/evm/hyperevm_mainnet.yaml"
21+
),
22+
kraken_mainnet: () =>
23+
import("../pages/price-feeds/sponsored-feeds/data/evm/kraken_mainnet.yaml"),
24+
unichain_mainnet: () =>
25+
import(
26+
"../pages/price-feeds/sponsored-feeds/data/evm/unichain_mainnet.yaml"
27+
),
28+
sonic_mainnet: () =>
29+
import("../pages/price-feeds/sponsored-feeds/data/evm/sonic_mainnet.yaml"),
30+
optimism_sepolia: () =>
31+
import(
32+
"../pages/price-feeds/sponsored-feeds/data/evm/optimism_sepolia.yaml"
33+
),
34+
unichain_sepolia: () =>
35+
import(
36+
"../pages/price-feeds/sponsored-feeds/data/evm/unichain_sepolia.yaml"
37+
),
38+
};
639

40+
// SponsoredFeed interface has the same structure as defined in deployment yaml files
41+
// Refer https://github.com/pyth-network/deployments/blob/main/environments/platform-green/hyperevm-price-pusher-mainnet/price-config.yaml
742
interface SponsoredFeed {
843
alias: string; // name of the feed
944
id: string; // price feed id
@@ -12,10 +47,6 @@ interface SponsoredFeed {
1247
confidence_ratio: number;
1348
}
1449

15-
interface SponsoredFeedsData {
16-
[networkKey: string]: SponsoredFeed[];
17-
}
18-
1950
interface SponsoredFeedsTableProps {
2051
networkKey: string;
2152
networkName: string;
@@ -76,21 +107,24 @@ export const SponsoredFeedsTable = ({
76107
networkKey,
77108
networkName,
78109
}: SponsoredFeedsTableProps) => {
79-
const [copiedId, setCopiedId] = useState<string | null>(null);
80-
81-
const copyToClipboard = (text: string) => {
82-
navigator.clipboard.writeText(text).then(() => {
83-
setCopiedId(text);
84-
setTimeout(() => setCopiedId(null), 2000);
85-
});
86-
};
87-
88-
// Load feeds from YAML data
89-
const data = sponsoredFeedsData as SponsoredFeedsData;
90-
const feeds = data[networkKey] || [];
110+
const [feeds, setFeeds] = useState<SponsoredFeed[]>([]);
111+
const { copiedText, copyToClipboard } = useCopyToClipboard();
112+
113+
useEffect(() => {
114+
const loadFeeds = async () => {
115+
const importFn =
116+
networkImports[networkKey as keyof typeof networkImports];
117+
if (importFn) {
118+
const module = await importFn();
119+
setFeeds(module.default || []);
120+
}
121+
};
122+
123+
loadFeeds();
124+
}, [networkKey]);
91125

92126
// Handle empty feeds
93-
if (!feeds || feeds.length === 0) {
127+
if (feeds.length === 0) {
94128
return (
95129
<div className="my-6">
96130
<p className="mb-3">
@@ -186,7 +220,7 @@ export const SponsoredFeedsTable = ({
186220
className="p-1 hover:bg-gray-200 dark:hover:bg-gray-600 rounded flex-shrink-0 mt-0.5"
187221
title="Copy Price Feed ID"
188222
>
189-
{copiedId === feed.id ? (
223+
{copiedText === feed.id ? (
190224
<span className="text-green-500 text-xs font-bold">
191225
192226
</span>
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
- alias: USDC/USD
2+
id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
3+
time_difference: 3600
4+
price_deviation: 1
5+
confidence_ratio: 100
6+
- alias: ETH/USD
7+
id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
8+
time_difference: 3600
9+
price_deviation: 1
10+
confidence_ratio: 100
11+
- alias: WETH/USD
12+
id: 9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6
13+
time_difference: 3600
14+
price_deviation: 1
15+
confidence_ratio: 100
16+
- alias: PUFETH/USD
17+
id: e5801530292c348f322b7b4a48c1c0d59ab629846cce1c816fc27aee2054b560
18+
time_difference: 3600
19+
price_deviation: 1
20+
confidence_ratio: 100
21+
- alias: WEETH/USD
22+
id: 9ee4e7c60b940440a261eb54b6d8149c23b580ed7da3139f7f08f4ea29dad395
23+
time_difference: 3600
24+
price_deviation: 1
25+
confidence_ratio: 100
26+
- alias: EZETH/USD
27+
id: 06c217a791f5c4f988b36629af4cb88fad827b2485400a358f3b02886b54de92
28+
time_difference: 3600
29+
price_deviation: 1
30+
confidence_ratio: 100
31+
- alias: CBETH/USD
32+
id: 15ecddd26d49e1a8f1de9376ebebc03916ede873447c1255d2d5891b92ce5717
33+
time_difference: 3600
34+
price_deviation: 1
35+
confidence_ratio: 100
36+
- alias: WSTETH/USD
37+
id: 6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784
38+
time_difference: 3600
39+
price_deviation: 1
40+
confidence_ratio: 100
41+
- alias: RSETH/USD
42+
id: 0caec284d34d836ca325cf7b3256c078c597bc052fbd3c0283d52b581d68d71f
43+
time_difference: 3600
44+
price_deviation: 1
45+
confidence_ratio: 100
46+
- alias: PYTH/USD
47+
id: 0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff
48+
time_difference: 3600
49+
price_deviation: 1
50+
confidence_ratio: 100
51+
- alias: SUI/USD
52+
id: 23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744
53+
time_difference: 3600
54+
price_deviation: 1
55+
confidence_ratio: 100
56+
- alias: XRP/USD
57+
id: ec5d399846a9209f3fe5881d70aae9268c94339ff9817e8d18ff19fa05eea1c8
58+
time_difference: 3600
59+
price_deviation: 1
60+
confidence_ratio: 100
61+
- alias: USR/USD
62+
id: 10b013adec14c0fe839ca0fe54cec9e4d0b6c1585ac6d7e70010dac015e57f9c
63+
time_difference: 3600
64+
price_deviation: 1
65+
confidence_ratio: 100
66+
- alias: USR/USD.RR
67+
id: 512a79cc65f49531f0bbb72956353e79ecdc1e4a6e5241847196c1f9a11d8a52
68+
time_difference: 3600
69+
price_deviation: 1
70+
confidence_ratio: 100
71+
- alias: RLP/USD
72+
id: 7265d5cf8ee0e7b5266f75ff19c42c5b7697a9756c9304aa78b6be4fbb8d823d
73+
time_difference: 3600
74+
price_deviation: 1
75+
confidence_ratio: 100
76+
- alias: RLP/USD.RR
77+
id: 796bcb684fdfbba2b071c165251511ab61f08c8949afd9e05665a26f69d9a839
78+
time_difference: 3600
79+
price_deviation: 1
80+
confidence_ratio: 100
81+
- alias: WSTUSR/USR.RR
82+
id: b74c2bc175c2dab850ce5a5451608501c293fe8410cb4aba7449dd1c355ab706
83+
time_difference: 3600
84+
price_deviation: 1
85+
confidence_ratio: 100
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
- alias: BERA/USD
2+
id: 962088abcfdbdb6e30db2e340c8cf887d9efb311b1f2f17b155a63dbb6d40265
3+
time_difference: 3600
4+
price_deviation: 1
5+
confidence_ratio: 100
6+
- alias: BERASTONE/USD
7+
id: 950fe827fa92b73e81cd49043673e9132a8424b24e35989156606073f2385e21
8+
time_difference: 3600
9+
price_deviation: 1
10+
confidence_ratio: 100
11+
- alias: BERASTONE/ETH.RR
12+
id: b8004b055f64f9e13468e0bff616bb87232c241a962cdf87c7a781ec31194803
13+
time_difference: 3600
14+
price_deviation: 1
15+
confidence_ratio: 100
16+
- alias: BTC/USD
17+
id: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
18+
time_difference: 3600
19+
price_deviation: 1
20+
confidence_ratio: 100
21+
- alias: ETH/USD
22+
id: ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace
23+
time_difference: 3600
24+
price_deviation: 1
25+
confidence_ratio: 100
26+
- alias: LIQUIDBERABTC/WBTC.RR
27+
id: c869104c9feab6b6b303add2d48fa7443fc119493f8d8cafd4df23890659ed78
28+
time_difference: 3600
29+
price_deviation: 1
30+
confidence_ratio: 100
31+
- alias: LIQUIDBERAETH/ETH.RR
32+
id: bedaf537ab909117259282b9463b0f54d67dd575d64dcd564bfbdbfc0f57f99d
33+
time_difference: 3600
34+
price_deviation: 1
35+
confidence_ratio: 100
36+
- alias: USDC/USD
37+
id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
38+
time_difference: 3600
39+
price_deviation: 1
40+
confidence_ratio: 100
41+
- alias: USDT/USD
42+
id: 2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b
43+
time_difference: 3600
44+
price_deviation: 1
45+
confidence_ratio: 100
46+
- alias: PYUSD/USD
47+
id: c1da1b73d7f01e7ddd54b3766cf7fcd644395ad14f70aa706ec5384c59e76692
48+
time_difference: 3600
49+
price_deviation: 1
50+
confidence_ratio: 100
51+
- alias: SUSDE/USDE.RR
52+
id: 271c64ce459937abf721d42552035713b6c58f80eeceab716a624607fda4b10f
53+
time_difference: 3600
54+
price_deviation: 1
55+
confidence_ratio: 100
56+
- alias: HONEY/USD
57+
id: f67b033925d73d43ba4401e00308d9b0f26ab4fbd1250e8b5407b9eaade7e1f4
58+
time_difference: 3600
59+
price_deviation: 1
60+
confidence_ratio: 100
61+
- alias: RSETH/USD
62+
id: 0caec284d34d836ca325cf7b3256c078c597bc052fbd3c0283d52b581d68d71f
63+
time_difference: 3600
64+
price_deviation: 1
65+
confidence_ratio: 100
66+
- alias: RSETH/ETH.RR
67+
id: 56e9b5eb08e62dd4b445f29e4ec7d3b3d49617d64f2d331d36a2101d4904e3c4
68+
time_difference: 3600
69+
price_deviation: 1
70+
confidence_ratio: 100
71+
- alias: IBGT/USD
72+
id: c929105a1af143cbfc887c4573947f54422a9ca88a9e622d151b8abdf5c2962f
73+
time_difference: 3600
74+
price_deviation: 1
75+
confidence_ratio: 100
76+
- alias: STBGT/USD
77+
id: ffd5448b844f5e7eeafbf36c47c7d4791a3cb86f5cefe02a7ba7864b22d81137
78+
time_difference: 3600
79+
price_deviation: 1
80+
confidence_ratio: 100
81+
- alias: HENLO/USD
82+
id: d90813d7fc7f4f5d786f3a6a35701aff4f628db0ecd998de66be0ff8264c67a2
83+
time_difference: 3600
84+
price_deviation: 1
85+
confidence_ratio: 100
86+
- alias: IBERA/USD
87+
id: eb943c0b5c9e02a529f799ac91070c3b7046f9412f3e5b0a90ba00267b838f34
88+
time_difference: 3600
89+
price_deviation: 1
90+
confidence_ratio: 100
91+
- alias: NECT/USD
92+
id: ddf0dd319060db4561b5aa8f84a94816d33579f8dc2af2d8f74583bce20cd260
93+
time_difference: 3600
94+
price_deviation: 1
95+
confidence_ratio: 100
96+
- alias: HONEY/USD.RR
97+
id: 8bb3695875f9c33594097b0e0a1daa881aa81290088f0eac3a07b700fc7612ba
98+
time_difference: 3600
99+
price_deviation: 1
100+
confidence_ratio: 100
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
- alias: USDC/USD
2+
id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a
3+
time_difference: 3600
4+
price_deviation: 2
5+
confidence_ratio: 100
6+
- alias: UNI/USD
7+
id: 78d185a741d07edb3412b09008b7c5cfb9bbbd7d568bf00ba737b456ba171501
8+
time_difference: 3600
9+
price_deviation: 2
10+
confidence_ratio: 100
11+
- alias: PYTH/USD
12+
id: 0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff
13+
time_difference: 3600
14+
price_deviation: 2
15+
confidence_ratio: 100
16+
- alias: USR/USD
17+
id: 10b013adec14c0fe839ca0fe54cec9e4d0b6c1585ac6d7e70010dac015e57f9c
18+
time_difference: 3600
19+
price_deviation: 2
20+
confidence_ratio: 100
21+
- alias: WSTUSR/USR
22+
id: b74c2bc175c2dab850ce5a5451608501c293fe8410cb4aba7449dd1c355ab706
23+
time_difference: 3600
24+
price_deviation: 2
25+
confidence_ratio: 100
26+
- alias: USDTB/NAV
27+
id: 967549f1ff4869f41cb354a7116b9e5a9a3091bebe0b2640eeed745ca1f7f90b
28+
time_difference: 3600
29+
price_deviation: 2
30+
confidence_ratio: 100
31+
- alias: BOLD/USD
32+
id: d6134dbb0427240f901e3e596d6e63f7d85088f96cd4cd4ae2f89c0819b5d623
33+
time_difference: 3600
34+
price_deviation: 0.5
35+
confidence_ratio: 100

0 commit comments

Comments
 (0)