Skip to content

Commit 4a50cd2

Browse files
committed
feat(staking): update faqs
1 parent 9328f18 commit 4a50cd2

File tree

3 files changed

+612
-195
lines changed

3 files changed

+612
-195
lines changed

apps/staking/src/components/Faq/index.tsx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import clsx from "clsx";
22
import { LazyMotion, m, domAnimation } from "framer-motion";
3-
import { type HTMLProps, type ReactNode, useState } from "react";
3+
import {
4+
type HTMLProps,
5+
type ReactNode,
6+
type ComponentProps,
7+
useState,
8+
} from "react";
49
import { Button } from "react-aria-components";
510

611
type Props = Omit<HTMLProps<HTMLDivElement>, "title"> & {
@@ -68,3 +73,20 @@ export const Faq = ({ title, questions, className, ...props }: Props) => {
6873
</LazyMotion>
6974
);
7075
};
76+
77+
type FaqSectionProps = Omit<HTMLProps<HTMLDivElement>, "children"> & {
78+
questions: ComponentProps<typeof Faq>["questions"];
79+
header: ReactNode;
80+
};
81+
82+
export const FaqSection = ({
83+
className,
84+
header,
85+
questions,
86+
...props
87+
}: FaqSectionProps) => (
88+
<section className={clsx("mb-28 last:mb-0", className)} {...props}>
89+
<h2 className="text-xl font-light sm:text-2xl">{header}</h2>
90+
<Faq className="ml-4 sm:ml-10" questions={questions} />
91+
</section>
92+
);

apps/staking/src/components/GeneralFaq/index.tsx

Lines changed: 170 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,138 +1,233 @@
11
import type { ComponentProps } from "react";
22

3-
import { Faq } from "../Faq";
3+
import { FaqSection } from "../Faq";
44
import { Link } from "../Link";
55
import { ModalDialog } from "../ModalDialog";
66

