|
| 1 | +#!/usr/bin/env bash |
| 2 | +# This script initializes the manifest ledger genesis file and starts a ledger node |
| 3 | + |
| 4 | +set -e |
| 5 | + |
| 6 | +update_test_genesis () { |
| 7 | + cat $HOME_DIR/config/genesis.json | jq "$1" > $HOME_DIR/config/tmp_genesis.json && mv $HOME_DIR/config/tmp_genesis.json $HOME_DIR/config/genesis.json |
| 8 | +} |
| 9 | + |
| 10 | +echo "$MNEMO1" | $BINARY keys add "$KEY" --home="$HOME_DIR" --keyring-backend "$KEYRING" --recover |
| 11 | +echo "$MNEMO2" | $BINARY keys add "$KEY2" --home="$HOME_DIR" --keyring-backend "$KEYRING" --recover |
| 12 | +$BINARY init $MONIKER --home=$HOME_DIR --chain-id $CHAIN_ID |
| 13 | +update_test_genesis '.consensus["params"]["block"]["max_gas"]="1000000000"' |
| 14 | +update_test_genesis '.app_state["bank"]["denom_metadata"]=[{"base":"umfx","denom_units":[{"aliases":[],"denom":"umfx","exponent":0},{"aliases":[],"denom":"MFX","exponent":6}],"description":"MFX","display":"MFX","name":"MFX","symbol":"MFX","uri":"","uri_hash":""}]' |
| 15 | +update_test_genesis '.app_state["gov"]["params"]["min_deposit"]=[{"denom":"'$DENOM'","amount":"1000000"}]' |
| 16 | +update_test_genesis '.app_state["gov"]["params"]["voting_period"]="15s"' |
| 17 | +update_test_genesis '.app_state["gov"]["params"]["expedited_voting_period"]="10s"' |
| 18 | +update_test_genesis '.app_state["staking"]["params"]["bond_denom"]="'${BOND_DENOM}'"' |
| 19 | +update_test_genesis '.app_state["staking"]["params"]["min_commission_rate"]="0.000000000000000000"' |
| 20 | +update_test_genesis '.app_state["mint"]["params"]["mint_denom"]="'$DENOM'"' |
| 21 | +update_test_genesis '.app_state["mint"]["params"]["blocks_per_year"]="6311520"' |
| 22 | +update_test_genesis '.app_state["tokenfactory"]["params"]["denom_creation_fee"]=[]' |
| 23 | +update_test_genesis '.app_state["tokenfactory"]["params"]["denom_creation_gas_consume"]=0' |
| 24 | +update_test_genesis '.app_state["feegrant"]["allowances"]=[{"granter":"'${GAS_STATION_ADDR}'","grantee":"'${BANK_ADDR}'","allowance":{"@type":"/cosmos.feegrant.v1beta1.AllowedMsgAllowance","allowance":{"@type":"/cosmos.feegrant.v1beta1.BasicAllowance","spend_limit":[],"expiration":null},"allowed_messages":["/cosmos.bank.v1beta1.MsgSend"]}}]' |
| 25 | +update_test_genesis '.app_state["group"]["group_seq"]="1"' |
| 26 | +update_test_genesis '.app_state["group"]["groups"]=[{"id":"1","admin":"'${POA_ADMIN_ADDRESS}'","metadata":"AQ==","version":"2","total_weight":"2","created_at":"2024-05-16T15:10:54.372190727Z"}]' |
| 27 | +update_test_genesis '.app_state["group"]["group_members"]=[{"group_id":"1","member":{"address":"'${ADDR1}'","weight":"1","metadata":"user1","added_at":"2024-05-16T15:10:54.372190727Z"}},{"group_id":"1","member":{"address":"'${ADDR2}'","weight":"1","metadata":"user2","added_at":"2024-05-16T15:10:54.372190727Z"}}]' |
| 28 | +update_test_genesis '.app_state["group"]["group_policy_seq"]="1"' |
| 29 | +update_test_genesis '.app_state["group"]["group_policies"]=[{"address":"'${POA_ADMIN_ADDRESS}'","group_id":"1","admin":"'${POA_ADMIN_ADDRESS}'","metadata":"AQ==","version":"2","decision_policy":{"@type":"/cosmos.group.v1.ThresholdDecisionPolicy","threshold":"1","windows":{"voting_period":"'${VOTING_TIMEOUT}'","min_execution_period":"0s"}},"created_at":"2024-05-16T15:10:54.372190727Z"}]' |
| 30 | +update_test_genesis '.app_state["tokenfactory"]["factory_denoms"]=[{"denom":"factory/manifest1afk9zr2hn2jsac63h4hm60vl9z3e5u69gndzf7c99cqge3vzwjzsfmy9qj/upwr","authority_metadata":{"admin":"manifest1hj5fveer5cjtn4wd6wstzugjfdxzl0xp8ws9ct"}}]' |
| 31 | +update_test_genesis '.app_state["bank"]["denom_metadata"] |= . + [{"description":"PWR","denom_units":[{"denom":"factory/manifest1afk9zr2hn2jsac63h4hm60vl9z3e5u69gndzf7c99cqge3vzwjzsfmy9qj/upwr","exponent":0,"aliases":["PWR"]},{"denom":"PWR","exponent":6,"aliases":["factory/manifest1afk9zr2hn2jsac63h4hm60vl9z3e5u69gndzf7c99cqge3vzwjzsfmy9qj/upwr"]}],"base":"factory/manifest1afk9zr2hn2jsac63h4hm60vl9z3e5u69gndzf7c99cqge3vzwjzsfmy9qj/upwr","display":"PWR","name":"POWER","symbol":"PWR","uri":"","uri_hash":""}]' |
| 32 | +update_test_genesis '.app_state["wasm"]["params"]["code_upload_access"]["permission"]="Everybody"' |
| 33 | +update_test_genesis '.app_state["wasm"]["params"]["instantiate_default_permission"]="Everybody"' |
| 34 | +$BINARY genesis add-genesis-account $KEY 100000000000000000${BOND_DENOM},100000000000000000000000000000${DENOM} --keyring-backend $KEYRING --home=$HOME_DIR |
| 35 | +$BINARY genesis add-genesis-account $KEY2 100000000000000000${DENOM} --keyring-backend $KEYRING --home=$HOME_DIR |
| 36 | +$BINARY genesis gentx $KEY 1000000${BOND_DENOM} --keyring-backend $KEYRING --home=$HOME_DIR --chain-id $CHAIN_ID --commission-rate=0.0 --commission-max-rate=1.0 --commission-max-change-rate=0.1 |
| 37 | +$BINARY genesis collect-gentxs --home=$HOME_DIR |
| 38 | +$BINARY genesis validate-genesis --home=$HOME_DIR |
| 39 | +sed -i 's/laddr = "tcp:\/\/127.0.0.1:26657"/laddr = "tcp:\/\/0.0.0.0:'$RPC'"/g' $HOME_DIR/config/config.toml |
| 40 | +sed -i 's/cors_allowed_origins = \[\]/cors_allowed_origins = \["\*"\]/g' $HOME_DIR/config/config.toml |
| 41 | +sed -i 's/address = "tcp:\/\/localhost:1317"/address = "tcp:\/\/0.0.0.0:'$REST'"/g' $HOME_DIR/config/app.toml |
| 42 | +sed -i 's/enable = false/enable = true/g' $HOME_DIR/config/app.toml |
| 43 | +sed -i 's/pprof_laddr = "localhost:6060"/pprof_laddr = "localhost:'$PROFF'"/g' $HOME_DIR/config/config.toml |
| 44 | +sed -i 's/laddr = "tcp:\/\/0.0.0.0:26656"/laddr = "tcp:\/\/0.0.0.0:'$P2P'"/g' $HOME_DIR/config/config.toml |
| 45 | +sed -i 's/address = "localhost:9090"/address = "0.0.0.0:'$GRPC'"/g' $HOME_DIR/config/app.toml |
| 46 | +sed -i 's/address = "localhost:9091"/address = "0.0.0.0:'$GRPC_WEB'"/g' $HOME_DIR/config/app.toml |
| 47 | +sed -i 's/address = ":8080"/address = "0.0.0.0:'$ROSETTA'"/g' $HOME_DIR/config/app.toml |
| 48 | +sed -i 's/timeout_commit = "5s"/timeout_commit = "'$TIMEOUT_COMMIT'"/g' $HOME_DIR/config/config.toml |
| 49 | +POA_ADMIN_ADDRESS=${POA_ADMIN_ADDRESS} $BINARY start --home=${HOME_DIR} --pruning=nothing --minimum-gas-prices=0.0011${DENOM} --rpc.laddr="tcp://0.0.0.0:$RPC" |
0 commit comments