mirror of
https://github.com/lens-protocol/core.git
synced 2026-01-07 21:34:03 -05:00
98 lines
3.0 KiB
Bash
98 lines
3.0 KiB
Bash
source .env
|
|
|
|
set -e
|
|
|
|
SCRIPT_NAME=$1
|
|
TARGET=$2
|
|
CONFIRMATION_OVERRIDE=$3
|
|
CATAPULTA=$4
|
|
|
|
if [[ "$TARGET" == "" ]]
|
|
then
|
|
echo "No TARGET specified. Terminating"
|
|
exit 1
|
|
fi
|
|
echo "Using target: $TARGET"
|
|
|
|
NETWORK=$(node script/helpers/readNetwork.js $TARGET)
|
|
if [[ "$NETWORK" == "" ]]
|
|
then
|
|
echo "No network found for $TARGET environment target in addresses.json. Terminating"
|
|
exit 1
|
|
fi
|
|
echo "Using network: $NETWORK"
|
|
|
|
# If $CATAPULTA is defined, but it's not 'catapulta' then we exit with error
|
|
if [[ "$CATAPULTA" != "" && "$CATAPULTA" != "catapulta" ]]
|
|
then
|
|
echo "To use catapulta add 'catapulta' to params. Terminating"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$CATAPULTA" == "catapulta" ]]
|
|
then
|
|
echo "Using catapulta"
|
|
fi
|
|
|
|
CALLDATA=$(cast calldata "run(string)" $TARGET)
|
|
|
|
echo "Interactions calldata:"
|
|
echo "$CALLDATA"
|
|
|
|
forge script script/$SCRIPT_NAME.s.sol:$SCRIPT_NAME --sig $CALLDATA --rpc-url $NETWORK -vv --skip test --ffi
|
|
|
|
# If the confirmation override is set to s or S - then we skip the rest of the script and exit with success
|
|
if [[ "$CONFIRMATION_OVERRIDE" == "s" || "$CONFIRMATION_OVERRIDE" == "S" ]]
|
|
then
|
|
echo "Skipping confirmation and broadcast"
|
|
exit 0
|
|
fi
|
|
|
|
if [[ "$CONFIRMATION_OVERRIDE" == "y" || "$CONFIRMATION_OVERRIDE" == "Y" || "$CONFIRMATION_OVERRIDE" == "n" || "$CONFIRMATION_OVERRIDE" == "N" ]]
|
|
then
|
|
CONFIRMATION="$CONFIRMATION_OVERRIDE"
|
|
else
|
|
read -p "Please verify the data and confirm the interactions logs (y/n):" CONFIRMATION
|
|
fi
|
|
|
|
if [[ "$CONFIRMATION" == "s" || "$CONFIRMATION" == "S" ]]
|
|
then
|
|
echo "Skipping confirmation and broadcast"
|
|
exit 0
|
|
fi
|
|
|
|
if [[ "$CONFIRMATION" == "y" || "$CONFIRMATION" == "Y" ]]
|
|
then
|
|
echo "Broadcasting on-chain..."
|
|
|
|
# If $CATAPULTA is defined, use catapulta instead of forge
|
|
|
|
if [[ "$CATAPULTA" == "catapulta" ]]
|
|
then
|
|
echo "Using catapulta"
|
|
|
|
# If $NETWORK is "mumbai" change it to "maticMumbai" for catapulta
|
|
if [[ "$NETWORK" == "mumbai" ]]
|
|
then
|
|
NETWORK="maticMumbai"
|
|
fi
|
|
|
|
# If $NETWORK is "polygon" change it to "matic" for catapulta
|
|
if [[ "$NETWORK" == "polygon" ]]
|
|
then
|
|
NETWORK="matic"
|
|
fi
|
|
|
|
catapulta script script/$SCRIPT_NAME.s.sol --chain $NETWORK --sig $CALLDATA --legacy --skip test --ffi --slow --skip-git
|
|
exit 0
|
|
else
|
|
forge script script/$SCRIPT_NAME.s.sol:$SCRIPT_NAME --sig $CALLDATA --rpc-url $NETWORK -vv --skip test --ffi --slow --broadcast
|
|
# `--verify` temporarily removed because of Foundry issues. You can add it back or verify manually later.
|
|
# forge script script/$SCRIPT_NAME.s.sol:$SCRIPT_NAME --sig $CALLDATA --rpc-url $NETWORK -vv --skip test --ffi --slow --broadcast --verify
|
|
fi
|
|
|
|
else
|
|
echo "Deployment cancelled. Execution terminated."
|
|
exit 1
|
|
fi
|