Skip to content

Commit

Permalink
fix(scripts): Add max_deposit_period max_validators flags
Browse files Browse the repository at this point in the history
  • Loading branch information
desislavva committed May 15, 2024
1 parent f787d8a commit 8f86f85
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 24 deletions.
17 changes: 17 additions & 0 deletions scripts/genesis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ __print_usage() {
[--validator-tokens <validators_initial_tokens>]
[--validator-stake <tokens_validator_stakes>]
[--gov-voting-period <voting_period>]
[--gov-max-deposit-period <max_deposit_period - XXs>]
[--staking-max-validators <staking_max_validators>]
[--feerefunder-ack-fee-min <feerefunder_ack_fee_min_amount>]
[--feerefunder-timeout-fee-min <feerefunder_timeout_fee_min_amount>]
[--dex-admin-mnemonic <dex_admin_account_mnemonic>]
Expand All @@ -47,6 +49,8 @@ VAL_TOKENS="1000000000""$NATIVE_CURRENCY"
VAL_STAKE="1000000""$NATIVE_CURRENCY"
OUTPUT_FILE=""
GOV_VOTING_PERIOD="43200s"
GOV_MAX_DEPOSIT_PERIOD="43200s"
STAKING_MAX_VALIDATORS="40"
FEEREFUNDER_ACK_FEE_MIN="1"
FEEREFUNDER_TIMEOUT_FEE_MIN="1"
DEX_ADMIN_MNEMONIC=""
Expand Down Expand Up @@ -137,6 +141,18 @@ while [[ $# -gt 0 ]]; do
shift
;;

--gov-max-deposit-period)
GOV_MAX_DEPOSIT_PERIOD="$2"
shift
shift
;;

--staking-max-validators)
STAKING_MAX_VALIDATORS="$2"
shift
shift
;;

--feerefunder-ack-fee-min)
FEEREFUNDER_ACK_FEE_MIN="$2"
shift
Expand Down Expand Up @@ -190,6 +206,7 @@ if [[ "$COMMAND" == "$COMMAND_FULL_GEN" ]]; then
"$VAL_ACCOUNTS_DIR" "$ACCOUNTS_SPEC" "$WASM_SCRIPT_PATH" \
"$WASM_CODE_PATH" "$TREASURY_INIT_TOKENS_U128" \
"$VAL_NODE_URLS_AND_VAL_PUBKEYS" "$GOV_VOTING_PERIOD" \
"$GOV_MAX_DEPOSIT_PERIOD" "$STAKING_MAX_VALIDATORS" \
"$FEEREFUNDER_ACK_FEE_MIN" "$FEEREFUNDER_TIMEOUT_FEE_MIN" \
"$DEX_ADMIN_MNEMONIC" "$STORE_CODE_PRIVILEGED_ACCOUNT_MNEMONIC" \
"$ADMINS_TOKENS")
Expand Down
17 changes: 16 additions & 1 deletion scripts/init-local-network.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ TREASURY_NLS_U128="1000000000000"
RESERVE_NAME="reserve"
RESERVE_TOKENS="1000000000""$NATIVE_CURRENCY"
GOV_VOTING_PERIOD="300s"
GOV_MAX_DEPOSIT_PERIOD="43200s"
STAKING_MAX_VALIDATORS="40"
FEEREFUNDER_ACK_FEE_MIN="1"
FEEREFUNDER_TIMEOUT_FEE_MIN="1"
HERMES_VERSION="v1.8.2"
Expand Down Expand Up @@ -86,6 +88,8 @@ while [[ $# -gt 0 ]]; do
[--reserve-name <reserve_key_name>]
[--reserve-tokens <initial_reserve_tokens>]
[--gov-voting-period <voting_period>]
[--gov-max-deposit-period <max_deposit_period - XXs>]
[--staking-max-validators <staking_max_validators>]
[--feerefunder-ack-fee-min <feerefunder_ack_fee_min_amount>]
[--feerefunder-timeout-fee-min <feerefunder_timeout_fee_min_amount>]
[--dex-admin-mnemonic <dex_admin_mnemonic>]
Expand Down Expand Up @@ -198,6 +202,16 @@ while [[ $# -gt 0 ]]; do
shift 2
;;

--gov-max-deposit-period)
GOV_MAX_DEPOSIT_PERIOD="$2"
shift 2
;;

--staking-max-validators)
STAKING_MAX_VALIDATORS="$2"
shift 2
;;

--feerefunder-ack-fee-min)
FEEREFUNDER_ACK_FEE_MIN="$2"
shift 2
Expand Down Expand Up @@ -335,7 +349,8 @@ init_setup_validator_local_sh "$INIT_LOCAL_NETWORK_SCRIPT_DIR" "$VALIDATORS_ROOT
source "$INIT_LOCAL_NETWORK_SCRIPT_DIR"/internal/init-network.sh
init_network "$VAL_ACCOUNTS_DIR" "$VALIDATORS" "$MINIMUM_GAS_PRICE" "$QUERY_GAS_LIMIT" "$CHAIN_ID" "$NATIVE_CURRENCY" \
"$VAL_TOKENS" "$VAL_STAKE" "$accounts_spec" "$WASM_SCRIPT_PATH" "$WASM_CODE_ARTIFACTS_PATH_PLATFORM" \
"$TREASURY_NLS_U128" "$GOV_VOTING_PERIOD" "$FEEREFUNDER_ACK_FEE_MIN" "$FEEREFUNDER_TIMEOUT_FEE_MIN" \
"$TREASURY_NLS_U128" "$GOV_VOTING_PERIOD" "$GOV_MAX_DEPOSIT_PERIOD" "$STAKING_MAX_VALIDATORS" \
"$FEEREFUNDER_ACK_FEE_MIN" "$FEEREFUNDER_TIMEOUT_FEE_MIN" \
"$DEX_ADMIN_MNEMONIC" "$STORE_CODE_PRIVILEGED_ACCOUNT_MNEMONIC" "$ADMINS_BALANCE"

__config_client
Expand Down
19 changes: 18 additions & 1 deletion scripts/init-network.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ TREASURY_NLS_U128="1000000000000"
FAUCET_MNEMONIC=""
FAUCET_TOKENS="100000000000""$NATIVE_CURRENCY"
GOV_VOTING_PERIOD="3600s"
GOV_MAX_DEPOSIT_PERIOD="43200s"
STAKING_MAX_VALIDATORS="40"
FEEREFUNDER_ACK_FEE_MIN="1"
FEEREFUNDER_TIMEOUT_FEE_MIN="1"
DEX_ADMIN_MNEMONIC=""
Expand Down Expand Up @@ -75,6 +77,8 @@ while [[ $# -gt 0 ]]; do
[--faucet-mnemonic <mnemonic_phrase>]
[--faucet-tokens <initial_balance>]
[--gov-voting-period <voting_period>]
[--gov-max-deposit-period <max_deposit_period - XXs>]
[--staking-max-validators <staking_max_validators>]
[--feerefunder-ack-fee-min <feerefunder_ack_fee_min_amount>]
[--feerefunder-timeout-fee-min <feerefunder_timeout_fee_min_amount>]
[--moniker <string - node moniker (default: $MONIKER_BASE>]
Expand Down Expand Up @@ -196,6 +200,18 @@ while [[ $# -gt 0 ]]; do
shift
;;

--gov-max-deposit-period)
GOV_MAX_DEPOSIT_PERIOD="$2"
shift
shift
;;

--staking-max-validators)
STAKING_MAX_VALIDATORS="$2"
shift
shift
;;

--feerefunder-ack-fee-min)
FEEREFUNDER_ACK_FEE_MIN="$2"
shift
Expand Down Expand Up @@ -261,7 +277,8 @@ setup_services "$VALIDATORS"
source "$SCRIPT_DIR"/internal/init-network.sh
init_network "$VAL_ACCOUNTS_DIR" "$VALIDATORS" "$MINIMUM_GAS_PRICE" "$QUERY_GAS_LIMIT" "$CHAIN_ID" "$NATIVE_CURRENCY" \
"$VAL_TOKENS" "$VAL_STAKE" "$accounts_spec" "$WASM_SCRIPT_PATH" "$WASM_CODE_PATH" \
"$TREASURY_NLS_U128" "$GOV_VOTING_PERIOD" "$FEEREFUNDER_ACK_FEE_MIN" "$FEEREFUNDER_TIMEOUT_FEE_MIN" \
"$TREASURY_NLS_U128" "$GOV_VOTING_PERIOD" "$GOV_MAX_DEPOSIT_PERIOD" "$STAKING_MAX_VALIDATORS" \
"$FEEREFUNDER_ACK_FEE_MIN" "$FEEREFUNDER_TIMEOUT_FEE_MIN" \
"$DEX_ADMIN_MNEMONIC" "$STORE_CODE_PRIVILEGED_ACCOUNT_MNEMONIC" "$ADMINS_TOKENS"

start_validators "$VALIDATORS"
40 changes: 24 additions & 16 deletions scripts/internal/genesis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,13 @@ generate_genesis() {
local -r treasury_init_tokens_u128="$9"
local -r node_id_and_val_pubkeys="${10}"
local -r gov_voting_period="${11}"
local -r feerefunder_ack_fee_min="${12}"
local -r feerefunder_timeout_fee_min="${13}"
local -r dex_admin_mnemonic="${14}"
local -r store_code_privileged_account_mnemonic="${15}"
local -r admins_tokens="${16}"
local -r gov_max_deposit_period="${12}"
local -r staking_max_validators="${13}"
local -r feerefunder_ack_fee_min="${14}"
local -r feerefunder_timeout_fee_min="${15}"
local -r dex_admin_mnemonic="${16}"
local -r store_code_privileged_account_mnemonic="${17}"
local -r admins_tokens="${18}"


local -r treasury_init_tokens="$treasury_init_tokens_u128$native_currency"
Expand All @@ -67,10 +69,11 @@ generate_genesis() {
treasury_contract_addr="$(treasury_instance_addr)"
admin_contract_addr="$(admin_contract_instance_addr)"


# use the below pattern to let the pipefail dump the failed command output
_=$(__generate_proto_genesis_no_wasm "$chain_id" "$native_currency" \
"$accounts_spec" "$treasury_contract_addr" "$treasury_init_tokens_u128" "$admin_contract_addr" "$gov_voting_period" \
"$feerefunder_ack_fee_min" "$feerefunder_timeout_fee_min" "$store_code_privileged_addr")
"$gov_max_deposit_period" "$staking_max_validators" "$feerefunder_ack_fee_min" "$feerefunder_timeout_fee_min" "$store_code_privileged_addr")
_=$(add_wasm_messages "$genesis_home_dir" "$wasm_code_path" "$treasury_init_tokens" "$dex_admin_address")

create_validator_txs="$(__gen_val_txns "$genesis_file" "$node_id_and_val_pubkeys" "$val_stake")"
Expand Down Expand Up @@ -129,9 +132,11 @@ __generate_proto_genesis_no_wasm() {
local -r treasury_init_tokens="$5"
local -r admin_contract_addr="$6"
local -r gov_voting_period="$7"
local -r feerefunder_ack_fee_min="$8"
local -r feerefunder_timeout_fee_min="$9"
local -r store_code_privileged_addr="${10}"
local -r gov_max_deposit_period="$8"
local -r staking_max_validators="$9"
local -r feerefunder_ack_fee_min="${10}"
local -r feerefunder_timeout_fee_min="${11}"
local -r store_code_privileged_addr="${12}"

local -a wasm_allowed_addresses=("$admin_contract_addr" "$store_code_privileged_addr")

Expand All @@ -142,8 +147,8 @@ __generate_proto_genesis_no_wasm() {
__set_token_denominations "$genesis_file" "$native_currency"
__set_tax_recipient "$genesis_file" "$treasury_addr"
__set_wasm_permission_params "$genesis_file" "${wasm_allowed_addresses[@]}"
__set_gov_parameters "$genesis_file" "$gov_voting_period"
__modify_slashing_and_staking_params "$genesis_file"
__set_gov_parameters "$genesis_file" "$gov_voting_period" "$gov_max_deposit_period"
__modify_slashing_and_staking_params "$genesis_file" "$staking_max_validators"
__modify_neutron_modules_params "$genesis_file" "$feerefunder_ack_fee_min" "$feerefunder_timeout_fee_min" "$native_currency"

while IFS= read -r account_spec ; do
Expand Down Expand Up @@ -218,26 +223,29 @@ __set_wasm_permission_params() {

__set_gov_parameters() {
local genesis_file="$1"
local gov_voting_period="$2"
local -r voting_period="$2"
local -r max_deposit_period="$3"

local genesis_tmp_file="$genesis_file".tmp

< "$genesis_file" \
jq '.app_state["gov"]["deposit_params"]["max_deposit_period"]="43200s"' \
| jq '.app_state["gov"]["params"]["voting_period"]="'"$gov_voting_period"'"' \
| jq '.app_state["gov"]["voting_params"]["voting_period"]="'"$gov_voting_period"'"' > "$genesis_tmp_file"
jq '.app_state["gov"]["deposit_params"]["max_deposit_period"]="'"$max_deposit_period"'"' \
| jq '.app_state["gov"]["params"]["voting_period"]="'"$voting_period"'"' \
| jq '.app_state["gov"]["voting_params"]["voting_period"]="'"$voting_period"'"' > "$genesis_tmp_file"
mv "$genesis_tmp_file" "$genesis_file"
}

__modify_slashing_and_staking_params() {
local genesis_file="$1"
local -r max_validators="$2"

local genesis_tmp_file="$genesis_file".tmp

< "$genesis_file" \
jq '.app_state["slashing"]["params"]["signed_blocks_window"]="10000"' \
| jq '.app_state["slashing"]["params"]["min_signed_per_window"]="0.050000000000000000"' \
| jq '.app_state["slashing"]["params"]["slash_fraction_downtime"]="0.0001"' \
| jq '.app_state["staking"]["params"]["max_validators"]="40"' > "$genesis_tmp_file"
| jq '.app_state["staking"]["params"]["max_validators"]="'"$max_validators"'"' > "$genesis_tmp_file"
mv "$genesis_tmp_file" "$genesis_file"
}

Expand Down
15 changes: 9 additions & 6 deletions scripts/internal/init-network.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@ init_network() {
local -r wasm_code_path="${11}"
local -r treasury_init_tokens_u128="${12}"
local -r gov_voting_period="${13}"
local -r feerefunder_ack_fee_min="${14}"
local -r feerefunder_timeout_fee_min="${15}"
local -r dex_admin_mnemonic="${16}"
local -r store_code_privileged_account_mnemonic="${17}"
local -r admins_tokens="${18}"
local -r gov_max_deposit_period="${14}"
local -r staking_max_validators="${15}"
local -r feerefunder_ack_fee_min="${16}"
local -r feerefunder_timeout_fee_min="${17}"
local -r dex_admin_mnemonic="${18}"
local -r store_code_privileged_account_mnemonic="${19}"
local -r admins_tokens="${20}"

node_id_and_val_pubkeys="$(setup_validators "$validators" "$minimum_gas_price" "$query_gas_limit")"
local final_genesis_file;
Expand All @@ -36,7 +38,8 @@ init_network() {
"$wasm_script_path" "$wasm_code_path" \
"$treasury_init_tokens_u128" \
"$node_id_and_val_pubkeys" \
"$gov_voting_period" "$feerefunder_ack_fee_min" "$feerefunder_timeout_fee_min" \
"$gov_voting_period" "$gov_max_deposit_period" "$staking_max_validators" \
"$feerefunder_ack_fee_min" "$feerefunder_timeout_fee_min" \
"$dex_admin_mnemonic" "$store_code_privileged_account_mnemonic" "$admins_tokens")
propagate_genesis "$final_genesis_file" "$validators"
}

0 comments on commit 8f86f85

Please sign in to comment.