Skip to content
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
429 changes: 0 additions & 429 deletions automations/anchor_feeds.json

This file was deleted.

63 changes: 0 additions & 63 deletions automations/anchor_risk.json

This file was deleted.

63 changes: 0 additions & 63 deletions automations/block_latency_risk.json

This file was deleted.

22 changes: 7 additions & 15 deletions automations/feed_table_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,8 @@ def get(cls, name: str) -> "NetworkConfig":


# Configuration
BLOCK_LATENCY_RISK_PATH: Final[Path] = Path("block_latency_risk.json")
BLOCK_LATENCY_FEEDS_PATH: Final[Path] = Path("block_latency_feeds.json")
ANCHOR_RISK_PATH: Final[Path] = Path("anchor_risk.json")
ANCHOR_FEEDS_PATH: Final[Path] = Path("anchor_feeds.json")
FTSO_RISK_PATH: Final[Path] = Path("ftso_risk.json")
FTSO_FEEDS_PATH: Final[Path] = Path("ftso_feeds.json")
HARD_CODED_FEEDS: Final[dict[str, dict[str, str]]] = {
"FTM/USD": {
"name": "Fantom",
Expand Down Expand Up @@ -158,7 +156,7 @@ def generate_feed_data(
data: list[dict[str, Any]] = []
for idx, name in enumerate(feed_names):
try:
risk = feed_risk[idx].get("volatility", -1)
risk = feed_risk[idx].get("risk", -1)
except IndexError as e:
msg = f"Unable to find risk for {name}"
raise FeedRiskNotFoundError(msg) from e
Expand Down Expand Up @@ -206,16 +204,10 @@ def main() -> None:

coins = get_coins_list(pages=8)

for risk_path, out_path, idx_flag in [
(BLOCK_LATENCY_RISK_PATH, BLOCK_LATENCY_FEEDS_PATH, True),
(ANCHOR_RISK_PATH, ANCHOR_FEEDS_PATH, False),
]:
risks = read_json(risk_path)
enriched = generate_feed_data(
feed_names, risks, coins, include_index=idx_flag
)
write_json(out_path, enriched)
logger.info("Saved %d records to %s", len(enriched), out_path)
risks = read_json(FTSO_RISK_PATH)
enriched = generate_feed_data(feed_names, risks, coins, include_index=True)
write_json(FTSO_FEEDS_PATH, enriched)
logger.info("Saved %d records to %s", len(enriched), FTSO_FEEDS_PATH)

except Exception:
logger.exception("Feed Table automation failed")
Expand Down
File renamed without changes.
63 changes: 63 additions & 0 deletions automations/ftso_risk.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
[
{ "name": "FLR/USD", "risk": 1 },
{ "name": "SGB/USD", "risk": 2 },
{ "name": "BTC/USD", "risk": 1 },
{ "name": "XRP/USD", "risk": 1 },
{ "name": "LTC/USD", "risk": 1 },
{ "name": "XLM/USD", "risk": 2 },
{ "name": "DOGE/USD", "risk": 1 },
{ "name": "ADA/USD", "risk": 1 },
{ "name": "ALGO/USD", "risk": 2 },
{ "name": "ETH/USD", "risk": 1 },
{ "name": "FIL/USD", "risk": 1 },
{ "name": "ARB/USD", "risk": 2 },
{ "name": "AVAX/USD", "risk": 1 },
{ "name": "BNB/USD", "risk": 1 },
{ "name": "POL/USD", "risk": 1 },
{ "name": "SOL/USD", "risk": 1 },
{ "name": "USDC/USD", "risk": 0 },
{ "name": "USDT/USD", "risk": 0 },
{ "name": "XDC/USD", "risk": 2 },
{ "name": "TRX/USD", "risk": 1 },
{ "name": "LINK/USD", "risk": 1 },
{ "name": "ATOM/USD", "risk": 1 },
{ "name": "DOT/USD", "risk": 1 },
{ "name": "TON/USD", "risk": 1 },
{ "name": "ICP/USD", "risk": 1 },
{ "name": "SHIB/USD", "risk": 1 },
{ "name": "DAI/USD", "risk": 1 },
{ "name": "BCH/USD", "risk": 1 },
{ "name": "NEAR/USD", "risk": 1 },
{ "name": "LEO/USD", "risk": 3 },
{ "name": "UNI/USD", "risk": 2 },
{ "name": "ETC/USD", "risk": 2 },
{ "name": "WIF/USD", "risk": 2 },
{ "name": "BONK/USD", "risk": 2 },
{ "name": "JUP/USD", "risk": 1 },
{ "name": "ETHFI/USD", "risk": 2 },
{ "name": "ENA/USD", "risk": 3 },
{ "name": "PYTH/USD", "risk": 2 },
{ "name": "HNT/USD", "risk": 2 },
{ "name": "SUI/USD", "risk": 1 },
{ "name": "PEPE/USD", "risk": 2 },
{ "name": "QNT/USD", "risk": 1 },
{ "name": "AAVE/USD", "risk": 1 },
{ "name": "FTM/USD", "risk": 2 },
{ "name": "ONDO/USD", "risk": 1 },
{ "name": "TAO/USD", "risk": 1 },
{ "name": "FET/USD", "risk": 2 },
{ "name": "RENDER/USD", "risk": 1 },
{ "name": "NOT/USD", "risk": 2 },
{ "name": "RUNE/USD", "risk": 1 },
{ "name": "TRUMP/USD", "risk": 2 },
{ "name": "USDX/USD", "risk": 0 },
{ "name": "JOULE/USD", "risk": 4 },
{ "name": "HBAR/USD", "risk": 1 },
{ "name": "PENGU/USD", "risk": 3 },
{ "name": "HYPE/USD", "risk": 1 },
{ "name": "APT/USD", "risk": 1 },
{ "name": "PAXG/USD", "risk": 1 },
{ "name": "BERA/USD", "risk": 1 },
{ "name": "OP/USD", "risk": 1 },
{ "name": "PUMP/USD", "risk": 2 }
]
4 changes: 2 additions & 2 deletions docs/ftso/2-feeds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import NewGithubIssue from "@site/src/components/newGithubIssue";
import TabItem from "@theme/TabItem";
import Tabs from "@theme/Tabs";
import CodeBlock from "@theme/CodeBlock";
import BlockLatencyFeeds from "@site/src/components/DataTables/BlockLatencyFeeds";
import FtsoFeeds from "@site/src/components/DataTables/FtsoFeeds";
import CustomFeeds from "@site/src/components/DataTables/CustomFeeds";

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.
Expand All @@ -37,7 +37,7 @@ The resulting string is then prefixed with `0x`.

:::

<BlockLatencyFeeds />
<FtsoFeeds showIndex />

## Custom Feeds

Expand Down
4 changes: 2 additions & 2 deletions docs/ftso/scaling/3-anchor-feeds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Scaling anchor feeds update every voting epoch on Flare, approximat
keywords: [ftso, oracle, flare-time-series-oracle, flare-network, feeds]
---

import AnchorFeeds from "@site/src/components/DataTables/AnchorFeeds";
import FtsoFeeds from "@site/src/components/DataTables/FtsoFeeds";
import FeedExplanation from "../_feed_explanation.mdx";

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.
Expand All @@ -33,4 +33,4 @@ Feed IDs are not addresses. They are `bytes21` structured encodings that combine

:::

<AnchorFeeds />
<FtsoFeeds />
86 changes: 0 additions & 86 deletions src/components/DataTables/AnchorFeeds.tsx

This file was deleted.

Loading
Loading