Commit 5c5d92d4 authored by Maurelian's avatar Maurelian Committed by GitHub

ci(bedrock): Add storage-snapshot script (#2829)

* ci(bedrock): Add storage-snapshot script

* bedrock: add populated storage layout

* Update config.yml
Co-authored-by: default avatarMatthew Slipper <me@matthewslipper.com>
Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
parent a0461090
......@@ -410,6 +410,10 @@ jobs:
forge --version
forge snapshot --check
working_directory: packages/contracts-bedrock
- run:
name: storage snapshot
command: yarn storage-snapshot && git diff --exit-code .storage-layout
working_directory: packages/contracts-bedrock
- run:
name: check go bindings
command: make && git diff --exit-code
......
This diff is collapsed.
......@@ -20,6 +20,7 @@
"build:ts": "tsc",
"test": "forge test",
"gas-snapshot": "forge snapshot",
"storage-snapshot": "./scripts/storage-snapshot.sh",
"slither": "slither .",
"clean": "rm -rf ./dist ./artifacts ./forge-artifacts ./cache ./coverage ./tsconfig.tsbuildinfo",
"lint:ts:check": "eslint . --max-warnings=0",
......
#!/usr/bin/env bash
set -e
if ! command -v forge &> /dev/null
then
echo "forge could not be found. Please install forge by running:"
echo "curl -L https://foundry.paradigm.xyz | bash"
exit
fi
contracts=(
L1CrossDomainMessenger
L1StandardBridge
L2OutputOracle
OptimismPortal
DeployerWhitelist
GasPriceOracle
L1Block
L1BlockNumber
L2CrossDomainMessenger
L2StandardBridge
L2ToL1MessagePasser
OVM_ETH
SequencerFeeVault
WETH9
ProxyAdmin
Proxy
L1ChugSplashProxy
OptimismMintableERC20
OptimismMintableTokenFactory
)
dir=$(dirname "$0")
echo "Creating storage layout diagrams.."
echo "=======================" > $dir/../.storage-layout
echo "👁👁 STORAGE LAYOUT snapshot 👁👁" >> $dir/../.storage-layout
echo "=======================" >> $dir/../.storage-layout
for contract in ${contracts[@]}
do
echo -e "\n=======================" >> $dir/../.storage-layout
echo "➡ $contract">> $dir/../.storage-layout
echo -e "=======================\n" >> $dir/../.storage-layout
forge inspect --pretty $contract storage-layout >> $dir/../.storage-layout
done
echo "Storage layout snapshot stored at $dir/../.storage-layout"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment