28 lines
975 B
Bash
Executable File
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}
|