59 lines
1.8 KiB
Bash
Executable File
59 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
if [ "$#" -ne 1 ]; then
|
|
echo "Please provide the number of initial validators!"
|
|
exit 1
|
|
fi
|
|
|
|
generate_account_id() {
|
|
subkey inspect ${3:-} ${4:-} "$SECRET//$1//$2" | grep "Account ID" | awk '{ print $3 }'
|
|
}
|
|
|
|
generate_address() {
|
|
subkey inspect ${3:-} ${4:-} "$SECRET//$1//$2" | grep "SS58 Address" | awk '{ print $3 }'
|
|
}
|
|
|
|
generate_public_key() {
|
|
subkey inspect ${3:-} ${4:-} "$SECRET//$1//$2" | grep "Public key (hex)" | awk '{ print $4 }'
|
|
}
|
|
|
|
generate_address_and_public_key() {
|
|
ADDRESS=$(generate_address $1 $2 $3)
|
|
PUBLIC_KEY=$(generate_public_key $1 $2 $3)
|
|
|
|
printf "//$ADDRESS\nhex![\"${PUBLIC_KEY#'0x'}\"].unchecked_into(),"
|
|
}
|
|
|
|
generate_address_and_account_id() {
|
|
ACCOUNT=$(generate_account_id $1 $2 $3)
|
|
ADDRESS=$(generate_address $1 $2 $3)
|
|
if ${4:-false}; then
|
|
INTO="unchecked_into"
|
|
else
|
|
INTO="into"
|
|
fi
|
|
|
|
printf "//$ADDRESS\nhex![\"${ACCOUNT#'0x'}\"].$INTO(),"
|
|
}
|
|
|
|
V_NUM=$1
|
|
|
|
AUTHORITIES=""
|
|
|
|
for i in $(seq 1 $V_NUM); do
|
|
AUTHORITIES+="(\n"
|
|
AUTHORITIES+="$(generate_address_and_account_id $i stash)\n"
|
|
AUTHORITIES+="$(generate_address_and_account_id $i controller)\n"
|
|
AUTHORITIES+="$(generate_address_and_account_id $i babe '--scheme sr25519' true)\n"
|
|
AUTHORITIES+="$(generate_address_and_account_id $i grandpa '--scheme ed25519' true)\n"
|
|
AUTHORITIES+="$(generate_address_and_account_id $i im_online '--scheme sr25519' true)\n"
|
|
AUTHORITIES+="$(generate_address_and_account_id $i para_validator '--scheme sr25519' true)\n"
|
|
AUTHORITIES+="$(generate_address_and_account_id $i para_assignment '--scheme sr25519' true)\n"
|
|
AUTHORITIES+="$(generate_address_and_account_id $i authority_discovery '--scheme sr25519' true)\n"
|
|
AUTHORITIES+="$(generate_address_and_public_key $i beefy '--scheme ecdsa' true)\n"
|
|
AUTHORITIES+="),\n"
|
|
done
|
|
|
|
printf "$AUTHORITIES"
|