Skip to content

Commit

Permalink
Add make cmd for devnet alloc
Browse files Browse the repository at this point in the history
  • Loading branch information
pcw109550 committed Apr 17, 2024
1 parent 1068279 commit b5827dc
Showing 1 changed file with 51 additions and 2 deletions.
53 changes: 51 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
MONOREPO_ROOT=./rvsol/lib/optimism

build-rvgo:
make -C ./rvgo build
.PHONY: build-rvgo
Expand Down Expand Up @@ -63,10 +65,57 @@ fuzz-mac:
fuzz \
fuzz-mac

OP_PROGRAM_PATH ?= ./op-program-client-riscv.elf
OP_PROGRAM_PATH ?= $(MONOREPO_ROOT)/op-program/bin-riscv/op-program-client-riscv.elf

prestate: build-rvgo
prestate: build-rvgo op-program-riscv
./rvgo/bin/asterisc load-elf --path $(OP_PROGRAM_PATH) --out ./rvgo/bin/prestate.json --meta ./rvgo/bin/meta.json
./rvgo/bin/asterisc run --proof-at '=0' --stop-at '=1' --input ./rvgo/bin/prestate.json --meta ./rvgo/bin/meta.json --proof-fmt './rvgo/bin/%d.json' --output ""
mv ./rvgo/bin/0.json ./rvgo/bin/prestate-proof.json
.PHONY: prestate

op-program-riscv:
rm -rf $(MONOREPO_ROOT)/op-program/bin-riscv $(MONOREPO_ROOT)/op-program/bin
make -C $(MONOREPO_ROOT)/op-program op-program-client-riscv
mv $(MONOREPO_ROOT)/op-program/bin $(MONOREPO_ROOT)/op-program/bin-riscv
.PHONY: op-program

devnet-allocs-monorepo:
make -C $(MONOREPO_ROOT) devnet-allocs
.PHONY: devnet-allocs-monorepo

devnet-allocs: devnet-allocs-monorepo
cp -r $(MONOREPO_ROOT)/.devnet .devnet
mkdir -p packages/contracts-bedrock
cp -r $(MONOREPO_ROOT)/packages/contracts-bedrock/deploy-config packages/contracts-bedrock
mkdir -p packages/contracts-bedrock/deployments/devnetL1
cp -r $(MONOREPO_ROOT)/packages/contracts-bedrock/deployments/devnetL1 packages/contracts-bedrock/deployments
# Patch L1 Allocs
jq .accounts .devnet/allocs-l1.json > /tmp/allocs-l1-patched.json
# Generate L1 Allocs including asterisc
# copy everything locally due to foundry permission issues
cp ./rvgo/bin/prestate-proof.json ./rvsol/prestate-proof.json
cp packages/contracts-bedrock/deployments/devnetL1/.deploy ./rvsol/.deploy
cp packages/contracts-bedrock/deploy-config/devnetL1.json ./rvsol/devnetL1.json
cp /tmp/allocs-l1-patched.json ./rvsol/allocs-l1-patched.json
cd ./rvsol && ASTERISC_PRESTATE=./prestate-proof.json \
TARGET_L2_DEPLOYMENT_FILE=./.deploy \
TARGET_L2_DEPLOY_CONFIG=./devnetL1.json \
TARGET_L1_ALLOC=./allocs-l1-patched.json \
DEPLOYMENT_OUTFILE=./deployments/devnetL1/.deploy \
STATE_DUMP_PATH=./allocs-l1-asterisc.json \
./scripts/create_poststate_after_deployment.sh
# Create address.json
jq -s '.[0] * .[1]' ./rvsol/.deploy ./rvsol/./deployments/devnetL1/.deploy | tee .devnet/addresses.json
# Patch L1 Allocs: we need json as the form {"accounts": ... } for op-e2e
jq '{accounts: .}' ./rvsol/allocs-l1-asterisc.json > .devnet/allocs-l1.json
# Patch .deploy
cp .devnet/addresses.json packages/contracts-bedrock/deployments/devnetL1/.deploy
# Remove tmps
cd rvsol && rm -rf prestate-proof.json .deploy devnetL1.json allocs-l1-patched.json deployments ./allocs-l1-asterisc.json
.PHONY: devnet-allocs

devnet-clean:
rm -rf .devnet
rm -rf packages/contracts-bedrock/deployments
rm -rf packages/contracts-bedrock/deploy-config
.PHONY: devnet-clean

0 comments on commit b5827dc

Please sign in to comment.