mango-simulation/configure_cluster/scripts/testnet-deploy-programs.sh

28 lines
975 B
Bash
Executable File

#!/usr/bin/env bash
URL_OR_MONIKER="${URL_OR_MONIKER:=testnet}"
# spl programs are already deployed to testnet
spl_soFiles=("spl_token-3.5.0.so" "spl_memo-1.0.0.so" "spl_memo-3.0.0.so" "spl_associated-token-account-1.1.1.so" "spl_feature-proposal-1.0.0.so")
soFiles=("mango.so" "serum_dex.so" "pyth_mock.so")
DEPLOY_PROGRAM="solana program deploy -u ${URL_OR_MONIKER} --use-quic"
mkdir -p program-keypairs
output=()
for program in ${soFiles[@]}; do
programName="${program%.*}"
keypair="./program-keypairs/${programName}.json"
solana-keygen new --no-passphrase -so ${keypair}
${DEPLOY_PROGRAM} --program-id ${keypair} bin/${program}
pubkey=$(solana-keygen pubkey ${keypair})
output+=("\"${programName}\":\"${pubkey}\"")
done
mapFile="testnet-program-name-to-id.json"
echo "{" > ${mapFile}
last=$((${#output[@]}-1))
echo $last
for v in ${output[@]:0:$last}; do
echo "$v," >> ${mapFile}
done
echo ${output[-1]} >> ${mapFile}
echo "}" >> ${mapFile}