You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update docs to make auction lengths chain specific (#221)
* Update auctioneer docs to reflect chain-specific auction lengths
* Add vitest and test that all supported chains are listed in the Auction length section
* Update lockfile
* Add renovate group for @api3/* packages
* Add type checking to the CI
* Use only Arbitrum for 15s auctions
---------
Co-authored-by: Emanuel Tesař <e.tesarr@gmail.com>
OEV updates provide identical guarantees to regular updates—they are on-chain aggregations of API provider-signed data—so they introduce no additional [data correctness](#data-correctness) risk.
96
96
The OEV auction mechanism allows winners to frontrun updates of an artificially delayed base feed, a tradeoff designed to benefit the dApp.
97
97
98
-
Here's how the process works.
98
+
Here's how the process works for auctions with a length of 30 seconds.
99
99
The lifecycle of a data point consists of three phases:
100
100
101
101
1. From 0-30 seconds: OEV searchers examine the data point and place bids on potential OEV opportunities.
@@ -97,9 +155,7 @@ Let's break down the components of the bid topic:
97
155
protocol specs, is denoted by this major version being incremented. Refer to
98
156
the current value of `OEV_AUCTIONS_MAJOR_VERSION` constant.
99
157
2.`dappId` - The dApp ID for which the auction is being held.
100
-
3.`auctionLength` - The length of the auction. This parameter must be set to
101
-
`AUCTION_LENGTH_SECONDS`. It is one of the most important parameters, so
102
-
we're explicitly including it in the bid topic to highlight its importance.
158
+
3.`auctionLength` - The length of the auction in seconds. It is one of the most important parameters, so we're explicitly including it in the bid topic to highlight its importance.
103
159
4.`signedDataTimestampCutoff` - The cutoff timestamp of the signed data. The auction winner is permitted to only use signed data with timestamps smaller than or equal to this. It is equal to the end of the bid phase of the
104
160
auction.
105
161
@@ -108,10 +164,10 @@ Let's break down the components of the bid topic:
108
164
Auctions repeat continuously and indefinitely. To calculate the
109
165
`signedDataTimestampCutoff` that is to be specified in the bid topic, one needs
110
166
to calculate the `startTimestamp` of the next auction. This depends on the auction
111
-
offset, `BID_PHASE_LENGTH_SECONDS` and the current time.
167
+
offset, `bidPhaseLength` and the current time.
112
168
113
169
For example, dApp with ID `13` has an auction offset of `17`. With
114
-
`AUCTION_LENGTH_SECONDS=30` and `BID_PHASE_LENGTH_SECONDS=25` this gives the
170
+
`auctionLength=30` and `bidPhaseLength=25` this gives the
115
171
following sequence of auctions:
116
172
117
173
|`startTimestamp`|`signedDataTimestampCutoff`| End of award phase |
@@ -205,7 +261,7 @@ transaction.
205
261
Each auction is split into two phases:
206
262
207
263
1. Bid phase - During this phase, searchers are free to submit their bids.
208
-
This phase takes `BID_PHASE_LENGTH_SECONDS`.
264
+
This phase takes `bidPhaseLength`.
209
265
2. Award phase - During this phase, Auctioneer determines and awards the winner.
210
266
Bids placed during this period are ignored.
211
267
@@ -221,6 +277,7 @@ as soon as possible. The following happens under the hood:
221
277
selected
222
278
6. Prepare and submit the award for the auction winner on the OEV Network
223
279
280
+
Auctioneer may take longer than the allotted `AWARD_PHASE_LENGTH_SECONDS` to award the winner.
224
281
Under rare circumstances, when Auctioneer is unable to fetch the block or the
225
282
logs from the OEV Network, the auction will be aborted and no winner is chosen.
226
283
Similarly, if the auction award transaction fails, there will be no retry,
0 commit comments