Skip to content

Commit

Permalink
add integration tests, enable tx compute store, add gRPC calls to que…
Browse files Browse the repository at this point in the history
…ry compute
  • Loading branch information
quaisx committed May 5, 2024
1 parent 2646c20 commit ec0e091
Show file tree
Hide file tree
Showing 8 changed files with 746 additions and 9 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ replace (
cosmossdk.io/store => github.com/scrtlabs/cosmos-sdk-store v1.0.3
github.com/cometbft/cometbft => github.com/scrtlabs/tendermint v0.38.2
github.com/cosmos/cosmos-sdk => github.com/scrtlabs/cosmos-sdk v0.46.0-beta2.0.20240430231059-06a080edfca9
github.com/cosmos/iavl => github.com/cosmos/iavl v1.0.3
github.com/cosmos/iavl => github.com/scrtlabs/iavl v1.0.1
)

require (
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -356,8 +356,6 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ
github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU=
github.com/cosmos/gogoproto v1.4.11 h1:LZcMHrx4FjUgrqQSWeaGC1v/TeuVFqSLa43CC6aWR2g=
github.com/cosmos/gogoproto v1.4.11/go.mod h1:/g39Mh8m17X8Q/GDEs5zYTSNaNnInBSohtaxzQnYq1Y=
github.com/cosmos/iavl v1.0.3 h1:yNJ5oS6gZ4ZKg6NGE78F8xeF2jFU0TZqFiczUdtU9JA=
github.com/cosmos/iavl v1.0.3/go.mod h1:8xIUkgVvwvVrBu81scdPty+/Dx9GqwHnAvXz4cwF7RY=
github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v8 v8.0.1 h1:BHn+JWZILxkUT9IrlP1ctUfo9ENGi+EmiZ9om1XSHIw=
github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v8 v8.0.1/go.mod h1:82hPO/tRawbuFad2gPwChvpZ0JEIoNi91LwVneAYCeM=
github.com/cosmos/ibc-go/modules/capability v1.0.0 h1:r/l++byFtn7jHYa09zlAdSeevo8ci1mVZNO9+V0xsLE=
Expand Down Expand Up @@ -957,6 +955,8 @@ github.com/scrtlabs/cosmos-sdk v0.46.0-beta2.0.20240430231059-06a080edfca9 h1:a+
github.com/scrtlabs/cosmos-sdk v0.46.0-beta2.0.20240430231059-06a080edfca9/go.mod h1:ehEJ6NYUAKWxVGMczCoQJ9XXbEURe1T8KG7mL5PAMok=
github.com/scrtlabs/cosmos-sdk-store v1.0.3 h1:CBzurqDLXOGGLFPnMvGUKqL4lvnnBPVY28ZhVEpPID0=
github.com/scrtlabs/cosmos-sdk-store v1.0.3/go.mod h1:EFtENTqVTuWwitGW1VwaBct+yDagk7oG/axBMPH+FXs=
github.com/scrtlabs/iavl v1.0.1 h1:WL9YhEvOp+guahFQD25m67NvVyrX3jC90sVpebODDVc=
github.com/scrtlabs/iavl v1.0.1/go.mod h1:8xIUkgVvwvVrBu81scdPty+/Dx9GqwHnAvXz4cwF7RY=
github.com/scrtlabs/tendermint v0.38.2 h1:a2L2v70guPMvQNbr38Cl5jwuLRBJim1iznBV+4x7fyU=
github.com/scrtlabs/tendermint v0.38.2/go.mod h1:FbzZXk9nkr7atxsGcBn6tlM6Q+BD4GA6wlgY5Qk3FzQ=
github.com/scrtlabs/tm-secret-enclave v1.11.3 h1:3WVDS4x11tidRvCK/FbemtuVDMgujvSzMSt9sKLaMwY=
Expand Down
124 changes: 124 additions & 0 deletions integration-tests/basic-tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
#!/bin/bash

SECRETCLI=${1:-./secretcli}
SECRETD_HOME=${2:-$HOME/.secretd_local}
CHAINID=${3:-secretdev-1}
SECRETD=${4:-"http://localhost:26657"}

if ! [ -f $SECRETD_HOME/config/genesis.json ]; then
echo "Cannot find $SECRETD_HOME/config/genesis.json."
exit 1
fi

set -x
set -o errexit

$SECRETCLI config set client chain-id "$CHAINID"
$SECRETCLI config set client output json
$SECRETCLI config set client keyring-backend test
$SECRETCLI config set client node $SECRETD

$SECRETCLI status --output=json | js

$SECRETCLI keys list --keyring-backend="test" --home=$SECRETD_HOME --output=json | jq

address_v=$($SECRETCLI keys show -a validator --keyring-backend="test" --home=$SECRETD_HOME)

address_a=$($SECRETCLI keys show -a a --keyring-backend="test" --home=$SECRETD_HOME)
address_b=$($SECRETCLI keys show -a b --keyring-backend="test" --home=$SECRETD_HOME)
address_c=$($SECRETCLI keys show -a c --keyring-backend="test" --home=$SECRETD_HOME)
address_d=$($SECRETCLI keys show -a d --keyring-backend="test" --home=$SECRETD_HOME)

key_a=$($SECRETCLI keys show -p a --keyring-backend="test" --home=$SECRETD_HOME)
key_b=$($SECRETCLI keys show -p b --keyring-backend="test" --home=$SECRETD_HOME)
key_c=$($SECRETCLI keys show -p c --keyring-backend="test" --home=$SECRETD_HOME)
key_d=$($SECRETCLI keys show -p d --keyring-backend="test" --home=$SECRETD_HOME)

$SECRETCLI q bank balances $address_a --home=$SECRETD_HOME --output=json | jq
$SECRETCLI q bank balances $address_b --home=$SECRETD_HOME --output=json | jq
$SECRETCLI q bank balances $address_c --home=$SECRETD_HOME --output=json | jq
$SECRETCLI q bank balances $address_d --home=$SECRETD_HOME --output=json | jq

# $SECRETCLI tx bank send $address_a $address_b 10uscrt --gas=auto --gas-adjustment=1.0 --chain-id=$CHAINID --home=$SECRETD_HOME --keyring-backend="test" --output=json | jq

txhash=$($SECRETCLI tx bank send $address_a $address_b 10uscrt --gas-prices=0.25uscrt -y --chain-id=$CHAINID --home=$SECRETD_HOME --keyring-backend="test" --output=json | jq ".txhash" | sed 's/"//g')
echo "FIX: $SECRETCLI q tx --type="hash" "$txhash" --home=$SECRETD_HOME"
$SECRETCLI q bank balances $address_a --home=$SECRETD_HOME --output=json | jq
$SECRETCLI q bank balances $address_b --home=$SECRETD_HOME --output=json | jq

txhash=$($SECRETCLI tx bank send $address_b $address_c 10uscrt --gas-prices=0.25uscrt -y --chain-id=$CHAINID --home=$SECRETD_HOME --keyring-backend="test" --output=json | jq ".txhash" | sed 's/"//g')
echo "FIX: $SECRETCLI q tx --type="hash" "$txhash" --home=$SECRETD_HOME"
$SECRETCLI q bank balances $address_b --home=$SECRETD_HOME --output=json | jq
$SECRETCLI q bank balances $address_c --home=$SECRETD_HOME --output=json | jq

txhash=$($SECRETCLI tx bank send $address_c $address_d 10uscrt --gas-prices=0.25uscrt -y --chain-id=$CHAINID --home=$SECRETD_HOME --keyring-backend="test" --output=json | jq ".txhash" | sed 's/"//g')
echo "FIX: $SECRETCLI q tx --type="hash" "$txhash" --home=$SECRETD_HOME"
$SECRETCLI q bank balances $address_c --home=$SECRETD_HOME --output=json | jq
$SECRETCLI q bank balances $address_d --home=$SECRETD_HOME --output=json | jq

txhash=$($SECRETCLI tx bank send $address_d $address_a 10uscrt --gas-prices=0.25uscrt -y --chain-id=$CHAINID --home=$SECRETD_HOME --keyring-backend="test" --output=json | jq ".txhash" | sed 's/"//g')
echo "FIX: $SECRETCLI q tx --type="hash" "$txhash" --home=$SECRETD_HOME"
$SECRETCLI q bank balances $address_d --home=$SECRETD_HOME --output=json | jq
$SECRETCLI q bank balances $address_a --home=$SECRETD_HOME --output=json | jq


$SECRETCLI q distribution params --output=json | jq

$SECRETCLI q distribution community-pool --output=json | jq

address_valop=$(jq '.app_state.genutil.gen_txs[0].body.messages[0].validator_address' $SECRETD_HOME/config/genesis.json)

if [[ -z $address_valop ]];then
echo "No GENESIS tx in genesis.json"
exit 1
fi

address_valop=$(echo $address_valop | sed 's/"//g')
$SECRETCLI q distribution validator-outstanding-rewards $address_valop --output=json | jq

$SECRETCLI q distribution commission $address_valop --output=json | jq

echo "FIXME: get realistic height"
$SECRETCLI q distribution slashes $address_valop "1" "10" --output=json | jq

DIR=$(pwd)
WORK_DIR=$(mktemp -d -p ${DIR})
if [ ! -d $WORK_DIR ]; then
echo "Could not create $WORK_DIR"
exit 1
fi

function cleanup {
echo "Clean up $WORK_DIR"
#rm -rf "$WORK_DIR"
}

trap cleanup EXIT


cd $WORK_DIR

cargo generate --git https://github.com/scrtlabs/secret-template.git --name secret-test-contract

cd secret-test-contract
make build

if [[ ! contract.wasm.gz ]];then
echo "failed to build a test contract"
cd -
return 1
fi

cd $DIR
echo "FIXME: add deploy contract"

$SECRETCLI keys add scrt_smart_contract -y --keyring-backend="test" --home=$SECRETD_HOME --output=json | jq
address_scrt=$($SECRETCLI keys show -a scrt_smart_contract --keyring-backend="test" --home=$SECRETD_HOME)
$SECRETCLI q bank balances $address_scrt --home=$SECRETD_HOME --output=json | jq
#curl http://localhost:5000/faucet?address=$address_scrt
txhash=$($SECRETCLI tx bank send $address_a $address_scrt 100000uscrt --gas-prices=0.25uscrt -y --chain-id=$CHAINID --home=$SECRETD_HOME --keyring-backend="test" --output=json | jq ".txhash" | sed 's/"//g')
$SECRETCLI q bank balances $address_scrt --home=$SECRETD_HOME --output=json | jq

$SECRETCLI tx compute store $WORK_DIR/secret-test-contract/contract.wasm -y --gas 50000 --from $address_scrt --chain-id=$CHAINID --keyring-backend="test" --home=$SECRETD_HOME --output=json | jq

$SECRETCLI q compute list-code --home=$SECRETD_HOME
Binary file added integration-tests/test-contracts/contract.wasm.gz
Binary file not shown.
2 changes: 1 addition & 1 deletion scripts/start-node.sh
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,4 @@ fi


# Start the secretd
LOG_LEVEL=trace $SECRETD start --pruning=nothing --bootstrap --home=$SECRETD_HOME --log_level=info
LOG_LEVEL=trace $SECRETD start --pruning=nothing --bootstrap --home=$SECRETD_HOME --log_level=debug
Loading

0 comments on commit ec0e091

Please sign in to comment.