-
Notifications
You must be signed in to change notification settings - Fork 191
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
Backlog for RC-2 milestone #94
Comments
IMO Important
Nice to haves
Out of scope (RC3 material)
|
stETH and cstETH: ecosystem compatibility with top DeFi dApps.All aspects should investigated including UI nuances and behavior. The most interesting - allowance process when slashing happens. Result: compatibility matrix + field notes. |
WIP: Oracle daemon: improved reporting protocol
|
Node-less (light) oracle daemonOracle daemon can use public endpoints instead of running own beacon and ETH1 nodes. Needs adaptation to Infura's throttling and limits, caching, absence of some API methods like web3.pool. |
Big test run on Goerly + Medalla #35
Need to prepare testplan. |
Automated testing (CI)Travis?
|
Oracle Daemon visibilityFor run-time visibility the oracle should have some king of minimal RESTful API. In the future it can be used by SPA/Electron UI or CLI. Getters:
|
|
|
Done, results (jupyter notebooks) are in https://github.com/lidofinance/ad-hoc-experiments |
Discussed on one of the calls. Desided to just introduce graphana/prometheus support and keep daemon primitive. https://github.com/lidofinance/lido-dao/projects/1#card-48707294 |
Discussed this effect with @vshvsh, this behavior is expected. Wontfix |
|
|
|
This issue has been splitted to separate issues and can be closed. |
Statuses are tracked in the Releases project. |
chore: try to use latest foundry build
The following table summarizes the list of DePool contracts, docs and test improvements for RC-2 release candidate. RC2 plans will be confirmed on the zoom call 28 Oct 2020.
Timing:
PRs are ready: 12 Nov 2020
RC-2 release: 19 Nov 2020
For RC-1 backlog see #77
Table maintained by @ongrid. Please feel free to drop your ideas in comments (for discussion) or create the issue with assigned RC-2 milestone if you are able to finally formalize the scope and provide the link to it.
DePool.sol:reportEther2
- use Aragon's approach with role modifier instead ofrequire
checkit
,contexts
and fixtures established withinbeforeEach
block). Printable context names shold clearly explain what happens from user or businness-logic perspective. Printable it-block names should explain what is expected in assert. Avoid mutate/assert/mutate/assert anti-pattern since they are too fragile and painful to maintain.stake
anddeposit
words.deposit
word is reserved for official contract and its function. In-DePool 32-Ether portions and its accounted states arestake
s. RenamedepositedEther
tostakedEther
totalControlledEther
topooledEther
- shorter and pronounced betterremoteEther2
tobeaconEther
becauseremote
term depends on the point of view, should be avoided in documentation. Also agreed before to usebeacon
instead ofEther2
as more specific termreportEther2
andpushData
to the unified formreportBeaconBalance(reportEpoch, beaconEther)
. Renamedata
todataPoint
(already used throughout the code and looks good). Addrequire
checks:isEpochReportable
(is the epoch number allowed to report, or in other words, does it divide byEPOCHS_PER_REPORT
without remainder) andisEpochEligible
(timing checks, isn't it in the future or in the too distant past)findMember
to_getMemberID
,getOracleMembers
togetMembers
per cent
unit doesn't give enough granularity, the next widely adoptedppm
orparts-per-million
unit can be used.reportEpoch
and make Oracle contract the single point of daemon's configuration and source of the timing. The oracle daemon can run in endless loop and poll the Oracle'sgetOpenReportEpoch
on each iteration. It returns the last epoch id, that is open to receive reports. Then oracle daemon should check if it's already transactedreportBeaconBalance
with givenreportEpoch
or not. If not, the oracle retrieves the balances for the givenreportEpoch
, summarizes them, then initiates and expedites transaction. Rename_getCurrentReportInterval
->getCurrentReportableEpoch
,getReportIntervalDurationSeconds
->getEpochsPerReport
to unify. Remove_getReportIntervalForTimestamp
- it's not used. Affects E2E tests.final
,tryFinalize
. Proposed in LIP-3 (called lido_contract.ReportBeacon), to be implemented in v0.2.0finalizedEpoch
. Without separation we are in confusing situation when finalized epoch in Oracle daemon is not finalized in the contract. So rename_tryFinalize
to more specifictryReportToDePool
.currentlyAggregatedReportInterval
andcurrentlyAggregatedData
"Aggregated" adjective sounds confusing - data doesn't aggregate, staying intact, just temporarily cached and voted. Should change toopenForReporting
or something shorter like that.The text was updated successfully, but these errors were encountered: