diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 812993e4b..b54a146e9 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -20280,6 +20280,16 @@ paths: in: query required: false type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query '/dymensionxyz/dymension/rollapp/block_height_to_finalization_queue/{finalizationHeight}': @@ -20506,6 +20516,16 @@ paths: in: query required: false type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query '/dymensionxyz/dymension/rollapp/latest_state_info_index/{rollappId}': @@ -20798,6 +20818,16 @@ paths: in: query required: false type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query '/dymensionxyz/dymension/rollapp/rollapp/{rollappId}': @@ -21118,6 +21148,16 @@ paths: in: query required: false type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query '/dymensionxyz/dymension/rollapp/state_info/{rollappId}/{index}': @@ -21768,6 +21808,16 @@ paths: in: query required: false type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query '/dymensionxyz/dymension/sequencer/scheduler/{sequencerAddress}': @@ -22492,6 +22542,16 @@ paths: in: query required: false type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query '/dymensionxyz/dymension/sequencer/sequencer/{sequencerAddress}': @@ -23215,6 +23275,16 @@ paths: in: query required: false type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query '/dymensionxyz/dymension/sequencer/sequencers_by_rollapp/{rollappId}': diff --git a/scripts/run_local.sh b/scripts/run_local.sh old mode 100755 new mode 100644 index 97337a838..714de7bf1 --- a/scripts/run_local.sh +++ b/scripts/run_local.sh @@ -1,40 +1,11 @@ #!/bin/sh -# .................................................... # -# ...........Set and validate parameters.............. # -# .................................................... # -DATA_DIRECTORY="$HOME/.dymension" -CONFIG_DIRECTORY="$DATA_DIRECTORY/config" -CLIENT_CONFIG_FILE="$CONFIG_DIRECTORY/client.toml" -GENESIS_FILE="$CONFIG_DIRECTORY/genesis.json" -CHAIN_ID=${CHAIN_ID:-"local-testnet"} -MONIKER_NAME=${MONIKER_NAME:-"local"} -KEY_NAME=${KEY_NAME:-"local-user"} - +# Validate necessary data is exists export PATH=$PATH:$HOME/go/bin -if ! command -v dymd; then - echo "dYmension binary not found, call \"make install\"." +if ! command -v dymd || [ ! -f "$HOME/.dymension/config/genesis.json" ]; then + echo "dYmension binary or genesis file are not exists, run 'setup_local.sh' before" exit 1 fi -# ...................................................... # -# ............... Init dymension chain ................. # -# ...................................................... # -if [ ! -f "$GENESIS_FILE" ]; then - dymd init "$MONIKER_NAME" --chain-id="$CHAIN_ID" - dymd tendermint unsafe-reset-all - - sed -i'' -e "s/^chain-id *= .*/chain-id = \"$CHAIN_ID\"/" "$CLIENT_CONFIG_FILE" - sed -i'' -e 's/bond_denom": ".*"/bond_denom": "dym"/' "$GENESIS_FILE" - sed -i'' -e 's/mint_denom": ".*"/mint_denom": "dym"/' "$GENESIS_FILE" - - dymd keys add "$KEY_NAME" --keyring-backend test - dymd add-genesis-account "$(dymd keys show "$KEY_NAME" -a --keyring-backend test)" 100000000000dym - dymd gentx "$KEY_NAME" 100000000dym --chain-id "$CHAIN_ID" --keyring-backend test - dymd collect-gentxs -fi - -# ...................................................... # -# ................... Run the chain .................... # -# ...................................................... # +# Run the dymension chain dymd start diff --git a/scripts/setup_local.sh b/scripts/setup_local.sh new file mode 100755 index 000000000..7f9dcb2d2 --- /dev/null +++ b/scripts/setup_local.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# Set parameters +DATA_DIRECTORY="$HOME/.dymension" +CONFIG_DIRECTORY="$DATA_DIRECTORY/config" +TENDERMINT_CONFIG_FILE="$CONFIG_DIRECTORY/config.toml" +CLIENT_CONFIG_FILE="$CONFIG_DIRECTORY/client.toml" +APP_CONFIG_FILE="$CONFIG_DIRECTORY/app.toml" +GENESIS_FILE="$CONFIG_DIRECTORY/genesis.json" +CHAIN_ID=${CHAIN_ID:-"local-testnet"} +MONIKER_NAME=${MONIKER_NAME:-"local"} +KEY_NAME=${KEY_NAME:-"local-user"} +SETTLEMENT_RPC=${SETTLEMENT_RPC:-"0.0.0.0:26657"} +P2P_ADDRESS=${P2P_ADDRESS:-"0.0.0.0:26656"} + +# Validate dymension binary exists +export PATH=$PATH:$HOME/go/bin +if ! command -v dymd; then + make install + + if ! command -v dymd; then + echo "dYmension binary not found in $PATH" + exit 1 + fi +fi + +# Verify that a genesis file doesn't exists for the dymension chain +if [ -f "$GENESIS_FILE" ]; then + printf "\n======================================================================================================" + echo "A genesis file already exists. building the chain will delete all previous chain data. continue? (y/n)" + read -r answer + if [ "$answer" != "${answer#[Yy]}" ]; then + rm -rf "$DATA_DIRECTORY" + else + exit 1 + fi +fi + +# Create and init dymension chain +dymd init "$MONIKER_NAME" --chain-id="$CHAIN_ID" +dymd tendermint unsafe-reset-all + +sed -i'' -e "/\[rpc\]/,+3 s/laddr *= .*/laddr = \"tcp:\/\/$SETTLEMENT_RPC\"/" "$TENDERMINT_CONFIG_FILE" +sed -i'' -e "/\[p2p\]/,+3 s/laddr *= .*/laddr = \"tcp:\/\/$P2P_ADDRESS\"/" "$TENDERMINT_CONFIG_FILE" +sed -i'' -e "s/^chain-id *= .*/chain-id = \"$CHAIN_ID\"/" "$CLIENT_CONFIG_FILE" +sed -i'' -e "s/^node *= .*/node = \"tcp:\/\/$SETTLEMENT_RPC\"/" "$CLIENT_CONFIG_FILE" +sed -i'' -e 's/^enable *= true/enable = false/' "$APP_CONFIG_FILE" +sed -i'' -e 's/bond_denom": ".*"/bond_denom": "dym"/' "$GENESIS_FILE" +sed -i'' -e 's/mint_denom": ".*"/mint_denom": "dym"/' "$GENESIS_FILE" + +dymd keys add "$KEY_NAME" --keyring-backend test +dymd add-genesis-account "$(dymd keys show "$KEY_NAME" -a --keyring-backend test)" 100000000000dym +dymd gentx "$KEY_NAME" 100000000dym --chain-id "$CHAIN_ID" --keyring-backend test +dymd collect-gentxs diff --git a/x/rollapp/keeper/msg_server_update_state.go b/x/rollapp/keeper/msg_server_update_state.go index 4fa9fce5d..7378543c8 100644 --- a/x/rollapp/keeper/msg_server_update_state.go +++ b/x/rollapp/keeper/msg_server_update_state.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "strconv" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -131,5 +132,15 @@ func (k msgServer) UpdateState(goCtx context.Context, msg *types.MsgUpdateState) FinalizationQueue: newFinalizationQueue, }) + ctx.EventManager().EmitEvent( + sdk.NewEvent(types.EventTypeStateUpdate, + sdk.NewAttribute(types.AttributeKeyRollappId, msg.RollappId), + sdk.NewAttribute(types.AttributeKeyStateInfoIndex, strconv.FormatUint(stateInfoIndex.Index, 10)), + sdk.NewAttribute(types.AttributeKeyStartHeight, strconv.FormatUint(msg.StartHeight, 10)), + sdk.NewAttribute(types.AttributeKeyNumBlocks, strconv.FormatUint(msg.NumBlocks, 10)), + sdk.NewAttribute(types.AttributeKeyDAPath, msg.DAPath), + ), + ) + return &types.MsgUpdateStateResponse{}, nil } diff --git a/x/rollapp/types/events.go b/x/rollapp/types/events.go new file mode 100644 index 000000000..9a46f76dd --- /dev/null +++ b/x/rollapp/types/events.go @@ -0,0 +1,11 @@ +package types + +const ( + EventTypeStateUpdate = "state_update" + + AttributeKeyRollappId = "rollapp_id" + AttributeKeyStateInfoIndex = "state_info_index" + AttributeKeyStartHeight = "start_height" + AttributeKeyNumBlocks = "num_blocks" + AttributeKeyDAPath = "da_path" +)