Use shellcheck and shfmt on contrib scripts

This commit does not introduce any functionality change. It is only
applying suggestions from the shellcheck linter and reformats the code
using shfmt.

Shellcheck is a base shell linter that helps avoiding common shell
script mistakes.
Shfmt formats shell code similar to other Xfmt (i.e. gofmt) tools. No
need to format code manually or argue about the style anymore!

Both tools can be integrated with many editors or IDE.
This commit is contained in:
Piotr Husiatyński 2021-08-09 14:24:49 +02:00 committed by Piotr Husiatyński
parent 9efbb61ee4
commit c30a5a35c5
No known key found for this signature in database
GPG Key ID: 296F36ADD49890B5
7 changed files with 39 additions and 31 deletions

View File

@ -6,12 +6,12 @@ BASE_ACCOUNT=$(wasmd keys show validator -a)
echo "-----------------------"
echo "## Genesis CosmWasm contract"
wasmd add-wasm-genesis-message store "$DIR/../../x/wasm/keeper/testdata/hackatom.wasm" --instantiate-everybody true --builder=foo/bar:latest --run-as validator
wasmd add-wasm-genesis-message store "$DIR/../../x/wasm/keeper/testdata/hackatom.wasm" --instantiate-everybody true --builder=foo/bar:latest --run-as validator
echo "-----------------------"
echo "## Genesis CosmWasm instance"
INIT="{\"verifier\":\"$(wasmd keys show validator -a)\", \"beneficiary\":\"$(wasmd keys show fred -a)\"}"
wasmd add-wasm-genesis-message instantiate-contract 1 "$INIT" --run-as validator --label=foobar --amount=100ustake --admin $BASE_ACCOUNT
wasmd add-wasm-genesis-message instantiate-contract 1 "$INIT" --run-as validator --label=foobar --amount=100ustake --admin "$BASE_ACCOUNT"
echo "-----------------------"
echo "## Genesis CosmWasm execute"
@ -25,4 +25,4 @@ wasmd add-wasm-genesis-message list-codes
echo "-----------------------"
echo "## List Genesis CosmWasm contracts"
wasmd add-wasm-genesis-message list-contracts
wasmd add-wasm-genesis-message list-contracts

View File

@ -12,7 +12,7 @@ NEW_ACCOUNT=$(wasmd keys show fred -a)
wasmd q bank balances "$NEW_ACCOUNT" -o json || true
echo "## Transfer tokens"
wasmd tx send validator "$NEW_ACCOUNT" 1ustake --gas 1000000 -y --chain-id=testing --node=http://localhost:26657 -b block | jq
wasmd tx send validator "$NEW_ACCOUNT" 1ustake --gas 1000000 -y --chain-id=testing --node=http://localhost:26657 -b block | jq
echo "## Check balance again"
wasmd q bank balances "$NEW_ACCOUNT" -o json | jq

View File

@ -21,7 +21,7 @@ wasmd query wasm list-code --node=http://localhost:26657 --chain-id=testing -o j
echo "-----------------------"
echo "## Create new contract instance"
INIT="{\"verifier\":\"$(wasmd keys show validator -a)\", \"beneficiary\":\"$(wasmd keys show fred -a)\"}"
wasmd tx wasm instantiate "$CODE_ID" "$INIT" --admin=$(wasmd keys show validator -a) \
wasmd tx wasm instantiate "$CODE_ID" "$INIT" --admin="$(wasmd keys show validator -a)" \
--from validator --amount="100ustake" --label "local0.1.0" \
--gas 1000000 -y --chain-id=testing -b block | jq
@ -36,7 +36,6 @@ echo "### Query raw"
KEY=$(echo "$RESP" | jq -r ".models[0].key")
wasmd query wasm contract-state raw "$CONTRACT" "$KEY" -o json | jq
echo "-----------------------"
echo "## Execute contract $CONTRACT"
MSG='{"release":{}}'
@ -44,15 +43,13 @@ wasmd tx wasm execute "$CONTRACT" "$MSG" \
--from validator \
--gas 1000000 -y --chain-id=testing -b block | jq
echo "-----------------------"
echo "## Set new admin"
echo "### Query old admin: $(wasmd q wasm contract $CONTRACT -o json | jq -r '.contract_info.admin')"
echo "### Query old admin: $(wasmd q wasm contract "$CONTRACT" -o json | jq -r '.contract_info.admin')"
echo "### Update contract"
wasmd tx wasm set-contract-admin "$CONTRACT" $(wasmd keys show fred -a) \
wasmd tx wasm set-contract-admin "$CONTRACT" "$(wasmd keys show fred -a)" \
--from validator -y --chain-id=testing -b block | jq
echo "### Query new admin: $(wasmd q wasm contract $CONTRACT -o json | jq -r '.admin')"
echo "### Query new admin: $(wasmd q wasm contract "$CONTRACT" -o json | jq -r '.admin')"
echo "-----------------------"
echo "## Migrate contract"
@ -77,8 +74,8 @@ wasmd q wasm contract-history "$CONTRACT" -o json | jq
echo "-----------------------"
echo "## Clear contract admin"
echo "### Query old admin: $(wasmd q wasm contract $CONTRACT -o json | jq -r '.admin')"
echo "### Query old admin: $(wasmd q wasm contract "$CONTRACT" -o json | jq -r '.admin')"
echo "### Update contract"
wasmd tx wasm clear-contract-admin "$CONTRACT" \
--from fred -y --chain-id=testing -b block | jq
echo "### Query new admin: $(wasmd q wasm contract $CONTRACT -o json | jq -r '.admin')"
echo "### Query new admin: $(wasmd q wasm contract "$CONTRACT" -o json | jq -r '.admin')"

