diff --git a/.github/workflows/test-contracts.yml b/.github/workflows/test-contracts.yml index 88c5d3567d..4f5f0d0c60 100644 --- a/.github/workflows/test-contracts.yml +++ b/.github/workflows/test-contracts.yml @@ -24,7 +24,7 @@ jobs: - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 with: - version: nightly + version: stable - name: Install forge dependencies run: forge install @@ -37,3 +37,26 @@ jobs: - name: Run snapshot run: forge snapshot working-directory: ./contracts + +## This check ensures that any modifications made to contract storage are caught loudly +## in CI + validate-storage: + name: Storage mapping validation + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: stable + + - name: Install forge dependencies + run: forge install + working-directory: ./contracts + + - name: Run validation script + run: ./storage-verify.sh + working-directory: ./contracts diff --git a/contracts/storage-verify.sh b/contracts/storage-verify.sh new file mode 100755 index 0000000000..4a989da85f --- /dev/null +++ b/contracts/storage-verify.sh @@ -0,0 +1,38 @@ +#!/bin/bash +contracts="PaymentVault \ + SocketRegistry \ + AVSDirectory \ + DelegationManager \ + BitmapUtils \ + OperatorStateRetriever \ + RegistryCoordinator \ + BLSApkRegistry \ + IIndexRegistry \ + StakeRegistry \ + BN254 \ + EigenDAServiceManager \ + IEigenDAServiceManager \ + MockRollup \ + EjectionManager \ + EigenDACertVerifier \ + EigenDAThresholdRegistry \ + EigenDARelayRegistry \ + IEigenDARelayRegistry \ + EigenDADisperserRegistry" + +output_dir="./test/storage" +for contract in $contracts +do + echo "Checking storage change of $contract" + [ -f "$output_dir/$contract" ] && mv "$output_dir/$contract" "$output_dir/$contract-old" + forge inspect "$contract" --pretty storage > "$output_dir/$contract" + diff "$output_dir/$contract-old" "$output_dir/$contract" + if [[ $? != "0" ]] + then + CHANGED=1 + fi +done +if [[ $CHANGED == 1 ]] +then + exit 1 +fi \ No newline at end of file diff --git a/contracts/test/storage/AVSDirectory b/contracts/test/storage/AVSDirectory new file mode 100644 index 0000000000..09fb167ea1 --- /dev/null +++ b/contracts/test/storage/AVSDirectory @@ -0,0 +1,33 @@ + +╭---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++==============================================================================================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| pauserRegistry | contract IPauserRegistry | 101 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _paused | uint256 | 102 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[48] | 103 | 0 | 1536 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _DOMAIN_SEPARATOR | bytes32 | 151 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| avsOperatorStatus | mapping(address => mapping(address => enum IAVSDirectory.OperatorAVSRegistrationStatus)) | 152 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| operatorSaltIsSpent | mapping(address => mapping(bytes32 => bool)) | 153 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[47] | 154 | 0 | 1504 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _status | uint256 | 201 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[49] | 202 | 0 | 1568 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +╰---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------╯ + diff --git a/contracts/test/storage/AVSDirectory-old b/contracts/test/storage/AVSDirectory-old new file mode 100644 index 0000000000..09fb167ea1 --- /dev/null +++ b/contracts/test/storage/AVSDirectory-old @@ -0,0 +1,33 @@ + +╭---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++==============================================================================================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| pauserRegistry | contract IPauserRegistry | 101 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _paused | uint256 | 102 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[48] | 103 | 0 | 1536 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _DOMAIN_SEPARATOR | bytes32 | 151 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| avsOperatorStatus | mapping(address => mapping(address => enum IAVSDirectory.OperatorAVSRegistrationStatus)) | 152 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| operatorSaltIsSpent | mapping(address => mapping(bytes32 => bool)) | 153 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[47] | 154 | 0 | 1504 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| _status | uint256 | 201 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +|---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------| +| __gap | uint256[49] | 202 | 0 | 1568 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/AVSDirectory.sol:AVSDirectory | +╰---------------------+------------------------------------------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------------╯ + diff --git a/contracts/test/storage/BLSApkRegistry b/contracts/test/storage/BLSApkRegistry new file mode 100644 index 0000000000..61e7284f9b --- /dev/null +++ b/contracts/test/storage/BLSApkRegistry @@ -0,0 +1,21 @@ + +╭----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=======================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| operatorToPubkeyHash | mapping(address => bytes32) | 1 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| pubkeyHashToOperator | mapping(bytes32 => address) | 2 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| operatorToPubkey | mapping(address => struct BN254.G1Point) | 3 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| apkHistory | mapping(uint8 => struct IBLSApkRegistry.ApkUpdate[]) | 4 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| currentApk | mapping(uint8 => struct BN254.G1Point) | 5 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| __GAP | uint256[45] | 6 | 0 | 1440 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +╰----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------╯ + diff --git a/contracts/test/storage/BLSApkRegistry-old b/contracts/test/storage/BLSApkRegistry-old new file mode 100644 index 0000000000..61e7284f9b --- /dev/null +++ b/contracts/test/storage/BLSApkRegistry-old @@ -0,0 +1,21 @@ + +╭----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=======================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| operatorToPubkeyHash | mapping(address => bytes32) | 1 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| pubkeyHashToOperator | mapping(bytes32 => address) | 2 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| operatorToPubkey | mapping(address => struct BN254.G1Point) | 3 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| apkHistory | mapping(uint8 => struct IBLSApkRegistry.ApkUpdate[]) | 4 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| currentApk | mapping(uint8 => struct BN254.G1Point) | 5 | 0 | 32 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +|----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------| +| __GAP | uint256[45] | 6 | 0 | 1440 | lib/eigenlayer-middleware/src/BLSApkRegistry.sol:BLSApkRegistry | +╰----------------------+------------------------------------------------------+------+--------+-------+-----------------------------------------------------------------╯ + diff --git a/contracts/test/storage/BN254 b/contracts/test/storage/BN254 new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/BN254 @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/BN254-old b/contracts/test/storage/BN254-old new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/BN254-old @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/BitmapUtils b/contracts/test/storage/BitmapUtils new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/BitmapUtils @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/BitmapUtils-old b/contracts/test/storage/BitmapUtils-old new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/BitmapUtils-old @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/DelegationManager b/contracts/test/storage/DelegationManager new file mode 100644 index 0000000000..e2e99409ab --- /dev/null +++ b/contracts/test/storage/DelegationManager @@ -0,0 +1,49 @@ + +╭-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=======================================================================================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| pauserRegistry | contract IPauserRegistry | 101 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _paused | uint256 | 102 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[48] | 103 | 0 | 1536 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _DOMAIN_SEPARATOR | bytes32 | 151 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| operatorShares | mapping(address => mapping(contract IStrategy => uint256)) | 152 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _operatorDetails | mapping(address => struct IDelegationManager.OperatorDetails) | 153 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| delegatedTo | mapping(address => address) | 154 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| stakerNonce | mapping(address => uint256) | 155 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| delegationApproverSaltIsSpent | mapping(address => mapping(bytes32 => bool)) | 156 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| minWithdrawalDelayBlocks | uint256 | 157 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| pendingWithdrawals | mapping(bytes32 => bool) | 158 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| cumulativeWithdrawalsQueued | mapping(address => uint256) | 159 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __deprecated_stakeRegistry | address | 160 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| strategyWithdrawalDelayBlocks | mapping(contract IStrategy => uint256) | 161 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[39] | 162 | 0 | 1248 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _status | uint256 | 201 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[49] | 202 | 0 | 1568 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +╰-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------╯ + diff --git a/contracts/test/storage/DelegationManager-old b/contracts/test/storage/DelegationManager-old new file mode 100644 index 0000000000..e2e99409ab --- /dev/null +++ b/contracts/test/storage/DelegationManager-old @@ -0,0 +1,49 @@ + +╭-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=======================================================================================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| pauserRegistry | contract IPauserRegistry | 101 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _paused | uint256 | 102 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[48] | 103 | 0 | 1536 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _DOMAIN_SEPARATOR | bytes32 | 151 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| operatorShares | mapping(address => mapping(contract IStrategy => uint256)) | 152 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _operatorDetails | mapping(address => struct IDelegationManager.OperatorDetails) | 153 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| delegatedTo | mapping(address => address) | 154 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| stakerNonce | mapping(address => uint256) | 155 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| delegationApproverSaltIsSpent | mapping(address => mapping(bytes32 => bool)) | 156 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| minWithdrawalDelayBlocks | uint256 | 157 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| pendingWithdrawals | mapping(bytes32 => bool) | 158 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| cumulativeWithdrawalsQueued | mapping(address => uint256) | 159 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __deprecated_stakeRegistry | address | 160 | 0 | 20 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| strategyWithdrawalDelayBlocks | mapping(contract IStrategy => uint256) | 161 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[39] | 162 | 0 | 1248 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| _status | uint256 | 201 | 0 | 32 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +|-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------| +| __gap | uint256[49] | 202 | 0 | 1568 | lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/DelegationManager.sol:DelegationManager | +╰-------------------------------+---------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDACertVerifier b/contracts/test/storage/EigenDACertVerifier new file mode 100644 index 0000000000..40b8274f26 --- /dev/null +++ b/contracts/test/storage/EigenDACertVerifier @@ -0,0 +1,9 @@ + +╭-------------------------+---------------------------+------+--------+-------+------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++====================================================================================================================================+ +| securityThresholdsV2 | struct SecurityThresholds | 0 | 0 | 32 | src/core/EigenDACertVerifier.sol:EigenDACertVerifier | +|-------------------------+---------------------------+------+--------+-------+------------------------------------------------------| +| quorumNumbersRequiredV2 | bytes | 1 | 0 | 32 | src/core/EigenDACertVerifier.sol:EigenDACertVerifier | +╰-------------------------+---------------------------+------+--------+-------+------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDACertVerifier-old b/contracts/test/storage/EigenDACertVerifier-old new file mode 100644 index 0000000000..40b8274f26 --- /dev/null +++ b/contracts/test/storage/EigenDACertVerifier-old @@ -0,0 +1,9 @@ + +╭-------------------------+---------------------------+------+--------+-------+------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++====================================================================================================================================+ +| securityThresholdsV2 | struct SecurityThresholds | 0 | 0 | 32 | src/core/EigenDACertVerifier.sol:EigenDACertVerifier | +|-------------------------+---------------------------+------+--------+-------+------------------------------------------------------| +| quorumNumbersRequiredV2 | bytes | 1 | 0 | 32 | src/core/EigenDACertVerifier.sol:EigenDACertVerifier | +╰-------------------------+---------------------------+------+--------+-------+------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDADisperserRegistry b/contracts/test/storage/EigenDADisperserRegistry new file mode 100644 index 0000000000..500ae73e24 --- /dev/null +++ b/contracts/test/storage/EigenDADisperserRegistry @@ -0,0 +1,19 @@ + +╭--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=======================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| disperserKeyToInfo | mapping(uint32 => struct DisperserInfo) | 101 | 0 | 32 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __GAP | uint256[49] | 102 | 0 | 1568 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +╰--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDADisperserRegistry-old b/contracts/test/storage/EigenDADisperserRegistry-old new file mode 100644 index 0000000000..500ae73e24 --- /dev/null +++ b/contracts/test/storage/EigenDADisperserRegistry-old @@ -0,0 +1,19 @@ + +╭--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=======================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| disperserKeyToInfo | mapping(uint32 => struct DisperserInfo) | 101 | 0 | 32 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +|--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __GAP | uint256[49] | 102 | 0 | 1568 | src/core/EigenDADisperserRegistry.sol:EigenDADisperserRegistry | +╰--------------------+-----------------------------------------+------+--------+-------+----------------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDARelayRegistry b/contracts/test/storage/EigenDARelayRegistry new file mode 100644 index 0000000000..ca662471bf --- /dev/null +++ b/contracts/test/storage/EigenDARelayRegistry @@ -0,0 +1,21 @@ + +╭----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=======================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| relayKeyToInfo | mapping(uint32 => struct RelayInfo) | 101 | 0 | 32 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| nextRelayKey | uint32 | 102 | 0 | 4 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| __GAP | uint256[48] | 103 | 0 | 1536 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +╰----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDARelayRegistry-old b/contracts/test/storage/EigenDARelayRegistry-old new file mode 100644 index 0000000000..ca662471bf --- /dev/null +++ b/contracts/test/storage/EigenDARelayRegistry-old @@ -0,0 +1,21 @@ + +╭----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=======================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| relayKeyToInfo | mapping(uint32 => struct RelayInfo) | 101 | 0 | 32 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| nextRelayKey | uint32 | 102 | 0 | 4 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +|----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------| +| __GAP | uint256[48] | 103 | 0 | 1536 | src/core/EigenDARelayRegistry.sol:EigenDARelayRegistry | +╰----------------+-------------------------------------+------+--------+-------+--------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDAServiceManager b/contracts/test/storage/EigenDAServiceManager new file mode 100644 index 0000000000..1966350ba4 --- /dev/null +++ b/contracts/test/storage/EigenDAServiceManager @@ -0,0 +1,37 @@ + +╭----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++============================================================================================================================================+ +| batchId | uint32 | 0 | 0 | 4 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| batchIdToBatchMetadataHash | mapping(uint32 => bytes32) | 1 | 0 | 32 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| isBatchConfirmer | mapping(address => bool) | 2 | 0 | 32 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __GAP | uint256[47] | 3 | 0 | 1504 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| _initialized | uint8 | 50 | 0 | 1 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| _initializing | bool | 50 | 1 | 1 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __gap | uint256[50] | 51 | 0 | 1600 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| _owner | address | 101 | 0 | 20 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __gap | uint256[49] | 102 | 0 | 1568 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| rewardsInitiator | address | 151 | 0 | 20 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __GAP | uint256[49] | 152 | 0 | 1568 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| staleStakesForbidden | bool | 201 | 0 | 1 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __GAP | uint256[49] | 202 | 0 | 1568 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| pauserRegistry | contract IPauserRegistry | 251 | 0 | 20 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| _paused | uint256 | 252 | 0 | 32 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __gap | uint256[48] | 253 | 0 | 1536 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +╰----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDAServiceManager-old b/contracts/test/storage/EigenDAServiceManager-old new file mode 100644 index 0000000000..1966350ba4 --- /dev/null +++ b/contracts/test/storage/EigenDAServiceManager-old @@ -0,0 +1,37 @@ + +╭----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++============================================================================================================================================+ +| batchId | uint32 | 0 | 0 | 4 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| batchIdToBatchMetadataHash | mapping(uint32 => bytes32) | 1 | 0 | 32 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| isBatchConfirmer | mapping(address => bool) | 2 | 0 | 32 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __GAP | uint256[47] | 3 | 0 | 1504 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| _initialized | uint8 | 50 | 0 | 1 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| _initializing | bool | 50 | 1 | 1 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __gap | uint256[50] | 51 | 0 | 1600 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| _owner | address | 101 | 0 | 20 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __gap | uint256[49] | 102 | 0 | 1568 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| rewardsInitiator | address | 151 | 0 | 20 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __GAP | uint256[49] | 152 | 0 | 1568 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| staleStakesForbidden | bool | 201 | 0 | 1 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __GAP | uint256[49] | 202 | 0 | 1568 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| pauserRegistry | contract IPauserRegistry | 251 | 0 | 20 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| _paused | uint256 | 252 | 0 | 32 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +|----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------| +| __gap | uint256[48] | 253 | 0 | 1536 | src/core/EigenDAServiceManager.sol:EigenDAServiceManager | +╰----------------------------+----------------------------+------+--------+-------+----------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDAThresholdRegistry b/contracts/test/storage/EigenDAThresholdRegistry new file mode 100644 index 0000000000..ba3ca03300 --- /dev/null +++ b/contracts/test/storage/EigenDAThresholdRegistry @@ -0,0 +1,27 @@ + +╭----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=================================================================================================================================================================================+ +| quorumAdversaryThresholdPercentages | bytes | 0 | 0 | 32 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| quorumConfirmationThresholdPercentages | bytes | 1 | 0 | 32 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| quorumNumbersRequired | bytes | 2 | 0 | 32 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| nextBlobVersion | uint16 | 3 | 0 | 2 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| versionedBlobParams | mapping(uint16 => struct VersionedBlobParams) | 4 | 0 | 32 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __GAP | uint256[45] | 5 | 0 | 1440 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _initialized | uint8 | 50 | 0 | 1 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _initializing | bool | 50 | 1 | 1 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __gap | uint256[50] | 51 | 0 | 1600 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _owner | address | 101 | 0 | 20 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __gap | uint256[49] | 102 | 0 | 1568 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +╰----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------╯ + diff --git a/contracts/test/storage/EigenDAThresholdRegistry-old b/contracts/test/storage/EigenDAThresholdRegistry-old new file mode 100644 index 0000000000..ba3ca03300 --- /dev/null +++ b/contracts/test/storage/EigenDAThresholdRegistry-old @@ -0,0 +1,27 @@ + +╭----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=================================================================================================================================================================================+ +| quorumAdversaryThresholdPercentages | bytes | 0 | 0 | 32 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| quorumConfirmationThresholdPercentages | bytes | 1 | 0 | 32 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| quorumNumbersRequired | bytes | 2 | 0 | 32 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| nextBlobVersion | uint16 | 3 | 0 | 2 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| versionedBlobParams | mapping(uint16 => struct VersionedBlobParams) | 4 | 0 | 32 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __GAP | uint256[45] | 5 | 0 | 1440 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _initialized | uint8 | 50 | 0 | 1 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _initializing | bool | 50 | 1 | 1 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __gap | uint256[50] | 51 | 0 | 1600 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| _owner | address | 101 | 0 | 20 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +|----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------| +| __gap | uint256[49] | 102 | 0 | 1568 | src/core/EigenDAThresholdRegistry.sol:EigenDAThresholdRegistry | +╰----------------------------------------+-----------------------------------------------+------+--------+-------+----------------------------------------------------------------╯ + diff --git a/contracts/test/storage/EjectionManager b/contracts/test/storage/EjectionManager new file mode 100644 index 0000000000..3ffd817ab4 --- /dev/null +++ b/contracts/test/storage/EjectionManager @@ -0,0 +1,21 @@ + +╭-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++====================================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| isEjector | mapping(address => bool) | 101 | 0 | 32 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| stakeEjectedForQuorum | mapping(uint8 => struct IEjectionManager.StakeEjection[]) | 102 | 0 | 32 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| quorumEjectionParams | mapping(uint8 => struct IEjectionManager.QuorumEjectionParams) | 103 | 0 | 32 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +╰-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------╯ + diff --git a/contracts/test/storage/EjectionManager-old b/contracts/test/storage/EjectionManager-old new file mode 100644 index 0000000000..3ffd817ab4 --- /dev/null +++ b/contracts/test/storage/EjectionManager-old @@ -0,0 +1,21 @@ + +╭-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++====================================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| _owner | address | 51 | 0 | 20 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| isEjector | mapping(address => bool) | 101 | 0 | 32 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| stakeEjectedForQuorum | mapping(uint8 => struct IEjectionManager.StakeEjection[]) | 102 | 0 | 32 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +|-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------| +| quorumEjectionParams | mapping(uint8 => struct IEjectionManager.QuorumEjectionParams) | 103 | 0 | 32 | lib/eigenlayer-middleware/src/EjectionManager.sol:EjectionManager | +╰-----------------------+----------------------------------------------------------------+------+--------+-------+-------------------------------------------------------------------╯ + diff --git a/contracts/test/storage/IEigenDARelayRegistry b/contracts/test/storage/IEigenDARelayRegistry new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/IEigenDARelayRegistry @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/IEigenDARelayRegistry-old b/contracts/test/storage/IEigenDARelayRegistry-old new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/IEigenDARelayRegistry-old @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/IEigenDAServiceManager b/contracts/test/storage/IEigenDAServiceManager new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/IEigenDAServiceManager @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/IEigenDAServiceManager-old b/contracts/test/storage/IEigenDAServiceManager-old new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/IEigenDAServiceManager-old @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/IIndexRegistry b/contracts/test/storage/IIndexRegistry new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/IIndexRegistry @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/IIndexRegistry-old b/contracts/test/storage/IIndexRegistry-old new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/IIndexRegistry-old @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/MockRollup b/contracts/test/storage/MockRollup new file mode 100644 index 0000000000..8e81cfade1 --- /dev/null +++ b/contracts/test/storage/MockRollup @@ -0,0 +1,11 @@ + +╭-----------------------+---------------------------------------+------+--------+-------+-----------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=================================================================================================================================+ +| eigenDAServiceManager | contract IEigenDAServiceManager | 0 | 0 | 20 | test/rollupV1/MockRollup.sol:MockRollup | +|-----------------------+---------------------------------------+------+--------+-------+-----------------------------------------| +| tau | struct BN254.G1Point | 1 | 0 | 64 | test/rollupV1/MockRollup.sol:MockRollup | +|-----------------------+---------------------------------------+------+--------+-------+-----------------------------------------| +| commitments | mapping(uint256 => struct Commitment) | 3 | 0 | 32 | test/rollupV1/MockRollup.sol:MockRollup | +╰-----------------------+---------------------------------------+------+--------+-------+-----------------------------------------╯ + diff --git a/contracts/test/storage/MockRollup-old b/contracts/test/storage/MockRollup-old new file mode 100644 index 0000000000..8e81cfade1 --- /dev/null +++ b/contracts/test/storage/MockRollup-old @@ -0,0 +1,11 @@ + +╭-----------------------+---------------------------------------+------+--------+-------+-----------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++=================================================================================================================================+ +| eigenDAServiceManager | contract IEigenDAServiceManager | 0 | 0 | 20 | test/rollupV1/MockRollup.sol:MockRollup | +|-----------------------+---------------------------------------+------+--------+-------+-----------------------------------------| +| tau | struct BN254.G1Point | 1 | 0 | 64 | test/rollupV1/MockRollup.sol:MockRollup | +|-----------------------+---------------------------------------+------+--------+-------+-----------------------------------------| +| commitments | mapping(uint256 => struct Commitment) | 3 | 0 | 32 | test/rollupV1/MockRollup.sol:MockRollup | +╰-----------------------+---------------------------------------+------+--------+-------+-----------------------------------------╯ + diff --git a/contracts/test/storage/OperatorStateRetriever b/contracts/test/storage/OperatorStateRetriever new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/OperatorStateRetriever @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/OperatorStateRetriever-old b/contracts/test/storage/OperatorStateRetriever-old new file mode 100644 index 0000000000..1ec5dc0797 --- /dev/null +++ b/contracts/test/storage/OperatorStateRetriever-old @@ -0,0 +1,6 @@ + +╭------+------+------+--------+-------+----------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++================================================+ +╰------+------+------+--------+-------+----------╯ + diff --git a/contracts/test/storage/PaymentVault b/contracts/test/storage/PaymentVault new file mode 100644 index 0000000000..bf3c916b35 --- /dev/null +++ b/contracts/test/storage/PaymentVault @@ -0,0 +1,35 @@ + +╭---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++===========================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| _owner | address | 51 | 0 | 20 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| minNumSymbols | uint64 | 101 | 0 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| pricePerSymbol | uint64 | 101 | 8 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| priceUpdateCooldown | uint64 | 101 | 16 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| lastPriceUpdateTime | uint64 | 101 | 24 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| globalSymbolsPerPeriod | uint64 | 102 | 0 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| reservationPeriodInterval | uint64 | 102 | 8 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| globalRatePeriodInterval | uint64 | 102 | 16 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| reservations | mapping(address => struct IPaymentVault.Reservation) | 103 | 0 | 32 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| onDemandPayments | mapping(address => struct IPaymentVault.OnDemandPayment) | 104 | 0 | 32 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| __GAP | uint256[46] | 105 | 0 | 1472 | src/payments/PaymentVault.sol:PaymentVault | +╰---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------╯ + diff --git a/contracts/test/storage/PaymentVault-old b/contracts/test/storage/PaymentVault-old new file mode 100644 index 0000000000..bf3c916b35 --- /dev/null +++ b/contracts/test/storage/PaymentVault-old @@ -0,0 +1,35 @@ + +╭---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++===========================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| __gap | uint256[50] | 1 | 0 | 1600 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| _owner | address | 51 | 0 | 20 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| __gap | uint256[49] | 52 | 0 | 1568 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| minNumSymbols | uint64 | 101 | 0 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| pricePerSymbol | uint64 | 101 | 8 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| priceUpdateCooldown | uint64 | 101 | 16 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| lastPriceUpdateTime | uint64 | 101 | 24 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| globalSymbolsPerPeriod | uint64 | 102 | 0 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| reservationPeriodInterval | uint64 | 102 | 8 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| globalRatePeriodInterval | uint64 | 102 | 16 | 8 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| reservations | mapping(address => struct IPaymentVault.Reservation) | 103 | 0 | 32 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| onDemandPayments | mapping(address => struct IPaymentVault.OnDemandPayment) | 104 | 0 | 32 | src/payments/PaymentVault.sol:PaymentVault | +|---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------| +| __GAP | uint256[46] | 105 | 0 | 1472 | src/payments/PaymentVault.sol:PaymentVault | +╰---------------------------+----------------------------------------------------------+------+--------+-------+--------------------------------------------╯ + diff --git a/contracts/test/storage/RegistryCoordinator b/contracts/test/storage/RegistryCoordinator new file mode 100644 index 0000000000..745ce39e57 --- /dev/null +++ b/contracts/test/storage/RegistryCoordinator @@ -0,0 +1,45 @@ + +╭-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++====================================================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| pauserRegistry | contract IPauserRegistry | 0 | 2 | 20 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _paused | uint256 | 1 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| __gap | uint256[48] | 2 | 0 | 1536 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| __gap | uint256[50] | 50 | 0 | 1600 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _owner | address | 100 | 0 | 20 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| __gap | uint256[49] | 101 | 0 | 1568 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| quorumCount | uint8 | 150 | 0 | 1 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _quorumParams | mapping(uint8 => struct IRegistryCoordinator.OperatorSetParam) | 151 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _operatorBitmapHistory | mapping(bytes32 => struct IRegistryCoordinator.QuorumBitmapUpdate[]) | 152 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _operatorInfo | mapping(address => struct IRegistryCoordinator.OperatorInfo) | 153 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| isChurnApproverSaltUsed | mapping(bytes32 => bool) | 154 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| quorumUpdateBlockNumber | mapping(uint8 => uint256) | 155 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| registries | address[] | 156 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| churnApprover | address | 157 | 0 | 20 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| ejector | address | 158 | 0 | 20 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| lastEjectionTimestamp | mapping(address => uint256) | 159 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| ejectionCooldown | uint256 | 160 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| __GAP | uint256[39] | 161 | 0 | 1248 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +╰-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------╯ + diff --git a/contracts/test/storage/RegistryCoordinator-old b/contracts/test/storage/RegistryCoordinator-old new file mode 100644 index 0000000000..745ce39e57 --- /dev/null +++ b/contracts/test/storage/RegistryCoordinator-old @@ -0,0 +1,45 @@ + +╭-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++====================================================================================================================================================================================================+ +| _initialized | uint8 | 0 | 0 | 1 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _initializing | bool | 0 | 1 | 1 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| pauserRegistry | contract IPauserRegistry | 0 | 2 | 20 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _paused | uint256 | 1 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| __gap | uint256[48] | 2 | 0 | 1536 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| __gap | uint256[50] | 50 | 0 | 1600 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _owner | address | 100 | 0 | 20 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| __gap | uint256[49] | 101 | 0 | 1568 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| quorumCount | uint8 | 150 | 0 | 1 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _quorumParams | mapping(uint8 => struct IRegistryCoordinator.OperatorSetParam) | 151 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _operatorBitmapHistory | mapping(bytes32 => struct IRegistryCoordinator.QuorumBitmapUpdate[]) | 152 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| _operatorInfo | mapping(address => struct IRegistryCoordinator.OperatorInfo) | 153 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| isChurnApproverSaltUsed | mapping(bytes32 => bool) | 154 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| quorumUpdateBlockNumber | mapping(uint8 => uint256) | 155 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| registries | address[] | 156 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| churnApprover | address | 157 | 0 | 20 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| ejector | address | 158 | 0 | 20 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| lastEjectionTimestamp | mapping(address => uint256) | 159 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| ejectionCooldown | uint256 | 160 | 0 | 32 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +|-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------| +| __GAP | uint256[39] | 161 | 0 | 1248 | lib/eigenlayer-middleware/src/RegistryCoordinator.sol:RegistryCoordinator | +╰-------------------------+----------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------------------╯ + diff --git a/contracts/test/storage/SocketRegistry b/contracts/test/storage/SocketRegistry new file mode 100644 index 0000000000..60a821e4d6 --- /dev/null +++ b/contracts/test/storage/SocketRegistry @@ -0,0 +1,7 @@ + +╭--------------------+----------------------------+------+--------+-------+-----------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++===========================================================================================================================================+ +| operatorIdToSocket | mapping(bytes32 => string) | 0 | 0 | 32 | lib/eigenlayer-middleware/src/SocketRegistry.sol:SocketRegistry | +╰--------------------+----------------------------+------+--------+-------+-----------------------------------------------------------------╯ + diff --git a/contracts/test/storage/SocketRegistry-old b/contracts/test/storage/SocketRegistry-old new file mode 100644 index 0000000000..60a821e4d6 --- /dev/null +++ b/contracts/test/storage/SocketRegistry-old @@ -0,0 +1,7 @@ + +╭--------------------+----------------------------+------+--------+-------+-----------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++===========================================================================================================================================+ +| operatorIdToSocket | mapping(bytes32 => string) | 0 | 0 | 32 | lib/eigenlayer-middleware/src/SocketRegistry.sol:SocketRegistry | +╰--------------------+----------------------------+------+--------+-------+-----------------------------------------------------------------╯ + diff --git a/contracts/test/storage/StakeRegistry b/contracts/test/storage/StakeRegistry new file mode 100644 index 0000000000..c0995176d9 --- /dev/null +++ b/contracts/test/storage/StakeRegistry @@ -0,0 +1,17 @@ + +╭-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++===========================================================================================================================================================================================+ +| minimumStakeForQuorum | mapping(uint8 => uint96) | 0 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| _totalStakeHistory | mapping(uint8 => struct IStakeRegistry.StakeUpdate[]) | 1 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| operatorStakeHistory | mapping(bytes32 => mapping(uint8 => struct IStakeRegistry.StakeUpdate[])) | 2 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| strategyParams | mapping(uint8 => struct IStakeRegistry.StrategyParams[]) | 3 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| strategiesPerQuorum | mapping(uint8 => contract IStrategy[]) | 4 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| __GAP | uint256[45] | 5 | 0 | 1440 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +╰-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------╯ + diff --git a/contracts/test/storage/StakeRegistry-old b/contracts/test/storage/StakeRegistry-old new file mode 100644 index 0000000000..c0995176d9 --- /dev/null +++ b/contracts/test/storage/StakeRegistry-old @@ -0,0 +1,17 @@ + +╭-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------╮ +| Name | Type | Slot | Offset | Bytes | Contract | ++===========================================================================================================================================================================================+ +| minimumStakeForQuorum | mapping(uint8 => uint96) | 0 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| _totalStakeHistory | mapping(uint8 => struct IStakeRegistry.StakeUpdate[]) | 1 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| operatorStakeHistory | mapping(bytes32 => mapping(uint8 => struct IStakeRegistry.StakeUpdate[])) | 2 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| strategyParams | mapping(uint8 => struct IStakeRegistry.StrategyParams[]) | 3 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| strategiesPerQuorum | mapping(uint8 => contract IStrategy[]) | 4 | 0 | 32 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +|-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------| +| __GAP | uint256[45] | 5 | 0 | 1440 | lib/eigenlayer-middleware/src/StakeRegistry.sol:StakeRegistry | +╰-----------------------+---------------------------------------------------------------------------+------+--------+-------+---------------------------------------------------------------╯ +