Closed jalextowle closed 2 months ago
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.
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
approve
calls useforceApprove
?transfer
calls usesafeTransfer
?transferFrom
calls usemsg.sender
as thefrom
address?call
,delegatecall
,staticcall
,transfer
,send
)success
boolean checked to handle failed calls?delegatecall
, are there strict access controls on the addresses that can be called? It shouldn't be possible todelegatecall
arbitrary addresses, so the list of possible targets should either be immutable or tightly controlled by an admin.nonReentrant
?payable
functions restricted to avoid stuck ether?Safe
functions are altered, are potential underflows and overflows caught so that a failure flag can be thrown?@mcclurejt
Solidity
approve
calls useforceApprove
?transfer
calls usesafeTransfer
?transferFrom
calls usemsg.sender
as thefrom
address?call
,delegatecall
,staticcall
,transfer
,send
)success
boolean checked to handle failed calls?delegatecall
, are there strict access controls on the addresses that can be called? It shouldn't be possible todelegatecall
arbitrary addresses, so the list of possible targets should either be immutable or tightly controlled by an admin.nonReentrant
?payable
functions restricted to avoid stuck ether?Safe
functions are altered, are potential underflows and overflows caught so that a failure flag can be thrown?