This PR lays the groundwork for integration tests. It refactors the periphery contract deployment logic into a reusable DeployHelper script to be used in integration tests.
Key changes include:
Updated forge-std submodule: The previous version lacked the functionality required by openzeppelin-foundry-upgrades.
Added openzeppelin-foundry-upgrades submodule: Required for the StorageLayoutCheck script.
Introduced StorageLayoutCheck: A helper contract to ensure the storage layout is compatible with contract upgrades (inherited by DeployHelper).
Created DeployHelper: This script contains reusable logic for deploying periphery contracts, which will be used in integration tests.
Refactored Main.s.sol: The deployment script now inherits DeployHelper.
Test Plan:
The updated deploy script was tested by deploying the periphery contracts on the testnet. All contracts were successfully deployed through the script, confirming it operates as expected.
Description:
This PR lays the groundwork for integration tests. It refactors the periphery contract deployment logic into a reusable
DeployHelper
script to be used in integration tests.Key changes include:
forge-std
submodule: The previous version lacked the functionality required byopenzeppelin-foundry-upgrades
.openzeppelin-foundry-upgrades
submodule: Required for theStorageLayoutCheck
script.StorageLayoutCheck
: A helper contract to ensure the storage layout is compatible with contract upgrades (inherited byDeployHelper
).DeployHelper
: This script contains reusable logic for deploying periphery contracts, which will be used in integration tests.Main.s.sol
: The deployment script now inheritsDeployHelper
.Test Plan:
The updated deploy script was tested by deploying the periphery contracts on the testnet. All contracts were successfully deployed through the script, confirming it operates as expected.
Related Issue: