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

Fixed the solvency bug #988

Closed jalextowle closed 2 months ago

jalextowle commented 2 months ago

Description

This PR adds a solvency guard to closeLong to fix a problem discovered earlier today. Big h/t to @slundqui for the find.

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 and/or Rust, the corresponding checklist can be removed.

@jrhea

Solidity

@mcclurejt

Solidity

coveralls commented 2 months ago

Coverage Status

coverage: 93.278% (+0.007%) from 93.271% when pulling 09ff4ac4eb5509cad4c1b780b962b63678dc284d on jalextowle/fix/close-long-insolvency into 91d0e7f4170cbdec90e001a591bae52b37b70ba6 on main.

github-actions[bot] commented 2 months ago

Hyperdrive Gas Benchmark

Benchmark suite Current: 09ff4ac4eb5509cad4c1b780b962b63678dc284d Previous: 91d0e7f4170cbdec90e001a591bae52b37b70ba6 Deviation Status
addLiquidity: min 33893 gas 33893 gas 0% 🟰
addLiquidity: avg 144837 gas 144167 gas 0.4647% 🚨
addLiquidity: max 428319 gas 428335 gas -0.0037% ✅
checkpoint: min 40220 gas 40220 gas 0% 🟰
checkpoint: avg 103985 gas 104098 gas -0.1086% ✅
checkpoint: max 212154 gas 212154 gas 0% 🟰
closeLong: min 31517 gas 31517 gas 0% 🟰
closeLong: avg 138536 gas 138123 gas 0.2990% 🚨
closeLong: max 2640435 gas 2640435 gas 0% 🟰
closeShort: min 31394 gas 31394 gas 0% 🟰
closeShort: avg 132754 gas 132809 gas -0.0414% ✅
closeShort: max 227565 gas 227553 gas 0.0053% 🚨
initialize: min 31305 gas 31305 gas 0% 🟰
initialize: avg 253632 gas 253636 gas -0.0016% ✅
initialize: max 322760 gas 322760 gas 0% 🟰
openLong: min 33437 gas 33437 gas 0% 🟰
openLong: avg 167014 gas 167346 gas -0.1984% ✅
openLong: max 253057 gas 253057 gas 0% 🟰
openShort: min 33959 gas 33959 gas 0% 🟰
openShort: avg 170240 gas 170242 gas -0.0012% ✅
openShort: max 385545 gas 385545 gas 0% 🟰
redeemWithdrawalShares: min 31227 gas 31227 gas 0% 🟰
redeemWithdrawalShares: avg 61915 gas 61960 gas -0.0726% ✅
redeemWithdrawalShares: max 167572 gas 167572 gas 0% 🟰
removeLiquidity: min 31191 gas 31191 gas 0% 🟰
removeLiquidity: avg 223549 gas 223855 gas -0.1367% ✅
removeLiquidity: max 398887 gas 398887 gas 0% 🟰

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