77
export const GeneralFaq = (
88
props: Omit<ComponentProps<typeof ModalDialog>, "title" | "children">,
99
) => (
1010
<ModalDialog title="FAQ" {...props}>
11-
<Faq
11+
<FaqSection
12+
header="General"
1213
questions={[
1314
{
14-
question: "What is OIS?",
15+
question: "What is Oracle Integrity Staking (OIS)?",
1516
answer: (
1617
<>
1718
<p>
18-
Oracle Integrity Staking is the process by which a PYTH token
19-
holder assigns some or all of their tokens to a particular data
20-
publisher in order to increase the quality of the data published
21-
by such data publisher and thus increase the integrity of Pyth’s
22-
price feeds. Assigning your tokens to add to a delegatee is
23-
known as “delegating” your tokens.
19+
The Oracle Integrity Staking (OIS) program is an upgrade to Pyth
20+
Price Feeds which allows participants to support the security
21+
and reliability of the Pyth price oracle.
2422
</p>
2523
<p>
26-
By staking tokens with one or many data publishers, the token
27-
holder indicates a degree of trust in the publisher they chose
28-
to delegate to. The accumulated stake by each data publisher
29-
acts as “proof” to the network that the data published is of
30-
good quality. By weighing the collective votes from all
31-
validators against the proportion of stake that has been
32-
delegated to them, the network reaches consensus by this Proof
33-
of Stake.
24+
In OIS, each Pyth Network publisher is programmatically assigned
25+
a stake pool. Publishers can stake tokens into those pools to
26+
become eligible for programmatic rewards, which are tied to the
27+
accuracy of the price data they provide.
28+
</p>
29+
<p>
30+
When non-publishers stake tokens to a publisher’s pool, that
31+
stake helps enhance publisher potential rewards, contributing to
32+
the security of Price Feeds. Rewards are programmatically
33+
distributed to publishers first, with the remaining rewards
34+
going to stakers.
35+
</p>
36+
<p>
37+
Learn more by visiting the <strong>Help</strong> section on the
38+
OIS dashboard or by checking out the{" "}
39+
<Link
40+
href="https://pyth.network/blog/oracle-integrity-staking-incentivizing-safer-price-feeds-for-a-more-secure-defi"
41+
className="underline"
42+
target="_blank"
43+
>
44+
official announcement
45+
</Link>
46+
.
3447
</p>
3548
</>
3649
),
3750
},
3851
{
39-
question: "Who can stake into OIS?",
52+
question: "Who can participate in OIS?",
4053
answer:
41-
"Anyone who holds unlocked PYTH tokens can stake their unlocked tokens through the Pyth Staking Dashboard to the Oracle Integrity Staking program and or Pyth Governance program at any time.",
54+
"Anyone with PYTH tokens can participate in OIS and interact with its contract. Whether you are a publisher or just someone who wants to help secure the oracle network, you can stake your tokens and become part of the OIS program.",
4255
},
43-
4456
{
45-
question:
46-
"How is Oracle Integrity Staking (OIS) different from previous/existing Pyth staking?",
57+
question: "What are the risks associated with OIS?",
4758
answer: (
48-
<p>
49-
Existing staking program enables PYTH Token holders to participate
50-
in the governance of Pyth in accordance with the{" "}
51-
<Link
52-
className="underline"
53-
target="_blank"
54-
href="https://forum.pyth.network/t/about-the-pyth-dao/14"
55-
>
56-
Pyth DAO Constitution
57-
</Link>
58-
. OIS is an additional program that enables PYTH Token holders to
59-
secure the integrity of price feeds by staking directly (if you
60-
are a data publisher) or through delegation of stake to one or
61-
many data publishers
62-
</p>
59+
<>
60+
<p>
61+
OIS includes provisions for dealing with data integrity issues
62+
that can amount to a slashing event.
63+
</p>
64+
<p>
65+
Slashing is a process in which some portion of staked tokens (by
66+
a publisher or by another participant) is reduced from the total
67+
staked amount as a punitive measure for a data integrity issue
68+
that the impacted publisher is responsible for.
69+
</p>
70+
</>
6371
),
6472
},
6573
{
66-
question: "What are the risks associated with OIS?",
74+
question:
75+
"How is OIS different from the previous Pyth staking program?",
6776
answer: (
6877
<>
6978
<p>
70-
OIS includes provisions for dealing with data integrity issues
71-
that can amount to a “slashing” event. Slashing is a process by
72-
which some portion of staked tokens (directly by a data
73-
publisher or delegated to a data publisher) is reduced from the
74-
total staked amount as a punitive measure for a data integrity
75-
issue that the impacted data publisher has been found to be
76-
responsible for.
79+
The previous staking program is the Pyth Governance (PG)
80+
program, which enables PYTH holders to participate in the
81+
governance of Pyth Network in accordance with the{" "}
82+
<Link
83+
href="https://github.com/pyth-network/governance/blob/main/docs/constitution/pyth-dao-constitution.md"
84+
className="underline"
85+
target="_blank"
86+
>
87+
Pyth DAO Constitution
88+
</Link>
89+
.
90+
</p>
91+
<p>
92+
Oracle Integrity Staking (OIS) is a new and separate program.
93+
OIS enables PYTH holders to improve the integrity of Pyth Price
94+
Feeds through decentralized staking and slashing mechanisms.
7795
</p>
96+
</>
97+
),
98+
},
99+
{
100+
question:
101+
"Can I participate in both Oracle Integrity Staking (OIS) and Pyth Governance (PG)?",
102+
answer:
103+
"Yes. You can participate in OIS, PG, both, or neither programs. The same PYTH token can be staked simultaneously in OIS and PG in any order. To withdraw your tokens back to your wallet, the tokens must be unstaked from both OIS and PG.",
104+
},
105+
{
106+
question: "Does participating in OIS affect my participation in PG?",
107+
answer:
108+
"No. The two programs are separate. Staking in OIS does not affect your participation in PG. For example, staking in OIs does not increase your voting power in PG. Staking to a publisher’s stake pool does not give that publisher additional voting power in PG.",
109+
},
110+
{
111+
question: "Does slashing reduce voting weights?",
112+
answer:
113+
"If your tokens are slashed and these tokens were also staked in PG, then your voting power would be reduced by the slashing event",
114+
},
115+
{
116+
question: "Can I stake tokens if my tokens have a lockup schedule?",
117+
answer: (
118+
<>
78119
<p>
79-
This mechanism incentivises data publishers (also acting as
80-
delegatees) to provide the highest quality data and avoid
81-
integrity issues, as less stake committed by and/or delegated to
82-
a data publisher means that such data publisher then accrues
83-
fewer rewards. Being slashed can also be seen as a reputational
84-
risk for retaining current or attracting potential future stake.
120+
You can only stake unlocked tokens in OIS, as slashing can only
121+
operate on unlocked tokens. However, you can stake in Pyth
122+
Governance using both locked and unlocked tokens.
85123
</p>
86124
<p>
87-
The presence of slashing also incentivises token holders to only
88-
delegate their tokens to data publishers they assess to be
89-
performant, and not to delegate all their tokens to a single or
90-
small number of publishers.
125+
You can use the Pyth Staking Dashboard to see your lockup
126+
schedule.
91127
</p>
92128
</>
93129
),
94130
},
131+
]}
132+
/>
133+
<FaqSection
134+
header="OIS Parameters"
135+
questions={[
95136
{
96-
question: "Does OIS increase voting weights?",
137+
question: "Where do staking rewards come from?",
97138
answer:
98-
"No, delegated stake does NOT impact the voting weight of a delegatee. Staked tokens",
139+
"The current reward pool is sponsored by the Pyth Data Association. In the future, the Pyth DAO can vote to decide on future sources for rewards such as, for example, oracle fees or other on-chain sources.",
99140
},
100141

101142
{
102-
question: "Does slashing reduce voting weights?",
143+
question: "What is the expected rate of rewards?",
103144
answer:
104-
"If token slashed were also staked for governance purposes, then the voting power is reduced when such stake is reduced by a slashing event",
145+
"The reward rate is a function of the rewards available in the program, the amount of PYTH that is staked in OIS, and the parameters of the OIS program. The Pyth DAO can vote to adjust these parameters.",
105146
},
106147

107148
{
108-
question:
109-
"Does delegation of stake give the data publisher additional powers?",
149+
question: "What is the delegation fee?",
150+
answer:
151+
"OIS currently charges a delegation fee for publishers from participants who staked to their pool. The delegation fee is currently set universally at 20%. OIS currently does not support separate fees. The Pyth DAO can vote to change this parameter.",
152+
},
153+
154+
{
155+
question: "When do rewards begin accumulating?",
110156
answer:
111-
"No. The data publisher(s) to whom you delegate does NOT get any additional rights over the tokens delegated apart from charging delegation fees on any rewards paid by the program or contributing pro-rata to the amount slashed in the case of a slashing event. Delegation does NOT give the data publisher ownership or control over your tokens.",
157+
"Staked tokens which are eligible for programmatic rewards (or slashing) accumulates rewards at the end of each full epoch when the stake becomes effective (post-warmup and not subject to cooldown).",
112158
},
113159

160+
{
161+
question:
162+
"Are tokens in the Warmup Period eligible for rewards or slashing?",
163+
answer:
164+
"No. Tokens in warmup are not subject to rewards and slashing because they are not staked.",
165+
},
166+
{
167+
question:
168+
"Are tokens in the Cooldown Period eligible for rewards or slashing?",
169+
answer: (
170+
<>
171+
<p>
172+
The Cooldown Period has two phases: from the time you click{" "}
173+
<strong>Unstake</strong> until the end of the current epoch,
174+
followed by a full epoch. Tokens in the first phase are subject
175+
to rewards and slashing. Tokens in the second phase are not.
176+
</p>
177+
</>
178+
),
179+
},
114180
{
115181
question: "Where can I learn about data publishers?",
116182
answer: (
117-
<Link
118-
className="underline"
119-
target="_blank"
120-
href="https://pyth.network/publishers"
121-
>
122-
https://pyth.network/publishers
123-
</Link>
183+
<>
184+
<p>
185+
You can see the full list of Pyth Network publishers{" "}
186+
<Link
187+
href="https://pyth.network/publishers"
188+
className="underline"
189+
target="_blank"
190+
>
191+
here
192+
</Link>
193+
. You can learn more about how Pyth Price Feeds work by visiting
194+
the{" "}
195+
<Link
196+
href="https://docs.pyth.network/price-feeds/how-pyth-works"
197+
className="underline"
198+
target="_blank"
199+
>
200+
docs
201+
</Link>
202+
.
203+
</p>
204+
</>
124205
),
125206
},
126-
127207
{
128-
question: "Can I stake tokens if my tokens have a lockup schedule?",
129-
answer:
130-
"You can only stake unlocked tokens through OIS, as slashing can only operate on unlocked tokens. Staking for Governance supports both locked and unlocked tokens.",
208+
question: "How are publisher quality rankings calculated?",
209+
answer: (
210+
<>
211+
<p>
212+
Quality rankings are calculated based on a publisher’s price
213+
deviation, uptime, and price staleness. You can learn more about
214+
quality ranking calculations{" "}
215+
<Link
216+
href="https://docs.pyth.network/home/oracle-integrity-staking/publisher-quality-ranking"
217+
className="underline"
218+
target="_blank"
219+
>
220+
here
221+
</Link>
222+
.
223+
</p>
224+
</>
225+
),
131226
},
132227
{
133-
question: "Where are the rewards coming from?",
228+
question: "Can the Pyth DAO change the parameters of OIS?",
134229
answer:
135-
"Initially, the reward pool is sponsored by the Pyth Data Association. In the future, the reward pool will collect fees from the usage of the products and protocols that Pyth provides to DeFi",
230+
"Yes. Changes to important parameters such as stake cap inputs, delegation fees, slashing amounts, and more are subject to Operational Pyth Improvement Proposals that any PYTH token holder can raise for the consideration of the Pyth DAO.",
136231
},
137232
]}
138233
/>

0 commit comments

Comments
 (0)