#!/bin/bash set -eu if [[ "$OSTYPE" == "darwin"* ]]; then PARAMS_DIR="$HOME/Library/Application Support/ZcashParams" else PARAMS_DIR="$HOME/.zcash-params" fi SPROUT_PKEY_NAME='sprout-proving.key' SPROUT_VKEY_NAME='sprout-verifying.key' SPROUT_PKEY_URL="https://z.cash/downloads/$SPROUT_PKEY_NAME" SPROUT_VKEY_URL="https://z.cash/downloads/$SPROUT_VKEY_NAME" SHA256CMD="$(command -v sha256sum || echo shasum)" SHA256ARGS="$(command -v sha256sum >/dev/null || echo '-a 256')" function fetch_params { local url="$1" local output="$2" local dlname="${output}.dl" local expectedhash="$3" if ! [ -f "$output" ]; then echo "Retrieving: $url" if [[ $(sw_vers -productName) == "Mac OS X" ]]; then curl \ --output "$dlname" \ -# -L -C - \ "$url" else wget \ --progress=dot:giga \ --output-document="$dlname" \ --continue \ --retry-connrefused --waitretry=3 --timeout=30 \ "$url" fi "$SHA256CMD" $SHA256ARGS -c </$lockfile" # acquire the lock flock -n 200 \ && return 0 \ || return 1 } function exit_locked_error { echo "Only one instance of fetch-params.sh can be run at a time." >&2 #exit 1 } function main() { lock fetch-params.sh \ || exit_locked_error cat <> "$README_PATH" <