Files
lmsr-amm/bin/mock
2025-09-15 15:15:12 -04:00

44 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
CODE_SIZE_LIMIT=65000
PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
# Function to cleanup processes
cleanup() {
kill $ANVIL_PID 2>/dev/null
}
# Set up trap to handle script exit
trap cleanup EXIT
# Create log directory if it doesn't exist
mkdir -p log
# Run anvil in background and redirect output to log file
anvil --code-size-limit ${CODE_SIZE_LIMIT} | tee log/anvil.txt &
ANVIL_PID=$!
# Function to check if string exists in file
check_string() {
grep -q "$1" "$2"
return $?
}
# Wait for anvil to start (max 30 seconds)
echo "Waiting for anvil to start..."
counter=0
while ! check_string "Listening on" "log/anvil.txt"; do
sleep 1
counter=$((counter + 1))
if [ $counter -ge 5 ]; then
echo "Timeout waiting for anvil to start"
exit 1
fi
done
forge script --code-size-limit ${CODE_SIZE_LIMIT} --private-key ${PRIVATE_KEY} DeployMock --fork-url http://localhost:8545 --broadcast "$@"
echo "Press Ctrl+C to exit..."
while true; do
sleep 1
done