This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: UNLICENSED | |
pragma solidity ^0.8.13; | |
import {Test, console} from "forge-std/Test.sol"; | |
contract LegacyStorage { | |
uint256 public number; | |
function setNumber(uint256 newNumber) public { | |
number = newNumber; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: BUSL-1.1 | |
pragma solidity ^0.8.27; | |
import "src/test/integration/users/User.t.sol"; | |
import "src/test/integration/IntegrationChecks.t.sol"; | |
contract Integration_StorageGaps is IntegrationCheckUtils { | |
function assertSlotEq(address target, uint256 slot, uint256 value) internal { | |
assertEq(uint256(vm.load(target, bytes32(slot))), value, "Slot value mismatch"); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from web3 import Web3 | |
import rlp | |
from eth_utils import keccak, to_bytes, to_hex | |
class BlockHeaderVerifier: | |
def __init__(self, rpc_url=""): | |
self.w3 = Web3(Web3.HTTPProvider(rpc_url)) | |
def get_block_header_fields(self, block): | |
"""Extract and format block header fields for RLP encoding""" |