Includes bugfix on `tycho-indexer-client` and `protosim_py`, a script to simplify setting up testing python env and cli improvements. Also add support for building runtime for SwapAdapters with many args that was bugged before.
50 lines
1.4 KiB
Bash
Executable File
50 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Initialize our own variables
|
|
CONTRACT_NAME=""
|
|
CONSTRUCTOR_SIGNATURE=""
|
|
CONSTRUCTOR_ARGUMENTS=""
|
|
|
|
# Function to display usage
|
|
usage() {
|
|
echo "Usage: $0 -c contract_name [-s constructor_signature -a constructor_arguments]" 1>&2; exit 1;
|
|
}
|
|
|
|
while getopts ":c:s:a:" opt; do
|
|
case "${opt}" in
|
|
c)
|
|
CONTRACT_NAME=${OPTARG};;
|
|
s)
|
|
CONSTRUCTOR_SIGNATURE=${OPTARG};;
|
|
a)
|
|
CONSTRUCTOR_ARGUMENTS=${OPTARG};;
|
|
*)
|
|
usage;;
|
|
esac
|
|
done
|
|
shift $((OPTIND-1))
|
|
|
|
echo "CONTRACT_NAME: $CONTRACT_NAME"
|
|
echo "CONSTRUCTOR_SIGNATURE: $CONSTRUCTOR_SIGNATURE"
|
|
echo "CONSTRUCTOR_ARGUMENTS: $CONSTRUCTOR_ARGUMENTS"
|
|
|
|
# Perform operations if CONSTRUCTOR_SIGNATURE and CONSTRUCTOR_ARGUMENTS are set
|
|
if [[ ! -z "$CONSTRUCTOR_SIGNATURE" && ! -z "$CONSTRUCTOR_ARGUMENTS" ]]; then
|
|
# Split the CONSTRUCTOR_ARGUMENTS by commas into an array
|
|
IFS=',' read -r -a ARG_ARRAY <<< "$CONSTRUCTOR_ARGUMENTS"
|
|
|
|
# Create the cast abi-encode command with the arguments
|
|
ENCODED_ARGS=$(cast abi-encode "$CONSTRUCTOR_SIGNATURE" "${ARG_ARRAY[@]}")
|
|
|
|
# Export the encoded arguments
|
|
export __PROPELLER_DEPLOY_ARGS=$ENCODED_ARGS
|
|
echo "$ENCODED_ARGS"
|
|
fi
|
|
|
|
export __PROPELLER_CONTRACT="$CONTRACT_NAME.sol:$CONTRACT_NAME"
|
|
export __PROPELLER_OUT_FILE="out/$CONTRACT_NAME.sol/$CONTRACT_NAME.evm.runtime"
|
|
|
|
forge script scripts/_buildRuntime.s.sol -v
|
|
|
|
echo "Write: $__PROPELLER_OUT_FILE" |