66 lines
2.8 KiB
Makefile
66 lines
2.8 KiB
Makefile
SHELL := /bin/bash
|
|
.SHELLFLAGS := -euo pipefail -c
|
|
|
|
RPC_LOCAL := http://127.0.0.1:8545
|
|
ANVIL_OWNER := 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
|
|
ANVIL_ALICE := 0x70997970C51812dc3A010C7d01b50e0d17dc79C8
|
|
|
|
.PHONY: doctor setup demo-local verify check-state reset-local deploy-v1 seed-v1 upgrade-v2 demo-transfer sync-artifacts sync-artifacts-check sync-abis publish-web-manifest test-finalize-manifest
|
|
doctor:
|
|
@bash tools/doctor.sh
|
|
setup:
|
|
@git submodule update --init --recursive
|
|
@npm ci
|
|
@npm --prefix web ci
|
|
verify:
|
|
@forge fmt --check
|
|
@forge clean
|
|
@npm_config_offline=true forge build --force
|
|
@node tools/sync-web-artifacts.mjs
|
|
@node tools/sync-web-artifacts.mjs --check
|
|
@node tools/check-upgrades-cli.mjs
|
|
@npm_config_offline=true forge test --force
|
|
@node tools/test-finalize-manifest.mjs
|
|
@node tools/test-sync-web-artifacts.mjs
|
|
@bash tools/test-process-safety.sh
|
|
@bash tools/test-scan-project.sh
|
|
@bash tools/scan-project.sh
|
|
@npm --prefix web run lint
|
|
@npm --prefix web run typecheck
|
|
@npm --prefix web test
|
|
@npm --prefix web run build
|
|
demo-local:
|
|
@bash tools/demo-local.sh
|
|
reset-local:
|
|
@bash tools/reset-local.sh
|
|
test-finalize-manifest:
|
|
@node tools/test-finalize-manifest.mjs
|
|
sync-abis:
|
|
@node tools/sync-web-artifacts.mjs
|
|
publish-web-manifest:
|
|
@node tools/publish-web-manifest.mjs
|
|
sync-artifacts: sync-abis publish-web-manifest
|
|
sync-artifacts-check:
|
|
@node tools/test-sync-web-artifacts.mjs
|
|
@node tools/sync-web-artifacts.mjs
|
|
@node tools/sync-web-artifacts.mjs --check
|
|
deploy-v1:
|
|
@node tools/finalize-manifest.mjs preflight-deploy anvil
|
|
@SCRIPT_SENDER=$(ANVIL_OWNER) DEPLOYMENT_MANIFEST_PATH=deployments/pending.json npm_config_offline=true forge script script/DeployV1.s.sol:DeployV1 --rpc-url $(RPC_LOCAL) --sender $(ANVIL_OWNER) --broadcast --force
|
|
@DEPLOYMENT_MANIFEST_PATH=deployments/pending.json DEMO_EXPECTED_STAGE=deployed forge script script/CheckState.s.sol:CheckState --rpc-url $(RPC_LOCAL) --force
|
|
@node tools/finalize-manifest.mjs deploy --rpc-url $(RPC_LOCAL)
|
|
@node tools/select-manifest.mjs anvil
|
|
seed-v1:
|
|
@forge script script/SeedV1Demo.s.sol:SeedV1Demo --rpc-url $(RPC_LOCAL) --broadcast --force
|
|
upgrade-v2:
|
|
@SCRIPT_SENDER=$(ANVIL_OWNER) DEPLOYMENT_MANIFEST_PATH=deployments/upgrade-pending.json npm_config_offline=true forge script script/UpgradeV2.s.sol:UpgradeV2 --rpc-url $(RPC_LOCAL) --sender $(ANVIL_OWNER) --broadcast --force
|
|
@node tools/finalize-manifest.mjs upgrade --rpc-url $(RPC_LOCAL)
|
|
@DEMO_EXPECTED_STAGE=invariants forge script script/CheckState.s.sol:CheckState --rpc-url $(RPC_LOCAL) --force
|
|
@node tools/sync-web-artifacts.mjs
|
|
@node tools/publish-web-manifest.mjs
|
|
demo-transfer:
|
|
@forge script script/TransferV2Demo.s.sol:TransferV2Demo --rpc-url $(RPC_LOCAL) --sender $(ANVIL_ALICE) --broadcast --force
|
|
@DEMO_EXPECTED_STAGE=v2 $(MAKE) check-state
|
|
check-state:
|
|
@forge script script/CheckState.s.sol:CheckState --rpc-url $(RPC_LOCAL) --force
|