mukan-sdk/x/slashing/keeper/genesis_test.go
Mukan Erkin Törük abb1ff956e
Some checks are pending
Build SimApp / build (amd64) (push) Waiting to run
Build SimApp / build (arm64) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Build & Push / build (push) Waiting to run
Run Gosec / Gosec (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Checks dependencies and mocks generation / Check go mod tidy (push) Waiting to run
Checks dependencies and mocks generation / Check up to date mocks (push) Waiting to run
System Tests / setup (push) Waiting to run
System Tests / test-system (push) Blocked by required conditions
System Tests / test-system-legacy (push) Blocked by required conditions
Tests / Code Coverage / split-test-files (push) Waiting to run
Tests / Code Coverage / tests (00) (push) Blocked by required conditions
Tests / Code Coverage / tests (01) (push) Blocked by required conditions
Tests / Code Coverage / tests (02) (push) Blocked by required conditions
Tests / Code Coverage / tests (03) (push) Blocked by required conditions
Tests / Code Coverage / test-integration (push) Waiting to run
Tests / Code Coverage / test-e2e (push) Waiting to run
Tests / Code Coverage / repo-analysis (push) Blocked by required conditions
Tests / Code Coverage / test-sim-nondeterminism (push) Waiting to run
Tests / Code Coverage / test-clientv2 (push) Waiting to run
Tests / Code Coverage / test-core (push) Waiting to run
Tests / Code Coverage / test-depinject (push) Waiting to run
Tests / Code Coverage / test-errors (push) Waiting to run
Tests / Code Coverage / test-math (push) Waiting to run
Tests / Code Coverage / test-schema (push) Waiting to run
Tests / Code Coverage / test-collections (push) Waiting to run
Tests / Code Coverage / test-cosmovisor (push) Waiting to run
Tests / Code Coverage / test-confix (push) Waiting to run
Tests / Code Coverage / test-store (push) Waiting to run
Tests / Code Coverage / test-log (push) Waiting to run
Tests / Code Coverage / test-x-tx (push) Waiting to run
Tests / Code Coverage / test-x-nft (push) Waiting to run
Tests / Code Coverage / test-x-circuit (push) Waiting to run
Tests / Code Coverage / test-x-feegrant (push) Waiting to run
Tests / Code Coverage / test-x-evidence (push) Waiting to run
Tests / Code Coverage / test-x-upgrade (push) Waiting to run
Tests / Code Coverage / test-tools-benchmark (push) Waiting to run
refactor: complete sovereign stack cleanup — all github.com upstream refs purged
2026-05-11 03:46:06 +03:00

59 lines
2 KiB
Go

package keeper_test
import (
"time"
"go.uber.org/mock/gomock"
sdk "git.cw.tr/mukan-network/mukan-sdk/types"
"git.cw.tr/mukan-network/mukan-sdk/x/slashing/testutil"
"git.cw.tr/mukan-network/mukan-sdk/x/slashing/types"
)
func (s *KeeperTestSuite) TestExportAndInitGenesis() {
ctx, keeper := s.ctx, s.slashingKeeper
require := s.Require()
s.Require().NoError(keeper.SetParams(ctx, testutil.TestParams()))
consAddr1 := sdk.ConsAddress("addr1_______________")
consAddr2 := sdk.ConsAddress("addr2_______________")
info1 := types.NewValidatorSigningInfo(consAddr1, int64(4), int64(3),
time.Now().UTC().Add(100000000000), false, int64(10))
info2 := types.NewValidatorSigningInfo(consAddr2, int64(5), int64(4),
time.Now().UTC().Add(10000000000), false, int64(10))
require.NoError(keeper.SetValidatorSigningInfo(ctx, consAddr1, info1))
require.NoError(keeper.SetValidatorSigningInfo(ctx, consAddr2, info2))
genesisState := keeper.ExportGenesis(ctx)
require.Equal(genesisState.Params, testutil.TestParams())
require.Len(genesisState.SigningInfos, 2)
require.Equal(genesisState.SigningInfos[0].ValidatorSigningInfo, info1)
// Tombstone validators after genesis shouldn't effect genesis state
err := keeper.Tombstone(ctx, consAddr1)
require.NoError(err)
err = keeper.Tombstone(ctx, consAddr2)
require.NoError(err)
ok := keeper.IsTombstoned(ctx, consAddr1)
require.True(ok)
newInfo1, _ := keeper.GetValidatorSigningInfo(ctx, consAddr1)
require.NotEqual(info1, newInfo1)
// Initialize genesis with genesis state before tombstone
s.stakingKeeper.EXPECT().IterateValidators(ctx, gomock.Any()).Return(nil)
keeper.InitGenesis(ctx, s.stakingKeeper, genesisState)
// Validator isTombstoned should return false as GenesisState is initialized
ok = keeper.IsTombstoned(ctx, consAddr1)
require.False(ok)
newInfo1, _ = keeper.GetValidatorSigningInfo(ctx, consAddr1)
newInfo2, _ := keeper.GetValidatorSigningInfo(ctx, consAddr2)
require.Equal(info1, newInfo1)
require.Equal(info2, newInfo2)
}