38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
--- utils/structs/Checkpoints.sol 2023-08-21 16:07:18.151395512 +0200
|
|
+++ utils/structs/Checkpoints.sol 2023-08-25 10:51:17.586593500 +0200
|
|
@@ -199,11 +199,12 @@
|
|
function _unsafeAccess(
|
|
Checkpoint224[] storage self,
|
|
uint256 pos
|
|
- ) private pure returns (Checkpoint224 storage result) {
|
|
- assembly {
|
|
- mstore(0, self.slot)
|
|
- result.slot := add(keccak256(0, 0x20), pos)
|
|
- }
|
|
+ ) private view returns (Checkpoint224 storage result) {
|
|
+ return self[pos]; // explicit (safe) for formal verification hooking
|
|
+ // assembly {
|
|
+ // mstore(0, self.slot)
|
|
+ // result.slot := add(keccak256(0, 0x20), pos)
|
|
+ // }
|
|
}
|
|
|
|
struct Trace160 {
|
|
@@ -386,10 +387,11 @@
|
|
function _unsafeAccess(
|
|
Checkpoint160[] storage self,
|
|
uint256 pos
|
|
- ) private pure returns (Checkpoint160 storage result) {
|
|
- assembly {
|
|
- mstore(0, self.slot)
|
|
- result.slot := add(keccak256(0, 0x20), pos)
|
|
- }
|
|
+ ) private view returns (Checkpoint160 storage result) {
|
|
+ return self[pos]; // explicit (safe) for formal verification hooking
|
|
+ // assembly {
|
|
+ // mstore(0, self.slot)
|
|
+ // result.slot := add(keccak256(0, 0x20), pos)
|
|
+ // }
|
|
}
|
|
}
|