From bd29431db65636bf2b686f1b14e2039e6b6c0987 Mon Sep 17 00:00:00 2001 From: keithsue Date: Wed, 31 Jul 2024 20:58:39 +0800 Subject: [PATCH] optimize local node script --- go.mod | 2 +- local_node.sh | 22 +++++++++++++--------- local_node_dev.sh | 28 ++++++++++++++++++---------- x/btcbridge/types/params.go | 2 ++ 4 files changed, 34 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index c769c9b6..d70d3492 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,6 @@ require ( github.com/cosmos/cosmos-sdk v0.47.5 github.com/cosmos/gogoproto v1.4.10 github.com/cosmos/ibc-go/v7 v7.3.0 - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 github.com/golang/protobuf v1.5.3 github.com/gorilla/mux v1.8.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 @@ -79,6 +78,7 @@ require ( github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/crypto/blake256 v1.0.1 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect github.com/dgraph-io/ristretto v0.1.1 // indirect diff --git a/local_node.sh b/local_node.sh index 73f53738..2b45ee90 100755 --- a/local_node.sh +++ b/local_node.sh @@ -13,14 +13,14 @@ INITIAL_ACCOUNTS=($INITIAL_ACCOUNT_STR) IFS=";" -# vaults generated by DKG -BTC_VAULT=("
" "") -RUNES_VAULT=("
" "") - INITIAL_SUPPLY="500000000000000" BLOCK_GAS=10000000 MAX_GAS=10000000000 +# btcbridge params +BTC_VAULT=() # ("
" "") +RUNES_VAULT=() + # Remember to change to other types of keyring like 'file' in-case exposing to outside world, # otherwise your balance will be wiped quickly # The keyring test does not require private key to steal tokens from you @@ -92,11 +92,15 @@ if [[ $overwrite == "y" || $overwrite == "Y" ]]; then jq --arg gas "$BLOCK_GAS" '.app_state["feemarket"]["block_gas"]=$gas' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" # Set gas limit in genesis jq --arg max_gas "$MAX_GAS" '.consensus_params["block"]["max_gas"]=$max_gas' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - # setup vaults - jq --arg btc_vault "${BTC_VAULT[0]}" '.app_state["btcbridge"]["params"]["vaults"][0]["address"]=$btc_vault' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - jq --arg btc_vault_pk "${BTC_VAULT[1]}" '.app_state["btcbridge"]["params"]["vaults"][0]["pub_key"]=$btc_vault_pk' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - jq --arg runes_vault "${RUNES_VAULT[0]}" '.app_state["btcbridge"]["params"]["vaults"][1]["address"]=$runes_vault' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - jq --arg runes_vault_pk "${RUNES_VAULT[1]}" '.app_state["btcbridge"]["params"]["vaults"][1]["pub_key"]=$runes_vault_pk' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + + # set vaults if provided + if [[ "${#BTC_VAULT[@]}" -eq 2 && "${#RUNES_VAULT[@]}" -eq 2 ]]; then + jq --arg btc_vault "${BTC_VAULT[0]}" '.app_state["btcbridge"]["params"]["vaults"][0]["address"]=$btc_vault' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq --arg btc_vault_pk "${BTC_VAULT[1]}" '.app_state["btcbridge"]["params"]["vaults"][0]["pub_key"]=$btc_vault_pk' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq --arg runes_vault "${RUNES_VAULT[0]}" '.app_state["btcbridge"]["params"]["vaults"][1]["address"]=$runes_vault' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq --arg runes_vault_pk "${RUNES_VAULT[1]}" '.app_state["btcbridge"]["params"]["vaults"][1]["pub_key"]=$runes_vault_pk' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + fi + # set protocol fee collector PROTOCOL_FEE_COLLECTOR=$($BINARY keys show "${KEYS[2]}" -a --keyring-backend $KEYRING --home "$HOMEDIR") jq --arg fee_collector "$PROTOCOL_FEE_COLLECTOR" '.app_state["btcbridge"]["params"]["protocol_fees"]["collector"]=$fee_collector' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" diff --git a/local_node_dev.sh b/local_node_dev.sh index 95350787..9a81abdf 100755 --- a/local_node_dev.sh +++ b/local_node_dev.sh @@ -13,14 +13,17 @@ INITIAL_ACCOUNTS=($INITIAL_ACCOUNT_STR) IFS=";" -# vaults generated by DKG -BTC_VAULT=("
" "") -RUNES_VAULT=("
" "") - INITIAL_SUPPLY="500000000000000" BLOCK_GAS=10000000 MAX_GAS=10000000000 +# btcbridge params +BTC_VAULT=() # ("
" "") +RUNES_VAULT=() + +# gov params +GOV_VOTING_PERIOD="600s" + # Remember to change to other types of keyring like 'file' in-case exposing to outside world, # otherwise your balance will be wiped quickly # The keyring test does not require private key to steal tokens from you @@ -89,15 +92,20 @@ if [[ $overwrite == "y" || $overwrite == "Y" ]]; then jq --arg denom "${DENOMS[0]}" '.app_state["crisis"]["constant_fee"]["denom"]=$denom' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" jq --arg denom "${DENOMS[0]}" '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]=$denom' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" jq --arg denom "${DENOMS[0]}" '.app_state["gov"]["params"]["min_deposit"][0]["denom"]=$denom' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq --arg voting_period "${GOV_VOTING_PERIOD}" '.app_state["gov"]["params"]["voting_period"]=$voting_period' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" jq --arg gas "$BLOCK_GAS" '.app_state["feemarket"]["block_gas"]=$gas' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" # Set gas limit in genesis jq --arg max_gas "$MAX_GAS" '.consensus_params["block"]["max_gas"]=$max_gas' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - # setup vaults - jq --arg btc_vault "${BTC_VAULT[0]}" '.app_state["btcbridge"]["params"]["vaults"][0]["address"]=$btc_vault' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - jq --arg btc_vault_pk "${BTC_VAULT[1]}" '.app_state["btcbridge"]["params"]["vaults"][0]["pub_key"]=$btc_vault_pk' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - jq --arg runes_vault "${RUNES_VAULT[0]}" '.app_state["btcbridge"]["params"]["vaults"][1]["address"]=$runes_vault' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - jq --arg runes_vault_pk "${RUNES_VAULT[1]}" '.app_state["btcbridge"]["params"]["vaults"][1]["pub_key"]=$runes_vault_pk' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" - # set protocol fee collector + + # set vaults if provided + if [[ "${#BTC_VAULT[@]}" -eq 2 && "${#RUNES_VAULT[@]}" -eq 2 ]]; then + jq --arg btc_vault "${BTC_VAULT[0]}" '.app_state["btcbridge"]["params"]["vaults"][0]["address"]=$btc_vault' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq --arg btc_vault_pk "${BTC_VAULT[1]}" '.app_state["btcbridge"]["params"]["vaults"][0]["pub_key"]=$btc_vault_pk' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq --arg runes_vault "${RUNES_VAULT[0]}" '.app_state["btcbridge"]["params"]["vaults"][1]["address"]=$runes_vault' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + jq --arg runes_vault_pk "${RUNES_VAULT[1]}" '.app_state["btcbridge"]["params"]["vaults"][1]["pub_key"]=$runes_vault_pk' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" + fi + + # set protocol fee collector PROTOCOL_FEE_COLLECTOR=$($BINARY keys show "${KEYS[2]}" -a --keyring-backend $KEYRING --home "$HOMEDIR") jq --arg fee_collector "$PROTOCOL_FEE_COLLECTOR" '.app_state["btcbridge"]["params"]["protocol_fees"]["collector"]=$fee_collector' "$GENESIS" >"$TMP_GENESIS" && mv "$TMP_GENESIS" "$GENESIS" diff --git a/x/btcbridge/types/params.go b/x/btcbridge/types/params.go index c6b9ccc0..52779b04 100644 --- a/x/btcbridge/types/params.go +++ b/x/btcbridge/types/params.go @@ -81,6 +81,8 @@ func (p Params) Validate() error { if ok { return ErrInvalidParams } + + vaults[vault.Address] = true } if len(vault.PubKey) != 0 {