Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SR-1.5 updates #402

Merged
merged 23 commits into from
Oct 25, 2024
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
fdeda19
add targetLimitMode
krogla Aug 8, 2024
81cddac
add SR changes
krogla Aug 8, 2024
70fe7b3
add NOR new methods + formatting
krogla Aug 8, 2024
80c7db7
update sanity checker description
mkurayan Aug 9, 2024
b4828a9
update sanity checker usage in contracts
mkurayan Aug 9, 2024
5a28d6a
Feat: dsm + offchain oracles + distributor bot
F4ever Aug 26, 2024
a1d8344
doc: add information regarding negative rebase change of the Sanity C…
vpetrenko Aug 28, 2024
b32bf32
Merge branch 'feat/sr-1.5' of git-ldo:lidofinance/docs into feat/sr-1.5
vpetrenko Aug 28, 2024
9c545e4
doc: add multiple third phase transactions description
mkurayan Sep 9, 2024
8de5762
doc: remove BalanceDecrease related setter and role
vp4242 Sep 9, 2024
467e6bc
feat: update dsm contract documentation
F4ever Sep 12, 2024
c185512
Merge branch 'feat/sr-1.5' of github.com:lidofinance/docs into feat/s…
F4ever Sep 12, 2024
ff17cfb
upd DSM params description
krogla Oct 11, 2024
c368217
add oracle sanity checker address
krogla Oct 11, 2024
8c9012e
revert tooling descriptions
krogla Oct 11, 2024
4551489
Merge branch 'main' of github.com:lidofinance/docs into feat/sr-1.5-m…
eddort Oct 21, 2024
28c4ced
fix: guides/reward-distribution-bot path
eddort Oct 21, 2024
21ca5d7
fix: broken links
eddort Oct 21, 2024
6230e0b
Merge pull request #454 from lidofinance/feat/sr-1.5-merge
eddort Oct 21, 2024
290060d
fix: removed reward-distributor-bot from this branch
eddort Oct 21, 2024
55be28b
Update docs/guides/oracle-spec/validator-exit-bus.md
F4ever Oct 22, 2024
6017910
Update docs/guides/oracle-spec/validator-exit-bus.md
F4ever Oct 22, 2024
2ed32cc
Update docs/guides/oracle-spec/validator-exit-bus.md
F4ever Oct 22, 2024
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
16 changes: 12 additions & 4 deletions docs/contracts/accounting-oracle.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ The diagram shows the interaction with contracts.
graph LR;
A[/ \]--submitReportData-->AccountingOracle--handleConsensusLayerReport--->LegacyOracle;
AccountingOracle--handleOracleReport-->Lido--handlePostTokenRebase-->LegacyOracle
AccountingOracle--checkAccountingExtraDataListItemsCount-->OracleReportSanityChecker;
AccountingOracle--checkExtraDataItemsCountPerTransaction-->OracleReportSanityChecker;
AccountingOracle--updateExitedValidatorsCountByStakingModule-->StakingRouter;
AccountingOracle--checkExitedValidatorsRatePerDay-->OracleReportSanityChecker;
AccountingOracle--'onOracleReport'-->WithdrawalQueue;
Expand Down Expand Up @@ -128,6 +128,14 @@ Extra data — the oracle information that allows asynchronous processing, poten
data for a report is possible after its processing deadline passes or a new data report
arrives.

Depending on the size of the extra data, the processing might need to be split into
multiple transactions. Each transaction contains a chunk of report data (an array of items)
and the hash of the next transaction. The last transaction will contain ZERO_HASH
as the next transaction hash.

32 bytes array of items
| nextHash | ...

Extra data is an array of items, each item being encoded as follows:

3 bytes 2 bytes X bytes
Expand Down Expand Up @@ -166,8 +174,8 @@ The `itemPayload` field has the following format:

byteLength(stuckValidatorsCounts) = nodeOpsCount * 16

`nodeOpsCount` must not be greater than `maxAccountingExtraDataListItemsCount` specified
in the [`OracleReportSanityChecker`](/contracts/oracle-report-sanity-checker) contract. If a staking module has more node operators
`nodeOpsCount` must not be greater than `maxItemsPerExtraDataTransaction` specified
in the [`OracleReportSanityChecker`](./oracle-report-sanity-checker) contract. If a staking module has more node operators
with total stuck validators counts changed compared to the staking module smart contract
storage (as observed at the reference slot), reporting for that module should be split
into multiple items.
Expand Down Expand Up @@ -621,7 +629,7 @@ To ensure that the reported data is within possible values, the handler function

#### OracleReportSanityChecker

- Reverts with `MaxAccountingExtraDataItemsCountExceeded(uint256 maxItemsCount, uint256 receivedItemsCount)` error when check is failed, more [here](/contracts/oracle-report-sanity-checker.md#checkaccountingextradatalistitemscount)
- Reverts with `TooManyItemsPerExtraDataTransaction(uint256 maxItemsCount, uint256 receivedItemsCount)` error when check is failed, more [here](/contracts/oracle-report-sanity-checker.md#checkextradataitemscountpertransaction)
- Reverts with `ExitedValidatorsLimitExceeded(uint256 limitPerDay, uint256 exitedPerDay)` if provided exited validators data doesn't meet safety checks. (OracleReportSanityChecker)

#### StakingRouter
Expand Down
Loading