delvtech / hyperdrive

An automated market maker for fixed and variable yield with on-demand terms.
Apache License 2.0
25 stars 3 forks source link

Add `totalAssets(uint256 timestamp)` to MockERC4626 #1049

Closed sentilesdal closed 3 weeks ago

sentilesdal commented 1 month ago

Resolved Issues

Description

This helps with testing. When solidity is called using anvil in rust tests, the block is ticked by 1 second. Because there is a call to _getAccruedInterest() in totalAssets(), the only way to get the exact value is to pass the current time plus one second to totalAssets().

Review Checklists

Please check each item before approving the pull request. While going through the checklist, it is recommended to leave comments on items that are referenced in the checklist to make sure that they are reviewed. If there are multiple reviewers, copy the checklists into sections titled ## [Reviewer Name]. If the PR doesn't touch Solidity, the corresponding checklist can be removed.

[[Reviewer Name]]

coveralls commented 1 month ago

Pull Request Test Coverage Report for Build 9409026324

Details


Files with Coverage Reduction New Missed Lines %
contracts/src/internal/HyperdriveLP.sol 4 96.88%
contracts/src/internal/HyperdriveLong.sol 6 94.02%
contracts/src/internal/HyperdriveShort.sol 7 94.17%
<!-- Total: 17 -->
Totals Coverage Status
Change from base Build 9408759390: 0.4%
Covered Lines: 1833
Relevant Lines: 1963

πŸ’› - Coveralls
github-actions[bot] commented 1 month ago

Hyperdrive Gas Benchmark

Benchmark suite Current: 42802408cef99cf75d479e418f63ab0d30e21974 Previous: aed776f039568e486a7066b9cfbf39f373bdbb42 Deviation Status
addLiquidity: min 33827 gas 33827 gas 0% 🟰
addLiquidity: avg 155630 gas 155854 gas -0.1437% βœ…
addLiquidity: max 429092 gas 429092 gas 0% 🟰
checkpoint: min 40292 gas 40292 gas 0% 🟰
checkpoint: avg 142331 gas 142352 gas -0.0148% βœ…
checkpoint: max 253424 gas 253424 gas 0% 🟰
closeLong: min 31361 gas 31361 gas 0% 🟰
closeLong: avg 136036 gas 136073 gas -0.0272% βœ…
closeLong: max 2621386 gas 2625796 gas -0.1679% βœ…
closeShort: min 31349 gas 31349 gas 0% 🟰
closeShort: avg 131928 gas 132134 gas -0.1559% βœ…
closeShort: max 309547 gas 263302 gas 17.5635% 🚨
initialize: min 31371 gas 31371 gas 0% 🟰
initialize: avg 330949 gas 330923 gas 0.0079% 🚨
initialize: max 397010 gas 397010 gas 0% 🟰
openLong: min 33370 gas 33370 gas 0% 🟰
openLong: avg 173595 gas 174111 gas -0.2964% βœ…
openLong: max 306958 gas 306958 gas 0% 🟰
openShort: min 33936 gas 33936 gas 0% 🟰
openShort: avg 168594 gas 168488 gas 0.0629% 🚨
openShort: max 415838 gas 415910 gas -0.0173% βœ…
redeemWithdrawalShares: min 31251 gas 31251 gas 0% 🟰
redeemWithdrawalShares: avg 75324 gas 74759 gas 0.7558% 🚨
redeemWithdrawalShares: max 210204 gas 210204 gas 0% 🟰
removeLiquidity: min 31301 gas 31301 gas 0% 🟰
removeLiquidity: avg 214602 gas 214403 gas 0.0928% 🚨
removeLiquidity: max 403971 gas 403959 gas 0.0030% 🚨

This comment was automatically generated by workflow using github-action-benchmark.

sentilesdal commented 3 weeks ago

@jalextowle updated with your suggestion to just have one _getAccruedInterest(uint256 timestamp)