Skip to content

Commit d5bec13

Browse files
committed
chore(docs) Remove personal Language instances
1 parent 906afb6 commit d5bec13

File tree

12 files changed

+25
-25
lines changed

12 files changed

+25
-25
lines changed

pages/entropy/best-practices.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ For example, if you want to generate a random number between 1 and 52, the proba
4242

4343
If you need to generate multiple random values in a single transaction, you can hash the random input provided by Entropy with a unique identifier for each random number.
4444

45-
In the following example, we generate 6 random attributes for a character using the `mapRandomNumber` function defined above.
45+
In the following example, `mapRandomNumber` is used to generate 6 random attributes for a character.
4646

4747
```solidity
4848
function generateAttributes(bytes32 randomNumber) internal {

pages/home/metrics.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ A lot is happening in the Pyth network ecosystem and it is important to keep tra
44

55
These data points will further grow in importance (and coverage) as the full Pyth smart contract is deployed (data staking, reward distribution, and governance) and the Pyth price feeds are made available on new chains.
66

7-
If you have any questions or suggestions about the Pyth metrics made available below, please let us know in our [Discord](https://discord.gg/invite/PythNetwork).
7+
If you have any questions or suggestions about the Pyth metrics made available below, please raise questions in the [Pyth Discord](https://discord.gg/invite/PythNetwork).
88

99
- [Pyth Dune Dashboard](metrics/dune-dashboard.md)
1010
- [Pyth Publisher Metrics](metrics/publisher-metrics.md)

pages/home/metrics/dune-dashboard.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Find the full Dune Dashboard [here](https://dune.com/cctdaniel/pyth-push-oracle-
88

99
This dashboard was created by a Pyth contributor to further provide relevant statistics around the Pyth network, its operations and price feed, as well as its usage by protocols and users.
1010

11-
If you have any relevant metrics youd like to see on this dashboard, come let us know in our [Discord](https://discord.gg/invite/PythNetwork).
11+
If you have any relevant metrics you'd like to see on this dashboard, please raise questions in the [Pyth Discord](https://discord.gg/invite/PythNetwork).
1212

1313
---
1414

@@ -139,7 +139,7 @@ _The more a publisher spends, the more likely he is active on more price feeds a
139139

140140
### Consumers
141141

142-
Who's #PoweredByPyth? Find the known integration on our [website](https://pyth.network/consumers/).
142+
Who's #PoweredByPyth? Find the known integration on the [Pyth's website](https://pyth.network/consumers/).
143143

144144
**Past 24H Daily Active Consumers — Pyth Oracle Daily Active Consumers**
145145

pages/home/metrics/kpi.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ On-chain protocols need sustainable price references, which means they need orac
1414

1515
- **#PoweredByPyth Applications**
1616

17-
The metrics include all known on-chain dApps composing with Pyth; sometimes, a team using Pyth data may not tell us. (If this is the case for you, let us know [here](https://yyyf63zqhtu.typeform.com/ContactPyth?typeform-source=pyth.network) and we’ll get you featured).
17+
The metrics include all known on-chain dApps composing with Pyth; sometimes, a team using Pyth data may not be known. (If this is the case for you, please inform [here](https://yyyf63zqhtu.typeform.com/ContactPyth?typeform-source=pyth.network)).
1818

19-
From an integrations perspective, one segment the crypto community may oversee is off-chain applications needing pricing data in their own environment: this is a segment we expect to see a strong uptick in the future thanks to Pyth’s unique offering and quality assurance.
19+
From an integrations perspective, one segment the crypto community may overlook is off-chain applications needing pricing data in their own environment.
2020

2121
- **Total Value Secured**
2222

pages/home/metrics/publisher-metrics.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Pyth Publishers Metrics
22

3-
Pyth Publishers Metrics is a feature that provides insights that will empower developers, publishers, and delegators by providing the historical performance of the networks data sources. This powerful tool reflects our commitment to transparency and delivering timely, accurate, and valuable first-party data for everyone.
3+
Pyth Publishers Metrics is a feature that provides insights that will empower developers, publishers, and delegators by providing the historical performance of the network's data sources. This powerful tool reflects the commitment to transparency and delivering timely, accurate, and valuable first-party data for everyone.
44

55
---
66

@@ -24,13 +24,13 @@ The quality graph shows the dataset used in the regression model for computing t
2424

2525
**Calibration**
2626

27-
The **calibration graph** shows how closely the publishers prices and confidences match the expected Laplace distribution. The closer the fit between the two distributions, the higher the calibration score (described in section 4.1.2 of the whitepaper). In other words, a perfect publisher should produce a uniform histogram. As a reminder, the calibration score does not reward publishers for producing tighter confidence intervals; rather, the score captures whether the reported confidence interval corresponds to the publisher’s “true” confidence.
27+
The **calibration graph** shows how closely the publisher's prices and confidences match the expected Laplace distribution. The closer the fit between the two distributions, the higher the calibration score (described in section 4.1.2 of the whitepaper). In other words, a perfect publisher should produce a uniform histogram. As a reminder, the calibration score does not reward publishers for producing tighter confidence intervals; rather, the score captures whether the reported confidence interval corresponds to the publisher’s “true” confidence.
2828

2929
![](../../../images/publisher-metrics/Calibration.jpg)
3030

3131
**Accessing the Metrics**
3232

33-
You can start at the [Pyth Price Feeds page](https://pyth.network/price-feeds/), which will list every market symbol (“price feed”). Clicking on any price feed will bring you to the corresponding market page. We will use the [SOL/USD price page](https://pyth.network/price-feeds/#Crypto.SOL/USD) as our example.
33+
You can start at the [Pyth Price Feeds page](https://pyth.network/price-feeds/), which will list every market symbol (“price feed”). Clicking on any price feed will bring you to the corresponding market page. Here is an example of the [SOL/USD price page](https://pyth.network/price-feeds/#Crypto.SOL/USD).
3434

3535
Each price feed page has a list of price components (representing each publisher by their publisher keys). Each component will link to the corresponding Publisher Metrics page.
3636

@@ -46,4 +46,4 @@ To open the metrics for another publisher (of that same price feed), you can cli
4646

4747
If you want to review the Publisher Metrics of another price feed (e.g. ETH/USD), you will need to access the relevant asset. As mentioned, the [Pyth Price Feeds page](https://pyth.network/price-feeds/) has the full list of price feeds.
4848

49-
For more details on the Pyth Publishers Metrics, please visit our [blog post](https://pythnetwork.medium.com/introducing-pyth-publishers-metrics-3b20de6f1bf3).
49+
For more details on the Pyth Publishers Metrics, please visit this [blog post](https://pythnetwork.medium.com/introducing-pyth-publishers-metrics-3b20de6f1bf3).

pages/price-feeds/api-instances-and-providers/hermes.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The following node providers offer Hermes:
2828

2929
## Self-Hosting
3030

31-
We provide a Helm chart for running Hermes in our
31+
The Pyth Data Association provides a Helm chart for running Hermes in
3232
[charts](https://github.com/pyth-network/charts/tree/main/charts/hermes) repository. Please refer to the chart's readme
3333
for the configuration values.
3434
You will need a Pythnet RPC to run Hermes; see the [guide for accessing a Pythnet RPC](pythnet-rpc).

pages/price-feeds/best-practices.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ In such cases, Pyth may return a stale price for the product.
3030
Integrators should be careful to avoid accidentally using a stale price.
3131
The Pyth SDKs guard against this failure mode by incorporating a staleness check by default.
3232
Querying the current price will fail if too much time has elapsed since the last update.
33-
The SDKs expose this failure condition in an idiomatic way: for example, the Rust SDK may return `None`, and our Solidity SDK may revert the transaction.
33+
The SDKs expose this failure condition in an idiomatic way: for example, the Rust SDK may return `None`, and the Solidity SDK may revert the transaction.
3434
The SDK provides a sane default for the staleness threshold, but users may configure it to suit their use case.
3535

3636
## Adversarial selection
@@ -75,7 +75,7 @@ At every point in time, Pyth publishes both a price and a confidence interval fo
7575

7676
In a Pyth feed, each publisher specifies an interval `(p_i-c_i, p_i+c_i)` in the form of their price and confidence submission. This interval is intended to achieve 95% coverage, i.e. the publisher expresses the belief that this interval contains the “true” price with 95% probability. The resulting aggregate interval `(μ-σ, μ+σ)`, where `μ` represents the aggregate price and `σ` represents the aggregate confidence, is a good estimate of a range in which the true price lies.
7777

78-
To explain this, we consider two cases of publisher estimates. In the first case, there is 100% overlap of all the publishers’ intervals, i.e. each publisher submits the same interval `(p-c, p+c)`. In this case, the aggregate confidence interval is exactly that interval, so the aggregate confidence interval provides 100% coverage of the publishers’ intervals. This first case represents normal operating conditions, where most publishers agree about the price of an asset.
78+
To explain this, let's consider two cases of publisher estimates. In the first case, there is 100% overlap of all the publishers’ intervals, i.e. each publisher submits the same interval `(p-c, p+c)`. In this case, the aggregate confidence interval is exactly that interval, so the aggregate confidence interval provides 100% coverage of the publishers’ intervals. This first case represents normal operating conditions, where most publishers agree about the price of an asset.
7979

8080
In the second case, each publisher specifies an interval that is disjoint from each of the other publishers’ intervals. In this case, the aggregate confidence interval can be seen to contain at least the 25th percentile and at least the 75th percentile of the set of points consisting of each of the publisher’s price, price plus confidence, and price plus confidence. As a result, the aggregate confidence interval is somewhat analogous to an interquartile range of the data, which is a reasonable measure of the spread of a set of points. Note that this is not an IQR of the prices alone of the publishers but rather of the set composed of the 3 points that each publisher submits. Moreover, note that the IQR does not include the most extreme publishers’ prices on either side; this property is necessary to ensure that a small group of publishers cannot manipulate the aggregate confidence interval. This second case represents an atypical scenario where publishers all disagree. Such circumstances are rare but can occur during market volatility or unusual events.
8181

@@ -84,7 +84,7 @@ The aggregate confidence interval interpolates between the two cases above as pu
8484
1. It can use a discounted price in the direction favorable to it. For example, a lending protocol valuing a user’s collateral can use the lower valuation price `μ-σ`. When valuing an outstanding loan position consisting of tokens a user has borrowed from the protocol, it can use the higher end of the interval by using the price `μ+σ`. This allows the protocol to be conservative with regard to its own health and safety when making valuations.
8585
2. It can decide that there is too much uncertainty when `σ/μ` exceeds some threshold and choose to pause any new activity that depends on the price of this asset.
8686

87-
To expand upon the first option, we recommend using the confidence interval to protect your users from these unusual market conditions. The simplest way to do so is to use Pyth's confidence interval to compute a _range_ in which the true price probably lies. This principle is common sense. Imagine that you are lending money to a friend, and your friend pledges a bitcoin as collateral. Also imagine that Pyth says the bitcoin price is \$50000 +- \$1000. (Note that \$1000 is an unusually large confidence interval for bitcoin; the confidence interval is typically \$50 dollars). You therefore calculate that the true price is between \$49000 and \$51000. When originating the loan, you would value the bitcoin at \$49000. The lower price is conservative in this instance because it limits the amount of borrowing that is possible while the price is uncertain. On the other hand, if you were to issue a loan of bitcoin, you would value the borrowed bitcoin at \$51000. The higher price is conservative, as it protects you from allowing someone to borrow in excess during times of increased volatility.
87+
To expand upon the first option, it is recommended to use the confidence interval to protect your users from these unusual market conditions. The simplest way to do so is to use Pyth's confidence interval to compute a _range_ in which the true price probably lies. This principle is common sense. Imagine that you are lending money to a friend, and your friend pledges a bitcoin as collateral. Also imagine that Pyth says the bitcoin price is \$50000 +- \$1000. (Note that \$1000 is an unusually large confidence interval for bitcoin; the confidence interval is typically \$50 dollars). You therefore calculate that the true price is between \$49000 and \$51000. When originating the loan, you would value the bitcoin at \$49000. The lower price is conservative in this instance because it limits the amount of borrowing that is possible while the price is uncertain. On the other hand, if you were to issue a loan of bitcoin, you would value the borrowed bitcoin at \$51000. The higher price is conservative, as it protects you from allowing someone to borrow in excess during times of increased volatility.
8888

8989
The same principle would apply if you wrote a derivative contract. If someone wants to open a derivative contract with you, you would value their collateral at the lower price. However, if you were deciding whether someone's margin limits were violated, you could value their outstanding leveraged position at the higher price. If a contract needs to be settled at a price, you could take approaches such as the following:
9090

pages/price-feeds/how-pyth-works/ema-price-aggregation.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ In an EMA the most recent samples receive the most weight, and samples further b
2727

2828
While conceptually not as simple as an SMA (Simple Moving Average), the EMA has a particularly simple implementation for streaming applications such as Pyth. The exponential weighting method allows the entire history of prices and weights to be represented by a single number.
2929

30-
Find the implementation in our [GitHub](https://github.com/pyth-network/pyth-client/blob/852b991fb4403dcf23043752e3a799a40ed0133b/program/src/oracle/upd_aggregate.h).
30+
Find the implementation in [GitHub](https://github.com/pyth-network/pyth-client/blob/852b991fb4403dcf23043752e3a799a40ed0133b/program/src/oracle/upd_aggregate.h).
3131

3232
**How does Pyth calculate its EMA Price and EMA Confidence?**
3333

@@ -40,4 +40,4 @@ The current Pyth averaging method is a slot-weighted, inverse confidence-weighte
4040

4141
![](../../../images/EMA_Price_Aggregation_2.png)
4242

43-
For more details and explanations, be sure to read our dedicated blog post on this topic [here](https://pythnetwork.medium.com/whats-in-a-name-302a03e6c3e1).
43+
For more details and explanations, be sure to read dedicated blog post on this topic [here](https://pythnetwork.medium.com/whats-in-a-name-302a03e6c3e1).

pages/price-feeds/how-pyth-works/price-aggregation.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ The aggregation algorithm is designed to achieve 3 properties. First, it must be
88

99
![](../../../images/Price_Aggregation_1.png)
1010

11-
Second, the **aggregate price should appropriately weight data sources with different levels of accuracy.** Pyth allows publishers to submit a confidence interval because they have varying levels of accuracy in observing the price of a product. This property can result in situations where one publisher reports a price of \$101 +/- 1, and another reports \$110 +/- 10. In these cases, we would like the aggregate price to be closer to \$101 than \$110, as in the figure below.
11+
Second, the **aggregate price should appropriately weight data sources with different levels of accuracy.** Pyth allows publishers to submit a confidence interval because they have varying levels of accuracy in observing the price of a product. This property can result in situations where one publisher reports a price of \$101 +/- 1, and another reports \$110 +/- 10. In these cases, aggregating the price to be closer to \$101 than \$110 is appropriate, as in the figure below.
1212

1313
![](../../../images/Price_Aggregation_2.png)
1414

15-
Finally, the **aggregate confidence interval should reflect the variation between publishers prices.**
16-
Under normal market conditions, we expect a product to trade at a similar price across exchanges.
17-
In these cases, we would like the aggregate confidence interval to reflect the confidence intervals of the individual data providers, as shown in the figure on the left.
15+
Finally, the **aggregate confidence interval should reflect the variation between publishers' prices.**
16+
Under normal market conditions, it is reasonable to expect a product to trade at a similar price across exchanges.
17+
In these cases, aggregate confidence interval will be preferred to reflect the confidence intervals of the individual data providers, as shown in the figure on the left.
1818
However, in some rare situations, a product can trade at different prices on different exchanges.
1919
In these cases, the aggregate confidence interval should widen out to reflect the variation between these prices, as shown in the figure on the right.
2020

@@ -28,11 +28,11 @@ The second step computes the distance from the aggregate price to the 25th and 7
2828

2929
This process acts like a hybrid between a mean and a median, giving confident publishers more influence, while still capping the maximum influence of any single publisher.
3030
The algorithm has an interpretation as computing the minimum of an objective function that penalizes the aggregate price from deviating too far from the publishers' prices.
31-
This interpretation allows us to prove properties of the algorithm's behavior: for example, the aggregate price will always lie between the 25th and 75th percentiles of the publishers' prices.
31+
This interpretation allows proving properties of the algorithm's behavior: for example, the aggregate price will always lie between the 25th and 75th percentiles of the publishers' prices.
3232

3333
**Scenarios**
3434

35-
We can visualize the operation of this algorithm and objective function in the 4 scenarios from above.
35+
The operation of this algorithm and objective function can be visualized in the 4 scenarios described above.
3636
In the following graphs, the colored bars represent each publisher's price and confidence interval, and the grey dashed lines above depict the publisher's contribution to the overall objective function.
3737
The red line represents the combined objective function, that is, the sum of the dashed grey lines.
3838
The grey circles represent the 25th and 75th percentiles of the votes — the further one of these from the aggregate price determines the confidence interval’s width.

pages/price-feeds/pythnet-reference/account-structure.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The Pyth oracle program manages a number of on-chain accounts. There are three d
66
2. _Price accounts_ store the current price information for a particular product. This account has fields such as the current price, a confidence interval, an exponential moving average price, an exponential moving average confidence interval and whether or not a price is currently available.
77
3. _Mapping accounts_ serve as a listing of other accounts. The mapping accounts are organized into a linked list whose values are the set of product accounts. These accounts allow applications to enumerate the full list of products whose prices are available on Pyth. 
88

9-
The [Pyth Rust SDK](https://github.com/pyth-network/pyth-sdk-rs) contains a sample application that prints the current content of all Pyth accounts. We will use the output of this application to better understand the content of these accounts.
9+
The [Pyth Rust SDK](https://github.com/pyth-network/pyth-sdk-rs) contains a sample application that prints the current content of all Pyth accounts. The following sections use the output of this application to better understand the content of these accounts.
1010

1111
**Product Accounts**
1212

0 commit comments

Comments
 (0)