utils_structs_Checkpoints.sol.patch 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. --- utils/structs/Checkpoints.sol 2023-08-21 16:07:18.151395512 +0200
  2. +++ utils/structs/Checkpoints.sol 2023-08-25 10:43:19.822052443 +0200
  3. @@ -200,10 +200,11 @@
  4. Checkpoint224[] storage self,
  5. uint256 pos
  6. ) private pure returns (Checkpoint224 storage result) {
  7. - assembly {
  8. - mstore(0, self.slot)
  9. - result.slot := add(keccak256(0, 0x20), pos)
  10. - }
  11. + return self[pos]; // explicit (safe) for formal verification hooking
  12. + // assembly {
  13. + // mstore(0, self.slot)
  14. + // result.slot := add(keccak256(0, 0x20), pos)
  15. + // }
  16. }
  17. struct Trace160 {
  18. @@ -387,9 +388,10 @@
  19. Checkpoint160[] storage self,
  20. uint256 pos
  21. ) private pure returns (Checkpoint160 storage result) {
  22. - assembly {
  23. - mstore(0, self.slot)
  24. - result.slot := add(keccak256(0, 0x20), pos)
  25. - }
  26. + return self[pos]; // explicit (safe) for formal verification hooking
  27. + // assembly {
  28. + // mstore(0, self.slot)
  29. + // result.slot := add(keccak256(0, 0x20), pos)
  30. + // }
  31. }
  32. }