Skip to content

Commit 8918bb6

Browse files
committed
Merge remote-tracking branch 'origin/main' into doc/add-rtdata-example-info
2 parents 71fdd5c + bf92854 commit 8918bb6

File tree

180 files changed

+2433
-1195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

180 files changed

+2433
-1195
lines changed

AGENTS.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Agent Playbook
2+
3+
## Repository Snapshot
4+
5+
- Documentation site built with Next.js 13 and Nextra (`pages/` holds `.mdx` content, `_meta.json` defines navigation order).
6+
- Key scripts: `npm run dev`, `npm run build`, `npm run start`, `npm run lint`.
7+
- Node.js 22 is available; Python execution may be blocked in this environment.
8+
9+
## Workflow Guidelines
10+
11+
- Default to `apply_patch` for hand edits; avoid bulk formatters unless requested.
12+
- Keep additions ASCII unless the surrounding file already uses Unicode.
13+
- Preserve any pre-existing local changes; never revert files you did not modify for the current task.
14+
- When touching documentation directories, update the sibling `_meta.json` so every `.mdx`/`.md` page appears in the navigation.
15+
- Comment only when clarification is essential—most prose and code should remain self-explanatory.
16+
17+
## Documentation Style
18+
19+
- Organize content according to the [Diátaxis](https://diataxis.fr/) framework: Tutorials (learning-oriented), How-to guides (goal-oriented), Explanations (understanding-oriented), and Reference (information-oriented).
20+
- Tutorials: guide the reader through a concrete end-to-end task; assume no prior knowledge, provide step-by-step instructions, and postpone theory until after success.
21+
- How-to guides: focus on achieving a specific outcome; start with prerequisites, list concise actionable steps, and limit background details to what is essential for completing the task.
22+
- Explanations: clarify concepts, trade-offs, and rationale; connect ideas, reference related materials, and avoid procedural instructions.
23+
- Reference: present facts, APIs, configuration tables, and schemas; structure information for quick lookup with consistent formatting and terminology.
24+
- Match the existing section type when editing; move or split content if it drifts outside the intended Diátaxis category.
25+
- Lead with user needs, keep paragraphs short, and surface actionable steps early for tutorials and how-to guides.
26+
- Use consistent terminology across related pages; prefer active voice and second person.
27+
- Include code snippets or command blocks only when they advance the user goal for that section type.
28+
29+
## Command & Sandbox Notes
30+
31+
- Run shell commands through `bash -lc` and always set the `workdir` argument (usually the repo root).
32+
- Network access is restricted; prefer local data. Use `rg` for searching.
33+
- Destructive git commands (`reset --hard`, `checkout --`) are off limits unless the user explicitly requests them.
34+
35+
## Validation
36+
37+
- Run `npm run lint` after significant content or component changes when feasible.
38+
- For structural documentation edits, double-check rendered navigation by restarting the docs dev server if already running.
39+
40+
## Deliverables
41+
42+
- Summaries should state what changed and reference file paths with line numbers when practical.
43+
- Suggest logical follow-up actions (tests, builds, deploy checks) when they help the user.

README.md

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,6 @@ This repository contains interactive documentation for the [Pyth Network](https:
44

55
## Documentation Format
66

7-
### Interactive components
8-
9-
The interactive components on each page use a shared-key value store to communicate with each other.
10-
This key-value store is
11-
127
## Local Development
138

149
First, run `npm i` to install the dependencies.
@@ -27,21 +22,6 @@ docker run -d -p 3000:3000 documentation
2722

2823
Then navigate to localhost:3000 in the browser.
2924

30-
## Tests
31-
32-
Simply run `npm run test`.
33-
34-
The tests include a compiler check for all code snippets written in .mdx files. These tests will automatically extract
35-
the relevant snippets into separate files under the `.code_tests` folder (ignored by git) and then try to build each one.
36-
The files are named per the file path to the code snippet.
37-
These files remain after the tests complete, which allows you to examine them to help debug the error in case a test fails.
38-
39-
You can also run the code tests for a specific mdx file using:
40-
41-
```
42-
npm run test -- -t get-price.mdx
43-
```
44-
4525
## License
4626

4727
This project is derived from the [Nextra Docs Template](https://github.com/shuding/nextra-docs-template).

components/EntropyDeploymentTable.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ const EntropyDeploymentTable = ({
88
deployments: Record<string, EntropyDeployment>;
99
showReveal: boolean;
1010
}) => {
11-
const sortedDeployments = Object.entries(deployments).sort();
11+
const sortedDeployments = Object.entries(deployments)
12+
.filter(([name]) => name !== "monad" && name !== "etherlink-testnet")
13+
.sort();
1214
return (
1315
<table>
1416
<thead>

components/EntropyDeploymentsConfig.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,26 @@ export const EntropyDeploymentsConfig: Record<string, ChainOverride> = {
1616
"998": {
1717
rpc: "https://rpc.hyperliquid-testnet.xyz/evm",
1818
nativeCurrency: "HYPE",
19-
explorer: "https://testnet.purrsec.com/",
19+
explorer: "https://app.hyperliquid-testnet.xyz/explorer",
2020
},
2121
"999": {
2222
rpc: "https://rpc.hypurrscan.io",
2323
nativeCurrency: "HYPE",
24+
explorer: "https://hyperevmscan.io",
25+
},
26+
"1328": {
27+
explorer: "https://testnet.seiscan.io",
28+
},
29+
"1992": {
30+
explorer: "https://sanko-arb-sepolia.explorer.caldera.xyz",
31+
},
32+
"9788": {
33+
explorer: "https://testnetv2.tabiscan.com",
34+
},
35+
"14601": {
36+
explorer: "https://testnet.sonicscan.org",
37+
},
38+
"91342": {
39+
explorer: "https://sepolia-explorer.giwa.io",
2440
},
2541
};

components/EntropyFeeTable.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ const FeeTable = ({
4242
}
4343
}, [deployments]);
4444

45-
const sortedDeployments = Object.entries(deployments).sort();
45+
const sortedDeployments = Object.entries(deployments)
46+
.filter(([name]) => name !== "etherlink-testnet")
47+
.sort();
4648
return (
4749
<table>
4850
<thead>

components/LazerPriceIdTable.tsx

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,22 +69,32 @@ const LoadedLazerPriceIdTable = ({
6969
}, []);
7070

7171
const filteredFeeds = useMemo(() => {
72+
const searchTerms = search
73+
.split(/[,\s]+/)
74+
.map((term) => term.trim().toLowerCase())
75+
.filter((term) => term.length > 0);
76+
77+
if (searchTerms.length === 0) {
78+
return priceFeeds;
79+
}
80+
7281
return priceFeeds.filter((feed) => {
73-
const searchLower = search.toLowerCase();
74-
return (
75-
feed.symbol.toLowerCase().includes(searchLower) ||
76-
feed.name.toLowerCase().includes(searchLower) ||
77-
feed.description.toLowerCase().includes(searchLower) ||
78-
feed.pyth_lazer_id.toString().includes(searchLower)
79-
);
82+
return searchTerms.some((searchTerm) => {
83+
return (
84+
feed.symbol.toLowerCase().includes(searchTerm) ||
85+
feed.name.toLowerCase().includes(searchTerm) ||
86+
feed.description.toLowerCase().includes(searchTerm) ||
87+
feed.pyth_lazer_id.toString().includes(searchTerm)
88+
);
89+
});
8090
});
8191
}, [priceFeeds, search]);
8292

8393
return (
8494
<div>
8595
<input
8696
type="text"
87-
placeholder="Search by symbol, name, description, or pyth lazer id..."
97+
placeholder="Search by symbol, name, description, or pyth pro id (comma or space separated for multiple)..."
8898
value={search}
8999
onChange={updateSearch}
90100
className="w-full p-2 mb-4 border border-gray-300 rounded-md"
@@ -96,7 +106,7 @@ const LoadedLazerPriceIdTable = ({
96106
<th>Description</th>
97107
<th>Name</th>
98108
<th>Symbol</th>
99-
<th>Pyth Lazer Id</th>
109+
<th>Pyth Pro Id</th>
100110
<th>Exponent</th>
101111
</tr>
102112
</thead>

components/icons/ProductIcons.tsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ import {
99
Clock,
1010
ArrowsOutCardinal,
1111
DiceSixIcon,
12+
ListBullets,
13+
Key,
14+
Play,
15+
BookOpen,
16+
MoneyWavy,
1217
} from "@phosphor-icons/react";
1318

1419
export function BarChartIcon() {
@@ -46,3 +51,23 @@ export function MultiChainIcon() {
4651
export function DiceIcon() {
4752
return <DiceSixIcon className="w-5 h-5" weight="regular" />;
4853
}
54+
55+
export function ListIcon() {
56+
return <ListBullets className="w-5 h-5" weight="regular" />;
57+
}
58+
59+
export function KeyIcon() {
60+
return <Key className="w-5 h-5" weight="regular" />;
61+
}
62+
63+
export function PlayIcon() {
64+
return <Play className="w-5 h-5" weight="regular" />;
65+
}
66+
67+
export function BookIcon() {
68+
return <BookOpen className="w-5 h-5" weight="regular" />;
69+
}
70+
71+
export function MoneyWavyIcon() {
72+
return <MoneyWavy className="w-5 h-5" weight="regular" />;
73+
}
297 KB
Loading

next.config.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,19 @@ const permanentRedirectArray = [
8686
["/pythnet-price-feeds/hermes", "/price-feeds/how-pyth-works/hermes"],
8787
[
8888
"/documentation/pythnet-price-feeds/scheduler",
89+
"/price-feeds/schedule-price-updates/using-price-pusher",
90+
],
91+
[
8992
"/price-feeds/schedule-price-updates/using-scheduler",
93+
"/price-feeds/schedule-price-updates/using-price-pusher",
9094
],
9195
[
9296
"/documentation/pythnet-price-feeds/off-chain",
97+
"/price-feeds/core/fetch-price-updates",
98+
],
99+
[
93100
"/price-feeds/use-real-time-data/off-chain",
101+
"/price-feeds/core/fetch-price-updates",
94102
],
95103
[
96104
"/documentation/pythnet-price-feeds/evm",
@@ -114,6 +122,23 @@ const permanentRedirectArray = [
114122
"/home/oracle-integrity-staking/reward-examples",
115123
],
116124
["/guides", "/price-feeds"],
125+
126+
// Lazer (top-level) to Pyth Pro Redirects - MUST come before general price-feeds redirects
127+
["/lazer", "/price-feeds/pro"],
128+
["/lazer/:path*", "/price-feeds/pro/:path*"],
129+
130+
// Explicitly map legacy lazer paths under /price-feeds to Pro - MUST come before general price-feeds redirects
131+
["/price-feeds/lazer", "/price-feeds/pro"],
132+
["/price-feeds/lazer/:path*", "/price-feeds/pro/:path*"],
133+
134+
["/price-feeds/:path((?!core/|pro(?:/|$)).*)", "/price-feeds/core/:path"],
135+
// some other price feed redirects
136+
["/price-feeds/sponsored-feeds", "/price-feeds/push-feeds"],
137+
[
138+
"/price-feeds/use-real-time-data/:path((?!pull-integration(?:/|$)).*)",
139+
"/price-feeds/use-real-time-data/pull-integration/:path",
140+
],
141+
117142
["/benchmarks", "/price-feeds/use-historic-price-data"],
118143
[
119144
"/benchmarks/how-to-create-tradingview-charts",

pages/_meta.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@
99
"type": "page"
1010
},
1111

12-
"lazer": {
13-
"title": "Lazer",
14-
"type": "page"
15-
},
16-
1712
"express-relay": {
1813
"title": "Express Relay",
1914
"type": "page"

0 commit comments

Comments
 (0)