.PHONY: mock_abi libzstd rollup_bins event_watcher gas_oracle rollup_relayer test lint clean docker IMAGE_VERSION=latest REPO_ROOT_DIR=./.. LIBSCROLL_ZSTD_VERSION=v0.0.0-rc0-ubuntu20.04 SCROLL_LIB_PATH=/scroll/lib mock_abi: cd .. && solc --evm-version cancun --bin --abi --optimize --overwrite -o ./build/bin ./rollup/mock_bridge/MockBridge.sol cd .. && go run github.com/scroll-tech/go-ethereum/cmd/abigen --bin=./build/bin/MockBridge.bin --abi=./build/bin/MockBridge.abi --pkg=mock_bridge --out=./rollup/mock_bridge/MockBridge.go libzstd: sudo mkdir -p $(SCROLL_LIB_PATH)/ sudo wget -O $(SCROLL_LIB_PATH)/libzktrie.so https://github.com/scroll-tech/da-codec/releases/download/v0.0.0-rc0-ubuntu20.04/libzktrie.so sudo wget -O $(SCROLL_LIB_PATH)/libscroll_zstd.so https://github.com/scroll-tech/da-codec/releases/download/v0.0.0-rc0-ubuntu20.04/libscroll_zstd.so rollup_bins: libzstd ## Builds the Rollup bins. export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(SCROLL_LIB_PATH) && \ export CGO_LDFLAGS="-L$(SCROLL_LIB_PATH) -Wl,-rpath,$(SCROLL_LIB_PATH)" && \ go build -o $(PWD)/build/bin/event_watcher ./cmd/event_watcher/ export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(SCROLL_LIB_PATH) && \ export CGO_LDFLAGS="-L$(SCROLL_LIB_PATH) -Wl,-rpath,$(SCROLL_LIB_PATH)" && \ go build -o $(PWD)/build/bin/gas_oracle ./cmd/gas_oracle/ export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(SCROLL_LIB_PATH) && \ export CGO_LDFLAGS="-L$(SCROLL_LIB_PATH) -Wl,-rpath,$(SCROLL_LIB_PATH)" && \ go build -o $(PWD)/build/bin/rollup_relayer ./cmd/rollup_relayer/ event_watcher: ## Builds the event_watcher bin go build -o $(PWD)/build/bin/event_watcher ./cmd/event_watcher/ gas_oracle: ## Builds the gas_oracle bin go build -o $(PWD)/build/bin/gas_oracle ./cmd/gas_oracle/ rollup_relayer: ## Builds the rollup_relayer bin go build -o $(PWD)/build/bin/rollup_relayer ./cmd/rollup_relayer/ test: go test -v -race -coverprofile=coverage.txt -covermode=atomic -p 1 $(PWD)/... lint: mock_abi ## Lint the files - used for CI GOBIN=$(PWD)/build/bin go run ../build/lint.go clean: ## Empty out the bin folder @rm -rf build/bin docker_push: docker push scrolltech/gas-oracle:${IMAGE_VERSION} docker push scrolltech/event-watcher:${IMAGE_VERSION} docker push scrolltech/rollup-relayer:${IMAGE_VERSION} docker: DOCKER_BUILDKIT=1 docker build -t scrolltech/gas-oracle:${IMAGE_VERSION} ${REPO_ROOT_DIR}/ -f ${REPO_ROOT_DIR}/build/dockerfiles/gas_oracle.Dockerfile DOCKER_BUILDKIT=1 docker build -t scrolltech/event-watcher:${IMAGE_VERSION} ${REPO_ROOT_DIR}/ -f ${REPO_ROOT_DIR}/build/dockerfiles/event_watcher.Dockerfile DOCKER_BUILDKIT=1 docker build -t scrolltech/rollup-relayer:${IMAGE_VERSION} ${REPO_ROOT_DIR}/ -f ${REPO_ROOT_DIR}/build/dockerfiles/rollup_relayer.Dockerfile