Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: include anvil-zksync in foundryup install script #765

Merged
merged 13 commits into from
Dec 10, 2024
63 changes: 57 additions & 6 deletions foundryup-zksync/foundryup-zksync
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,59 @@ EOF
fi
done

# Begin anvil-zksync installation
say "downloading anvil-zksync"

# Supported targets for anvil-zksync
SUPPORTED_TARGETS=(
dutterbutter marked this conversation as resolved.
Show resolved Hide resolved
"x86_64-apple-darwin"
"aarch64-apple-darwin"
"x86_64-unknown-linux-gnu"
"aarch64-unknown-linux-gnu"
)

if [ "$ARCHITECTURE" = "arm64" ]; then
ARCHITECTURE="aarch64"
fi

if [ "$PLATFORM" = "darwin" ]; then
TARGET="${ARCHITECTURE}-apple-${PLATFORM}"
elif [ "$PLATFORM" = "linux" ]; then
TARGET="${ARCHITECTURE}-unknown-${PLATFORM}-gnu"
else
TARGET="${ARCHITECTURE}-${PLATFORM}"
fi

if [[ " ${SUPPORTED_TARGETS[*]} " == *" $TARGET "* ]]; then
ANVIL_REPO="matter-labs/anvil-zksync"

say "getting latest tag for anvil-zksync"

ANVIL_TAG=$(curl -s https://api.github.com/repos/$ANVIL_REPO/releases/latest | sed -n 's/.*"tag_name": "\([^"]*\)".*/\1/p')

if [ -z "$ANVIL_TAG" ]; then
err "failed to get latest tag for anvil-zksync"
fi

ANVIL_BIN_NAME="anvil-zksync-${ANVIL_TAG}-${TARGET}.${EXT}"

ANVIL_BIN_URL="https://github.com/$ANVIL_REPO/releases/download/$ANVIL_TAG/$ANVIL_BIN_NAME"

ANVIL_BIN_PATH="$FOUNDRY_BIN_DIR/anvil-zksync"

say "downloading anvil-zksync from $ANVIL_BIN_URL"

ensure download "$ANVIL_BIN_URL" | ensure tar -xzC "$FOUNDRY_BIN_DIR"

mv "$FOUNDRY_BIN_DIR/anvil-zksync" "$ANVIL_BIN_PATH"

chmod +x "$ANVIL_BIN_PATH"

say "installed - $(ensure "$ANVIL_BIN_PATH" --version)"
else
warn "anvil-zksync is not supported on your platform ($TARGET). Skipping anvil-zksync installation."
fi

say "done!"

# Install by cloning the repo with the provided branch/tag
Expand Down Expand Up @@ -235,8 +288,6 @@ Update or revert to a specific Foundry-zksync version with ease.

By default, the latest nightly version is installed from built binaries.

By default, the latest nightly version is installed from built binaries.

USAGE:
foundryup-zksync <OPTIONS>

Expand All @@ -250,7 +301,7 @@ OPTIONS:
-p, --path Build and install a local repository
-j, --jobs Number of CPUs to use for building Foundry (default: all CPUs)
--arch Install a specific architecture (supports amd64 and arm64)
--platform Install a specific platform (supports win32, linux, and darwin)
dutterbutter marked this conversation as resolved.
Show resolved Hide resolved
--platform Install a specific platform (supports linux, and darwin)
EOF
}

Expand Down Expand Up @@ -313,19 +364,19 @@ banner() {
.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx

╔═╗ ╔═╗ ╦ ╦ β•”β•—β•” ╔╦╗ ╦═╗ ╦ ╦ Portable and modular toolkit
β• β•£ β•‘ β•‘ β•‘ β•‘ β•‘β•‘β•‘ β•‘β•‘ ╠╦╝ β•šβ•¦β• for Ethereum Application Development
β• β•£ β•‘ β•‘ β•‘ β•‘ β•‘β•‘β•‘ β•‘β•‘ ╠╦╝ β•šβ•¦β• for ZKsync Application Development
β•š β•šβ•β• β•šβ•β• β•β•šβ• ═╩╝ β•©β•šβ• β•© written in Rust.

.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx

Fork of : https://github.com/foundry-rs/
Repo : https://github.com/matter-labs/foundry-zksync/
Book : https://book.getfoundry.sh/
Book : https://foundry-book.zksync.io/

.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx

'
}

}

main "$@"
Loading