View File

@ -9,23 +9,23 @@ PROTO_WASMD="$DIR/../../proto"
PROTO_WASMD_QUERY="$PROTO_WASMD/cosmwasm/wasm/v1/query.proto"
echo "### List all codes"
RESP=$(grpcurl -plaintext -import-path $PROTO_THRD -import-path $PROTO_WASMD -proto $PROTO_WASMD_QUERY \
localhost:9090 cosmwasm.wasm.v1.Query/Codes)
RESP=$(grpcurl -plaintext -import-path "$PROTO_THRD" -import-path "$PROTO_WASMD" -proto "$PROTO_WASMD_QUERY" \
localhost:9090 cosmwasm.wasm.v1.Query/Codes)
echo "$RESP" | jq
CODE_ID=$(echo "$RESP" | jq -r '.codeInfos[-1].codeId')
echo "### List contracts by code"
RESP=$(grpcurl -plaintext -import-path $PROTO_THRD -import-path $PROTO_WASMD -proto $PROTO_WASMD_QUERY \
-d "{\"codeId\": $CODE_ID}" localhost:9090 cosmwasm.wasm.v1.Query/ContractsByCode )
echo $RESP | jq
RESP=$(grpcurl -plaintext -import-path "$PROTO_THRD" -import-path "$PROTO_WASMD" -proto "$PROTO_WASMD_QUERY" \
-d "{\"codeId\": $CODE_ID}" localhost:9090 cosmwasm.wasm.v1.Query/ContractsByCode)
echo "$RESP" | jq
echo "### Show history for contract"
CONTRACT=$(echo $RESP | jq -r ".contracts[-1]")
grpcurl -plaintext -import-path $PROTO_THRD -import-path $PROTO_WASMD -proto $PROTO_WASMD_QUERY \
-d "{\"address\": \"$CONTRACT\"}" localhost:9090 cosmwasm.wasm.v1.Query/ContractHistory | jq
CONTRACT=$(echo "$RESP" | jq -r ".contracts[-1]")
grpcurl -plaintext -import-path "$PROTO_THRD" -import-path "$PROTO_WASMD" -proto "$PROTO_WASMD_QUERY" \
-d "{\"address\": \"$CONTRACT\"}" localhost:9090 cosmwasm.wasm.v1.Query/ContractHistory | jq
echo "### Show contract state"
grpcurl -plaintext -import-path $PROTO_THRD -import-path $PROTO_WASMD -proto $PROTO_WASMD_QUERY \
-d "{\"address\": \"$CONTRACT\"}" localhost:9090 cosmwasm.wasm.v1.Query/AllContractState | jq
grpcurl -plaintext -import-path "$PROTO_THRD" -import-path "$PROTO_WASMD" -proto "$PROTO_WASMD_QUERY" \
-d "{\"address\": \"$CONTRACT\"}" localhost:9090 cosmwasm.wasm.v1.Query/AllContractState | jq
echo "Empty state due to 'burner' contract cleanup"

View File

@ -1,6 +1,5 @@
# Dev scripts
For manual testing. Works on my box(*) ...
For manual testing. Works on my box(*) ...
*) OSX
@ -17,6 +16,11 @@ Next shell:
```
cd contrib/local
./01-accounts.sh
./01-accounts.sh
./02-contracts.sh
```
```
## Shell script development
[Use `shellcheck`](https://www.shellcheck.net/) to avoid common mistakes in shell scripts.
[Use `shfmt`](https://github.com/mvdan/sh) to ensure a consistent code formatting.

View File

@ -12,18 +12,25 @@ wasmd init --chain-id "$CHAIN_ID" "$MONIKER"
## OSX requires: -i.
sed -i. "s/\"stake\"/\"$STAKE\"/" "$HOME"/.wasmd/config/genesis.json
if ! wasmd keys show validator; then
(echo "$PASSWORD"; echo "$PASSWORD") | wasmd keys add validator
(
echo "$PASSWORD"
echo "$PASSWORD"
) | wasmd keys add validator
fi
# hardcode the validator account for this instance
echo "$PASSWORD" | wasmd add-genesis-account validator "1000000000$STAKE,1000000000$FEE"
# (optionally) add a few more genesis accounts
for addr in "$@"; do
echo $addr
echo "$addr"
wasmd add-genesis-account "$addr" "1000000000$STAKE,1000000000$FEE"
done
# submit a genesis validator tx
## Workraround for https://github.com/cosmos/cosmos-sdk/issues/8251
(echo "$PASSWORD"; echo "$PASSWORD"; echo "$PASSWORD") | wasmd gentx validator "250000000$STAKE" --chain-id="$CHAIN_ID" --amount="250000000$STAKE"
(
echo "$PASSWORD"
echo "$PASSWORD"
echo "$PASSWORD"
) | wasmd gentx validator "250000000$STAKE" --chain-id="$CHAIN_ID" --amount="250000000$STAKE"
## should be:
# (echo "$PASSWORD"; echo "$PASSWORD"; echo "$PASSWORD") | wasmd gentx validator "250000000$STAKE" --chain-id="$CHAIN_ID"
wasmd collect-gentxs

View File

@ -1,4 +1,4 @@
#!/bin/bash
set -eu
wasmd start --rpc.laddr tcp://0.0.0.0:26657 --log_level=info --trace # --trace # does not work anymore: --log_level="main:info,state:debug,*:error"
wasmd start --rpc.laddr tcp://0.0.0.0:26657 --log_level=info --trace # --trace # does not work anymore: --log_level="main:info,state:debug,*:error"