From fc1075ae11133e29a9e80fb121c928e7d89cf72c Mon Sep 17 00:00:00 2001 From: Russell Bunch Date: Mon, 20 Oct 2025 21:22:31 -0500 Subject: [PATCH 1/4] Support BSD `sed` This changes the code to handle running with either GNU or BSD `sed`. macOS uses BSD `sed`, which expect an argument to be passed to `-i` unlike GNU `sed` which does not. --- sanitizeEnv.sh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sanitizeEnv.sh b/sanitizeEnv.sh index dbd2904f..9998a423 100644 --- a/sanitizeEnv.sh +++ b/sanitizeEnv.sh @@ -12,10 +12,16 @@ RESET="\033[0m" function sanitize() { FILE_NAME=$1 - sed -i "s/^PRIVATE_KEY=.*/PRIVATE_KEY=$PRIVATE_KEY/" "$FILE_NAME" - sed -i "s/^WORLD_ADDRESS=.*/WORLD_ADDRESS=$WORLD_ADDRESS #Local World Address/" "$FILE_NAME" - sed -i "s/^CHAIN_ID=.*/CHAIN_ID=$CHAIN_ID #Local Chain ID/" "$FILE_NAME" - sed -i "s|^RPC_URL=.*|RPC_URL=$RPC_URL #Forked Anvil Forked Anvil Local RPC Url|" "$FILE_NAME" + OS=$(uname) + if [ "${OS:-}" = "Darwin" ]; then + set -- -i '' + else + set -- -i + fi + sed "$@" "s/^PRIVATE_KEY=.*/PRIVATE_KEY=$PRIVATE_KEY/" "$FILE_NAME" + sed "$@" "s/^WORLD_ADDRESS=.*/WORLD_ADDRESS=$WORLD_ADDRESS #Local World Address/" "$FILE_NAME" + sed "$@" "s/^CHAIN_ID=.*/CHAIN_ID=$CHAIN_ID #Local Chain ID/" "$FILE_NAME" + sed "$@" "s|^RPC_URL=.*|RPC_URL=$RPC_URL #Forked Anvil Forked Anvil Local RPC Url|" "$FILE_NAME" printf "\n${GREEN}[SANITIZED]${RESET} file ${YELLOW}${FILE_NAME}${RESET}\n\n" } From 184a74e6655b5428c84dec7c026dbebbe439f10b Mon Sep 17 00:00:00 2001 From: Russell Bunch Date: Mon, 20 Oct 2025 21:23:09 -0500 Subject: [PATCH 2/4] shellcheck `printf` SC2059 'Don't use variables in the printf format string. Use printf '..%s..' "$foo"' --- sanitizeEnv.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sanitizeEnv.sh b/sanitizeEnv.sh index 9998a423..9f378706 100644 --- a/sanitizeEnv.sh +++ b/sanitizeEnv.sh @@ -23,7 +23,7 @@ function sanitize() { sed "$@" "s/^CHAIN_ID=.*/CHAIN_ID=$CHAIN_ID #Local Chain ID/" "$FILE_NAME" sed "$@" "s|^RPC_URL=.*|RPC_URL=$RPC_URL #Forked Anvil Forked Anvil Local RPC Url|" "$FILE_NAME" - printf "\n${GREEN}[SANITIZED]${RESET} file ${YELLOW}${FILE_NAME}${RESET}\n\n" + printf "\n%b[SANITIZED]%b file %b%s%b\n\n" "${GREEN}" "${RESET}" "${YELLOW}" "${FILE_NAME}" "${RESET}" } sanitize "smart-gate/packages/contracts/.env" From b4250575f7681d2dc67a99ec208576297e1092a8 Mon Sep 17 00:00:00 2001 From: Russell Bunch Date: Mon, 20 Oct 2025 21:24:28 -0500 Subject: [PATCH 3/4] Return early if file does not exist --- sanitizeEnv.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sanitizeEnv.sh b/sanitizeEnv.sh index 9f378706..00a7f40b 100644 --- a/sanitizeEnv.sh +++ b/sanitizeEnv.sh @@ -18,6 +18,10 @@ function sanitize() { else set -- -i fi + if [ ! -f "$FILE_NAME" ]; then + printf "\n%b[NOOP]%b file %b%s%b does not exist. Skipping...\n\n" "${GREEN}" "${RESET}" "${GREEN}" "${FILE_NAME}" "${RESET}" + return + fi sed "$@" "s/^PRIVATE_KEY=.*/PRIVATE_KEY=$PRIVATE_KEY/" "$FILE_NAME" sed "$@" "s/^WORLD_ADDRESS=.*/WORLD_ADDRESS=$WORLD_ADDRESS #Local World Address/" "$FILE_NAME" sed "$@" "s/^CHAIN_ID=.*/CHAIN_ID=$CHAIN_ID #Local Chain ID/" "$FILE_NAME" From 4f978757a003f50422680da4a19e19f3ceada47d Mon Sep 17 00:00:00 2001 From: Russell Bunch Date: Wed, 22 Oct 2025 22:51:08 -0500 Subject: [PATCH 4/4] Fix quotes in `sed` calls Prevent special characters from causing issues in the `sed` replacements. --- sanitizeEnv.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sanitizeEnv.sh b/sanitizeEnv.sh index 00a7f40b..188d9892 100644 --- a/sanitizeEnv.sh +++ b/sanitizeEnv.sh @@ -22,10 +22,10 @@ function sanitize() { printf "\n%b[NOOP]%b file %b%s%b does not exist. Skipping...\n\n" "${GREEN}" "${RESET}" "${GREEN}" "${FILE_NAME}" "${RESET}" return fi - sed "$@" "s/^PRIVATE_KEY=.*/PRIVATE_KEY=$PRIVATE_KEY/" "$FILE_NAME" - sed "$@" "s/^WORLD_ADDRESS=.*/WORLD_ADDRESS=$WORLD_ADDRESS #Local World Address/" "$FILE_NAME" - sed "$@" "s/^CHAIN_ID=.*/CHAIN_ID=$CHAIN_ID #Local Chain ID/" "$FILE_NAME" - sed "$@" "s|^RPC_URL=.*|RPC_URL=$RPC_URL #Forked Anvil Forked Anvil Local RPC Url|" "$FILE_NAME" + sed "$@" 's/^PRIVATE_KEY=.*/PRIVATE_KEY='"$PRIVATE_KEY"'/' "$FILE_NAME" + sed "$@" 's/^WORLD_ADDRESS=.*/WORLD_ADDRESS='"$WORLD_ADDRESS"' #Local World Address/' "$FILE_NAME" + sed "$@" 's/^CHAIN_ID=.*/CHAIN_ID='"$CHAIN_ID"' #Local Chain ID/' "$FILE_NAME" + sed "$@" 's|^RPC_URL=.*|RPC_URL='"$RPC_URL"' #Forked Anvil Forked Anvil Local RPC Url|' "$FILE_NAME" printf "\n%b[SANITIZED]%b file %b%s%b\n\n" "${GREEN}" "${RESET}" "${YELLOW}" "${FILE_NAME}" "${RESET}" }