Commit 0347c9b3 authored by refcell.eth's avatar refcell.eth Committed by GitHub

Merge pull request #8303 from ethereum-optimism/ctb/cleanup-snapshots

contracts-bedrock: migrate to new storage snapshot
parents 04d22e1e d0868aff
......@@ -423,12 +423,6 @@ jobs:
FOUNDRY_PROFILE: ci
working_directory: packages/contracts-bedrock
no_output_timeout: 15m
- run:
name: storage snapshot
command: |
pnpm storage-snapshot
git diff --exit-code .storage-layout || echo "export STORAGE_SNAPSHOT_STATUS=1" >> "$BASH_ENV"
working_directory: packages/contracts-bedrock
- run:
name: invariant docs
command: |
......@@ -436,13 +430,13 @@ jobs:
git diff --exit-code ./invariant-docs/*.md || echo "export INVARIANT_DOCS_STATUS=1" >> "$BASH_ENV"
working_directory: packages/contracts-bedrock
- run:
name: abi snapshot
name: snapshots
command: |
pnpm abi-snapshot
pnpm snapshots
if [ "$(git diff --exit-code snapshots)" ]; then
[ -z "$(git ls-files --others --exclude-standard snapshots)" ] || echo "export ABI_SNAPSHOT_STATUS=1" >> "$BASH_ENV"
[ -z "$(git ls-files --others --exclude-standard snapshots)" ] || echo "export SNAPSHOTS_STATUS=1" >> "$BASH_ENV"
else
echo "export ABI_SNAPSHOT_STATUS=1" >> "$BASH_ENV"
echo "export SNAPSHOTS_STATUS=1" >> "$BASH_ENV"
fi
working_directory: packages/contracts-bedrock
- run:
......@@ -456,10 +450,6 @@ jobs:
FAILED=1
echo "Gas snapshot failed, see job output for details."
fi
if [[ "$STORAGE_SNAPSHOT_STATUS" -ne 0 ]]; then
echo "Storage snapshot failed, see job output for details."
FAILED=1
fi
if [[ "$SEMVER_LOCK_STATUS" -ne 0 ]]; then
echo "Semver lock failed, see job output for details."
FAILED=1
......@@ -472,8 +462,8 @@ jobs:
echo "Deploy config check failed, see job output for details."
FAILED=1
fi
if [[ "$ABI_SNAPSHOT_STATUS" -ne 0 ]]; then
echo "ABI snapshot check failed, see job output for details."
if [[ "$SNAPSHOTS_STATUS" -ne 0 ]]; then
echo "Snapshots check failed, see job output for details."
FAILED=1
fi
if [[ "$FAILED" -ne 0 ]]; then
......
......@@ -25,8 +25,7 @@
"gas-snapshot:no-build": "forge snapshot --match-contract GasBenchMark",
"statediff": "./scripts/statediff.sh && git diff --exit-code",
"gas-snapshot": "pnpm build:go-ffi && pnpm gas-snapshot:no-build",
"storage-snapshot": "./scripts/storage-snapshot.sh",
"abi-snapshot": "npx tsx scripts/generate-snapshots.ts",
"snapshots": "npx tsx scripts/generate-snapshots.ts",
"slither": "./scripts/slither.sh",
"slither:check": "./scripts/slither.sh && git diff --exit-code",
"slither:triage": "TRIAGE_MODE=1 ./scripts/slither.sh",
......
#!/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=(
src/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
src/L1/L1StandardBridge.sol:L1StandardBridge
src/L1/L2OutputOracle.sol:L2OutputOracle
src/L1/OptimismPortal.sol:OptimismPortal
src/L1/SystemConfig.sol:SystemConfig
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
src/legacy/DeployerWhitelist.sol:DeployerWhitelist
src/L2/L1Block.sol:L1Block
src/legacy/L1BlockNumber.sol:L1BlockNumber
src/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
src/L2/L2StandardBridge.sol:L2StandardBridge
src/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser
src/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
src/L2/SequencerFeeVault.sol:SequencerFeeVault
src/L2/BaseFeeVault.sol:BaseFeeVault
src/L2/L1FeeVault.sol:L1FeeVault
src/L2/L2ERC721Bridge.sol:L2ERC721Bridge
src/vendor/WETH9.sol:WETH9
src/universal/ProxyAdmin.sol:ProxyAdmin
src/universal/Proxy.sol:Proxy
src/legacy/L1ChugSplashProxy.sol:L1ChugSplashProxy
src/universal/OptimismMintableERC20.sol:OptimismMintableERC20
src/universal/OptimismMintableERC20Factory.sol:OptimismMintableERC20Factory
src/dispute/DisputeGameFactory.sol:DisputeGameFactory
)
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