Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 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
4 changes: 2 additions & 2 deletions components/LazerPriceIdTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ const LoadedLazerPriceIdTable = ({
<div>
<input
type="text"
placeholder="Search by symbol, name, description, or pyth lazer id (comma or space separated for multiple)..."
placeholder="Search by symbol, name, description, or pyth pro id (comma or space separated for multiple)..."
value={search}
onChange={updateSearch}
className="w-full p-2 mb-4 border border-gray-300 rounded-md"
Expand All @@ -106,7 +106,7 @@ const LoadedLazerPriceIdTable = ({
<th>Description</th>
<th>Name</th>
<th>Symbol</th>
<th>Pyth Lazer Id</th>
<th>Pyth Pro Id</th>
<th>Exponent</th>
</tr>
</thead>
Expand Down
25 changes: 25 additions & 0 deletions components/icons/ProductIcons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ import {
Clock,
ArrowsOutCardinal,
DiceSixIcon,
ListBullets,
Key,
Play,
BookOpen,
MoneyWavy,
} from "@phosphor-icons/react";

export function BarChartIcon() {
Expand Down Expand Up @@ -46,3 +51,23 @@ export function MultiChainIcon() {
export function DiceIcon() {
return <DiceSixIcon className="w-5 h-5" weight="regular" />;
}

export function ListIcon() {
return <ListBullets className="w-5 h-5" weight="regular" />;
}

export function KeyIcon() {
return <Key className="w-5 h-5" weight="regular" />;
}

export function PlayIcon() {
return <Play className="w-5 h-5" weight="regular" />;
}

export function BookIcon() {
return <BookOpen className="w-5 h-5" weight="regular" />;
}

export function MoneyWavyIcon() {
return <MoneyWavy className="w-5 h-5" weight="regular" />;
}
27 changes: 20 additions & 7 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,20 +118,33 @@ const permanentRedirectArray = [
"/home/oracle-integrity-staking/reward-examples",
],
["/guides", "/price-feeds"],

// Lazer (top-level) to Pyth Pro Redirects - MUST come before general price-feeds redirects
["/lazer", "/price-feeds/pro"],
["/lazer/:path*", "/price-feeds/pro/:path*"],

// Explicitly map legacy lazer paths under /price-feeds to Pro - MUST come before general price-feeds redirects
["/price-feeds/lazer", "/price-feeds/pro"],
["/price-feeds/lazer/:path*", "/price-feeds/pro/:path*"],
// some other price feed redirects
["/price-feeds/sponsored-feeds", "/price-feeds/push-feeds"],
[
"/price-feeds/use-real-time-data/:path((?!pull-integration(?:/|$)).*)",
"/price-feeds/use-real-time-data/pull-integration/:path",
],
// // generic price feeds redirects
// [
// "/price-feeds/:path((?!core|pro|push-feeds|use-real-time-data).*?)",
// "/price-feeds/core/:path*",
// ],

["/benchmarks", "/price-feeds/use-historic-price-data"],
[
"/benchmarks/how-to-create-tradingview-charts",
"/price-feeds/create-tradingview-charts",
],
["/benchmarks/api-instances", "/price-feeds/api-reference/"],
["/benchmarks/rate-limits", "/price-feeds/rate-limits/"],

["/price-feeds/sponsored-feeds", "/price-feeds/push-feeds"],

[
"/price-feeds/use-real-time-data/:path((?!pull-integration(?:/|$)).*)",
"/price-feeds/use-real-time-data/pull-integration/:path",
],
];

/** @type {import('next').NextConfig} */
Expand Down
5 changes: 0 additions & 5 deletions pages/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,6 @@
"type": "page"
},

"lazer": {
"title": "Lazer",
"type": "page"
},

"express-relay": {
"title": "Express Relay",
"type": "page"
Expand Down
5 changes: 0 additions & 5 deletions pages/home/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,6 @@
"href": "/price-feeds"
},

"Lazer": {
"title": "Lazer →",
"href": "/lazer"
},

"Express Relay": {
"title": "Express Relay →",
"href": "/express-relay"
Expand Down
15 changes: 0 additions & 15 deletions pages/home/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,6 @@ Pyth Network is the leading oracle protocol that connects the owners of market d

{" "}

<ProductCard
badge="Lazer"
icon={<LightningIcon />}
title="Lazer"
description="High-performance, low-latency price feeds for institutional applications."
features={[
{ icon: <LightningIcon />, text: "Ultra-low latency" },
{ icon: <ShieldIcon />, text: "Institutional grade" },
{ icon: <BarChartIcon />, text: "High-frequency data" },
]}
ctaText="Learn About Lazer"
href="../lazer"
/>

{" "}

<ProductCard
Expand Down Expand Up @@ -83,7 +69,6 @@ Pyth Network is the leading oracle protocol that connects the owners of market d
Get started with Pyth Network by exploring our comprehensive documentation:

- **[Price Feeds Getting Started](../price-feeds/getting-started)** - Integrate real-time price data
- **[Lazer Documentation](../lazer)** - High-performance price feeds
- **[Express Relay Integration](../express-relay)** - Better orderflow mechanism to eliminate MEV
- **[Entropy Implementation](../entropy)** - Secure randomness generation

Expand Down
5 changes: 0 additions & 5 deletions pages/lazer/how-lazer-works.mdx

This file was deleted.

20 changes: 0 additions & 20 deletions pages/lazer/index.mdx

This file was deleted.

11 changes: 0 additions & 11 deletions pages/lazer/integrate-as-consumer.mdx

This file was deleted.

3 changes: 0 additions & 3 deletions pages/lazer/integrate-as-publisher.mdx

This file was deleted.

5 changes: 0 additions & 5 deletions pages/lazer/price-feed-ids.mdx

This file was deleted.

68 changes: 10 additions & 58 deletions pages/price-feeds/_meta.json
Original file line number Diff line number Diff line change
@@ -1,65 +1,17 @@
{
"documentation-home": {
"price": {
"title": "← Documentation Home",
"href": "/home"
},

"-- Price Feeds": {
"title": "Price Feeds",
"type": "separator"
"index": {
"title": "Introduction"
},
"index": "Introduction",
"getting-started": "Getting Started",

"-- Tutorials": {
"title": "Tutorials",
"type": "separator"
"pro": {
"title": "Pyth Pro →",
"href": "/pro"
},

"create-your-first-pyth-app": "Create Your First Pyth App",

"-- How-to Guides": {
"title": "How-To Guides",
"type": "separator"
},

"use-real-time-data": "Use Real-Time Price Data",
"use-historic-price-data": "Use Historic Price Data",
"fetch-price-updates": "Fetch Price Updates",
"schedule-price-updates": "Schedule Price Updates",
"create-tradingview-charts": "Create TradingView Charts",
"derive-cross-rate": "Derive Cross Rate",
"migrate-an-app-to-pyth": "Migrate an App to Pyth",
"use-pyth-for-morpho": "Use Pyth for Morpho Markets",
"publish-data": "Publish Data",
"troubleshoot": "Troubleshoot Errors",

"-- Reference Material": {
"title": "Reference Material",
"type": "separator"
},

"api-reference": "API Reference",
"price-feeds": "Price Feeds",
"current-fees": "Current Fees",
"push-feeds": "Push Feeds",
"market-hours": "Market Hours",
"best-practices": "Best Practices",
"error-codes": "Error Codes",
"api-instances-and-providers": "API Instances and Providers",
"contract-addresses": "Contract Addresses",
"pythnet-reference": "Pythnet Reference",

"examples": {
"title": "Example Applications ↗",
"href": "https://github.com/pyth-network/pyth-examples/tree/main/price_feeds"
},
"-- Understand Pyth": {
"title": "Understanding Pyth",
"type": "separator"
},

"pull-updates": "What is a Pull Oracle?",
"why-update-prices": "Why Update Prices",
"how-pyth-works": "How Pyth Works"
"core": {
"title": "Pyth Core →",
"href": "/core"
}
}
56 changes: 56 additions & 0 deletions pages/price-feeds/core/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
"index": "Introduction",
"getting-started": "Getting Started",

"-- Tutorials": {
"title": "Tutorials",
"type": "separator"
},

"create-your-first-pyth-app": "Create Your First Pyth App",

"-- How-to Guides": {
"title": "How-To Guides",
"type": "separator"
},

"use-real-time-data": "Use Real-Time Price Data",
"use-historic-price-data": "Use Historic Price Data",
"fetch-price-updates": "Fetch Price Updates",
"schedule-price-updates": "Schedule Price Updates",
"create-tradingview-charts": "Create TradingView Charts",
"derive-cross-rate": "Derive Cross Rate",
"migrate-an-app-to-pyth": "Migrate an App to Pyth",
"use-pyth-for-morpho": "Use Pyth for Morpho Markets",
"publish-data": "Publish Data",
"troubleshoot": "Troubleshoot Errors",

"-- Reference Material": {
"title": "Reference Material",
"type": "separator"
},

"api-reference": "API Reference",
"price-feeds": "Price Feeds",
"current-fees": "Current Fees",
"push-feeds": "Push Feeds",
"market-hours": "Market Hours",
"best-practices": "Best Practices",
"error-codes": "Error Codes",
"api-instances-and-providers": "API Instances and Providers",
"contract-addresses": "Contract Addresses",
"pythnet-reference": "Pythnet Reference",

"examples": {
"title": "Example Applications ↗",
"href": "https://github.com/pyth-network/pyth-examples/tree/main/price_feeds"
},
"-- Understand Pyth": {
"title": "Understanding Pyth",
"type": "separator"
},

"pull-updates": "What is a Pull Oracle?",
"why-update-prices": "Why Update Prices",
"how-pyth-works": "How Pyth Works"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import CopyAddress from "../../../components/CopyAddress";
import CopyAddress from "../../../../components/CopyAddress";

# Price Feed Contract Addresses on Aptos

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import CopyAddress from "../../../components/CopyAddress";
import CopyAddress from "../../../../components/CopyAddress";

# Price Feed Contract Addresses on EVM Networks

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import CopyAddress from "../../../components/CopyAddress";
import CopyAddress from "../../../../components/CopyAddress";

# Price Feed Contract Addresses on Fuel

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import CopyAddress from "../../../components/CopyAddress";
import CopyAddress from "../../../../components/CopyAddress";

# Price Feed Contract Addresses on Movement

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import CopyAddress from "../../../components/CopyAddress";
import CopyAddress from "../../../../components/CopyAddress";

# Program Addresses on Solana and other SVM chains

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import CopyAddress from "../../../components/CopyAddress";
import CopyAddress from "../../../../components/CopyAddress";

# Price Feed Contract Addresses on Starknet

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import CopyAddress from "../../../components/CopyAddress";
import CopyAddress from "../../../../components/CopyAddress";

# Price Feed Contract Addresses on TON

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ rm -r src/* test/* scripts/*
### Install the Pyth SDK

Pyth provides a Solidity SDK that can be used to interact with one-chain Pyth Price Feed contracts.
It exposes multiple [methods](/price-feeds/api-reference/evm) to read and interact with the contracts.
It exposes multiple [methods](/price-feeds/core/api-reference/evm) to read and interact with the contracts.

Use `npm` to add the Pyth SDK:

Expand Down Expand Up @@ -336,7 +336,7 @@ contract MyFirstPythContract {
```

The end of this function calls the `mint` function we defined before.
Before that, however, the function calls [`updatePriceFeeds`](../../api-reference/evm/updatePriceFeeds) on the Pyth contract.
Before that, however, the function calls [`updatePriceFeeds`](https://api-reference.pyth.network/price-feeds/evm/updatePriceFeeds) on the Pyth contract.
This function takes a payload of `bytes[]` that is passed into the function itself.
The Pyth contract requires a fee to perform this update; the code snippet above calculates the needed fee using [`getUpdateFee`](https://api-reference.pyth.network/price-feeds/evm/getUpdateFee).
The caller of this function can pass in a recent Pyth price update as this payload, guaranteeing that the `StalePrice` error won't occur.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Paste the address from the command above into the faucet to get your ETH.
You can verify that the ETH has arrived in your wallet by running the command `cast balance $ADDRESS -r $RPC_URL -e`

The final step before deploying is to get the arguments for the contract's constructor:
the [Pyth contract address](https://docs.pyth.network/price-feeds/contract-addresses/evm#testnets) for Optimism Sepolia
the [Pyth contract address](https://docs.pyth.network/price-feeds/core/contract-addresses/evm#testnets) for Optimism Sepolia
and the [price feed id](https://docs.pyth.network/price-feeds/price-feeds) for ETH/USD.
We will also export these values as environment variables for convenience:

Expand Down
Loading
Loading