Skip to content

Commit 9318836

Browse files
committed
fix(ftso): simplify feed generation automation
1 parent 1c3ce9f commit 9318836

File tree

11 files changed

+157
-747
lines changed

11 files changed

+157
-747
lines changed

automations/anchor_feeds.json

Lines changed: 0 additions & 429 deletions
This file was deleted.

automations/anchor_risk.json

Lines changed: 0 additions & 63 deletions
This file was deleted.

automations/block_latency_risk.json

Lines changed: 0 additions & 63 deletions
This file was deleted.

automations/feed_table_generator.py

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,8 @@ def get(cls, name: str) -> "NetworkConfig":
5353

5454

5555
# Configuration
56-
BLOCK_LATENCY_RISK_PATH: Final[Path] = Path("block_latency_risk.json")
57-
BLOCK_LATENCY_FEEDS_PATH: Final[Path] = Path("block_latency_feeds.json")
58-
ANCHOR_RISK_PATH: Final[Path] = Path("anchor_risk.json")
59-
ANCHOR_FEEDS_PATH: Final[Path] = Path("anchor_feeds.json")
56+
FTSO_RISK_PATH: Final[Path] = Path("ftso_risk.json")
57+
FTSO_FEEDS_PATH: Final[Path] = Path("ftso_feeds.json")
6058
HARD_CODED_FEEDS: Final[dict[str, dict[str, str]]] = {
6159
"FTM/USD": {
6260
"name": "Fantom",
@@ -158,7 +156,7 @@ def generate_feed_data(
158156
data: list[dict[str, Any]] = []
159157
for idx, name in enumerate(feed_names):
160158
try:
161-
risk = feed_risk[idx].get("volatility", -1)
159+
risk = feed_risk[idx].get("risk", -1)
162160
except IndexError as e:
163161
msg = f"Unable to find risk for {name}"
164162
raise FeedRiskNotFoundError(msg) from e
@@ -206,16 +204,10 @@ def main() -> None:
206204

207205
coins = get_coins_list(pages=8)
208206

209-
for risk_path, out_path, idx_flag in [
210-
(BLOCK_LATENCY_RISK_PATH, BLOCK_LATENCY_FEEDS_PATH, True),
211-
(ANCHOR_RISK_PATH, ANCHOR_FEEDS_PATH, False),
212-
]:
213-
risks = read_json(risk_path)
214-
enriched = generate_feed_data(
215-
feed_names, risks, coins, include_index=idx_flag
216-
)
217-
write_json(out_path, enriched)
218-
logger.info("Saved %d records to %s", len(enriched), out_path)
207+
risks = read_json(FTSO_RISK_PATH)
208+
enriched = generate_feed_data(feed_names, risks, coins, include_index=True)
209+
write_json(FTSO_FEEDS_PATH, enriched)
210+
logger.info("Saved %d records to %s", len(enriched), FTSO_FEEDS_PATH)
219211

220212
except Exception:
221213
logger.exception("Feed Table automation failed")

automations/ftso_risk.json

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
[
2+
{ "name": "FLR/USD", "risk": 1 },
3+
{ "name": "SGB/USD", "risk": 2 },
4+
{ "name": "BTC/USD", "risk": 1 },
5+
{ "name": "XRP/USD", "risk": 1 },
6+
{ "name": "LTC/USD", "risk": 1 },
7+
{ "name": "XLM/USD", "risk": 2 },
8+
{ "name": "DOGE/USD", "risk": 1 },
9+
{ "name": "ADA/USD", "risk": 1 },
10+
{ "name": "ALGO/USD", "risk": 2 },
11+
{ "name": "ETH/USD", "risk": 1 },
12+
{ "name": "FIL/USD", "risk": 1 },
13+
{ "name": "ARB/USD", "risk": 2 },
14+
{ "name": "AVAX/USD", "risk": 1 },
15+
{ "name": "BNB/USD", "risk": 1 },
16+
{ "name": "POL/USD", "risk": 1 },
17+
{ "name": "SOL/USD", "risk": 1 },
18+
{ "name": "USDC/USD", "risk": 0 },
19+
{ "name": "USDT/USD", "risk": 0 },
20+
{ "name": "XDC/USD", "risk": 2 },
21+
{ "name": "TRX/USD", "risk": 1 },
22+
{ "name": "LINK/USD", "risk": 1 },
23+
{ "name": "ATOM/USD", "risk": 1 },
24+
{ "name": "DOT/USD", "risk": 1 },
25+
{ "name": "TON/USD", "risk": 1 },
26+
{ "name": "ICP/USD", "risk": 1 },
27+
{ "name": "SHIB/USD", "risk": 1 },
28+
{ "name": "DAI/USD", "risk": 1 },
29+
{ "name": "BCH/USD", "risk": 1 },
30+
{ "name": "NEAR/USD", "risk": 1 },
31+
{ "name": "LEO/USD", "risk": 3 },
32+
{ "name": "UNI/USD", "risk": 2 },
33+
{ "name": "ETC/USD", "risk": 2 },
34+
{ "name": "WIF/USD", "risk": 2 },
35+
{ "name": "BONK/USD", "risk": 2 },
36+
{ "name": "JUP/USD", "risk": 1 },
37+
{ "name": "ETHFI/USD", "risk": 2 },
38+
{ "name": "ENA/USD", "risk": 3 },
39+
{ "name": "PYTH/USD", "risk": 2 },
40+
{ "name": "HNT/USD", "risk": 2 },
41+
{ "name": "SUI/USD", "risk": 1 },
42+
{ "name": "PEPE/USD", "risk": 2 },
43+
{ "name": "QNT/USD", "risk": 1 },
44+
{ "name": "AAVE/USD", "risk": 1 },
45+
{ "name": "FTM/USD", "risk": 2 },
46+
{ "name": "ONDO/USD", "risk": 1 },
47+
{ "name": "TAO/USD", "risk": 1 },
48+
{ "name": "FET/USD", "risk": 2 },
49+
{ "name": "RENDER/USD", "risk": 1 },
50+
{ "name": "NOT/USD", "risk": 2 },
51+
{ "name": "RUNE/USD", "risk": 1 },
52+
{ "name": "TRUMP/USD", "risk": 2 },
53+
{ "name": "USDX/USD", "risk": 0 },
54+
{ "name": "JOULE/USD", "risk": 4 },
55+
{ "name": "HBAR/USD", "risk": 1 },
56+
{ "name": "PENGU/USD", "risk": 3 },
57+
{ "name": "HYPE/USD", "risk": 1 },
58+
{ "name": "APT/USD", "risk": 1 },
59+
{ "name": "PAXG/USD", "risk": 1 },
60+
{ "name": "BERA/USD", "risk": 1 },
61+
{ "name": "OP/USD", "risk": 1 },
62+
{ "name": "PUMP/USD", "risk": 2 }
63+
]

docs/ftso/2-feeds.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import NewGithubIssue from "@site/src/components/newGithubIssue";
1111
import TabItem from "@theme/TabItem";
1212
import Tabs from "@theme/Tabs";
1313
import CodeBlock from "@theme/CodeBlock";
14-
import BlockLatencyFeeds from "@site/src/components/DataTables/BlockLatencyFeeds";
14+
import FtsoFeeds from "@site/src/components/DataTables/FtsoFeeds";
1515
import CustomFeeds from "@site/src/components/DataTables/CustomFeeds";
1616

1717
FTSOv2's block-latency feeds update incrementally with each new block on Flare, approximately every 1.8 seconds. Every feed leverages Flare's network of 100 independent data providers. These feeds primarily support cryptocurrency price data and are free to query on Flare, enabling decentralized applications to access up-to-date information without incurring additional costs.
@@ -37,7 +37,7 @@ The resulting string is then prefixed with `0x`.
3737

3838
:::
3939

40-
<BlockLatencyFeeds />
40+
<FtsoFeeds showIndex />
4141

4242
## Custom Feeds
4343

docs/ftso/scaling/3-anchor-feeds.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: Scaling anchor feeds update every voting epoch on Flare, approximat
66
keywords: [ftso, oracle, flare-time-series-oracle, flare-network, feeds]
77
---
88

9-
import AnchorFeeds from "@site/src/components/DataTables/AnchorFeeds";
9+
import FtsoFeeds from "@site/src/components/DataTables/FtsoFeeds";
1010
import FeedExplanation from "../_feed_explanation.mdx";
1111

1212
Scaling's anchor feeds update every 90 seconds with each new voting epoch on Flare. These feeds, accessible offchain, support various asset classes including equities, commodities, and cryptocurrencies.
@@ -33,4 +33,4 @@ Feed IDs are not addresses. They are `bytes21` structured encodings that combine
3333

3434
:::
3535

36-
<AnchorFeeds />
36+
<FtsoFeeds />

src/components/DataTables/AnchorFeeds.tsx

Lines changed: 0 additions & 86 deletions
This file was deleted.

0 commit comments

Comments
 (0)