Skip to content

Commit

Permalink
test(v1.x): expand apphash test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
ninabarbakadze committed Sep 21, 2024
1 parent f02b041 commit d92cd84
Showing 1 changed file with 30 additions and 2 deletions.
32 changes: 30 additions & 2 deletions app/consistent_apphash_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@ import (
"github.com/celestiaorg/celestia-app/test/util/blobfactory"
"github.com/celestiaorg/celestia-app/test/util/testfactory"
blobtypes "github.com/celestiaorg/celestia-app/x/blob/types"
qgbtypes "github.com/celestiaorg/celestia-app/x/qgb/types"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/crypto/hd"
"github.com/cosmos/cosmos-sdk/crypto/keyring"
"github.com/cosmos/cosmos-sdk/crypto/keys/ed25519"
"github.com/cosmos/cosmos-sdk/crypto/types"
sdk "github.com/cosmos/cosmos-sdk/types"
vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types"
"github.com/cosmos/cosmos-sdk/x/authz"
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
crisisTypes "github.com/cosmos/cosmos-sdk/x/crisis/types"
Expand All @@ -28,6 +30,7 @@ import (
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1"
slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
gethcommon "github.com/ethereum/go-ethereum/common"
"github.com/stretchr/testify/require"
abci "github.com/tendermint/tendermint/abci/types"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
Expand All @@ -46,8 +49,8 @@ type BlobTx struct {
// App hashes across different commits should be consistent.
func TestConsistentAppHash(t *testing.T) {
// App hash and data root generated from executing txs on this branch
expectedDataRoot := []byte{100, 59, 112, 241, 238, 49, 50, 64, 105, 90, 209, 211, 49, 254, 211, 83, 133, 88, 5, 89, 221, 116, 141, 72, 33, 110, 16, 78, 5, 48, 118, 72}
expectedAppHash := []byte{84, 216, 210, 48, 113, 204, 234, 21, 150, 236, 97, 87, 242, 184, 45, 248, 116, 127, 49, 88, 134, 197, 202, 125, 44, 210, 67, 144, 107, 51, 145, 65}
expectedDataRoot := []byte{30, 142, 46, 120, 191, 30, 242, 150, 164, 242, 166, 245, 89, 183, 181, 41, 88, 197, 11, 19, 243, 46, 69, 97, 3, 51, 27, 133, 68, 95, 95, 121}
expectedAppHash := []byte{57, 128, 107, 57, 6, 131, 221, 188, 181, 181, 135, 58, 37, 240, 135, 66, 199, 107, 80, 154, 240, 176, 57, 36, 238, 69, 25, 188, 86, 203, 145, 145}

// Initialize testApp
testApp := testutil.NewTestApp()
Expand Down Expand Up @@ -242,6 +245,27 @@ func TestConsistentAppHash(t *testing.T) {
msgWithdrawDelegatorReward := distribution.NewMsgWithdrawDelegatorReward(accountAddresses[0], genValidators[0].GetOperator())
secondBlockSdkMsgs = append(secondBlockSdkMsgs, msgWithdrawDelegatorReward)

// NewMsgCreatePeriodicVestingAccount - creates a periodic vesting account
newAddress := sdk.AccAddress(ed25519.GenPrivKeyFromSecret([]byte("anotherAddress")).PubKey().Address())
vestingPeriod := []vestingtypes.Period{
{
Length: 3600,
Amount: amount,
},
}
msgCreatePeriodicVestingAccount := vestingtypes.NewMsgCreatePeriodicVestingAccount(accountAddresses[3], newAddress, 2, vestingPeriod)
secondBlockSdkMsgs = append(secondBlockSdkMsgs, msgCreatePeriodicVestingAccount)

// NewMsgCreatePermanentLockedAccount - creates a permanent locked account
newAddress = sdk.AccAddress(ed25519.GenPrivKeyFromSecret([]byte("anotherAddress2")).PubKey().Address())
msgCreatePermamentLockedAccount := vestingtypes.NewMsgCreatePermanentLockedAccount(accountAddresses[3], newAddress, amount)
secondBlockSdkMsgs = append(secondBlockSdkMsgs, msgCreatePermamentLockedAccount)

// NewMsgCreateVestingAccount - creates a vesting account
newAddress = sdk.AccAddress(ed25519.GenPrivKeyFromSecret([]byte("anotherAddress3")).PubKey().Address())
msgCreateVestingAccount := vestingtypes.NewMsgCreateVestingAccount(accountAddresses[3], newAddress, amount, 1, 2, false)
secondBlockSdkMsgs = append(secondBlockSdkMsgs, msgCreateVestingAccount)

// ------------ Third Block ------------

// Txs within the third block are signed by the validator's signer
Expand All @@ -255,6 +279,10 @@ func TestConsistentAppHash(t *testing.T) {
msgUnjail := slashingtypes.NewMsgUnjail(genValidators[3].GetOperator())
thirdBlockSdkMsgs = append(thirdBlockSdkMsgs, msgUnjail)

// NewMsgRegisterEVMAddress - registers a new EVM address
msgRegisterEVMAddress := qgbtypes.NewMsgRegisterEVMAddress(genValidators[1].GetOperator(), gethcommon.HexToAddress("hi"))
thirdBlockSdkMsgs = append(thirdBlockSdkMsgs, msgRegisterEVMAddress)

// ------------ Construct Txs ------------

// Create SDK transactions from the list of messages
Expand Down

0 comments on commit d92cd84

Please sign in to comment.